ALMA interferometry imaging workflow¶
hif_makeimlist
minimum task parameters:
intent (default to ‘TARGET’)
spw (defaults to science spws)
specmode (defaults to ‘cube’ for ‘TARGET’, else ‘mfs’)
create list of imaging targets with these parameters per target set:
heuristics instance
field
spw (for specmode=’cont’ remove spws without data -> re-use for VLASS)
cell (common size for all targets of one hif_makeimlist call (min of all))
phasecenter
imsize (common size for all targets of one hif_makeimlist call (max of all))
specmode
nchan (pilot image)
width (pilot image)
imagename
LSRK spw selection if cont.dat / lines.dat exists
nbin (if set by hif_checkproductsize)
gridder (‘standard’ or ‘mosaic’)
stokes ‘I’
start (task parameter if set)
uvrange (task parameter if set)
hif_makeimages
set additional parameters via task interface:
hm_masking (‘centralregion’ or ‘auto’)
hm_autotest
hm_cleaning (‘rms’)
maxncleans
run hif_tclean per imaging target (HPC: one job per calibrator image or parallel=True for tclean for intent=’TARGET’)
hif_tclean
calculate PB limits to define annuli (start with 0.2/0.3, adjust to imsize)
determine deconvolver (‘mtmfs’ for ‘cont’ if fractional bandwidth > 10% else ‘hogbom’)
determine nterms (2 for deconvolver=’mtmfs’ else None)
determine start, width, nchan for ‘cube’ (uses LSRK overlap and skips edge channels)
determine TOPO spw selections per MS
determine aggregate LSRK and TOPO bandwidths
calculate sensitivity
median of field ID sensitivities because sensitivity calculator takes only one ID at a time
corrections for effective channel width and mosaic overlap
calculate initial threshold estimate as tlimit * sensitivity
make dirty cube
make pb based mask using annuli if not ‘auto’
calculate dirty cube statistics using annuli
calculate dirty dynamic range (max(residual) / sensitivity)
adjust threshold using dirty dynamic range heuristics
caclulate niter using beam / mask size heuristics
copy iter0 products to iter1 names
make clean cube
calculate clean cube statistics using annuli