Example #1
0
 def _read_images(self):
     """Read diffraction patterns and save them within the object."""
     #should I normalize images??
     list_of_all_files = os.listdir("output")
     list_of_images = [
         f for f in list_of_all_files if re.search("^image_[0-9]{4}.h5$", f)
     ]
     prefix = "output"
     if len(list_of_images) == 0:
         # maybe this is an old run with images output in debug
         list_of_all_files = os.listdir("debug")
         list_of_images = [
             f for f in list_of_all_files
             if re.search("^image_[0-9]{4}.h5$", f)
         ]
         prefix = "debug"
     if len(list_of_images) == 0:
         self.read_error.emit()
     self._number_of_images = len(list_of_images)
     for i in range(self._number_of_images):
         try:
             image, mask = sphelper.import_spimage(
                 "%s/image_%.4d.h5" % (prefix, i), ['image', 'mask'])
         except IOError:
             print "{0} is bad".format(i)
             image = numpy.zeros(self._images[0].shape, dtype="float32")
             mask = numpy.zeros(self._images[0].shape, dtype="int32")
         self._images.append(image)
         self._masks.append(mask)
Example #2
0
 def get_mask(self, iteration):
     """Return the mask of the 3D model as an array for the requested iteration."""
     try:
         if iteration >= 0:
             mask = sphelper.import_spimage('%s_%.4d.h5' % (self._file_prefix, iteration), ['mask'])
         elif iteration == -1:
             mask = sphelper.import_spimage('%s_init.h5' % (self._file_prefix), ['mask'])
         elif iteration == -2:
             mask = sphelper.import_spimage('%s_final.h5' % (self._file_prefix), ['mask'])
     except IOError:
         self.read_error.emit()
         return
     if self._side != mask.shape[0]:
         self._side = mask.shape[0]
         self.properties_changed.emit()
     return mask
Example #3
0
 def get_image(self, index, reload_data=False):
     """Get image of certain index."""
     if index >= self._number_of_images:
         raise ValueError("Image index out of range. %d is above %d" % (index, self._number_of_images))
     if index in self._images.keys() and not reload_data:
         return abs(self._images[index])
     self._images[index] = sphelper.import_spimage("output/image_%.4d.h5" % index, ["image"])
     return abs(self._images[index])
Example #4
0
 def get_map(self, iteration):
     """Return the 3D model as an array for the requested iteration."""
     try:
         if iteration >= 0:
             modelmap = sphelper.import_spimage('%s_%.4d.h5' % (self._file_prefix, iteration), ['image'])
         elif iteration == -1:
             modelmap = sphelper.import_spimage('%s_init.h5' % (self._file_prefix), ['image'])
         elif iteration == -2:
             modelmap = sphelper.import_spimage('%s_final.h5' % (self._file_prefix), ['image'])
     except (IOError, KeyError):
         self.read_error.emit()
         if self._side:
             return numpy.zeros((self._side, )*3)
         else:
             return numpy.zeros((10, )*3)
     if self._side != modelmap.shape[0]:
         self._side = modelmap.shape[0]
         self.properties_changed.emit()
     return modelmap
Example #5
0
 def get_image(self, index, reload_data=False):
     """Get image of certain index."""
     if index >= self._number_of_images:
         raise ValueError("Image index out of range. %d is above %d" %
                          (index, self._number_of_images))
     if index in self._images.keys() and not reload_data:
         return abs(self._images[index])
     self._images[index] = sphelper.import_spimage(
         "output/image_%.4d.h5" % index, ["image"])
     return abs(self._images[index])
Example #6
0
 def get_mask(self, iteration):
     """Return the mask of the 3D model as an array for the requested iteration."""
     try:
         if iteration >= 0:
             mask = sphelper.import_spimage(
                 '%s_%.4d.h5' % (self._file_prefix, iteration), ['mask'])
         elif iteration == -1:
             mask = sphelper.import_spimage(
                 '%s_init.h5' % (self._file_prefix), ['mask'])
         elif iteration == -2:
             mask = sphelper.import_spimage(
                 '%s_final.h5' % (self._file_prefix), ['mask'])
     except IOError:
         self.read_error.emit()
         return
     if self._side != mask.shape[0]:
         self._side = mask.shape[0]
         self.properties_changed.emit()
     return mask
