An open API service indexing awesome lists of open source software.

https://github.com/sweetpand/eht-imaging


https://github.com/sweetpand/eht-imaging

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

ehtim (eht-imaging)
===================

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``, ``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 polariazations using various data terms and regularizers.

Installation
------------
Download the latest version from the `GitHub repository `_, change to the main directory and run:

.. code-block:: bash

pip install .

It should install most of the required libraries automatically (`astropy `_, `ephem `_, `future `_, `h5py `_ , `html `_ , `networkx `_, `numpy `_, `pandas `_ , `matplotlib `_, `requests `_, `scipy `_, `skimage `_).

**If you want to use fast fourier transforms, you will also need to separately install** `NFFT `_ **and its** `pynnft wrapper `_. The simplest way is to use `conda `__ to to install both:

.. code-block:: bash

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.

Documentation
-------------
Documentation is `here `_ .

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. Note that this presentation used a previous version of the code -- some function names and prefixes may need to be updated.

Some publications that use ehtim
------------
If you use ehtim in your publication, please cite both `Chael et al. 2016 `_ and `Chael et al. 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 `_

Acknowledgements
----------------
The oifits_new code used for reading/writing .oifits files is a slightly modified version of Paul Boley's package at ``_. 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.