sswt_extract_component

Function sswt_extract_component 

pub fn sswt_extract_component(
    sst: &SSWTResult,
    ridge: &[(usize, usize)],
    band_width: usize,
) -> Result<Vec<f64>>
Expand description

Reconstruct an EMD-like time-domain component from a ridge.

Sums T(ω_ℓ, b) across ±band_width bins around each ridge step and applies the SST inverse normalization 2 · Re[Σ T(ω_ℓ, b)] / sst_inversion_constant (the constant lives on SSWTResult and was captured from the wavelet at forward time — see crate::transform::ContinuousWavelet::sst_inversion_constant).

Validation:

  • ridge.len() must equal the SST time axis;
  • each ridge[i] = (bin, t) must satisfy t == i (the function uses the vec index as the time coordinate, and a mismatched tuple field would silently produce garbage);
  • each bin must satisfy bin < num_freq_bins.

All three checks return WaveletError::InvalidParameter.