def Export(self, data, outFile, xslice, yslice, zslice, metadata=None, events=None, origName=None): #xmd = None if not metadata == None: xmd = MetaDataHandler.XMLMDHandler(mdToCopy=metadata) if data.shape[3] > 1: #have multiple colour channels if data.shape[2] == 1: #2d image -> stack with chans #d = numpy.concatenate([numpy.atleast_3d(data[xslice, yslice, 0, i].squeeze()) for i in range(data.shape[3])],2) #saveTiffStack.saveTiffMultipage(d, outFile) mpt = saveTiffStack.TiffMP(outFile) for i in range(data.shape[3]): mpt.AddSlice(data[xslice, yslice, 0, i].squeeze()) mpt.close() else: #save each channel as it's own stack if not metadata == None and 'ChannelNames' in metadata.getEntryNames( ): chanNames = metadata['ChannelNames'] else: chanNames = range(data.shape[3]) chanFiles = [ os.path.splitext(os.path.split(outFile)[1])[0] + '__%s.tif' % chanNames[i] for i in range(data.shape[3]) ] if not metadata == None: xmd['ChannelFiles'] = chanFiles for i in range(data.shape[3]): saveTiffStack.saveTiffMultipage( data[xslice, yslice, zslice, i].squeeze(), os.path.splitext(outFile)[0] + '__%s.tif' % chanNames[i]) else: saveTiffStack.saveTiffMultipage(data[xslice, yslice, zslice], outFile) if not metadata == None: #xmd = MetaDataHandler.XMLMDHandler(mdToCopy=metadata) if not origName == None: xmd.setEntry('cropping.originalFile', origName) xmd.setEntry('cropping.xslice', xslice.indices(data.shape[0])) xmd.setEntry('cropping.yslice', yslice.indices(data.shape[1])) xmd.setEntry('cropping.zslice', zslice.indices(data.shape[2])) print((xslice.indices(data.shape[0]))) xmlFile = os.path.splitext(outFile)[0] + '.xml' xmd.writeXML(xmlFile)
def saveDeconvolution(self, event=None): fdialog = wx.FileDialog(None, 'Save Positions ...', wildcard='TIFF Files|*.tif', defaultFile=os.path.splitext(self.seriesName)[0] + '_dec.tif', style=wx.SAVE|wx.HIDE_READONLY) succ = fdialog.ShowModal() if (succ == wx.ID_OK): outFilename = fdialog.GetPath() from PYME.FileUtils import saveTiffStack saveTiffStack.saveTiffMultipage(self.dec.res, outFilename)
def saveDeconvolution(self, event=None): fdialog = wx.FileDialog( None, 'Save Positions ...', wildcard='TIFF Files|*.tif', defaultFile=os.path.splitext(self.seriesName)[0] + '_dec.tif', style=wx.SAVE | wx.HIDE_READONLY) succ = fdialog.ShowModal() if (succ == wx.ID_OK): outFilename = fdialog.GetPath() from PYME.FileUtils import saveTiffStack saveTiffStack.saveTiffMultipage(self.dec.res, outFilename)
def Export(self, data, outFile, xslice, yslice, zslice, metadata=None, events = None, origName=None): #xmd = None if not metadata == None: xmd = MetaDataHandler.XMLMDHandler(mdToCopy=metadata) if data.shape[3] > 1: #have multiple colour channels if data.shape[2] == 1: #2d image -> stack with chans #d = numpy.concatenate([numpy.atleast_3d(data[xslice, yslice, 0, i].squeeze()) for i in range(data.shape[3])],2) #saveTiffStack.saveTiffMultipage(d, outFile) mpt = saveTiffStack.TiffMP(outFile) for i in range(data.shape[3]): mpt.AddSlice(data[xslice, yslice, 0, i].squeeze()) mpt.close() else: #save each channel as it's own stack if not metadata == None and 'ChannelNames' in metadata.getEntryNames(): chanNames = metadata['ChannelNames'] else: chanNames = range(data.shape[3]) chanFiles = [os.path.splitext(os.path.split(outFile)[1])[0] + '__%s.tif' % chanNames[i] for i in range(data.shape[3])] if not metadata == None: xmd['ChannelFiles'] = chanFiles for i in range(data.shape[3]): saveTiffStack.saveTiffMultipage(data[xslice, yslice, zslice, i].squeeze(), os.path.splitext(outFile)[0] + '__%s.tif' % chanNames[i]) else: saveTiffStack.saveTiffMultipage(data[xslice, yslice, zslice], outFile) if not metadata == None: #xmd = MetaDataHandler.XMLMDHandler(mdToCopy=metadata) if not origName == None: xmd.setEntry('cropping.originalFile', origName) xmd.setEntry('cropping.xslice', xslice.indices(data.shape[0])) xmd.setEntry('cropping.yslice', yslice.indices(data.shape[1])) xmd.setEntry('cropping.zslice', zslice.indices(data.shape[2])) print((xslice.indices(data.shape[0]))) xmlFile = os.path.splitext(outFile)[0] + '.xml' xmd.writeXML(xmlFile)