Example #7
0
 def get_map(self, iteration):
     """Return the 3D model as an array for the requested iteration."""
     try:
         if iteration >= 0:
             modelmap = sphelper.import_spimage(
                 '%s_%.4d.h5' % (self._file_prefix, iteration), ['image'])
         elif iteration == -1:
             modelmap = sphelper.import_spimage(
                 '%s_init.h5' % (self._file_prefix), ['image'])
         elif iteration == -2:
             modelmap = sphelper.import_spimage(
                 '%s_final.h5' % (self._file_prefix), ['image'])
     except (IOError, KeyError):
         self.read_error.emit()
         if self._side:
             return numpy.zeros((self._side, ) * 3)
         else:
             return numpy.zeros((10, ) * 3)
     if self._side != modelmap.shape[0]:
         self._side = modelmap.shape[0]
         self.properties_changed.emit()
     return modelmap
Example #8
0
def read_images(directory, number_of_images):
    images = []
    masks = []
    for i in range(number_of_images):
        try:
            image, mask = sphelper.import_spimage("%s/image_%.4d.h5" % (directory, i), ['image', 'mask'])
        except IOError:
            #print "Problem reading file %s" % ("%s/image_%.4d.h5" % (directory, i))
            raise IOError("Problem reading file %s" % ("%s/image_%.4d.h5" % (directory, i)))
        mask = bool8(mask)
        image[-mask] = 0.
        images.append(image)
        masks.append(mask)
    return array(images), bool8(array(masks))
Example #9
0
 def _read_image_and_mask(self, index):
     """Load the image and mask if they have not been viewed before."""
     if index in self._images and index in self._masks:
         return
     prefix = "output"
     try:
         image, mask = sphelper.import_spimage(os.path.join(prefix, "image_{0:04}.h5".format(index)), ["image", "mask"])
     except IOError:
         print "Image {0} is bad".format(index)
         self._images[index] = numpy.zeros(self._images[0].shape, dtype="float64")
         self._masks[index] = numpy.zeros(self._images[0].shape, dtype="int32")
         return
     self._images[index] = image
     self._masks[index] = mask
Example #10
0
 def _read_image_and_mask(self, index):
     """Load the image and mask if they have not been viewed before."""
     if index in self._images and index in self._masks:
         return
     prefix = "output"
     try:
         image, mask = sphelper.import_spimage(
             os.path.join(prefix, "image_{0:04}.h5".format(index)),
             ["image", "mask"])
     except IOError:
         print "Image {0} is bad".format(index)
         self._images[index] = numpy.zeros(self._images[0].shape,
                                           dtype="float64")
         self._masks[index] = numpy.zeros(self._images[0].shape,
                                          dtype="int32")
         return
     self._images[index] = image
     self._masks[index] = mask
Example #11
0
 def _read_images(self):
     """Read diffraction patterns and save them within the object."""
     #should I normalize images??
     list_of_all_files = os.listdir("output")
     list_of_images = [f for f in list_of_all_files if re.search("^image_[0-9]{4}.h5$", f)]
     prefix = "output"
     if len(list_of_images) == 0:
         # maybe this is an old run with images output in debug
         list_of_all_files = os.listdir("debug")
         list_of_images = [f for f in list_of_all_files if re.search("^image_[0-9]{4}.h5$", f)]
         prefix = "debug"
     if len(list_of_images) == 0:
         self.read_error.emit()
     self._number_of_images = len(list_of_images)
     for i in range(self._number_of_images):
         try:
             image, mask = sphelper.import_spimage("%s/image_%.4d.h5" % (prefix, i), ['image', 'mask'])
         except IOError:
             print "{0} is bad".format(i)
             image = numpy.zeros(self._images[0].shape, dtype="float32")
             mask = numpy.zeros(self._images[0].shape, dtype="int32")
         self._images.append(image)
         self._masks.append(mask)