Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/achael/eht-imaging
Imaging, analysis, and simulation software for radio interferometry
https://github.com/achael/eht-imaging
Last synced: about 1 month ago
JSON representation
Imaging, analysis, and simulation software for radio interferometry
- Host: GitHub
- URL: https://github.com/achael/eht-imaging
- Owner: achael
- License: gpl-3.0
- Created: 2015-09-22T15:41:48.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T17:55:35.000Z (8 months ago)
- Last Synced: 2024-04-23T19:35:53.999Z (8 months ago)
- Language: Python
- Homepage: https://achael.github.io/eht-imaging/
- Size: 41.6 MB
- Stars: 5,280
- Watchers: 190
- Forks: 490
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-repositories - achael/eht-imaging - Imaging, analysis, and simulation software for radio interferometry (Python)
README
ehtim (eht-imaging)
===================
.. image:: https://zenodo.org/badge/42943499.svg
:target: https://zenodo.org/badge/latestdoi/42943499Python modules for simulating and manipulating VLBI data and producing images with regularized maximum likelihood methods. This version is an early release so please raise an issue, 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``, ``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 regularizing functions.
Installation
------------The latest stable version (`1.2.8 `_) is available on `PyPi `_. Simply install pip and run
.. code-block:: bash
pip install ehtim
Incremental updates are developed on the `dev branch `_. To use the very latest (unstable) code, checkout the dev branch, change to the main eht-imaging directory, and run:
.. code-block:: bash
pip install .
Installing with pip will update 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:
.. 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.
**For M1 Macs (OS >= v12.0)**, install the M1 Mac version of `pynfft `__ and follow the instructions on the `readme `__. It has the instructions to install `fftw `_, `nfft `__ and then `pynfft `__.
**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 a few image analysis functions). However, the vast majority of the code will work without these dependencies.
Documentation and Tutorials
---------------------------
Documentation is `here `_.A intro to imaging tutorial jupyter notebook can be found in the repo at `tutorials/ehtim_tutorial.ipynb `__
`Slides `__ for the included tutorial walk through the basic steps of reconstructing EHT images with the code
Here are some other 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.
- Older `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.
Citation
--------------------------------
If you use ehtim in your publication, please cite `Chael+ 2018 `_.The latest version is also available as a static doi on `Zenodo `_.
Selected publications that use ehtim
------------------------------------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 `_
- 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 `_
- Testing GR 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. 2019a `_
- First M87 Event Horizon Telescope Results IV: Imaging the Central Supermassive Black Hole, `EHTC et al. 2019 `_
- EHT-HOPS Pipeline for Millimeter VLBI Data Reduction, `Blackburn et al. 2019 `_
- Discriminating Accretion States via Rotational Symmetry in Simulated Polarimetric Images of M87, `Palumbo et al. 2020 `_
- SYMBA: An end-to-end VLBI synthetic data generation pipeline, `Roelofs et al. 2020 `_
- Monitoring the Morphology of M87* in 2009-2017 with the Event Horizon Telescope, `Wielgus et al. 2020 `_
- EHT imaging of the archetypal blazar 3C 279 at extreme 20 microarcsecond resolution, `Kim et al. 2020 `_
- Verification of Radiative Transfer Schemes for the EHT, `Gold et al. 2020 `_
- Closure Traces: Novel Calibration-insensitive Quantities for Radio Astronomy, `Broderick and Pesce. 2020 `_
- Evaluation of New Submillimeter VLBI Sites for the Event Horizon Telescope, `Raymond et al. 2021 `_
- Imaging VGOS Observations and Investigating Source Structure Effects, `Xu et al. 2021 `_
- A D-term Modeling Code (DMC) for Simultaneous Calibration and Full-Stokes Imaging of VLBI Data, `Pesce et al. 2021 `_
- Using space-VLBI to probe gravity around Sgr A*, `Fromm et al. 2021 `_
- Persistent Non-Gaussian Structure in the Image of Sagittarius A* at 86 GHz, `Issaoun et al. 2021 `_
- First M87 Event Horizon Telescope Results. VII. Polarization of the Ring, `EHTC et al. 2021 `_
- Event Horizon Telescope observations of the jet launching and collimation in Centaurus A, `Janssen et al. 2021 `_
- RadioAstron discovers a mini-cocoon around the restarted parsec-scale jet in 3C 84 `Savolainen et al. 2021 `_
- Unravelling the Innermost Jet Structure of OJ 287 with the First GMVA+ALMA Observations, `Zhao et al. 2022 `_
- First Sagittarius A* Event Horizon Telescope Results. III: Imaging of the Galactic Center Supermassive Black Hole, `EHTC et al. 2022 `_
- Resolving the Inner Parsec of the Blazar J1924-2914 with the Event Horizon Telescope, `Issaoun et al. 2022 `_
- The Event Horizon Telescope Image of the Quasar NRAO 530, `Jorstad et al. 2023 `_
- First M87 Event Horizon Telescope Results. IX. Detection of Near-horizon Circular Polarization, `EHTC et al. 2023 `_
- Filamentary structures as the origin of blazar jet radio variability, `Fuentes et al. 2023 `_
- The persistent shadow of the supermassive black hole of M 87. I. Observations, calibration, imaging, and analysis, `EHTC 2023 `_
- Parsec-scale evolution of the gigahertz-peaked spectrum quasar PKS 0858-279, `Kosogorov et al. 2024 `_
oifits Documentation
--------------------The oifits_new.py file used for reading/writing .oifits files is a slightly modified version of Paul Boley's package `oifits `_.
The oifits read/write functionality in ehtim 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.