This repository documents a complete, end-to-end pipeline for calibrating and imaging a 12.5 GB uncalibrated dataset from the MeerKAT radio telescope (UHF Band). The project transforms raw, noisy visibility data into a science-ready, high-fidelity image, demonstrating a professional workflow in radio astronomy and data science.
This project also serves as a case study for running complex astronomical software (CASA) on Apple Silicon hardware, detailing the specific workflow required. The final data products serve as a bridge between scientific data processing and creative applications in art and sound.
- Full Calibration Cascade: Implements a standard workflow including autocorrelation flagging, bandpass calibration, and gain calibration.
- Deconvolution Imaging: Uses the
tcleanalgorithm to produce a clean science image from the calibrated data. - Data Validation: Generates diagnostic plots from calibration tables to validate the pipeline's results.
- Reproducible Workflow: The entire process is scripted for automation on Apple Silicon hardware.
- Art-Science Integration: The final data products (FITS image, diagnostic plots) are used as raw material for visual art textures and data-driven sonification.
This project was executed on an Apple M1 Max Mac Studio. The workflow was developed to overcome the lack of native ARM64 support for modular CASA packages.
- Environment Setup: The pipeline uses the official Intel build of CASA 6.x running under Apple's Rosetta 2 translation layer. This is the standard, stable method for this hardware.
- Data Processing (
--pipelinemode): The main script,calibrate_meerkat.py, is run in CASA's pipeline mode to perform all heavy data processing:- Inspection (
listobs): The raw MeasurementSet is inspected. - Flagging (
flagdata): Autocorrelation data and known RFI bands at the edges are flagged. - Calibration (
bandpass,gaincal): Calibration tables are created to solve for instrumental errors. - Application (
applycal): These solutions are applied to the science data. - Imaging (
tclean): A clean image is produced via deconvolution. - Export (
exportfits): The final CASA image is exported to the universal FITS format.
- Inspection (
- Analysis & Visualization (Interactive Mode):
- Diagnostic plots are generated by running
plot_bandpass.pyfrom within an interactive CASA session (execfile), asplotcalrequires CASA's graphical toolkit. - The final
.fitsfile is inspected using SAOImage DS9.
- Diagnostic plots are generated by running
-
Prerequisites:
- An Apple Silicon Mac running macOS.
- Apple Rosetta 2 installed (
softwareupdate --install-rosetta --agree-to-license).
-
Software:
- Download and install CASA 6.x for macOS (Intel) from the NRAO website.
-
Data:
- Download the uncalibrated MeerKAT dataset (
1740033067-sdp-l0_...). Place the.msdirectory inside the/datafolder.
- Download the uncalibrated MeerKAT dataset (
-
Execution:
- Update the
vis_filepath inscripts/calibrate_meerkat.py. - Run the main pipeline from your terminal:
/Applications/CASA.app/Contents/MacOS/casa --pipeline -c scripts/calibrate_meerkat.py
- To generate the bandpass plot, launch CASA interactively (
/Applications/CASA.app/Contents/MacOS/casa) and run:execfile('scripts/plot_bandpass.py')
- Update the
This project uses data from the MeerKAT telescope, managed by the South African Radio Astronomy Observatory (SARAO). The data is publicly available from the SARAO Archive.
In accordance with the SARAO data access policy, any publications or presentations resulting from the use of this data must include the following acknowledgement:
"The MeerKAT telescope is operated by the South African Radio Astronomy Observatory, which is a facility of the National Research Foundation, an agency of the Department of Science and Innovation."

