Giter Site home page Giter Site logo

httomo's Introduction

HTTomo (High Throughput Tomography pipeline)

HTTomo is a user interface (UI) written in Python for fast big data processing using MPI protocols. It orchestrates I/O data operations and enables processing on a CPU and/or a GPU. HTTomo utilises other libraries, such as TomoPy and HTTomolibgpu as backends for data processing. The methods from the libraries are exposed through YAML templates to enable fast task programming.

Documentation

Please check the full documentation here.

Install HTTomo as a pre-built conda package

$ conda create --name httomo # create a fresh conda environment
$ conda activate httomo
$ conda install -c conda-forge -c https://conda.anaconda.org/httomo/ httomo
$ conda install -c https://conda.anaconda.org/httomo/ httomolibgpu # for GPU methods

Note: we recommend using mamba for a much faster dependency resolution. After creating a fresh environment and activating it, install mamba with

$ conda install -c conda-forge mamba

And install the packages using mamba instead (replace conda with mamba):

$ mamba install -c conda-forge -c https://conda.anaconda.org/httomo/ httomo

Install as a Python module

$ git clone [email protected]:DiamondLightSource/HTTomo.git # clone the repo
$ conda env create --name httomo --file conda/environment.yml # install dependencies
$ conda activate httomo # activate environment
$ pip install .[tomopy,httomolib,httomolibgpu] # Install the module + backend(s)

Setup HTTomo development environment:

$ pip install -e .[dev] # development mode

Running the code:

  • 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

An example of running the code with test data:

  • 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/

An example of running validation on a YAML pipeline file

  • python -m httomo check samples/pipeline_template_examples/02_basic_cpu_pipeline_tomo_standard.yaml

Release Tagging Scheme

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.

httomo's People

Contributors

dkazanc avatar yousefmoazzam avatar namannimmo10 avatar jessicavers avatar team-gpu avatar lint-action avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.