.. 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@princeton.edu.edu The latest stable version (`1.2.6 `_) 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. Documentation ------------- .. toctree:: :maxdepth: 2 :caption: Contents: image array obsdata movie model imager calibration plotting scattering statistics survey vex Acknowledgements ---------------- The :code:`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 tested and may not work with all versions of python. This documentation is styled after `dfm's projects `_ and the documentation for `scatterbrane `_ License ------- ehtim is licensed under GPLv3. See LICENSE.txt for more details. Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`