def testDimensions(self): reader = vtkbxd.vtkLIFReader() reader.SetFileName(os.path.join(DATA_PATH, "512x_128y_10z_22t_2ch.lif")) reader.OpenFile() reader.Update() data = reader.GetOutput() self.assert_(data.GetDimensions() == (512, 128, 10), "Dimensions do not match")
def testMIP(self): reader = vtkbxd.vtkLIFReader() reader.SetFileName(os.path.join(DATA_PATH, "512x_128y_10z_22t_2ch.lif")) reader.OpenFile() reader.Update() data = reader.GetOutput() mip = vtkbxd.vtkImageSimpleMIP() mip.SetInput(data) pngwriter = vtk.vtkPNGWriter() pngwriter.SetInput(mip.GetOutput()) mip.Update() pngwriter.SetFileName("lif.png") pngwriter.Write()
def __init__(self, filename="", imageNum=-1, channelNum=-1, reader=None): """ Constructor of LIF DataSource """ DataSource.__init__(self) self.filename = filename self.imageName = "" self.setPath(filename) # LIF file can contain multiple images with multiple channels. # Define which image and channel is associated to this DataSource self.imageNum = imageNum self.channelNum = channelNum self.bitDepth = 0 self.spacing = None self.voxelSize = None self.ctf = None # Use vtkLIFReader self.reader = vtkbxd.vtkLIFReader() self.reader.AddObserver('ProgressEvent', lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) # Open file if defined if self.filename: self.reader.SetFileName(self.convertFileName(self.filename)) if self.reader.OpenFile(): if reader: self.reader.CopyHeaderInfo(reader) if self.reader.ReadLIFHeader(): self.reader.SetCurrentImage(self.imageNum) self.reader.SetCurrentChannel(self.channelNum) self.imageName = self.reader.GetImageName(self.imageNum) self.createTimeStamps() self.originalDimensions = self.internalGetDimensions()[0:3] else: Logging.error( "Failed to read the header of the LIF file correctly", "Error in LIFDataSource.py in __init__, failed to read the header of the LIF file: %s" % (self.filename)) return else: Logging.error( "Failed to open file", "Error in LIFDataSource.py in __init__, failed to open file: %s" % (self.filename)) return