def getObject3DInstance(config=None): #for the time being a former configuration #for serializing purposes is not implemented #I do the import here for the case PyMca is not installed #because the modules could be instanstiated without using #this method try: from PyMca5.PyMcaIO import EDFStack from PyMca5.PyMcaIO import TiffStack except ImportError: import EDFStack import TiffStack fileTypeList = ['EDF Z Stack (*edf *ccd)', 'EDF X Stack (*edf *ccd)', 'TIFF Stack (*tif *tiff)'] old = Object3DFileDialogs.Object3DDirs.nativeFileDialogs * 1 Object3DFileDialogs.Object3DDirs.nativeFileDialogs = False fileList, filterUsed = Object3DFileDialogs.getFileList(None, fileTypeList, "Please select the object file(s)", "OPEN", True) Object3DFileDialogs.Object3DDirs.nativeFileDialogs = old if not len(fileList): return None if filterUsed == fileTypeList[0]: fileindex = 2 else: fileindex = 1 #file index is irrelevant in case of an actual 3D stack. filename = fileList[0] legend = os.path.basename(filename) if filterUsed == fileTypeList[2]: #TIFF stack = TiffStack.TiffStack(dtype=numpy.float32, imagestack=False) stack.loadFileList(fileList, fileindex=1) elif len(fileList) == 1: stack = EDFStack.EDFStack(dtype=numpy.float32, imagestack=False) stack.loadIndexedStack(filename, fileindex=fileindex) else: stack = EDFStack.EDFStack(dtype=numpy.float32, imagestack=False) stack.loadFileList(fileList, fileindex=fileindex) if stack is None: raise IOError("Problem reading stack.") object3D = Object3DStack(name=legend) object3D.setStack(stack) return object3D
def getObject3DInstance(config=None): #for the time being a former configuration #for serializing purposes is not implemented #I do the import here for the case PyMca is not installed #because the modules could be instanstiated without using #this method try: from PyMca5.PyMcaIO import EDFStack from PyMca5.PyMcaIO import TiffStack except ImportError: import EDFStack import TiffStack fileTypeList = [ 'EDF Z Stack (*edf *ccd)', 'EDF X Stack (*edf *ccd)', 'TIFF Stack (*tif *tiff)' ] old = Object3DFileDialogs.Object3DDirs.nativeFileDialogs * 1 Object3DFileDialogs.Object3DDirs.nativeFileDialogs = False fileList, filterUsed = Object3DFileDialogs.getFileList( None, fileTypeList, "Please select the object file(s)", "OPEN", True) Object3DFileDialogs.Object3DDirs.nativeFileDialogs = old if not len(fileList): return None if filterUsed == fileTypeList[0]: fileindex = 2 else: fileindex = 1 #file index is irrelevant in case of an actual 3D stack. filename = fileList[0] legend = os.path.basename(filename) if filterUsed == fileTypeList[2]: #TIFF stack = TiffStack.TiffStack(dtype=numpy.float32, imagestack=False) stack.loadFileList(fileList, fileindex=1) elif len(fileList) == 1: stack = EDFStack.EDFStack(dtype=numpy.float32, imagestack=False) stack.loadIndexedStack(filename, fileindex=fileindex) else: stack = EDFStack.EDFStack(dtype=numpy.float32, imagestack=False) stack.loadFileList(fileList, fileindex=fileindex) if stack is None: raise IOError("Problem reading stack.") object3D = Object3DStack(name=legend) object3D.setStack(stack) return object3D
def getObject3DInstance(config=None): fileTypeList = [ 'Picture Files (*jpg *jpeg *tif *tiff *png)', 'EDF Files (*edf)', 'EDF Files (*ccd)', 'ADSC Files (*img)', 'EDF Files (*)' ] fileList, filterUsed = Object3DFileDialogs.getFileList( None, filetypelist=fileTypeList, message="Please select one object data file", mode="OPEN", getfilter=True) if not len(fileList): return fname = fileList[0] if filterUsed.split()[0] == "Picture": qimage = qt.QImage(fname) if qimage.isNull(): msg = qt.QMessageBox(self) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read file %s as an image" % fname) msg.exec_() return object3D = Object3DPixmap(os.path.basename(fname)) object3D.setQImage(qimage) return object3D if filterUsed.split()[0] in ["EDF", "ADSC"]: edf = EdfFile.EdfFile(fname) data = edf.GetData(0) if True: object3D = Object3DPixmap(os.path.basename(fname)) object3D.setImageData(data) else: (image, size, minmax) = spslut.transform(data, (1, 0), (spslut.LINEAR, 3.0), "RGBX", spslut.TEMP, 1, (0, 1), (0, 255), 1) object3D = Object3DPixmap(os.path.basename(fname)) object3D.setPixmap(image, size[0], size[1], xmirror=False, ymirror=False) return object3D return None
def getObject3DInstance(config=None): fileTypeList = ['Picture Files (*jpg *jpeg *tif *tiff *png)', 'EDF Files (*edf)', 'EDF Files (*ccd)', 'ADSC Files (*img)', 'EDF Files (*)'] fileList, filterUsed = Object3DFileDialogs.getFileList(None, filetypelist=fileTypeList, message="Please select one object data file", mode="OPEN", getfilter=True) if not len(fileList): return fname = fileList[0] if filterUsed.split()[0] == "Picture": qimage = qt.QImage(fname) if qimage.isNull(): msg = qt.QMessageBox(self) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read file %s as an image" % fname) msg.exec_() return object3D = Object3DPixmap(os.path.basename(fname)) object3D.setQImage(qimage) return object3D if filterUsed.split()[0] in ["EDF", "ADSC"]: edf = EdfFile.EdfFile(fname) data = edf.GetData(0) if True: object3D = Object3DPixmap(os.path.basename(fname)) object3D.setImageData(data) else: (image,size,minmax)= spslut.transform(data, (1,0), (spslut.LINEAR,3.0), "RGBX", spslut.TEMP, 1, (0, 1), (0, 255), 1) object3D = Object3DPixmap(os.path.basename(fname)) object3D.setPixmap(image, size[0], size[1], xmirror = False, ymirror = False) return object3D return None
def getObject3DInstance(config=None): #for the time being a former configuration #for serializing purposes is not implemented #I do the import here for the case PyMca is not installed #because the modules could be instanstiated without using #this method try: from PyMca5.PyMcaIO import EdfFile except ImportError: import EdfFile fileTypeList = [ 'EDF Files (*edf)', 'EDF Files (*ccd)', 'ADSC Files (*img)', 'EDF Files (*)' ] old = Object3DFileDialogs.Object3DDirs.nativeFileDialogs * 1 Object3DFileDialogs.Object3DDirs.nativeFileDialogs = False fileList, filterUsed = Object3DFileDialogs.getFileList( None, filetypelist=fileTypeList, message="Please select one object data file", mode="OPEN", getfilter=True) Object3DFileDialogs.Object3DDirs.nativeFileDialogs = old if not len(fileList): return None if filterUsed == fileTypeList[0]: fileindex = 2 else: fileindex = 1 #file index is irrelevant in case of an actual 3D stack. filename = fileList[0] legend = os.path.basename(filename) edf = EdfFile.EdfFile(filename, access='rb') data = edf.GetData(0).astype(numpy.float32) object3D = Object3DMesh(os.path.basename(filename)) object3D.setData(data, z=data[:]) return object3D
def getObject3DInstance(config=None): #for the time being a former configuration #for serializing purposes is not implemented #I do the import here for the case PyMca is not installed #because the modules could be instanstiated without using #this method try: from PyMca5.PyMcaIO import EdfFile except ImportError: import EdfFile fileTypeList = ['EDF Files (*edf)', 'EDF Files (*ccd)', 'ADSC Files (*img)', 'EDF Files (*)'] old = Object3DFileDialogs.Object3DDirs.nativeFileDialogs * 1 Object3DFileDialogs.Object3DDirs.nativeFileDialogs = False fileList, filterUsed = Object3DFileDialogs.getFileList(None, filetypelist=fileTypeList, message="Please select one object data file", mode="OPEN", getfilter=True) Object3DFileDialogs.Object3DDirs.nativeFileDialogs = old if not len(fileList): return None if filterUsed == fileTypeList[0]: fileindex = 2 else: fileindex = 1 #file index is irrelevant in case of an actual 3D stack. filename = fileList[0] legend = os.path.basename(filename) edf = EdfFile.EdfFile(filename, access='rb') data = edf.GetData(0).astype(numpy.float32) object3D = Object3DMesh(os.path.basename(filename)) object3D.setData(data, z=data[:]) return object3D
def getObject3DInstance(config=None): #for the time being a former configuration #for serializing purposes is not implemented #I do the import here for the case PyMca is not installed #because the modules could be instanstiated without using #this method try: from PyMca5.PyMcaIO import EDFStack except ImportError: import EDFStack fileTypeList = ['Chimera Stack (*cmp)', 'Chimera Stack (*)'] old = Object3DFileDialogs.Object3DDirs.nativeFileDialogs * 1 #Object3DFileDialogs.Object3DDirs.nativeFileDialogs = False fileList, filterUsed = Object3DFileDialogs.getFileList(None, fileTypeList, "Please select the object file(s)", "OPEN", True) Object3DFileDialogs.Object3DDirs.nativeFileDialogs = old if not len(fileList): return None if filterUsed == fileTypeList[0]: fileindex = 2 else: fileindex = 1 #file index is irrelevant in case of an actual 3D stack. filename = fileList[0] legend = os.path.basename(filename) f = h5py.File(filename) stack = f['Image']['data'].value f = None if stack is None: raise IOError("Problem reading stack.") object3D = ChimeraStack(name=legend) object3D.setStack(stack) return object3D