Metadata-Version: 2.4
Name: httomolibgpu
Version: 3.1.1
Summary: Commonly used tomography data processing methods at DLS.
Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>
License: BSD-3-Clause
Project-URL: Repository, https://github.com/DiamondLightSource/httomolibgpu
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.10
Classifier: Environment :: GPU :: NVIDIA CUDA
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: cupy==12.3.0
Requires-Dist: nvtx
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: pillow
Requires-Dist: scikit-image
Requires-Dist: tomobar
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pytest-benchmark; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pyproject-flake8; extra == "dev"
Requires-Dist: pydocstyle; extra == "dev"
Requires-Dist: toml; extra == "dev"
Requires-Dist: imageio; extra == "dev"
Requires-Dist: h5py; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pyfftw; extra == "dev"
Dynamic: license-file

HTTomolibGPU is a library of GPU accelerated methods for tomography
--------------------------------------------------------------------

**HTTomolibGPU** is a collection of image processing methods in Python for computed tomography.
The methods are GPU-accelerated with the open-source Python library `CuPy <https://cupy.dev/>`_. Most of the
methods migrated from `TomoPy <https://tomopy.readthedocs.io/en/stable/>`_ and `Savu <https://savu.readthedocs.io/en/latest/>`_ software packages.
Some of the methods also have been optimised to ensure higher computational efficiency, before ported to CuPy.

The purpose of HTTomolibGPU
===========================

Although **HTTomolibGPU** can be used as a stand-alone library, it has been specifically developed to work together with the 
`HTTomo <https://diamondlightsource.github.io/httomo/>`_ package as
its backend for data processing. HTTomo is a user interface (UI) written in Python for fast big tomographic data processing using
MPI protocols or as well serially.

Installation
============

HTTomolibGPU is available on PyPI, so it can be installed into either a virtual environment or
a conda environment.

Virtual environment
~~~~~~~~~~~~~~~~~~~
.. code-block:: console

   $ python -m venv httomolibgpu
   $ source httomolibgpu/bin/activate
   $ pip install httomolibgpu

Conda environment
~~~~~~~~~~~~~~~~~
.. code-block:: console

   $ conda create --name httomolibgpu # create a fresh conda environment
   $ conda activate httomolibgpu # activate the environment
   $ conda install conda-forge::cupy==12.3.0
   $ pip install httomolibgpu

Setup the development environment:
==================================

.. code-block:: console

   $ git clone git@github.com:DiamondLightSource/httomolibgpu.git # clone the repo
   $ conda env create --name httomolibgpu -c conda-forge cupy==12.3.0 # install dependencies
   $ conda activate httomolibgpu # activate the environment
   $ pip install -e ./httomolibgpu[dev] # editable/development mode
