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
예제 #2
0
    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)