Imaging, analysis, and simulation software for radio interferometry
Project description
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 achael@princeton.edu 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, Movie, Array, Obsdata, Imager, and Caltable classes, which provide tools for loading images and data, producing simulated data from realistic u-v tracks, calibrating, inspecting, and plotting data, and producing images from data sets in various polarizations using various data terms and regularizers.
Installation
Download the latest version from the GitHub repository, change to the main directory and run:
pip install .
This will install most of the required libraries automatically (numpy, scipy, matplotlib, astropy, ephem, future, h5py, and pandas).
If you want to use fast fourier transforms, you will also need to separately install NFFT and its pynfft wrapper. The simplest way is to use conda to install both:
conda install -c conda-forge pynfft
Alternatively, first install NFFT manually following the instructions on the readme, making sure to use the --enable-openmp flag in compilation. Then install pynfft, with pip, following the readme instructions to link the installation to where you installed NFFT. Finally, reinstall ehtim.
Certain eht-imaging functions require other external packages that are not automatically installed. In addition to pynfft, these include networkx (for image comparison functions), requests (for dynamical imaging), and scikit-image (for Hough transforms). However, the vast majority of the code will work without these dependencies.
Documentation
Documentation is here .
A full tutorial is in progress, but here are some ways to learn to use the code:
Start with the script examples/example.py, which contains a series of sample commands to load an image and array, generate data, and produce an image with various imaging algorithms.
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.
Some publications that use ehtim
If you use ehtim in your publication, please cite both Chael+ 2016 and Chael+ 2018
Let us know if you use ehtim in your publication and we’ll list it here!
High-Resolution Linear Polarimetric Imaging for the Event Horizon Telescope, Chael et al. 2016
Computational Imaging for VLBI Image Reconstruction, Bouman et al. 2016
Stochastic Optics: A Scattering Mitigation Framework for Radio Interferometric Imaging, Johnson 2016
Quantifying Intrinsic Variability of Sgr A* using Closure Phase Measurements of the Event Horizon Telescope, Roelofs et al. 2017
Reconstructing Video from Interferometric Measurements of Time-Varying Sources, Bouman et al. 2017
Dynamical Imaging with Interferometry, Johnson et al. 2017
Interferometric Imaging Directly with Closure Phases and Closure Amplitudes, Chael et al. 2018
A Model for Anisotropic Interstellar Scattering and its Application to Sgr A*, Psaltis et al. 2018
The Currrent Ability to Test Theories of Gravity with Black Hole Shadows, Mizuno et al. 2018
The Scattering and Intrinsic Structure of Sagittarius A* at Radio Wavelengths, Johnson et al. 2018
How to tell an accreting boson star from a black hole, Olivares et al. 2018
Testing General Relativity with the Black Hole Shadow Size and Asymmetry of Sagittarius A*: Limitations from Interstellar Scattering, Zhu et al. 2018
The Size, Shape, and Scattering of Sagittarius A* at 86 GHz: First VLBI with ALMA, Issaoun et al. 2019
First M87 Event Horizon Telescope Results IV: Imaging the Central Supermassive Black Hole, The Event Horizon Telescope Collaboration 2019
Acknowledgements
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 developed and may not work with all versions of python or astropy.
The documentation is styled after dfm’s projects
License
ehtim is licensed under GPLv3. See LICENSE.txt for more details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ehtim-1.2.tar.gz
.
File metadata
- Download URL: ehtim-1.2.tar.gz
- Upload date:
- Size: 320.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200209 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7df0c823c803b9697323c5649f87315bc2d24001f70d66141637584a738bbdc |
|
MD5 | c3566c82fffc245d0e4e638d3fbd6342 |
|
BLAKE2b-256 | 9b199e45fd9950c2f27ae21b08b3e93e5b487060648d43c939da212a583cc248 |