

**JSkyMap** is a visibility simulation and map reconstruction software package for interferometers operating in transit mode. It can be used to compute simulated visibilities starting from sky maps for dish or cylinder arrays, operating in transit mode. It has been developed to perform map reconstruction from cleaned/calibrated visibilities. It provides full sky map making in spherical geometry using the mmode decomposition, or in rectangular geometry. The package has been written in C++, with parallel, multithread capability, over a single node, with mutiple CPU’s or cores. Most operations are performed on a single frequency, meaning that data from different frequencies can be handled in parallel on different nodes.






The code itself is rather compact and simple, built around few classes, but relies on the [SOPHYA](http://www.sophya.org) class library for many services, including various numerical algorithms as well as I/O , in native SOPHYA format, FITS and HDF5. The SOPHYA support class library can be downloaded from this [sophyagit](https://gitlab.in2p3.fr/SOPHYA).






A discussion of the algorithm can be found in this MNRAS paper : [MNRAS 2016.a](https://academic.oup.com/mnras/article/461/2/1950/2608578) or [arXiv 2016.a](https://arxiv.org/pdf/1606.03090.pdf)






Package documentation generated using doxygen is available from [JSKyMapDoxy](https://bao.lal.in2p3.fr/JSkyMap/JSkyDoxyHTML/index.html)






A list of the main classes in the JSkyMap package in given below:






* **BeamTP** : Single feed beam response or antenna lobe in angular domain



* **BeamVis** : beam response for a pair of feeds or antenna ( in angular domain)



* **BeamLM** : beam response in the *(l,m)* spherical harmonics plane



* **SphCoordTrans** : Spherical coordinate transformation



* **JSphSkyMap** : the top level class providing the visibility computation and map making in spherical geometry, through mmode decomposition



* **InterferoArraySetup** : Interferometer geometrical description



* **PseudoInverse** : template class which provides specific matrix operations such as the pseudoinverse computation



* **QuickMapMaker** : Class implementing a simple and very fast map making for transit visibilities, through combinations of observed visibilities from all baselines, at fixed RA



* **BFMTV_RectangularMap** : Brute Force map making in rectangular geometry



* **BFMTV_SphericalMap** : Brute Force map making in spherical geometry






The package contains a number of main executable programs which can be used to compute simulated visibilities, or map from visibilities. An incomplete list of the most useful programs is given below:






* **p4src2vis** : Compute visibilities, as Time Ordered Data from a source list, an interferometer setup. Computation is performed in angular domain.



* **src2tfm**: Computes a set of (rafrequency) visibilities maps from a list of sources and interferometer setup (computation in angular domain)



* **map2vis** : Computes visibilities from an input sky map using mmode decomposition



* **vis2map** : Computes a spherical map from a set of visibilities through mmode decomposition



* **vis2qmap** : Computes a map from set of visibilities using QuickMap or BFMTV (Brute Force Map making) 


\ No newline at end of file 