================================================================================
Paper: Multiple component decomposition from millimeter single-channel data
Authors: Rodriguez-Montoya I., Sanchez-Arguelles D., Aretxaga I., et al.
The Astrophysical Journal Supplement, 235 1 (2018).
================================================================================
Description of contents
AzTICA is an application of Independent Component Analysis (ICA) along with calibration techniques developed for AzTEC-like maps. It is under continuous development by Ivan Rodriguez & David Sanchez. For questions and contributions please contact the authors: ivrguez@gmail.com, armazd@gmail.com.
The 2018 release also contains a set of redundant maps and the reference M0 map used in the article. The astronomical field is the Great Observatories Origins Deep Survey-South (GOODS-S, Scott et al 2010). The hierarchical levels of redundancy are generated using PCA in time-domain. For further details the user is referred to the paper.
----------------------------------------------------------------------------------------------------------------------------------------
System requirements
The given python scripts require the following python libraries:
*numpy (>=1.10)
*scipy (>=0.17)
*matplotlib (>=1.5.1)
*scikit-learn (>=0.16)
This packages can be installed in using pip:
sudo pip install numpy scipy matplotlib netcdf4 scikit-learn
----------------------------------------------------------------------------------------------------------------------------------------
Installation
In a terminal, create a new folder called e.g. decompositions
~]$ mkdir decompositions
~]$ cd decompositions
Put in the folder decompositions the data provided in a usb-key, ( or from the ApJ site, not-preferred). Now get AzTICA from the LMT-development GitHub,
~]$ git clone https://github.com/LMTdevs/AzTICA
~]$ cd AzTICA
~]$ mkdir outputs
You can open, edit and play with the scripts aztica.py and playICA.py in your favorite text editor.
Before running the playICA script, you may probably need to install scikit-learn.
You may also edit the sys.path variable (lines 2-4) of playICA.py to indicate the location of the Aztica folder in your system (in case you wanted to move playICA.py to a different folder).
----------------------------------------------------------------------------------------------------------------------------------------
Usage of data and scripts
A minimal piece of python-code is provided inside example/playICA.py. This is intended to read and visualize a set of AzTEC redundant maps, perform an ICA decomposition of those maps, and a rapid calibration using the pixel-fitting method described in the paper. While playICA.py is the user-interface where the read, plot, and analyze functions are executed, the actual libraries are stored in aztica.py.
The easiest way to execute the playICA script in an interactive ipython shell is:
In [1]: %run playICA.py
But the better way is run line by line in order to understand the steps and variables. You can use the magic function %paste to incorporate several lines of code to the ipython terminal.
The user may change plenty of things to play:
+ create and test new masks (especially masika) of different sizes
+ change the number of independent components n
+ try and test different initialization matrices (w_init)
+ measure negentropy on different area sizes (using the function J)
+ choose different sets of redundant maps to perform calibrations (rangeM_Si)
+ count bright sources inside the maps with different SNtol, beams_excluded, etc.
----------------------------------------------------------------------------------------------------------------------------------------
Data format
Each map is stored in an NetCDF format, which is suited for self-describing array-oriented scientific data. NetCDF libraries are developed by Unidata.
The AzTEC nc-files contain much more information, e.g. noise maps, astronomical coordinates, etc. The user can modify the function Azmap in order to get full access to all the variables.
----------------------------------------------------------------------------------------------------------------------------------------