eht-imaging

Imaging, analysis, and simulation software for radio interferometry

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

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, wiley.com, nature.com, iop.org, zenodo.org
  • Committers with academic emails
    17 of 54 committers (31.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Imaging, analysis, and simulation software for radio interferometry

Basic Info
Statistics
  • Stars: 5,303
  • Watchers: 184
  • Forks: 500
  • Open Issues: 9
  • Releases: 15
Created over 10 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.rst

ehtim (eht-imaging)
===================
.. image:: https://zenodo.org/badge/42943499.svg
   :target: https://zenodo.org/badge/latestdoi/42943499

Python 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 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 regularizing functions.

Installation
------------

The latest stable version (`1.2.10 `_) 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 `__. **Note that pyNFFT is only supported for python versions 3.11 or lower.**

The simplest way is to use `conda `__ to install both NFFT and pyNFFT:


.. 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 `_

- Atmospheric Limitations for High-frequency Ground-based Very Long Baseline Interferometry, `Pesce et a. 2024 `_

- Evidence of a toroidal magnetic field in the core of 3C 84, `Paraschos et al. 2024 `_

- First Sagittarius A* Event Horizon Telescope Results. VII. Polarization of the Ring, `EHTC et al. 2024 `_

- Towards an astronomical use of new-generation geodetic observations. I. From the correlator to full-polarization images, `Perez-Diez et al. 2024, `_

- Discovery of Limb Brightening in the Parsec-scale Jet of NGC 315 through Global Very Long Baseline Interferometry Observations and Its Implications for Jet Models, `Park et al. 2024 `_

- Kilogauss magnetic field and jet dynamics in the quasar NRAO 530, `Lisakov et al. 2024 `_

- Evolution, speed, and precession of the parsec-scale jet in the 3C 84 radio galaxy, `Foschi 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.

Owner

  • Name: Andrew Chael
  • Login: achael
  • Kind: user
  • Company: Princeton University

Imaging and simulating black holes with the Event Horizon Telescope

Citation (CITATION.cff)

cff-version: 1.2.6
message: "If you use this software, please cite it as below."
authors:
- family-names: "Chael"
  given-names: "Andrew"
  orcid: "https://orcid.org/0000-0003-2966-6220
"
title: "eht-imaging"
version: 1.2.6
doi: 10.5281/zenodo.7226661
date-released: 2022-05-04
url: "https://github.com/achael/eht-imaging"

GitHub Events

Total
  • Create event: 2
  • Release event: 2
  • Issues event: 10
  • Watch event: 43
  • Issue comment event: 18
  • Push event: 35
  • Pull request review event: 1
  • Pull request event: 20
  • Fork event: 11
Last Year
  • Create event: 2
  • Release event: 2
  • Issues event: 10
  • Watch event: 43
  • Issue comment event: 18
  • Push event: 35
  • Pull request review event: 1
  • Pull request event: 20
  • Fork event: 11

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 1,742
  • Total Committers: 54
  • Avg Commits per committer: 32.259
  • Development Distribution Score (DDS): 0.555
Past Year
  • Commits: 54
  • Committers: 9
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.389
Top Committers
Name Email Commits
Andrew Chael a****l@c****u 775
Michael Johnson m****n@c****u 310
Chi-kwan Chan c****n@c****u 180
klbouman k****n@g****m 94
Andrew Chael a****l@p****u 75
Maciek Wielgus m****s@g****m 57
Katherine Bouman k****n@K****l 48
Katie Bouman k****n@m****u 34
Joseph Farah j****9@g****m 28
danielpalumbo d****o@c****u 14
Nitika Yadlapalli n****i@d****g 12
Katherine Bouman k****n@K****l 11
Aviad a****s@g****m 8
Hotaka Shiokawa h****a@c****u 8
Lindy Blackburn l****n@c****u 8
dpesce d****e@g****m 7
palumbophysics d****o@m****u 4
Katherine Bouman k****n@K****l 4
Kazu Akiyama k****u@g****m 4
Chi-kwan Chan c****c@a****u 4
Katherine Bouman k****n@K****l 4
Katherine Bouman k****n@K****l 4
Katie Bouman k****n@k****e 3
wolfy w****y@s****m 3
Michael D Johnson m****h@g****m 3
George N. Wong g****2@i****u 3
Paul Tiede p****1@g****m 3
Griffin Quarles g****s@p****m 2
Katherine Bouman k****n@v****u 2
Katherine Bouman k****n@v****u 2
and 24 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 31
  • Total pull requests: 120
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 25
  • Total pull request authors: 39
  • Average comments per issue: 1.74
  • Average comments per pull request: 0.58
  • Merged pull requests: 98
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 18
  • Average time to close issues: 2 months
  • Average time to close pull requests: 2 days
  • Issue authors: 5
  • Pull request authors: 6
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.33
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wumpus (3)
  • danielpalumbo (2)
  • rohandahale (2)
  • pboley (2)
  • AlexKurek (2)
  • ian-kelling (1)
  • elfring (1)
  • jrcallingham (1)
  • Miserlou (1)
  • ptiede (1)
  • kpp (1)
  • gfparaschos (1)
  • KajWiik (1)
  • nitinkumartech (1)
  • shitwolfymakes (1)
Pull Request Authors
  • achael (31)
  • jrfarah (12)
  • aviadlevis (8)
  • wielgusm (7)
  • rndsrc (6)
  • nitikayad96 (6)
  • gquarles (5)
  • ptiede (4)
  • gnwong (3)
  • kazuakiyama (3)
  • stevenaldinger (3)
  • cclauss (3)
  • georgievb (2)
  • alexislefebvre (2)
  • ImkwangK (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • astropy *
  • ephem *
  • future *
  • h5py *
  • html *
  • ipython *
  • matplotlib *
  • networkx *
  • numpy *
  • pandas *
  • requests *
  • scikit-image *
  • scipy *
setup.py pypi
  • astropy *
  • ephem *
  • future *
  • h5py *
  • matplotlib *
  • networkx *
  • numpy *
  • optional *
  • pandas *
  • pynfft *
  • requests *
  • scikit-image *
  • scipy *
Dockerfile docker
  • continuumio/miniconda3 latest build
environment.yml pypi