예제 #1
0
파일: data.py 프로젝트: bek0s/gbkfit
 def load(cls, info, step=None, rpix=None, rval=None, rota=None, prefix=''):
     desc = parseutils.make_basic_desc(cls, 'data')
     opts = parseutils.parse_options_for_callable(info, desc, cls.__init__)
     data_d, header_d, wcs_d = _load_fits(prefix + opts['data'])
     data_m = None
     data_e = None
     if 'mask' in opts:
         data_m = _load_fits(prefix + opts['mask'])[0]
     if 'error' in opts:
         data_e = _load_fits(prefix + opts['error'])[0]
     # Local information has higher priority than global
     step = opts.get('step', step)
     rpix = opts.get('rpix', rpix)
     rval = opts.get('rval', rval)
     # If no information is provided, use fits header
     if step is None:
         step = wcs_d.wcs.cdelt  # noqa
     if rpix is None:
         rpix = wcs_d.wcs.crpix  # noqa
     if rval is None:
         rval = wcs_d.wcs.crval  # noqa
     # todo: deal with rotation (PC Matrix and CROTA (deprecated))
     # Build class arguments dict
     opts.update(dict(
         data=data_d,
         mask=data_m,
         error=data_e,
         step=step,
         rpix=rpix,
         rval=rval,
         rota=0))
     return cls(**opts)
예제 #2
0
 def load(cls, info, pdescs):
     desc = parseutils.make_basic_desc(cls, 'fit params')
     opts = parseutils.parse_options_for_callable(
         info, desc, cls.__init__, fun_ignore_args=['pdescs'])
     opts = paramutils.load_params_parameters_conversions(
         opts, pdescs, collections.abc.Mapping, cls.load_param)
     return cls(pdescs, **opts)
예제 #3
0
파일: params.py 프로젝트: bek0s/gbkfit
 def load(cls, info, pdescs):
     desc = parseutils.make_basic_desc(cls, 'params')
     opts = parseutils.parse_options_for_callable(
         info, desc, cls.__init__, fun_ignore_args=['pdescs'])
     opts = paramutils.load_params_parameters_conversions(
         opts, pdescs, Real, lambda x: x)
     return cls(pdescs, **opts)
예제 #4
0
파일: params.py 프로젝트: bek0s/gbkfit
 def load(cls, info):
     desc = parseutils.make_basic_desc(cls, 'fit parameter')
     opts = parseutils.parse_options_for_callable(
         info, desc, cls.__init__, fun_rename_args=dict(
             initial_value='value',
             initial_scale='scale',
             minimum='min',
             maximum='max'))
     return cls(**opts)
예제 #5
0
 def load(cls, info):
     info['prior'] = fitutils.prepare_param_prior_info(info)
     info['prior'] = prior_parser.load(info['prior'], param_info=info)
     desc = parseutils.make_basic_desc(cls, 'fit parameter')
     opts = parseutils.parse_options_for_callable(
         info,
         desc,
         cls.__init__,
         fun_rename_args=dict(initial_value='value', initial_width='width'))
     return cls(**opts)
예제 #6
0
 def load(cls, info, descs):
     desc = parseutils.make_basic_desc(cls, 'fit params')
     opts = parseutils.parse_options_for_callable(info,
                                                  desc,
                                                  cls.__init__,
                                                  fun_ignore_args=['descs'])
     parameters = load_parameters(opts.get('parameters'), descs,
                                  cls.load_param)
     value_conversions = paramparsers.load_params_value_conversions(
         opts.get('value_conversions'))
     return cls(descs, parameters, value_conversions)
예제 #7
0
파일: params.py 프로젝트: bek0s/gbkfit
 def load(cls, info, descs):
     desc = parseutils.make_basic_desc(cls, 'fit parameters')
     opts = parseutils.parse_options_for_callable(
         info, desc, cls.__init__, fun_ignore_args=['descs'])
     infos, exprs = paramutils.parse_param_info(
         opts['parameters'], descs)[4:]
     for key, val in infos.items():
         try:
             infos[key] = FitParamPygmo.load(val)
         except RuntimeError as e:
             raise RuntimeError(
                 f"could not parse information for parameter '{key}'; "
                 f"reason: {str(e)}") from e
     parameters = infos | exprs
     expressions = paramutils.load_param_value_conversions(
         opts.get('value_conversions'))
     return cls(descs, parameters, expressions)
예제 #8
0
파일: residual.py 프로젝트: bek0s/gbkfit
 def load(cls, info, datasets, drivers, dmodels, gmodels):
     desc = parseutils.make_basic_desc(cls, ' goodness objective')
     opts = parseutils.parse_options_for_callable(
         info, desc, cls.__init__, fun_ignore_args=[
             'datasets', 'drivers', 'dmodels', 'gmodels'])
     return cls(datasets, drivers, dmodels, gmodels, **opts)
예제 #9
0
 def load(cls, info):
     info['prior'] = fitutils.prepare_param_prior_info(info)
     info['prior'] = prior_parser.load(info['prior'], param_info=info)
     desc = parseutils.make_basic_desc(cls, 'fit parameter')
     opts = parseutils.parse_options_for_callable(info, desc, cls.__init__)
     return cls(**opts)