Authors: The Event Horizon Telescope Collaboration et al.
Date: January 18, 2024
Primary Reference: The Event Horizon Telescope Collaboration, et al. 2024, A&A, 681, A79
Data Product Code: 2024-D01-01
Brief Description: The pipeline reconstructs an image from uvfits files simultaneously released in the EHT website (data release ID: 2024-D01-01) using Comrade, a Bayesian modeling package, targeted for very-long-baseline interferometry (VLBI) and written in the Julia programming language (Tiede, P., (2022). JOSS, 7(76), 4457).
Additional References:
- EHT Collaboration Data Portal Website: https://eventhorizontelescope.org/for-astronomers/data
- The Event Horizon Telescope Collaboration, et al. 2024, A&A, 681, A79
- Comrade: https://github.com/ptiede/Comrade.jl
- Tiede, P., (2022), Journal of Open Source Software, 7(76), 4457, https://doi.org/10.21105/joss.04457
- Install julia using juliaup
- Install Julia version 1.8.2 (or lower) using
juliaup add 1.8.2
juliaup default 1.8.2
Follow the instructions here: https://github.com/achael/eht-imaging to install eht-imaging.
git clone https://github.com/rohandahale/EHT2018M87_Comrade.git
Manifest.toml and Project.toml files already have necessary package information required to run this pipeline.
When runing this pipeline for the first time:
cd EHT2018M87_Comrade- In Julia REPL,
julia> using Pkg;Pkg.activate(@__DIR__)
julia> Pkg.instantiate()
This will install all necessary packages for you to be able to run the scripts and everything should work out of the box.
Comrade uses python library eht-imaging (https://github.com/achael/eht-imaging) to
load the uvfits data. We use PyCall.jl to access our pre-installed python packages.
When runing this pipeline for the first time:
cd EHT2018M87_Comrade- In Julia REPL,
julia> ENV["PYTHON"]="<your python path>"
julia> using Pkg;Pkg.activate(@__DIR__)
julia> Pkg.build("PyCall")
- Restart julia
To run the pipeline, specify the input uvfits data file name without the path. It is assumed that all uvfits are in "./data/" folder. Additional you have to specify, epoch as "111" (April 21) or "115" (April 25) and band from one of "b1", "b2, "b3", "b4". Epoch and Band is required only to choose the hyperparameters like number of pixels and field of fiew which depend on the uv-coverage.
Example call:
julia comrade_2018m87_pipeline.jl --uvfits "./data/L2V1_M87_2018_111_b3_hops_netcal_10s_StokesI.uvfits" --epoch 111 --band "b3"