.. ehtim documentation master file, created by sphinx-quickstart on Tue May 16 13:37:05 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. 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 :class:`Image`, :class:`Array`, and :class:`Obsdata`, which provide tools for manipulating images, simulating interferometric data from images, and plotting and analyzing these data. :class:`Movie` and :class:`Vex` provide tools for producing time-variable simulated data and observing with real VLBI tracks from .vex files. :class:`imager` is a generic imager class that can produce images from data sets in various polarizations using various data terms and regularizers. .. note:: This is a pre-release of ehtim. If you have a problem please submit a pull request on the git repository and/or email achael@outlook.com Installation ------------ The latest stable version (|stable_release|) 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 `_). NFFT Installation ------------ **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 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. **Note that, unfortunately, pyNFFT is only supported for python versions 3.11 or lower.** eht-imaging version 2.0 using the `finufft `__ library is in active development. **For M1/M2/M3/M4/M5 Macs (MacOS >= v12.0)**, install the updated Mac version of `pynfft `__ and follow the instructions on the `readme `__ to manually 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 tutorial jupyter notebook for imaging 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 Scripts in the examples directory contain several older simple example workflows but have not been recently validated. Citation -------------------------------- If you use ehtim in your publication, please cite `Chael+ 2018 `_. The latest version is also available as a static doi on `Zenodo `_. Documentation ------------- .. toctree:: :maxdepth: 2 :caption: Contents: image array obsdata movie model imager calibration plotting scattering statistics survey vex License ------- ehtim is licensed under GPLv3. See LICENSE.txt for more details. Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`