Struct light_curve_feature::features::BazinFit
source · pub struct BazinFit { /* private fields */ }Expand description
Bazin function fit
Five fit parameters and goodness of fit (reduced $\chi^2$) of the Bazin function developed for core-collapsed supernovae:
$$ f(t) = A \frac{ \mathrm{e}^{ -(t-t_0)/\tau_\mathrm{fall} } }{ 1 + \mathrm{e}^{ -(t - t_0) / \tau_\mathrm{rise} } } + B. $$
Note, that the Bazin function is developed to be used with fluxes, not magnitudes. Also note a typo in the Eq. (1) of the original paper, the minus sign is missed in the “rise” exponent.
- Depends on: time, magnitude, magnitude error
- Minimum number of observations: 6
- Number of features: 6
Bazin et al. 2009 DOI:10.1051/0004-6361/200911847
Implementations
sourceimpl BazinFit
impl BazinFit
sourcepub fn new<BLP>(
algorithm: CurveFitAlgorithm,
ln_prior: BLP,
inits_bounds: BazinInitsBounds
) -> Selfwhere
BLP: Into<BazinLnPrior>,
pub fn new<BLP>(
algorithm: CurveFitAlgorithm,
ln_prior: BLP,
inits_bounds: BazinInitsBounds
) -> Selfwhere
BLP: Into<BazinLnPrior>,
New BazinFit instance
algorithm specifies which optimization method is used, it is an instance of the
CurveFitAlgorithm, currently supported algorithms are MCMC and
LMSDER (a Levenberg–Marquard algorithm modification,
requires gsl Cargo feature).
ln_prior is an instance of BazinLnPrior and specifies the natural logarithm of the prior
to use. Some curve-fit algorithms doesn’t support this and ignores the prior
sourcepub fn default_algorithm() -> CurveFitAlgorithm
pub fn default_algorithm() -> CurveFitAlgorithm
Default McmcCurveFit for BazinFit
sourcepub fn default_ln_prior() -> BazinLnPrior
pub fn default_ln_prior() -> BazinLnPrior
pub fn default_inits_bounds() -> BazinInitsBounds
pub fn doc() -> &'static str
Trait Implementations
sourceimpl<'de> Deserialize<'de> for BazinFit
impl<'de> Deserialize<'de> for BazinFit
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
sourceimpl EvaluatorInfoTrait for BazinFit
impl EvaluatorInfoTrait for BazinFit
sourcefn min_ts_length(&self) -> usize
fn min_ts_length(&self) -> usize
sourcefn is_t_required(&self) -> bool
fn is_t_required(&self) -> bool
sourcefn is_m_required(&self) -> bool
fn is_m_required(&self) -> bool
sourcefn is_w_required(&self) -> bool
fn is_w_required(&self) -> bool
sourcefn is_sorting_required(&self) -> bool
fn is_sorting_required(&self) -> bool
sourceimpl<T> FeatureEvaluator<T> for BazinFitwhere
T: Float,
impl<T> FeatureEvaluator<T> for BazinFitwhere
T: Float,
sourcefn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>
fn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>
EvaluatorErrorsourcefn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T>
fn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T>
sourcefn check_ts_length(
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
fn check_ts_length(
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
sourceimpl<T> FitDerivalivesTrait<T, NPARAMS> for BazinFitwhere
T: Float,
impl<T> FitDerivalivesTrait<T, NPARAMS> for BazinFitwhere
T: Float,
fn derivatives(t: T, param: &[T; 5], jac: &mut [T; 5])
sourceimpl FitFeatureEvaluatorGettersTrait<NPARAMS> for BazinFit
impl FitFeatureEvaluatorGettersTrait<NPARAMS> for BazinFit
fn get_algorithm(&self) -> &CurveFitAlgorithm
fn ln_prior_from_ts<T: Float>(
&self,
ts: &mut TimeSeries<'_, T>
) -> LnPrior<NPARAMS>
sourceimpl<T> FitFunctionTrait<T, NPARAMS> for BazinFitwhere
T: Float,
impl<T> FitFunctionTrait<T, NPARAMS> for BazinFitwhere
T: Float,
sourceimpl<T> FitInitsBoundsTrait<T, NPARAMS> for BazinFitwhere
T: Float,
impl<T> FitInitsBoundsTrait<T, NPARAMS> for BazinFitwhere
T: Float,
fn init_and_bounds_from_ts(
&self,
ts: &mut TimeSeries<'_, T>
) -> FitInitsBoundsArrays<NPARAMS>
sourceimpl<T, U> FitModelTrait<T, U, NPARAMS> for BazinFitwhere
T: Float + Into<U>,
U: LikeFloat,
impl<T, U> FitModelTrait<T, U, NPARAMS> for BazinFitwhere
T: Float + Into<U>,
U: LikeFloat,
sourceimpl<U> FitParametersInternalDimlessTrait<U, NPARAMS> for BazinFitwhere
U: LikeFloat,
impl<U> FitParametersInternalDimlessTrait<U, NPARAMS> for BazinFitwhere
U: LikeFloat,
fn dimensionless_to_internal(params: &[U; 5]) -> [U; 5]
fn internal_to_dimensionless(params: &[U; 5]) -> [U; 5]
sourceimpl FitParametersInternalExternalTrait<NPARAMS> for BazinFit
impl FitParametersInternalExternalTrait<NPARAMS> for BazinFit
sourceimpl FitParametersOriginalDimLessTrait<NPARAMS> for BazinFit
impl FitParametersOriginalDimLessTrait<NPARAMS> for BazinFit
sourceimpl JsonSchema for BazinFit
impl JsonSchema for BazinFit
sourcefn schema_name() -> String
fn schema_name() -> String
sourcefn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
sourcefn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more