forked from achael/eht-imaging
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.rst
127 lines (88 loc) · 11.4 KB
/
README.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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``. ``Movie`` and ``Vex`` provide tools for producing time-variable simulated data and observing with real VLBI tracks from .vex files. ``imager`` is a generic Stokes I imaging module that can produce images from data sets using various data terms and regularizers.
Note that this is a pre-release of ehtim. If you have a problem please submit a pull request on the git repository.
Installation
------------
Download the latest version from the `GitHub repository <https://github.com/achael/eht-imaging>`_, change to the main directory and run:
.. code-block:: bash
pip install .
It should install the necessary libraries `astropy <http://www.astropy.org/>`_, `ephem <http://pypi.python.org/pypi/pyephem/>`_, `future <http://pypi.python.org/pypi/future>`_, `matplotlib <http://www.matplotlib.org/>`_, `numpy <http://www.numpy.org/>`_, `scipy <http://www.scipy.org/>`_, `pandas <http://www.pandas.pydata.org/>`_ automatically.
If you want to use fast fourier transforms, you will also need to install `NFFT <https://github.com/NFFT/nfft>`_ and the `pynnft wrapper <https://github.com/ghisvail/pyNFFT/>`_ before installing ehtim. The simplest way is to use `conda <https://anaconda.org/conda-forge/pynfft/>`__ to to install both NFFT and the pynfft wrapper.
.. code-block:: bash
conda install -c conda-forge pynfft
Alternatively, first manually install NFFT following the instructions `here <https://github.com/NFFT/nfft>`_, making sure to use the --enable-openmp flag in compilation. Then install `pynnft <https://github.com/ghisvail/pyNFFT/>`_ with pip, following the instructions to link the installation to where you installed NFFT.
Documentation
-------------
Documentation is `here <https://achael.github.io/eht-imaging>`_ .
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 <https://www.dropbox.com/s/7533ucj8bt54yh7/Bouman_Chael.pdf?dl=0>`_ from the EHT2016 data generation and imaging workshop contain a tutorial on generating data with the vlbi imaging `website <http://vlbiimaging.csail.mit.edu>`_, 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
------------
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 <https://arxiv.org/abs/1605.06156>`_
- Computational Imaging for VLBI Image Reconstruction, `Bouman et al. 2016 <http://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Bouman_Computational_Imaging_for_CVPR_2016_paper.html>`_
- Stochastic Optics: A Scattering Mitigation Framework for Radio Interferometric Imaging, `Johnson 2016 <https://arxiv.org/abs/1610.05326>`_
- Quantifying Intrinsic Variability of Sgr A* using Closure Phase Measurements of the Event Horizon Telescope, `Roelofs et al. 2017 <https://arxiv.org/abs/1708.01056>`_
- Reconstructing Video from Interferometric Measurements of Time-Varying Sources, `Bouman et al. 2017 <https://arxiv.org/abs/1711.01357>`_
- Dynamical Imaging with Interferometry, `Johnson et al. 2017 <https://arxiv.org/abs/1711.01286>`_
- Interferometric Imaging Directly with Closure Phases and Closure Amplitudes, `Chael et al. 2018 <https://arxiv.org/abs/1803.07088>`_
- A Model for Anisotropic Interstellar Scattering and its Application to Sgr A*, `Psaltis et al. 2018 <https://arxiv.org/abs/1805.01242>`_
- The Currrent Ability to Test Theories of Gravity with Black Hole Shadows, `Mizuno et al. 2018 <https://arxiv.org/abs/1804.05812>`_
Acknowledgements
----------------
The oifits_new code used for reading/writing .oifits files is a slightly modified version of Paul Boley's package at `<http://astro.ins.urfu.ru/pages/~pboley/oifits>`_. The oifits read/write functionality is still being tested and may not work with all versions of python or astropy.
The jdcal.py module is from Prasanth Nair at `<http://github.com/phn/jdcal>`_.
The documentation is styled after `dfm's projects <https://github.com/dfm>`_
License
-------
ehtim is licensed under GPLv3. See LICENSE.txt for more details.
..
..... .
........... ....
............ ........................
.........................,,******,,.....
.......,,,,..........,,**/(((/*,,...
.....,,,,,**,.......,**/(#%%#/,...
.....,,,,,,**,.....,*/(#%&&%/,.
......,**,***/*,,,,*/(#%@@*.
..,....,****////***/((%&@@@#,
..,,,...****///////((#%&@@@%*.
.,**,,.,*////((((((##%&@@@&/.
.,//*,,,*/(((((((##%%&@@@@%, ,,,,,. .,..
,/(//***/(###((##%%%&@@@@#, . ,*/,. ...
.*(((////(#%%###%%&&@@@@@#, ..*(*. ..
./((((//(#%&%%%%&&@@@@@@%*. .*#/. .
,(#((#(((#&&&&&&@@@@@@@&(.. .(%* ..
... ,(#####((#&&@@@@@@@@@@@%/..,##, ..
.... ,(###%%#(#%&@@@@@@@@@@@%/,#&* ..
..... .(###%%%##%&@@@@@@@@@@@&%, .
...... ./#%%%%%%##&@@@@@@@@@@@@@%, .
........ .*%%%%%&%##%@@@@@@@@@@@@@(,. .
..,,,... .. .,#%%%%%&%%%&@@@@@@@@@@@&%/. .
..,,,,... ... ../#%%%%&%%%&@@@@@@@@@@@@*. @@ @ @ #
..,,,,... ......*(##%%&&%%&&@@@@@@@@@@@&%(,. @ @ @ @ # ### ## .
..,**,,.......,.,/###%%&%#%&@@@@@@@@@@@&%#/,.. @@@@ @@@ @@@ %%% # # # # ..
..,**,,.......,,*(((#%&&%#%&@@@@@@@@&&&&%(*... @ @ @ @ # # # # ..
.,,*,,,,.......,/(((#%&&%##&@@&@@@&&%%%##(*.. @@ @ @ @@ ## # # # .
..,,,,,,,.......,/((((%&&%#(%&&&@@%%%###((/*.. .
...,,.,,,....,,,*/((/(#%&(#%&@@%%%#(///**,.. v 1.0 , 2018 .
........,.....,,*////((%&&%###&@&%###(/*,,,,... ..
.............,,**///((#%&&%%#@&%%#((((/*....... ,.
............,,,**////((#%%&%@@#####((/***,.... .,.
....,,*****////((#%%&@(((((((/**,,,..... ,,
. ...,**/****/////(#%&@&%##((((((//**,....... ..... .*,
... ..,*/////***////(#%&%%%###((((///****,,,,.......,,....... .,,.
.... .,*/((//****///((#%#######((((///*****,,,,,,........... ,*.
..... ..,/(((//****///((#(///((((((///******,,,,,............... .*,
... ...,*/(#((///////((#(/*****///(((((////***,,,......... .*,
.....,*(#####(((((##%%##((((((////****,,,......... ,*,
.....,,*/(##%%#########(///*******,,,,........... .,*.
.......,,*/(((#########(//**,,,,,,,**,,,... .,*,.
..........,,,*****/********,,,.... .,*,.
. .... ..**.
. .. ..,,,.
. ........
...................