demist.nro45m.models module#

demist.nro45m.models.fit_background(da: DataArray, target: str, /, *, fit_per_array: bool = True, fit_per_observation: bool = True) DataArray[source]#

Fit background model to a DataArray.

Parameters:
  • da – DataArray to fit.

  • target – Target state to fit.

  • fit_per_array – Whether to fit per array.

  • fit_per_observation – Whether to fit per observation.

Returns:

Modeled background DataArray.

demist.nro45m.models.fit_integration(da: DataArray, sigma: DataArray, /, fit_seed: int = 0) DataArray[source]#

Fit cumulative-integration model to a DataArray.

Parameters:
  • da – DataArray to fit.

  • sigma – DataArray of noise level.

  • fit_seed – Random seed for shuffling time samples.

Returns:

Modeled cumulative-integration DataArray.

demist.nro45m.models.fit_lowrank(da: DataArray, /, *, fit_components: int = 5, fit_off_only: bool = False, fit_per_array: bool = True, fit_per_observation: bool = True, fit_seed: int = 0) DataArray[source]#

Fit low-rank model to a DataArray.

Parameters:
  • da – DataArray to fit.

  • fit_components – Number of low-rank components to fit.

  • fit_off_only – Whether to use only OFF samples for fitting.

  • fit_per_array – Whether to fit per array.

  • fit_per_observation – Whether to fit per observation.

  • fit_seed – Random seed for truncated SVD.

Returns:

Modeled low-rank DataArray.

demist.nro45m.models.fit_polynomial(da: DataArray, /, *, fit_degree: int = 1, fit_per_array: bool = True, fit_per_observation: bool = True, fit_ranges: Sequence[tuple[float | None, float | None]] = ((None, None),)) DataArray[source]#

Fit polynomial model to a DataArray.

Parameters:
  • da – DataArray to fit.

  • fit_degree – Degree of the polynomial to fit.

  • fit_per_array – Whether to fit per array.

  • fit_per_observation – Whether to fit per observation.

  • fit_ranges – Frequency ranges in GHz to use for fitting.

Returns:

Modeled polynomial DataArray.

demist.nro45m.models.fit_sparse(da: DataArray, /, *, fit_per_array: bool = False, fit_per_observation: bool = False, fit_prefilter: int = 3, fit_threshold: float = 3.0) DataArray[source]#

Fit sparse model to a DataArray.

Parameters:
  • da – DataArray to fit.

  • fit_per_array – Whether to fit per array.

  • fit_per_observation – Whether to fit per observation.

  • fit_prefilter – Size of the median filter before signal detection.

  • fit_threshold – Absolute S/N threshold for signal detection.

Returns:

Modeled sparse DataArray.