petitRADTRANS.sbi.preprocessing#
Preprocessing helpers and normalization metadata for SBI observation blocks.
Classes#
Normalization statistics for one observation block family. |
|
Serializable preprocessing metadata for an SBI task family. |
Functions#
|
Compute per-block normalization statistics from training observations. |
|
Fit preprocessing statistics from training observation blocks. |
Normalize one observation block with fitted preprocessing statistics. |
|
Normalize a list of observation blocks. |
|
|
Vectorized spectral normalization for a |
Module Contents#
- class petitRADTRANS.sbi.preprocessing.BlockNormalizationStats#
Normalization statistics for one observation block family.
- name: str#
- modality: str#
- value_mean: float#
- value_std: float#
- uncertainty_mean: float | None = None#
- uncertainty_std: float | None = None#
- coordinate_mean: float | None = None#
- coordinate_std: float | None = None#
- n_samples: int = 0#
- n_values: int = 0#
- value_median: float | None = None#
- value_iqr: float | None = None#
- uncertainty_median: float | None = None#
- uncertainty_iqr: float | None = None#
- value_median_per_wl: list[float] | None = None#
- value_iqr_per_wl: list[float] | None = None#
- uncertainty_median_per_wl: list[float] | None = None#
- uncertainty_iqr_per_wl: list[float] | None = None#
- log_median_flux: float | None = None#
- to_payload() dict[str, Any]#
- class petitRADTRANS.sbi.preprocessing.TaskPreprocessingMetadata#
Serializable preprocessing metadata for an SBI task family.
- version: str#
- blocks: Mapping[str, BlockNormalizationStats]#
- metadata: Mapping[str, Any]#
- to_payload() dict[str, Any]#
- classmethod from_payload(payload: Mapping[str, Any]) TaskPreprocessingMetadata#
- petitRADTRANS.sbi.preprocessing.compute_block_normalization_stats(blocks: list[petitRADTRANS.sbi.observation.ObservationBlock]) dict[str, BlockNormalizationStats]#
Compute per-block normalization statistics from training observations. Calculates the robust per-wavelength median/IQR, global scale, and log_median_flux from the simulated training set.
- petitRADTRANS.sbi.preprocessing.fit_task_preprocessing(training_observations: list[list[petitRADTRANS.sbi.observation.ObservationBlock]], version: str = '0.5.0', metadata: Mapping[str, Any] | None = None) TaskPreprocessingMetadata#
Fit preprocessing statistics from training observation blocks.
- petitRADTRANS.sbi.preprocessing.normalize_observation_block(block: petitRADTRANS.sbi.observation.ObservationBlock, preprocessing_metadata: TaskPreprocessingMetadata) petitRADTRANS.sbi.observation.ObservationBlock#
Normalize one observation block with fitted preprocessing statistics.
Uses robust (median/IQR) normalization for values and uncertainties when available, falling back to mean/std for backward compatibility with older preprocessing metadata. Coordinates always use mean/std normalization.
- petitRADTRANS.sbi.preprocessing.normalize_observation_blocks(blocks: list[petitRADTRANS.sbi.observation.ObservationBlock], preprocessing_metadata: TaskPreprocessingMetadata) list[petitRADTRANS.sbi.observation.ObservationBlock]#
Normalize a list of observation blocks.
- petitRADTRANS.sbi.preprocessing.normalize_spectral_block_matrix(values: Any, uncertainties: Any, mask: Any, stats: BlockNormalizationStats) dict[str, numpy.ndarray]#
Vectorized spectral normalization for a
(batch, n_wl)value matrix.Mirrors the spectral branch of
normalize_observation_block()(same per-wavelength robustarcsinhz-transform — falling back to the global-scalearcsinhwhen per-wavelength statistics are absent — uncertainty rescaling, per-sample relative shape channel, and log-amplitude scalar) but operates on a dense batch at once. Used by the training-time noise-resampling path, which redraws observational noise per batch and therefore must re-normalize on the fly; a batch normalized here is numerically identical to normalizing each sample individually.Parameters#
- values:
(batch, n_wl)raw (physical-units) spectral values.- uncertainties:
(batch, n_wl)raw uncertainties, orNone.- mask:
(batch, n_wl)boolean invalid-point mask (True= masked), orNone.- stats:
Fitted
BlockNormalizationStatsfor this block family.
Returns#
- dict[str, np.ndarray]
values/uncertainties/relative_valuesof shape(batch, n_wl)andlog_spectrum_scale/global_spectrum_scaleof shape(batch,)— the fields consumed by the pre-stacked training representation.