Пример #1
0
    def guess(self, dep, *args, **kwargs):
        pos = get_position(dep, *args)
        param_apply_limits(pos, self.eb, **kwargs)

        ref = guess_reference(self.ref.min, self.ref.max, *args)
        param_apply_limits(ref, self.ref, **kwargs)

        norm = guess_amplitude_at_ref(self.ref.val, dep, *args)
        param_apply_limits(norm, self.ampl, **kwargs)
Пример #2
0
def get_xspec_position(y, x, xhi=None):
    if xhi is not None:
        if x[0] > x[-1] and xhi[0] > xhi[-1]:
            lo = _hc / xhi
            hi = _hc / x
            x, xhi = lo, hi
    else:
        if x[0] > x[-1]:
            x = _hc / x
    return get_position(y, x, xhi)
Пример #3
0
 def guess(self, dep, *args, **kwargs):
     ampl = guess_amplitude(dep, *args)
     pos = get_position(dep, *args)
     fwhm = guess_fwhm(dep, *args)
     param_apply_limits(pos, self.pos, **kwargs)
     norm = fwhm['val'] * numpy.sqrt(numpy.pi) * \
         numpy.exp(lgam(self.index.val - 0.5) - lgam(self.index.val))
     for key in ampl.keys():
         ampl[key] *= norm
     param_apply_limits(ampl, self.ampl, **kwargs)
Пример #4
0
    def guess(self, dep, *args, **kwargs):
        pos = get_position(dep, *args)
        fwhm = guess_fwhm(dep, *args)
        param_apply_limits(pos, self.pos, **kwargs)
        param_apply_limits(fwhm, self.fwhm, **kwargs)

        norm = guess_amplitude(dep, *args)
        if fwhm != 10:
            aprime = norm['val'] * self.fwhm.val * numpy.pi / 2.
            ampl = {'val': aprime,
                    'min': aprime / _guess_ampl_scale,
                    'max': aprime * _guess_ampl_scale}
            param_apply_limits(ampl, self.ampl, **kwargs)
        else:
            param_apply_limits(norm, self.ampl, **kwargs)