Installation

The dependencies on PyFHD to run with FHD have been removed, this makes installing and PyFHD much easier than FHD. PyFHD is currently supported for Python 3.10+.

Installing to do some development on PyFHD?

Please follow the contribution guide.

pip

PyFHD is on PyPi and is installable via pip. Typically you’ll create a virtual environment using venv, mamba/conda or uv to ensure you’re not installing things into any other Python Installations you may have. Typically venv is best in places where you are restricted by what you can and can’t install (HPC environments). uv is best used for development as it supports a lot of features that Python developers of packages will appreciate (oh, and by the way, it’s fast, like really fast at installing packages). mamba is best used where you need to use more than just Python, but perhaps a combination of languages and tools, mamba has the ability to manage any compilers, CUDA versions, system tools etc.

Make a venv environment

This assumes you have python installed.

# Make a virtual environment in the current directory, using the name pyfhd
python -m venv pyfhd
# Activate the environment
source pyfhd/bin/activate

You should now notice some brackets (pyfhd) present in the terminal. You can deactivate the environment at any time by putting deactivate in the terminal.

Make a venv via uv

Install uv

uv venv
source .venv/bin/activate

Since uv just uses venv under the hood, you can get out of the environment by calling deactivate at any time.

Make a mamba environment

Install mamba

mamba env create -n pyfhd python=3.10 # You can make it 3.10, 3.11 or 3.12
mamba activate pyfhd

You can deactivate the environment anytime by using mamba deactivate

Installing PyFHD

Inside your virtual environment, run

pip install pyfhd

You can Verify the installation using the version command

pyfhd -v

It should give you output that looks like this:

    ________________________________________________________________________
    |    ooooooooo.               oooooooooooo ooooo   ooooo oooooooooo.    |
    |    8888   `Y88.             8888       8 8888    888   888     Y8b    |
    |    888   .d88' oooo    ooo  888          888     888   888      888   |
    |    888ooo88P'   `88.  .8'   888oooo8     888ooooo888   888      888   |
    |    888           `88..8'    888          888     888   888      888   |
    |    888            `888'     888          888     888   888     d88'   |
    |    o888o            .8'     o888o        o888o   o888o o888bood8P'    |
    |                 .o..P'                                                |
    |                `Y8P'                                                  |
    |_______________________________________________________________________|
    
    Python Fast Holographic Deconvolution 

    Translated from IDL to Python as a collaboration between Astronomy Data and Computing Services (ADACS) and the Epoch of Reionisation (EoR) Team.

    Repository: https://github.com/EoRImaging/PyFHD

    Documentation: https://pyfhd.readthedocs.io/en/latest/

    Version: 1.0

    Git Commit Hash: 176fa3aaf9aeca44b38f00ac4745d9b3a9eefe9c (tutorial_adjustments)