Example #1
0
            continuum_ms = new_continuum_ms
    else:
        antennae = ""
        arrayname = '7M12M'

    if os.getenv("USE_SELFCAL_MS"):
        selfcal_ms = basename+"_"+arrayname+"_selfcal.ms"
        continuum_ms = selfcal_ms

    logprint("Imaging MS {0} with array {1}".format(continuum_ms, arrayname),
             origin='almaimf_cont_imaging')

    coosys,racen,deccen = determine_phasecenter(ms=continuum_ms, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra,ddec,pixscale) = list(determine_imsize(ms=continuum_ms, field=field,
                                                phasecenter=(racen,deccen),
                                                exclude_7m=exclude_7m,
                                                spw=0, pixfraction_of_fwhm=1/4.))
    imsize = [dra, ddec]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    contimagename = os.path.join(imaging_root, basename) + "_" + arrayname

    # SKIP the plot
    #if not os.path.exists(contimagename+".uvwave_vs_amp.png"):
    #    # make a diagnostic plot to show the UV distribution
    #    plotms(vis=continuum_ms,
    #           xaxis='uvwave',
    #           yaxis='amp',
    #           avgchannel='1000', # minimum possible # of channels
    #           plotfile=contimagename+".uvwave_vs_amp.png",
    #           showlegend=True,
