Changeset 3360


Ignore:
Timestamp:
Apr 27, 2018 8:59:50 AM (4 years ago)
Author:
vondreele
Message:

fix HDF5 importer to read CHESS version hdf5 files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/imports/G2img_HDF5.py

    r3136 r3360  
    4242                print('To fix this use command:\n\t'+conda+' install h5py hdf5')
    4343        super(self.__class__,self).__init__( # fancy way to self-reference
    44                                              extensionlist=('.hdf5','.hd5','.h5','.hdf'),
    45                                              strictExtension=True,
    46                                              formatName = 'HDF5 image',
    47                                              longFormatName = 'HDF5 image file'
    48                                              )
     44            extensionlist=('.hdf5','.hd5','.h5','.hdf'),strictExtension=True,
     45            formatName = 'HDF5 image',longFormatName = 'HDF5 image file')
    4946
    5047    def ContentsValidator(self, filename):
     
    9592        length 2 or 4 assume an image and index in self.buffer['imagemap']
    9693        '''
    97         datakeyword = 'data'
     94        datakeywords = ['data','images']
    9895        head = []
    9996        def func(name, dset):
     
    10299                if len(dset.shape) < 2:
    103100                    head.append('%s: %s'%(dset.name,str(dset[()][0])))
    104                 if dset.name.endswith(datakeyword):
    105                     dims = dset.shape
    106                     if len(dims) == 4:
    107                         self.buffer['imagemap'] += [(dset.name,i) for i in range(dims[1])]
    108                     elif len(dims) == 3:
    109                         self.buffer['imagemap'] += [(dset.name,i) for i in range(dims[0])]
    110                     elif len(dims) == 2:
    111                         self.buffer['imagemap'] += [(dset.name,None)]
    112                     else:
    113                         print('Skipping entry '+str(dset.name)+'. Shape is '+str(dims))
    114         #if GSASIIpath.GetConfigValue('debug'): print 'visit'
     101                for datakeyword in datakeywords:
     102                    if dset.name.endswith(datakeyword):
     103                        dims = dset.shape
     104                        if len(dims) == 4:
     105                            self.buffer['imagemap'] += [(dset.name,i) for i in range(dims[1])]
     106                        elif len(dims) == 3:
     107                            self.buffer['imagemap'] += [(dset.name,i) for i in range(dims[0])]
     108                        elif len(dims) == 2:
     109                            self.buffer['imagemap'] += [(dset.name,None)]
     110                        else:
     111                            print('Skipping entry '+str(dset.name)+'. Shape is '+str(dims))
    115112        self.buffer['imagemap'] = []
    116113        fp.visititems(func)
Note: See TracChangeset for help on using the changeset viewer.