130 likes | 139 Views
This article explores the development of an ALMA pipeline to automatically reduce interferometry data, ensuring publishable quality, trustworthiness, and ease of use. It covers various stages, from data views and flagging to calibration and producing cleaned images.
E N D
ALMA Pipeline Heuristics- Interferometry - Frederic Boone, LERMA Lindsey Davis, NRAO Heiko Hafok, MPIfR John Lightfoot, UKATC Dirk Muders, MPIfR Christine Wilson, McMaster Friedrich Wyrowski, MPIfR Luis Zapata, MPIfR
The Mission • After commissioning and early science, deliver pipeline to reduce data automatically • Publishable quality? • Trustworthy • Easy to use / develop • SFI, mosaic, single dish
Development • Capture expertise • Using Casapy tools, can use tasks • Incremental
Overview • Python program, recipe driven • Series of stages • Display data ‘views’, detect and flag bad data, search for best calibration method • Flagging improves MS quality, calibration method produces best results possible for that dataset • Lastly, produce data products; final calibrations, cleaned cubes • Output in HTML
Stages - 1Calculate and display a result • view=BandpassCalibration display=ComplexSliceDisplay Calculate bandpass calibration Display as amplitude/phase v channel • view=FluxCalibration(BandpassCalibration) display=ComplexSliceDisplay Calculate bandpass calibration Use it in calculation of flux calibrated gains Display as amplitude/phase v time
view=CleanImage(BandpassCalibration, FluxCalibration, sourceType=‘GAIN’, <clean params>) display=SkyDisplay Calculate bandpass calibration Use it in calculation of flux calibration Apply calibrations Produce a cleaned image Display as an image on the sky
Results data ‘views’ • BandpassCalibration • UnNormalisedBandpassCalibration • GainCalibration • FluxCalibration • GroupSplineFluxCalibration • CleanImage • MosaicCleanImage
Stages - 2Calculate ‘view’, flag, display • view=GainCalibrationSNR(BandpassCalibration) flagger=ImageFlagger(rules=[{‘rule’:’min abs’, ‘limit’:2.0}] display=ImageDisplay Calculate bandpass calibration Use it in calculation of gains, export gain SNR Apply flagging rules, flag the MS Display as a greyscale image with colour coded flags
MS & CalTable data ‘views’ • AmplitudeDeviationPerBaseline • PhaseDeviationPerBaseline • BandpassCalibration<Amplitude/Phase> • FluxCalibration<Amplitude/Phase> • GainCalibrationSNR • ClosureError
view=ClosureError (CleanImage, BandpassCalibration, FluxCalibration, outputDataAxes=‘ANTENNA’, iterateAxes=‘CORR’, dataCompressOperations=[‘abs’, ‘median’], sourceType=‘GAIN’) flagger=SequenceFlagger(rules=[…]) display=SliceDisplay Calculate clean image CORRECTED_DATA - MODEL_DATA [corr, antenna1, t, antenna2] -> [antenna] Assemble list from data belonging to each antenna then compress by taking abs, median • Look for abnormal antennas, flag the MS Display with flags
Displays • SliceDisplay / ComplexSliceDisplay matplotlib • ImageDisplay matplotlib • SkyDisplay matplotlib • CalPlotDisplay plotCal
Flaggers • ImageFlagger high outlier low outlier max abs min abs too many flags • BandpassEdgeFlagger VLA edge template PdB edge template • TAQLFlagger autocorrelation PdB Gibbs channels • SequenceFlagger outlier in chunk high outlier low outlier max abs min abs too many flags
The Future • User Test 6 • ? • Get some real ALMA data! • Polarization, transfer of calibrations between SpW • Parallelization