Example #2
0
            spw=spwstr,
            width=width,
            field=field,
        )

    logprint("Selfcal MS is: "
             "{0}".format(selfcal_ms),
             origin='contim_selfcal')

    coosys, racen, deccen = determine_phasecenter(ms=selfcal_ms, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra, ddec, pixscale) = list(
        determine_imsize(ms=selfcal_ms,
                         field=field,
                         phasecenter=(racen, deccen),
                         exclude_7m=exclude_7m,
                         only_7m=only_7m,
                         spw='all',
                         pixfraction_of_fwhm=1 / 4.))
    imsize = [dra, ddec]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    contimagename = os.path.join(imaging_root, basename) + "_" + arrayname

    if not os.path.exists(contimagename + ".uvwave_vs_amp.png"):
        # make a diagnostic plot to show the UV distribution
        plotms(
            vis=selfcal_ms,
            xaxis='uvwave',
            yaxis='amp',
            avgchannel='1000',  # minimum possible # of channels
Example #3
0
            baselineimagename = ("{0}_{1}_spw{2}_{3}_{4}{5}".format(
                field, band, spw, arrayname, line_name, contsub_suffix))
            lineimagename = os.path.join(imaging_root, baselineimagename)

            logprint("Measurement sets are: " + str(concatvis),
                     origin='almaimf_line_imaging')
            coosys, racen, deccen = determine_phasecenter(ms=concatvis,
                                                          field=field)
            phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
            (dra, ddec, pixscale) = list(
                determine_imsize(
                    ms=concatvis,
                    field=field,
                    phasecenter=(racen, deccen),
                    spw='all',
                    pixfraction_of_fwhm=1 / 5. if only_7m else 1 / 3.,
                    exclude_7m=exclude_7m,
                    only_7m=only_7m,
                    min_pixscale=
                    0.08,  # arcsec; dropped 20% on Nov 6, 2020 to handle beam size issues
                ))
            imsize = [int(dra), int(ddec)]
            cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

            dirty_tclean_made_residual = False

            # prepare for the imaging parameters
            pars_key = "{0}_{1}_{2}_robust{3}{4}".format(
                field, band, arrayname, robust,
                contsub_suffix.replace(".", "_"))
            if (pars_key + "_" + line_name) in line_imaging_parameters:
Example #4
0
        arrayname = '7M12M'

    if os.getenv("USE_SELFCAL_MS"):
        selfcal_ms = basename + "_" + arrayname + "_selfcal.ms"
        continuum_ms = selfcal_ms

    logprint("Imaging MS {0} with array {1}".format(continuum_ms, arrayname),
             origin='almaimf_cont_imaging')

    coosys, racen, deccen = determine_phasecenter(ms=continuum_ms, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra, ddec, pixscale) = list(
        determine_imsize(ms=continuum_ms,
                         field=field,
                         phasecenter=(racen, deccen),
                         exclude_7m=exclude_7m,
                         only_7m=only_7m,
                         spw='all',
                         pixfraction_of_fwhm=1 / 8. if only_7m else 1 / 4.))
    imsize = [dra, ddec]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    contimagename = os.path.join(imaging_root,
                                 basename) + "_" + arrayname + suffix

    for robust in (0, 2, -2):

        impars = imaging_parameters["{0}_{1}_{2}_robust{3}".format(
            field, band, arrayname, robust)]
        impars = copy.copy(impars)
        dirty_impars = copy.copy(impars)
Example #5
0
    else:
        selfcal_ms = basename+"_"+arrayname+"_selfcal.ms"

    logprint("Selfcal MS is: "
             "{0}".format(selfcal_ms), origin='contim_selfcal')
    assert os.path.exists(selfcal_ms)

    flagsum = flagdata(vis=selfcal_ms, mode='summary', uvrange='0~1m')
    if flagsum is not None and 'flagged' in flagsum and flagsum['flagged'] != flagsum['total']:
        raise ValueError("Found unflagged autocorrelation data (or at least, short baselines) in {0}".format(selfcal_ms))

    coosys,racen,deccen = determine_phasecenter(ms=selfcal_ms, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra,ddec,pixscale) = list(determine_imsize(ms=selfcal_ms, field=field,
                                                phasecenter=(racen,deccen),
                                                exclude_7m=exclude_7m,
                                                only_7m=only_7m,
                                                spw='all',
                                                pixfraction_of_fwhm=1/8. if only_7m else 1/4.))
    imsize = [dra, ddec]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    for key, value in imaging_parameters.items():
        if 'cell' not in imaging_parameters[key]:
            imaging_parameters[key]['cell'] = cellsize
        if 'imsize' not in imaging_parameters[key]:
            imaging_parameters[key]['imsize'] = imsize

    contimagename = os.path.join(imaging_root, basename) + "_" + arrayname
    if do_bsens:
        # just a sanity check
        assert 'bsens' in contimagename
    if exclude_7m:
        msmd.open(continuum_ms)
        antennae = ",".join([x for x in msmd.antennanames() if 'CM' not in x])
        assert ",," not in antennae
        msmd.close()
        suffix = '12M'
    else:
        antennae = ""
        suffix = '7M12M'

    coosys, racen, deccen = determine_phasecenter(ms=continuum_ms, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra, ddec, pixscale) = list(
        determine_imsize(ms=continuum_ms,
                         field=field,
                         phasecenter=(racen, deccen),
                         spw=0,
                         exclude_7m=exclude_7m))  #, pixfraction_of_fwhm=1/4.))
    imsize = [dra, ddec]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    contimagename = os.path.join(imaging_root, basename) + "_" + suffix

    if not os.path.exists(contimagename + ".uvwave_vs_amp.png"):
        # make a diagnostic plot to show the UV distribution
        plotms(
            vis=continuum_ms,
            xaxis='uvwave',
            yaxis='amp',
            avgchannel='1000',  # minimum possible # of channels
            plotfile=contimagename + ".uvwave_vs_amp.png",
Example #7
0
            else:
                suffix = '7M12M'

            lineimagename = os.path.join(
                imaging_root,
                "{0}_{1}_spw{2}_{3}_lines".format(field, band, spw, suffix))

            logprint(str(vis), origin='almaimf_line_imaging')
            coosys, racen, deccen = determine_phasecenter(ms=vis, field=field)
            phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
            (dra, ddec, pixscale) = list(
                determine_imsize(
                    ms=vis[0],
                    field=field,
                    phasecenter=(racen, deccen),
                    spw=0,
                    pixfraction_of_fwhm=1 / 3.,
                    exclude_7m=exclude_7m,
                    min_pixscale=0.1,  # arcsec
                ))
            imsize = [dra, ddec]
            cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

            dirty_tclean_made_residual = False

            # start with cube imaging

            if not os.path.exists(lineimagename +
                                  ".image") and not os.path.exists(
                                      lineimagename + ".residual"):
                # json is in unicode by default, but CASA rejects unicode
Example #8
0
            suffix = 'fullwindow_12M'
        else:
            logprint("Including 7M antennae",
                     origin='almaimf_fullcont_imaging')
            suffix = 'fullwindow_7M12M'

        # only need to determine the phasecenter for 1 ms, under the assumption
        # that they will all overlap.  We have to check that this assumption
        # never breaks down, though.
        coosys, racen, deccen = determine_phasecenter(ms=vis[0], field=field)
        phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
        # similarly, we should only need to determine the imsize for one MS
        (dra, ddec, pixscale) = list(
            determine_imsize(ms=vis[0],
                             field=field,
                             phasecenter=(racen, deccen),
                             exclude_7m=exclude_7m,
                             spw=0,
                             pixfraction_of_fwhm=1 / 4.))
        imsize = [dra, ddec]
        cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

        contimagename = os.path.join(imaging_root, basename) + "_" + suffix

        for robust in (-2, 0, 2):
            imname = contimagename + "_robust{0}".format(robust)

            if not os.path.exists(imname + ".image.tt0"):
                tclean(
                    vis=vis,
                    field=field.encode(),
                    imagename=imname,
Example #9
0
    freqname = int(reference_frequency / 1e9)
    logprint("SPW {spw} has rest frequency {reference_frequency} = {freqname}".
             format(**locals()))

    lineimagename = os.path.join(
        imaging_root, "BrickMaser_{0}_spw{1}".format(
            freqname,
            spw,
        ))

    coosys, racen, deccen = determine_phasecenter(ms=vis, field=field)
    phasecenter = "{0} {1}deg {2}deg".format(coosys, racen, deccen)
    (dra, ddec, pixscale) = determine_imsize(
        ms=vis,
        field=field,
        phasecenter=(racen, deccen),
        spw=0,
        pixfraction_of_fwhm=1 / 4.,
        min_pixscale=0.1,  # arcsec
    )
    imsize = [int(dra), int(ddec)]
    cellsize = ['{0:0.2f}arcsec'.format(pixscale)] * 2

    dirty_tclean_made_residual = False

    # calculate the channel width
    chanwidths = []
    msmd.open(vis)
    count_spws = len(msmd.spwsforfield(field))
    msmd.close()
    chanwidth = np.max([
        np.abs(