MWA_simulation.py (new)
=================

Creates a MWA simulation of delay spectrum for a particular baseline.
The simulated animation is saved in .gif and .mp4 formats.
This serves a nice tutorial for animations using matplotlib.
The core consists of "interferometry" and "catalog" modules.

VLA_simulation.py (new)
=================

Creates a VLA simulation of delay spectrum for a particular baseline.
The core consists of "interferometry" and "catalog" modules.

baseline_delay_horizon.py (new)
=========================

Module to manipulate delay spectrum data.

delay_envelope() creates a delay envelope (determined by horizon) for
the given baselines for each of the given sky locations.

geometric_delay() creates a delay matrix for each of the baselines for
each of the sky positions as phase centers.

baseline_delay_horizon_visualizer.py (new)
====================================

Creates an animation of delay envelope for different baselines of
128-tile MWA as the telescope tracks the sky. THe animation is saved
in .gif and .mp4 formats.

catalog.py (new)
==========

Module that defines 'catalog' and 'SkyModel' classes.
The 'catalog' class is used to hold a catalog information along
with methods to match catalogs.
The 'SkyModel' class holds a 'catalog' object as well image model
of the sky. Currently, it only handles 'catalog' objects.
This class needs to be developed further from the viewpoint of
managing images.

constants.py (new)
============

Module to hold constants not already defined in scipy.constants

interferometry.py (new)
=================

Module that defines an 'Interferometer' class. An instance of this
class holds interferometer information such as the baseline vector, label,
latitude, effective_area, etc. for a single interferometer.

The class method 'observe()' simulates an observation with this interferometer
when system temperature, bandpass shape, sky model and other observing
parameters are specified.

The class method 'delay_transform()' transforms the simulated interferometric
data along the frequency axis to yield the delay transform.

my_gridding_modules.py (new)
======================

Module for gridding operations.

grid() is the core of this module and can produce multi-dimensional grids

grid_1d() is a 1D wrapper for grid()

grid_2d() is a 2D wrapper for grid()

conv_grid1d() performs 1D gridding convolution using user-specified methods
of interpolation.

conv_grid2d() performs 2D gridding convolution using user-specified methods
of interpolation.

primary_beams.py (new)
================

Module to generate primary beams for VLA, GMRT and phased arrays such as MWA.

VLA_primary_beam_PBCOR() estimates the primary beam given the offset locations
based on the PBCOR model used at NRAO (AIPS, CASA, etc.) applicable to VLA.
Also to be added is the 1.4 GHz VLA-FIRST model derived in Thyagarajan et al.(2011).

GMRT_primary_beam() estimates the primary beam given the offset locations
based on the PBCOR model used at GMRT.

dipole_field_pattern() estimates a dipole pattern based on the dipole parameters
and also handles when half-wave dipole approximation cannot be made.

isotropic_radiators_array_field_pattern() estimates the field pattern for an
array of isotropic radiators in different angular coordinate systems. This can
be used in combination with the dipole field pattern to obtain estimates of
MWA tile field patterns.

primary_beam_generator() is a wrapper for any of these aforementioned functions.

geometry.py (modified)
===========

Module to define and handle geometric transformations.

'Point' class is moved from antenna_array.py module to geometry.py. __add__,
__sub__, __mul__, and __rmul__ have been modified.

altaz2dircos() converts coordinates in Alt-Az coordinate system to direction
cosines. Right now the inputs have to be numpy array. Should be generalized
to other data types.

dircos2altaz() converts coordinates in direction cosines to Alt-Az coordinate
system. Right now the inputs have to be numpy array. Should be generalized
to other data types.

hadec2altaz() converts coordinates in HA-Dec to Alt-Az coordinate
system given the latitude. Right now the inputs have to be numpy array.
Should be generalized to other data types.

altaz2hadec() converts coordinates in Alt-Az to HA-Dec coordinate
system given the latitude. Right now the inputs have to be numpy array.
Should be generalized to other data types.

enu2xyz() converts coordinates in local East-North-Up coordinates to
equatorial XYZ coordinate system given the latitude. Right now the inputs
have to be numpy array. Should be generalized to other data types.

xyz2enu() converts coordinates in equatorial XYZ coordinates to
local East-North-Up coordinate system given the latitude. Right now the inputs
have to be numpy array. Should be generalized to other data types.

sphdist() computes the angular distance of the arc on the great circle between
any two locations on a sphere.

spherematch() matches in spherical coordinates one set of locations with
another set. It can be customized to yield all matches within a certain radius
or any number of nearest neighbours as well as specific n-th neighbors.

baseline_generator() generates baselines from antenna locations. The baselines
could include/exclude "self" entries (zero spacings) and conjugates.

my_DSP_modules.py (modified)
=================

renamed frequencies() to spectral_axis() which is a more general term for
fourier transform in any domain

antenna_array.py (modified)
================

removed 'Point' class and moved it to geometry.py.

Added class 'PolInfo' to store polarization information. It has Fourier
transform and update methods.

Class 'Antenna' holds antenna information one of whose attributes is the
polarization information defined in 'PolInfo' class. It contains channels
and update methods.

Class 'AntennaPair' has not been developed further.

Class 'AntennaArray' has been defined to hold all the constituent antenna
information. It consists of antenna addition, subtraction and update
methods. It also has gridding and gridding convolution methods. The update,
gridding and gridding convolution methods are primitive and need serious
development.