def __init__(self, filename = "", channel = -1, \ name = ""): """ Constructor """ DataSource.__init__(self) self.channel = channel if not name: name = "Ch%d" % channel self.bitdepth = 12 self.name = name self.timepoint = 0 self.timepoints = 0 self.filename = filename self.parser = ConfigParser.RawConfigParser() if filename: filepointer = codecs.open(self.convertFileName(filename), "r", "utf-16") self.parser.readfp(filepointer) dataName = self.parser.get("File Info","DataName") if dataName[0] == '"': dataName = dataName[1:] if dataName[-1] == '"': dataName = dataName[:-1] directoryName, self.lutFileName = self.getLUTPath(self.channel) newLut = os.path.join(directoryName, self.lutFileName) newLut = os.path.join(os.path.dirname(self.filename), newLut) if not os.path.exists(newLut): self.path = "%s.files"%self.filename print self.lutFileName else: self.path = os.path.join(os.path.dirname(filename), directoryName) # when lutFileName is e.g. bro28_par3_07-04-18_LUT1.lut, we take the # bro28_par3_07-04-18 and ignore the LUT1.lut, and use that as the basis of the filenames # for the tiff files self.fileNameBase = "_".join(self.lutFileName.split("_")[:-1]) #self.fileNameBase = dataName self.reader = None self.originalScalarRange = (0, 4095) self.scalarRange = 0, 2 ** self.bitdepth - 1 self.dimensions = (0,0,0) self.voxelsize = (1,1,1) self.spacing = None self.emission = 0 self.excitation = 0 self.color = None self.shift = None self.noZ = 0 self.reverseSlices = True if channel >= 0: self.ctf = self.readLUT() self.setPath(filename) # nm = nanometer, um = micrometer, mm = millimeter self.unit_coeffs = {"nm":1e-9, "um":1e-6, "mm":0.001,"ms":0.001} self.shortname = None
def __init__(self, filename = ""): """ Constructor """ DataSource.__init__(self) # list of references to individual datasets (= timepoints) stored in # vti-files self.polydataReader = None self.dataSets = [] self.polyTimepoint = -1 self.polyDataFiles = [] # filename of the .du-file self.filename = filename self.baseFilename = "" self.setPath(filename) # path to the .du-file and .vti-file(s) self.path = "" self.reader = None # Number of datasets added to this datasource self.counter = 0 self.parser = None self.ctf = None # TODO: what is this? # self.dataUnitSettings = {} self.settings = None self.dimensions = None self.spacing = None self.voxelsizes = None
def __init__(self, filename = ""): """ Constructor """ DataSource.__init__(self) self.setPath(filename) dataSetName = os.path.basename(filename) dataSetName = dataSetName.split(".") dataSetName = ".".join(dataSetName[:-1]) self.dataSetName = dataSetName self.io = itk.BioRadImageIO.New() self.reader = itk.ImageFileReader[itk.Image.UC3].New() self.reader.SetImageIO(self.io.GetPointer()) self.ctf = None self.filename = filename self.filepattern = None self.dimensions = None self.voxelsize = None self.spacing = None self.itkToVtk = None self.color = None self.shift = None self.tps = -1 if filename: self.path = os.path.dirname(filename) self.getDataSetCount()
def __init__(self, source, component): """ Initialization """ DataSource.__init__(self) self.source = source self.component = component self.extract = vtk.vtkImageExtractComponents() self.extract.SetComponents(self.component) self.setPath = source.setPath self.getPath = source.getPath self.setMask = source.setMask self.getSpacing = source.getSpacing self.getVoxelSize = source.getVoxelSize self.setResampleDimensions = source.setResampleDimensions self.getOriginalScalarRange = source.getOriginalScalarRange self.getOriginalDimensions = source.getOriginalDimensions self.getResampleFactors = source.getResampleFactors self.getResampledVoxelSize = source.getResampledVoxelSize self.getResampleDimensions = source.getResampleDimensions self.setIntensityScale = source.setIntensityScale self.getIntensityScaledData = source.getIntensityScaledData self.getResampledData = source.getResampledData self.getEmissionWavelength = source.getEmissionWavelength self.getExcitationWavelength = source.getExcitationWavelength self.getNumericalAperture = source.getNumericalAperture self.getDataSetCount = source.getDataSetCount self.getFileName = source.getFileName self.getDimensions = source.getDimensions self.getScalarRange = source.getScalarRange self.ctf = None
def __init__(self, filename = "", experiment = "", channel = -1): """ Constructor """ DataSource.__init__(self) self.filename = filename self.reader = LeicaExperiment(filename, progressCallback = self.updateProgress) self.shortname = os.path.basename(filename) self.experiment = experiment if experiment: self.originalDimensions = self.reader.GetDimensions(self.experiment) duration = self.reader.GetDuration(self.experiment) numT = self.reader.GetNumberOfTimepoints(self.experiment) print "Number of Timepoints = ",numT print "Duration=",duration step = duration/float(numT) stamps = [] for t in range(0, numT): stamps.append(step*t) self.setTimeStamps(stamps) self.setAbsoluteTimeStamps(stamps) self.channel = channel self.dimensions = None self.voxelsize = None self.spacing = None self.color = None self.ctf = None self.setPath(filename) self.datasetCount = None
def __init__(self, filename = ""): """ Constructor of MRCDataSource """ DataSource.__init__(self) self.filename = filename self.setPath(filename) self.bitDepth = 0 self.spacing = None self.voxelSize = None # Create vtkMRCReader for reading MRC files self.reader = vtkbxd.vtkMRCReader() self.reader.AddObserver('ProgressEvent', lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) if self.filename: self.reader.SetFileName(self.convertFileName(self.filename)) if self.reader.OpenFile(): if self.reader.ReadHeader(): self.setOriginalScalarRange() else: Logging.error("Failed to read the header of the MRC file correctly", "Error in MRCDataSource.py in __init.py__, failed to read the header of the MRC file: %s" %(self.filename)) return else: Logging.error("Failed to open file", "Error in MRCDataSource.py in __init__, failed to open file: %s" %(self.filename)) return
def __init__(self, filename = ""): """ Constructor """ DataSource.__init__(self) name = os.path.basename(filename) name = name.split(".") name = ".".join(name[:-1]) self.name = name self.setPath(filename) self.filename = filename self.reader = None self.datatype = "Float" self.dimensions = None self.voxelsize = (1, 1, 1) self.spacing = None self.color = None self.shift = None self.tps = -1 self.numberOfImages = 0 self.dataFileName = "" self.bytesPerPixel = 0 self.duration = 0.0 if filename: self.path = os.path.dirname(filename) self.getDataSetCount() f = open(filename, "r") self.readInfo(f) f.close() self.createTimeStamps()
def __init__(self, filename=""): """ Constructor of MRCDataSource """ DataSource.__init__(self) self.filename = filename self.setPath(filename) self.bitDepth = 0 self.spacing = None self.voxelSize = None # Create vtkMRCReader for reading MRC files self.reader = vtkbxd.vtkMRCReader() self.reader.AddObserver('ProgressEvent', lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) if self.filename: self.reader.SetFileName(self.convertFileName(self.filename)) if self.reader.OpenFile(): if self.reader.ReadHeader(): self.setOriginalScalarRange() else: Logging.error( "Failed to read the header of the MRC file correctly", "Error in MRCDataSource.py in __init.py__, failed to read the header of the MRC file: %s" % (self.filename)) return else: Logging.error( "Failed to open file", "Error in MRCDataSource.py in __init__, failed to open file: %s" % (self.filename)) return
def __init__(self, filenames = [], callback = None): """ Constructor """ DataSource.__init__(self) self.name = "Import" self.extMapping = {"tif": "TIFF", "tiff": "TIFF", "png": "PNG", "jpg": "JPEG", "jpeg": "JPEG", \ "pnm": "PNM", "vti": "XMLImageData", "vtk": "DataSet", "bmp": "BMP"} self.dimMapping = {"bmp":2, "tif":2, "tiff":2, "png":2, "jpg":2, "jpeg":2, "pnm":2, "vti":3, "vtk":3} self.callback = callback self.initialize()
def __init__(self, filename="", channelNum=-1): """ Constructor """ DataSource.__init__(self) # Name and path of the lsm-file: self.filename = filename if len(os.path.basename(self.filename)) > 4: self.imageName = os.path.basename(self.filename)[:-4] self.numericalAperture = 0 self.excitationWavelength = 0 self.timepoint = -1 self.shortname = os.path.basename(filename) self.path = "" # An lsm-file may contain multiple channels. However, LsmDataSource only # handles one channel. The following attribute indicates, which channel # within the lsm-file is hadled by this LsmDataSource instance. self.channelNum = channelNum self.setPath(filename) self.dataUnitSettings = {} self.spacing = None self.origin = None self.voxelsize = None # vtkLSMReader is used to do the actual reading: self.reader = vtkbxd.vtkLSMReader() #self.reader.DebugOn() self.reader.AddObserver("ProgressEvent", lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) # If a filename was specified, the file is loaded if self.filename: self.path = os.path.dirname(filename) Logging.info("LsmDataSource created with file %s and channelNum=%d"%\ (self.filename, channelNum), kw = "lsmreader") try: f = open(self.convertFileName(filename)) f.close() except IOError, ex: Logging.error( "Failed to open LSM file", "Failed to open file %s for reading: %s" % (filename, str(ex))) return self.reader.SetFileName(self.convertFileName(self.filename)) self.reader.SetUpdateChannel(channelNum) self.reader.UpdateInformation() self.originalScalarRange = None self.getBitDepth() self.originalDimensions = self.reader.GetDimensions()[0:3] self.readTimeStamps()
def __init__(self, filename = "", channelNum = -1): """ Constructor """ DataSource.__init__(self) # Name and path of the lsm-file: self.filename = filename if len(os.path.basename(self.filename)) > 4: self.imageName = os.path.basename(self.filename)[:-4] self.numericalAperture = 0 self.excitationWavelength = 0 self.timepoint = -1 self.shortname = os.path.basename(filename) self.path = "" # An lsm-file may contain multiple channels. However, LsmDataSource only # handles one channel. The following attribute indicates, which channel # within the lsm-file is hadled by this LsmDataSource instance. self.channelNum = channelNum self.setPath(filename) self.dataUnitSettings = {} self.spacing = None self.origin = None self.voxelsize = None # vtkLSMReader is used to do the actual reading: self.reader = vtkbxd.vtkLSMReader() #self.reader.DebugOn() self.reader.AddObserver("ProgressEvent", lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) # If a filename was specified, the file is loaded if self.filename: self.path = os.path.dirname(filename) Logging.info("LsmDataSource created with file %s and channelNum=%d"%\ (self.filename, channelNum), kw = "lsmreader") try: f = open(self.convertFileName(filename)) f.close() except IOError, ex: Logging.error("Failed to open LSM file", "Failed to open file %s for reading: %s" % (filename, str(ex))) return self.reader.SetFileName(self.convertFileName(self.filename)) self.reader.SetUpdateChannel(channelNum) self.reader.UpdateInformation() self.originalScalarRange = None self.getBitDepth() self.originalDimensions = self.reader.GetDimensions()[0:3] self.readTimeStamps()
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
def __init__(self, filenames=[], callback=None): """ Constructor """ DataSource.__init__(self) self.name = "Import" self.extMapping = {"tif": "TIFF", "tiff": "TIFF", "png": "PNG", "jpg": "JPEG", "jpeg": "JPEG", \ "pnm": "PNM", "vti": "XMLImageData", "vtk": "DataSet", "bmp": "BMP"} self.dimMapping = { "bmp": 2, "tif": 2, "tiff": 2, "png": 2, "jpg": 2, "jpeg": 2, "pnm": 2, "vti": 3, "vtk": 3 } self.callback = callback self.initialize()
def __init__(self, filename = "", imageNum = 0, channelNum = 0): """ Constructor """ DataSource.__init__(self) self.filename = filename self.numImages = 1 self.numChannels = 1 self.numTimePoints = 1 self.currentImage = imageNum self.currentChannel = channelNum self.currentTimepoint = 0 self.imageName = "" self.reader = vtkbxd.vtkOMETIFFReader() self.reader.AddObserver('ProgressEvent', lib.messenger.send) lib.messenger.connect(self.reader, 'ProgressEvent', self.updateProgress) self.ctf = None if self.filename: self.reader.SetFileName(self.convertFileName(self.filename)) if not self.reader.ReadOMEHeader(): Logging.error("Failed to open OME-TIFF file", "Failed to open file %s for reading: %s"%(filename, str(ex))) return self.numImages = self.reader.GetNumberOfImages() if self.currentImage < self.numImages: self.reader.SetCurrentImage(self.currentImage) self.numChannels = self.reader.GetNumberOfChannels() if self.currentChannel < self.numChannels: self.reader.SetCurrentChannel(self.currentChannel) self.imageName = self.reader.GetImageName() if self.imageName == "": self.imageName = "Image-%d"%(self.currentImage+1) self.numTimePoints = self.reader.GetNumberOfTimePoints() self.createTimeStamps()
def __init__(self, filename = ""): """ Constructor """ DataSource.__init__(self) self.sourceUnits = []
def __init__(self, filename=""): """ Constructor """ DataSource.__init__(self) self.sourceUnits = []
def __init__(self, filename = ""): DataSource.__init__(self)
def __init__(self, filename=""): DataSource.__init__(self)