Migrating from RASCIL
The transitional cohabitation release (v0.35.0) supported RASCIL alongside SDP, OSKAR, and WSClean. The current source tree removes the RASCIL implementation, selectors, warnings, and dependency. Old workflows must select a supported backend; there is no compatibility adapter that executes RASCIL.
Replacement APIs
Removed usage |
Replacement |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removed enum attributes and modules are no longer importable. Parsing a legacy
value through SimulatorBackend("RASCIL"), get_imager("rascil"), or the
FITS sky-model loader raises an actionable ValueError. Remove imports and
warning filters for the deleted RASCIL deprecation helpers and
karabo.util.rascil_util; those warnings are no longer emitted.
Use the SDP telescope constructor directly
For an existing Karabo sky and observation:
from karabo.simulator_backend import SimulatorBackend
from karabo.simulation.interferometer import InterferometerSimulation
from karabo.simulation.telescope import Telescope
telescope = Telescope.constructor("MID", backend=SimulatorBackend.SDP)
simulation = InterferometerSimulation()
vis = simulation.run_simulation(
telescope=telescope,
sky=sky,
observation=observation,
backend=SimulatorBackend.SDP,
visibility_format="MS",
)
Do not access the old telescope configuration aliases. Use the public telescope constructor and simulation APIs. OSKAR simulation remains supported and remains the default when no simulator is passed.
Replace direct imaging calls
For a Measurement Set in vis, with phase centre RA 20 degrees, Dec -30 degrees:
from karabo.imaging.imager_factory import (
ImagingBackend,
SdpImagerConfig,
get_imager,
)
from karabo.imaging.imager_interface import ImageSpec
imager = get_imager(
ImagingBackend.SDP,
config=SdpImagerConfig(clean_niter=500, override_cellsize=True),
)
spec = ImageSpec(npix=1024, cellsize_arcsec=1.0, phase_centre_deg=(20.0, -30.0))
dirty, psf = imager.invert(vis, spec)
restored = imager.restore(dirty, psf)
restored.write_to_file("restored.fits", overwrite=True)
Migration is not a one-to-one rename of cleaner options. The current SDP adapter
supports Hogbom CLEAN only. Choose supported settings explicitly; use WSClean
through the same factory with WscleanBackendConfig when appropriate.
WSClean restoration requires a preceding invert on that same instance.
Check units and scientific outputs
Old direct-imager
imaging_cellsizevalues are radians. Convert them toImageSpec.cellsize_arcsecwithmath.degrees(value) * 3600.ImageSpec.phase_centre_degshould match the Measurement Set; it does not rephase input visibilities. Check the output WCS.Set
override_cellsize=Truein SDP to preserve the requested pixel scale. Setcombine_across_frequencies=Falseif channel images must be preserved; by default SDP sums channel images.A restoring beam uses degrees for
bmaj,bmin, andbpa. The SDP restoration fix removes an erroneous extra division by 3600; images produced before that correction should be regenerated if the restoring-beam scale matters to the analysis.Check source position, flux units, PSF width, and residuals after migration. Different gridders, weighting, restoring beams, and CLEAN controls can change images; exact numerical equivalence to the retired backend is not promised.
Installation and modernization
Use the updated project environment/recipe when installing this source version.
RASCIL is no longer a dependency. python-casacore is now an explicit
dependency for Karabo’s Measurement Set I/O, and Astropy is constrained to
>=5.1,<5.2 for the pinned SDP data-model package.
Removal enables further dependency work; it does not complete it. NumPy remains below 2, and the SDP stack remains pinned. NumPy 2, broader dependency upgrades, and ARM64/HPC validation are separate follow-up tasks. See Release Notes for the unreleased status and remaining validation.