ADMIT Products and Usage
Intro/What is ADMIT?
The ALMA Data-Mining Toolkit (ADMIT) is an execution environment and set of tools for analyzing image data cubes. ADMIT is based on python and designed to be fully compliant with CASA and to utilize CASA routines where possible. ADMIT has a flow-oriented approach, executing a series of ADMIT Tasks (AT) in a sequence to produce a sequence of outputs. For the beginner, ADMIT can be driven by simple scripts that can be run at the Unix level or from inside of CASA. ADMIT provides a simple browser interface for looking at the data products, and all major data products are on disk as CASA images and graphics files. For the advanced user, ADMIT is a python environment for data analysis and for creating new tools for analyzing data.
For a detailed quick-look at ALMA images, standardized ADMIT “recipes” can be run which produce various products depending on the image type. For continuum images, ADMIT simply finds some of the basic image properties (RMS, peak flux, etc) and produces a moment map. For cube images, ADMIT will analyze the cube, attempt to identify spectral features, and create moment maps of each identified spectral line.
ADMIT does not interact with u,v data or create images from u,v data; CASA should be used to create images. ADMIT provides a number of ways to inspect your image cubes. The astronomer can then decide whether the ALMA image cubes need to be improved, which requires running standard CASA routines to re-image the u,v data. If new images are made, the ADMIT flow can be run on these new image cubes to produce new set of ADMIT products.
Obtaining ADMIT and data for this guide
For this CASA Guide, we will go through creating an ADMIT product of some science verification data and then inspect the output. You’ll of course need CASA installed (http://casa.nrao.edu/casa_obtaining.shtml) as well as ADMIT. To install ADMIT from scratch, you’ll need to clone the source code using git and then run the setup script to create the necessary environment replacing "X" with the relevant software version:
# In bash git clone https://github.com/astroumd/admit cd admit autoconf #creates the executable configure script ./configure --with-casa-root=/path/to/your/local/casa-release-X.X.X-X
If the above method doesn't work for whatever reason, you can also use wget, untar the file, and then run the setup script, again, replacing "X" with the relevant software versions:
# In bash wget http://admit.astro.umd.edu/admit.tar.gz tar zxf admit.tar.gz ls cd admit_1.X.X ./configure --with-casa-root=/path/to/your/local/casa-release-X.X.X-X
Once you have run the configure script using either method, simply source the newly created admit_start.sh script before executing any ADMIT commands.
# In bash source admit_start.sh
If you want to check that ADMIT is set up, you can type
# In bash admit
ADMIT = /users/test/admit version = 1.0.8 CASA_PATH = /home/casa/release/casa-release-5.4.0-70 linux admit cpu-name CASA_ROOT = /home/casa/release/casa-release-5.4.0-70 prefix = /home/casa/release/casa-release-5.4.0-70 version = 5.4.0-rel-70 revision = 1
In your terminal after sourcing the start script and you should see the directory paths and versions of ADMIT. For more details, please see:
Now switch directories out of the ADMIT installation you just set up and to where you will be working on the data. For this guide, we’ll be using the images generated from the Antennae Band 7 CASA Guide. We’ll just need the reference images which we can grab with a wget command and then untar:
# In bash wget https://bulk.cv.nrao.edu/almadata/sciver/AntennaeBand7/Antennae_Band7_ReferenceImages.tgz tar xzf Antennae_Band7_ReferenceImages.tgz cd Antennae_Band7_ReferenceImages
Creating an ADMIT product
Now that we have some ALMA images and ADMIT installed, let’s run one of the standard ADMIT recipes on our image. There are two standard recipes that handle most ALMA images, admit1.py (or runa1, http://admit.astro.umd.edu/admit/tricks.html#runa1-and-admit1-py) which works on data cubes and admit2.py (or runa2, http://admit.astro.umd.edu/admit/tricks.html#runa2-and-admit2-py) which works on continuum images. These images are data cubes so we’ll use the first recipe. There are two ways to do this, if you just want the results of the ADMIT recipe just type
# In bash runa1 Antennae_North.CO3_2Line.Clean.pcal1.image.fits
within the directory where the image is located. runa1 is the default implementation and gives a streamlined result. Another option is to specify the admit1.py recipe which allows you to use flags for customization. To do this, type:
# In bash /path/to/your/admit/installation/admit/admit/test/admit1.py Antennae_North.CO3_2Line.Clean.pcal1.image.fits
This will produce identical output as runa1; however, there are over 30 tunable parameters that allow you to set the VLSR, rest frequency, regions of interest, etc. as well as many line identification parameters to tune such as using the online version of Splatalogue rather than the internal one for line identification. These can be tuned via creating a file with your parameter choices and specifying it via the --apar flag. Later in this guide we will go through a little bit more on how to customize ADMIT to better suit your data but for now, more information can be found here:
In the end, if everything worked correctly, either method (runa1 or admit1.py) will result in the creation of a file named Antennae_North.CO3_2Line.Clean.pcal1.image.admit which contains the output from the ADMIT recipe.
The ADMIT weblog, viewing the ADMIT product
To view the ADMIT output, start by descending into the Antennae_North.CO3_2Line.Clean.pcal1.image.admit directory and open up the index.html file in your favorite browser (currently Firefox is the best option). This will open up the ADMIT browser interface (weblog) which is the most convenient way to view the ADMIT results on the image. It should look something like Figure 1.
The text within each bar gives the ADMIT Task name, the task ID number, the parameters that were used within that task, and any output image names (Figure 1). Note that ADMIT uses the basename "x" if one isn't supplied so all the output file names will be "x.*". Clicking on one of the green horizontal bars will reveal all the output for that ADMIT task. Just under the expanded bar will be the task name (which hyperlinks to the ADMIT wiki page for that task) and a one-line explanation of what that task does (Figure 2).
Now, we will go through all of the output in the ADMIT weblog and describe what each task does and what output to expect.
The ADMIT data Flow
For continuum images, these diagrams are extremely simple but for line-dense image cubes these can be incredibly complicated. Figure 3 shows what the ADMIT Flow looks like for our dataset. This diagram is a directed acyclic graph representing the ADMIT Task connections. Each arrow represents the connection from an ADMIT task output to the input of another ADMIT Task. The integer next to each arrow is the zero-based index of the ADMIT Task's output basic data product. Note that any output basic data product may be used as the input for more than one ADMIT Task.
This task computes statistics on the image cube in the image-plane (meaning that the uv data is not examined). Here, ADMIT computes per-channel statistics in order to find the maximum and minimum values and pixel locations throughout the cube. This information is then used to generate global statistics such as mean intensity, a signal-free estimate of the noise, and the dynamic range. The maximum values throughout the cube will also be used in later steps to help identify lines in the spectrum. Additionally, two plots are created:
- Emission Characteristics Plot: The spectrum of various elements (SNR, peak signal, RMS, and minimum signal) are plotted.
- The Peak Point Plot: the image is searched and the peak emission locations are found for every channel in the cube and plotted. The size of the point in the image indicates the magnitude of the emission in that channel.
For each line cube that is made during the above task, LineCube_AT, a moment map is produced via Moment_AT. This task using the input line cube as well as information from CubeStats_AT to create a Moment 0, Moment 1, and Moment 2 map. <figure id="ADMIT_mom0-2.png">
Customizing ADMIT for your dataset
As outlined near the beginning of this guide, you can customize an ADMIT run by supplying additional parameters to admit1.py via a parameter file and pointing to it by using the --apar flag in your admit1.py call.
Each time ADMIT runs, it creates an admit0.py script (found in the same directory as the index.html file) which is an auto-generated script of the ADMIT flow that was performed. Therefore, another option for customizing your ADMIT output is to edit this script to include extra parameters for your data. For example, adding the VLSR to Ingest_AT or LineID_AT for more accurate line identification or changing the “online” boolean flag in LineID_AT to “True” so that ADMIT searches the online version of Splatalogue to identify lesser known chemical species.
To find out what parameters are available for customization, please see the online documentation for each task by clicking on the task name under its header in the weblog. After editing the script, run the new admit0.py script where the image is located to create the new ADMIT products by simply typing:
# In bash admit0.py
Once you are comfortable with editing the admit0.py script, this can help you start to create your own ADMIT flows which you can use to help you quickly sift through large datasets.