{"id":28241,"library":"spotless","title":"Spotless","description":"Spotless is a Python library for grid-free deconvolution directly from radio interferometry visibilities. It implements the \"DoB-CLEAN\" algorithm for reconstructing sky images without gridding. The current version is 0.4.1. Release cadence is low, with occasional updates.","status":"active","version":"0.4.1","language":"python","source_language":"en","source_url":"https://github.com/tmolteno/TART","tags":["radio astronomy","deconvolution","interferometry","grid-free","cleaning"],"install":[{"cmd":"pip install spotless","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"SpotlessImager is exported from top-level module.","wrong":"from spotless.imager import SpotlessImager","symbol":"SpotlessImager","correct":"from spotless import SpotlessImager"},{"note":"","wrong":"","symbol":"load_measurements","correct":"from spotless import load_measurements"}],"quickstart":{"code":"from spotless import SpotlessImager, load_measurements\nimport numpy as np\n\n# Load visibilities from a Measurement Set\nms_path = 'path/to/measurement_set.ms'\nu, v, freq, vis, weights = load_measurements(ms_path)\n\n# Create imager and run deconvolution\nimager = SpotlessImager()\nsky = imager.run(u, v, freq, vis, weights, npix=512, cellsize=0.1)\n\nprint('Reconstructed sky shape:', sky.shape)","lang":"python","description":"Basic usage: load visibilities from a Measurement Set, run Spotless imager."},"warnings":[{"fix":"Use Python 3.6 or higher.","message":"Python version: Ensure Python 3.6+ is used. Spotless may not work with Python 2 or older versions.","severity":"gotcha","affected_versions":"0.4.1"},{"fix":"Use casacore or other tools to convert to MeasurementSet.","message":"Measurement Set requires casa-formatted data. If loading from other formats, conversion to MS is necessary.","severity":"gotcha","affected_versions":"0.4.1"},{"fix":"Upgrade numpy via pip install --upgrade numpy","message":"Numpy version compatibility: Older numpy versions may cause issues. Use numpy >= 1.16.","severity":"gotcha","affected_versions":"0.4.1"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run: pip install spotless","cause":"Package not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'spotless'"},{"fix":"Install casacore: pip install casacore","cause":"Missing casacore or python-casacore dependency for reading Measurement Sets.","error":"AttributeError: module 'casa' has no attribute 'table'"},{"fix":"Ensure all input arrays are 1D and have the same length (number of baselines * times * frequencies).","cause":"Input arrays dimensions mismatch (e.g., u and v have different lengths).","error":"ValueError: u, v, freq, vis, weights must have compatible shapes"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}