Example #1
0
 def __init__(self,
              srxplanarconfig=None,
              configfile=None,
              args=None,
              **kwargs):
     '''
     init srxplanar form a SrXplanarConfig instance, or config file, or args passed from cmd
     or kwargs. If both SrXplanarConfig instance and other configfile/args/kwargs is specified, 
     it will first init from config instance then update using configfile/args/kwargs
     
     :param srxplanarconfig: SrXplanarConfig, init srxplanar from a config instance
     :param configfile: string, name of config file
     :param args: list of str, usually be sys.argv
     :param kwargs: you can use like 'xbeamcenter=1024' or a dict to update the value of xbeamcenter
     '''
     if srxplanarconfig != None:
         self.config = srxplanarconfig
         self.config.updateConfig(filename=configfile, args=args, **kwargs)
     else:
         self.config = SrXplanarConfig(filename=configfile,
                                       args=args,
                                       **kwargs)
     # init modulars
     self.loadimage = LoadImage(self.config)
     self.calculate = Calculate(self.config)
     self.mask = Mask(self.config, self.calculate)
     self.saveresults = SaveResults(self.config)
     return
Example #2
0
 def createMask(self, filename=None, pic=None, addmask=None):
     '''
     create and save a mask according to addmask, pic, 1 stands for masked pixel in saved file
     
     :param filename: name of mask file to save, 'mask.npy' if it is None
     :param pic: 2d image array, may used in generating dynamic mask, Be careful if this one is flipped or not
     :param addmask: list of str, control how to generate mask, see Mask module for detail
     
     :return: 2d array, 1 stands for masked pixel here
     '''
     filename = self.config.createmask if filename == None else filename
     filename = 'mask.npy' if filename == '' else filename
     addmask = self.config.addmask if addmask == None else addmask
     if not hasattr(self, 'mask'):
         self.mask = Mask(self.config)
     if not hasattr(self, 'loadimage'):
         self.loadimage = LoadImage(self.config)
     if pic == None:
         filelist = self.loadimage.genFileList()
         if hasattr(self, 'pic'):
             if self.pic != None:
                 pic = self.pic
             else:
                 pic = self.loadimage.loadImage(
                     filelist[0]) if len(filelist) > 0 else None
         else:
             pic = self.loadimage.loadImage(
                 filelist[0]) if len(filelist) > 0 else None
     rv = self.mask.saveMask(filename, pic, addmask)
     return rv