ivis.models.lrsb¶
Classes
|
Low-rank spectral basis model driven by a user-supplied basis matrix. |
|
Memory-streaming LRSB variant. |
|
LRSB variant with explicit continuum basis functions. |
|
Memory-streaming LRSB_C variant. |
- class ivis.models.lrsb.LRSB(basis, lambda_r=1.0, lambda_pos=0.0, conj_data=True, assume_channel_invariant_operator=False, reference_channel=0)[source]¶
Bases:
BaseModelLow-rank spectral basis model driven by a user-supplied basis matrix.
The basis must have shape (nbasis, nchan).
- forward(x, vis_data, device, primary_beam_list=None, primary_beam=None, pb_list=None, grid_list=None, pb=None, grid_array=None, cell_size=None, fill_flagged='zero')¶
- loss(x, shape, device, vis_data, **kwargs)[source]¶
Compute scalar loss and gradient for optimization.
- Parameters:
x (np.ndarray) – Flattened parameter vector.
- Returns:
loss (float) – Scalar loss.
grad (np.ndarray) – Flattened gradient.
- property nbasis¶
- property nchan¶
- class ivis.models.lrsb.LRSBMemory(basis, lambda_r=1.0, lambda_pos=0.0, conj_data=True, assume_channel_invariant_operator=False, reference_channel=0)[source]¶
Bases:
LRSBMemory-streaming LRSB variant.
LRSB stores a smaller coefficient cube than Classic3D, but its objective still accumulates one large autograd graph by default. This variant backpropagates independent loss blocks as soon as they are computed.
- class ivis.models.lrsb.LRSB_C(basis, continuum_basis=None, continuum_order=0, frequency=None, reference_frequency=None, continuum_only_channels=None, lambda_r_line_factor=1.0, lambda_r_cont_factor=1.0, **kwargs)[source]¶
Bases:
LRSBLRSB variant with explicit continuum basis functions.
This augments the learned line basis with fixed smooth spectral modes. By default, it adds a single flat continuum mode psi_0(nu) = 1.
- property continuum_basis¶
- property continuum_nbasis¶
- property continuum_only_channels¶
- property continuum_order¶
- property line_nbasis¶
- property reference_frequency¶
- class ivis.models.lrsb.LRSB_CMemory(basis, continuum_basis=None, continuum_order=0, frequency=None, reference_frequency=None, continuum_only_channels=None, lambda_r_line_factor=1.0, lambda_r_cont_factor=1.0, **kwargs)[source]¶
Bases:
LRSBMemory,LRSB_CMemory-streaming LRSB_C variant.
This combines the hybrid line+continuum basis construction from LRSB_C with the blockwise backward pass from LRSBMemory.