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