def _loadExternalData(self): getfilter = True fileTypeList = ["EDF Files (*edf *ccd *tif)"] if HDF5: fileTypeList.append('HDF5 Files (*.h5 *.nxs *.hdf)') fileTypeList.append('ASCII Files (*)') fileTypeList.append("EDF Files (*)") message = "Open data file" filenamelist, ffilter = PyMcaFileDialogs.getFileList( parent=None, filetypelist=fileTypeList, message=message, getfilter=getfilter, single=True, currentfilter=None) if len(filenamelist) < 1: return filename = filenamelist[0] if ffilter.startswith('HDF5'): data = HDF5Widget.getDatasetDialog( filename, value=True, message='Select your data set by a double click') elif ffilter.startswith("EDF"): edf = EdfFile.EdfFile(filename, "rb") if edf.GetNumImages() > 1: # TODO: A dialog showing the different images # based on the external images browser needed print("WARNING: Taking first image") data = edf.GetData(0) edf = None elif ffilter.startswith("ASCII"): #data=numpy.loadtxt(filename) sf = specfilewrapper.Specfile(filename) targetScan = sf[0] data = numpy.array(targetScan.data().T, copy=True) targetScan = None sf = None return data
def writeData(self) : if self.fileName.endswith('.edf') : fileEdf = EdfFile.EdfFile(self.fileName, access='wb') fileEdf.WriteImage({}, self.data) if self.fileName.endswith('.mat') : NameFile = self.fileName.split('/')[-1] NameFile = NameFile.split('.')[0] sio.savemat(self.fileName,{NameFile:self.data}) if self.fileName.endswith('.tiff') : tifImage = TiffIO.TiffIO(self.fileName, 'wb+') tifImage.writeImage(self.data) if self.fileName.endswith('.png') : scipy.misc.imsave(self.fileName, self.data) if self.fileName.endswith('.dcm') : write_dicom(self.data, self.fileName) if self.fileName.endswith('.npy') : np.save( self.fileName, self.data)