- A user interface (UI) written in Python for fast big data processing using MPI protocols
- HTTomo efficiently deals with I/O data operations while enabling processing on a CPU or a GPU
- The GPU processing can be performed purely on a device by grouping the methods together
- HTTomo can use other libraries as a backend. Currently we support TomoPy and HTTomolib
- The methods from the libraries are exposed through YAML templates enabling fast task programming
- Create a fresh conda environment with
conda env create --name httomo
- This will install all the dependencies required into
conda install -c conda-forge -c https://conda.anaconda.org/httomo/ httomo
- Clone the repository from GitHub using
git clone git@github.com:DiamondLightSource/HTTomo.git
- Install dependencies from the environment file
conda env create --name httomo --file conda/environment.yml
. We suggest on using mamba in order to accelerate the resolving time, i.e.,conda install -c conda-forge mamba
and thenmamba env create --name httomo --file conda/environment.yml
. - Alternatively you can install from the existing explicit file
conda create --name httomo --file conda/explicit/latest.txt
- Activate the environment with
conda activate httomo
- You should choose which backend(s) you'd like to use - either
tomopy
orhttomolib
, or both - Install the module + backend(s) with
pip install .[httomolib,tomopy]
- working with the package in the development mode with
pip install -e .[dev]
conda build conda/recipe/ -c conda-forge -c https://conda.anaconda.org/httomo/
- Install the module as described in "Install as a Python module"
- Execute the python module with
python -m httomo <args>
- For help with the command line interface, execute
python -m httomo --help
- Create an output directory
mkdir output_dir/
- Go to the home directory and run:
python -m httomo run tests/test_data/tomo_standard.nxs samples/pipeline_template_examples/02_basic_cpu_pipeline_tomo_standard.yaml output_dir/
python -m httomo check samples/pipeline_template_examples/02_basic_cpu_pipeline_tomo_standard.yaml
We use the setuptools-git-versioning
package for automatically determining the version from the latest git tag.
For this to work, release tags should start with a v
followed by the actual version,
e.g. v1.1.0a
.
We have setup a tag_filter
in pyproject.toml
to filter tags following this pattern.