Python modules for simulating and manipulating VLBI data and producing images with regularized maximum likelihood methods. This version is an early release so please submit a pull request or email [email protected] if you have trouble or need help for your application.
The package contains several primary classes for loading, simulating, and manipulating VLBI data. The main classes are the Image
, Array
, Obsdata
. Movie
and Vex
provide tools for producing time-variable simulated data and observing with real VLBI tracks from .vex files. imager
is a generic Stokes I imaging module that can produce images from data sets using various data terms and regularizers.
Note that this is a pre-release of ehtim. If you have a problem please submit a pull request on the git repository.
Download the latest version from the GitHub repository, change to the main directory and run:
pip install .
It should install the depended libraries astropy, ephem, future, matplotlib, numpy, scipy automatically.
You may need to install NFFT and the pynnft wrapper manually. First install NFFT following the instructions on the github readme, making sure to use the --enable-openmp flag in compilation. Then install pynnft, with pip, following the readme instructions to link the installation to where you installed NFFT.
Alternatively, you can use conda to to install both NFFT and the pynfft wrapper
The documentation is in progress, but here are some ways to learn to use the code:
- The file example.py has a series of sample commands to load an image and array, generate data, and produce an image.
- Slides from the EHT2016 data generation and imaging workshop contain a tutorial on generating data with the vlbi imaging website, loading into the library, and producing an image. Note that this presentation used a previous version of the code -- function names and prefixes will need to be updated.
Produces polarimetric VLBI images using robust polarimetric ratio data products and entropy+total variation priors. (Andrew A. Chael et al 2016 ApJ 829 11)
ArXiv: https://arxiv.org/abs/1605.06156
Python code to produce intensity images using patch-prior regularizers. These methods are described in detail in the following paper:
Detailed derivations and additional results can be found in the accompanying supplemental material
Please email [email protected] if you have trouble or need help for your application.
The oifits_new code used for reading/writing .oifits files is a slightly modified version of Paul Boley's package at http://astro.ins.urfu.ru/pages/~pboley/oifits. The oifits read/write functionality is still being tested and may not work with all versions of python or astropy.io.fits.
The jdcal.py module is from Prasanth Nair at http://github.com/phn/jdcal.
The documentation is styled after dfm's projects and the documentation for scatterbrane
ehtim is licensed under GPLv3. See LICENSE.txt for more details.