ivis.models¶
- class ivis.models.Classic3D(lambda_r=1, use_2pi=True, conj_data=True)[source]¶
Bases:
BaseModel- backward(vis, vis_data, device, x_shape=None, primary_beam_list=None, primary_beam=None, pb_list=None, grid_list=None, pb=None, grid_array=None, cell_size=None, return_real=False)¶
- 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')¶
- class ivis.models.Classic3DHighMemory(lambda_r=1, use_2pi=True, conj_data=True)[source]¶
Bases:
Classic3DClassic3D variant that accumulates the full objective graph before backward.
This can be faster for small problems, but peak memory grows with the number of beam blocks processed by each objective call.
- class ivis.models.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.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_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_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.
Modules