Scripts for Imaging - Lines:
major_image_lines.py # main script (adopted approach described on the present page)
image_lines.py # experimental main script (initial experiments described on a previous page)
dictionary_mask.py # loads mask_dict
dictionary_data.py # loads data_dict
dictionary_disk.py # loads disk_dict
dictionary_lines.py # loads line_dict
JvM_correction_casa6.py # MAPS JvM correction script (Czekala et al. 2021)
keplerian_mask.py # modified version of keplerian_mask by Rich Teague
Visibility Data for Imaging - Lines (obtained after step 4):
Adopted Line Imaging Strategy#
The following text is a synthesis of the Methods section of Speedie et al. 2024 and Section 2.2 of Speedie et al. 2025. The line imaging script in the companion github repository is major_image_lines.py.
SOFTWARE: All imaging was performed with the CASA tclean
task.
STRATEGY: The 12CO data immediately presented two challenges:
Non-Keplerian large-scale diffuse emission with morphologies difficult to mask.
Negative bowling (Braun & Walterbos 1985), particularly in central channels.
The latter issue is symptomatic of emission on spatial scales larger than the maximum recoverable scale of our short-baseline configuration C-3 (MRS ~ 7” at 230 GHz; ALMA Technical Handbook), and can only be solved by obtaining additional observations sampling the visibility function at smaller uv-spacings.
In the absence of more data –and after experimentation with CASA’s auto-multithresh masking algorithm (Kepley et al. 2020; see experiments)– we adopted the following strategies to mitigate both those two challenges (listed above):
First, we cleaned with a broad mask encompassing all emission within the field of view (FOV).
To achieve this broad mask we used the tclean
arguments usemask=`pb'
and pbmask=0.2
, which sets a cleaning mask extending to where the 12m antenna primary beam gain reaches the 20% level, which is usually considered the edge of the FOV. The fact that we did not image with a Keplerian mask also meant we did not restrict our ability to observe non-Keplerian emission (critical for the science).
In accordance with cleaning with this broad mask, we cleaned conservatively (i.e., relatively shallowly).
The CLEAN threshold
was set to 5x the rms noise measured in 20 line-free channels of the dirty image cube.
Second, we forced frequent major cycles to repeatedly re-populate the uv-plane and interpolate into the missing short uv-spacings.
To achieve frequent major cycles we set the maximum number of minor cycle iterations per channel to cycleniter=80
, the minor cycle threshold to max_psf_sidelobe_level=3.0
and minpsffraction=0.5
, and the maximum assigned clean component to gain=0.02
times the peak residual. Here is an excerpt of the tclean
function arguments:
# Cautious/conservative clean:
cycleniter = 80 # Jess: Maximum number of minor-cycle iterations (per plane) before triggering a major cycle
cyclefactor = 3.0 # Ryan: 3x max_psf_sidelobe_level as minor cycle threshold (default is 1.0)
gain = 0.02 # Ryan: assign clean component peaks to 2% of pixel value (default is 0.1)
minpsffraction = 0.5 # PHANGS: cycle threshold is never lower than 0.5 times the peak residual (default: 0.05)
To ensure we were successful in forcing frequency major cycles, we kept track of the number of major cycles that occurred in the imaging of each cube. For example, the 12CO cube imaged with robust=0.5
underwent 282 major cycles and took 5 days to run. The 13CO cube imaged with robust=0.5
underwent 198 major cycles; and the C18O cube imaged with robust=0.5
underwent 76 major cycles.
To summarize: We clean conservatively, with a broad mask (usemask='pb'
and pbmask=0.2
), forcing frequent major cycles. This approached borrowed from the philosophy of the PHANGS-ALMA Large Program (Leroy et al. 2021).
DECONVOLUTION BASIS FUNCTIONS: We used the multiscale deconvolution algorithm (Cornwell 2008) with
Gaussian deconvolution scales [0.02", 0.1", 0.3", 0.6", 1.0"]
, with an additional largest scale of 2.0"
appended for 12CO.
WEIGHTING:
We adopted a Briggs robust weighting scheme, and generated two sets of image cubes; one with a robust value of 0.5
and a second with robust 1.5
.
FOV AND PIXEL SIZE: We imaged with a FOV out to the primary beam FWHM (38”) with 0.02” pixels (9 or 12 pixels per synthesized beam minor or major axis, respectively).
SPECTRAL GRIDDING: We imaged in LSRK velocity channels at 42 m/s for 12CO & 13CO, and at 84 m/s for C18O and SO (nearly the native channel spacing of the data).
POST-DECONVOLUTION CORRECTIONS: We applied JvM correction (Jorsater & van Moorsel 1995, Czekala et al. 2021) and primary beam correction.
Resulting Line Image Cubes#
Properties of the resulting line image cubes are provided in the table below. Note that this table scrolls horizontally. All the parameter details you’d need to reproduce these images can be found in the CASA log files linked in the second-to-last column of the table.
Transition |
Rest Frequency |
Channel Width |
robust |
Beam |
rms Noise |
JvM epsilon |
Number of major cycles |
CASA log file |
Version name in dictionary_lines.py |
---|---|---|---|---|---|---|---|---|---|
(GHz) |
(km/s) |
(” x “, deg) |
(mJy/beam) |
||||||
12CO J=2-1 |
230.538000 |
0.042 |
0.5 |
0.235” × 0.172”, 0.2° |
1.63 |
0.496 |
282 |
casa-20230411-171634-12CO.log (77 MB) |
v11_ |
12CO J=2-1 |
230.538000 |
0.042 |
1.5 |
0.398” × 0.270”, -5.0° |
0.76 |
0.325 |
261 |
casa-20230405-174838-12CO.log (93 MB) |
v11_ |
13CO J=2-1 |
220.398684 |
0.042 |
0.5 |
0.237” × 0.175”, 1.2° |
1.84 |
0.497 |
198 |
casa-20230324-185500-13CO.log (39 MB) |
v11_ |
13CO J=2-1 |
220.398684 |
0.042 |
1.5 |
0.390” × 0.274”, -1.4° |
1.10 |
0.339 |
346 |
casa-20230331-174529-13CO.log (70 MB) |
v11_ |
C18O J=2-1 |
219.560358 |
0.084 |
0.5 |
0.240” × 0.180”, -2.2° |
0.93 |
0.510 |
76 |
casa-20230324-185500-C18O.log (8.7 MB) |
v11_ |
C18O J=2-1 |
219.560358 |
0.084 |
1.5 |
0.400” × 0.276”, -7.7° |
0.53 |
0.330 |
120 |
casa-20230331-174529-C18O.log (13 MB) |
v11_ |
SO JN = 56-45 |
219.949442 |
0.084 |
0.5 |
0.237” × 0.179”, -2.7° |
0.95 |
0.511 |
6 |
casa-20230324-185500-SO.log (400 KB) |
v11_ |
SO JN = 56-45 |
219.949442 |
0.084 |
1.5 |
0.390” × 0.276”, -8.8° |
0.55 |
0.340 |
15 |
casa-20230331-174529-SO.log (1 MB) |
v11_ |
Links to download the resulting Line Images:
Moment maps and VADPs are also available.