SDP Imaging

Select SDP with get_imager(ImagingBackend.SDP, config=SdpImagerConfig(...)). Import the configuration from karabo.imaging.imager_factory; users do not need to instantiate the implementation class below.

The adapter reads a Measurement Set, converts its visibilities to Stokes I, flags autocorrelations, and performs separate dirty and PSF inversions. Restoration uses Hogbom CLEAN followed by convolution with the fitted clean beam and addition of the residual. Other CLEAN algorithms currently raise NotImplementedError. After restoration, last_model_image and last_residual_image expose the exported model and residual on the SDP imager.

See Imaging Backend Selection for pixel-scale and channel-combination behavior, and Migrating from RASCIL for upgrading older imaging scripts.

Configuration

class SdpImagerConfig(combine_across_frequencies: 'bool' = True, weighting: 'str' = 'natural', context: 'str' = '2d', override_cellsize: 'bool' = False, clean_algorithm: 'str' = 'hogbom', clean_niter: 'int' = 100, clean_gain: 'float' = 0.1, clean_threshold: 'float' = 0.0, clean_preserve_facets: 'bool' = False, save_model_and_residual: 'bool' = True, clean_fractional_threshold: 'float | None' = None, clean_scales: 'tuple[int, ...] | None' = None)
clean_algorithm: str = 'hogbom'
clean_fractional_threshold: float | None = None
clean_gain: float = 0.1
clean_niter: int = 100
clean_preserve_facets: bool = False
clean_scales: tuple[int, ...] | None = None
clean_threshold: float = 0.0
combine_across_frequencies: bool = True
context: str = '2d'
override_cellsize: bool = False
save_model_and_residual: bool = True
weighting: str = 'natural'

Implementation reference

class SdpImager(config: SdpImagerConfig | None = None)
invert(vis: Visibility, image_spec: ImageSpec) tuple[Image, Image]

Grid visibilities into dirty image and PSF images.

restore(model_or_dirty: Image, psf: Image) Image

Perform CLEAN-style deconvolution + restore using ska-sdp-func-python.

Returns a restored image; model and residual are written to disk as a side effect for inspection (paths stored on instance attributes).