Metadata-Version: 2.4
Name: tomwer
Version: 2.0.0.dev5
Summary: Tomography workflow tools
Author-email: Henri Payno <henri.payno@esrf.fr>, Pierre Paleo <pierre.paleo@esrf.fr>, Pierre-Olivier Autran <pierre-olivier.autran@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>, Alessandro Mirone <mirone@esrf.fr>
License: MIT
Project-URL: Homepage, https://gitlab.esrf.fr/tomotools/tomwer
Project-URL: Documentation, https://tomotools.gitlab-pages.esrf.fr/tomwer/
Project-URL: Repository, https://gitlab.esrf.fr/tomotools/tomwer
Project-URL: Issues, https://gitlab.esrf.fr/tomotools/tomwer/-/issues
Project-URL: Changelog, https://gitlab.esrf.fr/tomotools/tomwer/-/blob/main/CHANGELOG.rst?ref_type=heads
Keywords: orange3 add-on,ewoks
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Environment :: X11 Applications :: Qt
Classifier: Operating System :: POSIX
Classifier: Natural Language :: English
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: setuptools
Requires-Dist: psutil
Requires-Dist: silx[full_no_qt]>=3
Requires-Dist: tomoscan>=2.4.0dev0
Requires-Dist: nxtomo>2.0.0dev2
Requires-Dist: nxtomomill>=2.0.0dev0
Requires-Dist: processview>=1.5.2
Requires-Dist: ewokscore
Requires-Dist: sluurp>=0.4.1
Requires-Dist: packaging
Requires-Dist: pint
Requires-Dist: tqdm
Requires-Dist: eval_type_backport; python_version < "3.10"
Requires-Dist: platformdirs
Requires-Dist: esrf-pathlib
Provides-Extra: full-base
Requires-Dist: orange-canvas-core; extra == "full-base"
Requires-Dist: orange-widget-base; extra == "full-base"
Requires-Dist: ewokscore; extra == "full-base"
Requires-Dist: ewoksorange>=3.3.0; extra == "full-base"
Requires-Dist: fabio; extra == "full-base"
Requires-Dist: h5py>=3; extra == "full-base"
Requires-Dist: lxml; extra == "full-base"
Requires-Dist: scipy; extra == "full-base"
Requires-Dist: Pillow; extra == "full-base"
Requires-Dist: glymur<0.14; extra == "full-base"
Requires-Dist: resource; extra == "full-base"
Requires-Dist: tifffile; extra == "full-base"
Requires-Dist: hdf5plugin; extra == "full-base"
Requires-Dist: pyicat_plus; extra == "full-base"
Requires-Dist: ewoksnotify[base]; extra == "full-base"
Requires-Dist: ewoksnotify[icat]; extra == "full-base"
Requires-Dist: chime; extra == "full-base"
Requires-Dist: pyicat_plus; extra == "full-base"
Requires-Dist: blissdata; extra == "full-base"
Provides-Extra: full-no-cuda
Requires-Dist: tomwer[full_base]; extra == "full-no-cuda"
Requires-Dist: nabu>=2024.2.0; extra == "full-no-cuda"
Requires-Dist: PyQt6; extra == "full-no-cuda"
Requires-Dist: qtawesome; extra == "full-no-cuda"
Provides-Extra: full-no-qt
Requires-Dist: tomwer[full_base]; extra == "full-no-qt"
Requires-Dist: nabu[full]>=2024.2.0; extra == "full-no-qt"
Requires-Dist: pycuda<2024.1.1; extra == "full-no-qt"
Requires-Dist: scikit-cuda; extra == "full-no-qt"
Requires-Dist: PyQt6; extra == "full-no-qt"
Requires-Dist: qtawesome; extra == "full-no-qt"
Provides-Extra: full
Requires-Dist: tomwer[full_no_qt]; extra == "full"
Requires-Dist: PyQt6; extra == "full"
Provides-Extra: doc
Requires-Dist: tomwer[full_no_cuda]; extra == "doc"
Requires-Dist: Sphinx>=4.0.0; extra == "doc"
Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: pandoc; extra == "doc"
Requires-Dist: jupyterlab; extra == "doc"
Requires-Dist: pydata_sphinx_theme; extra == "doc"
Requires-Dist: sphinx-design; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Requires-Dist: sphinxcontrib-programoutput; extra == "doc"
Requires-Dist: sphinxcontrib-youtube; extra == "doc"
Requires-Dist: myst-parser; extra == "doc"
Requires-Dist: nb_extension_tagstyler; extra == "doc"
Requires-Dist: ewokssphinx; extra == "doc"
Provides-Extra: dev-spec
Requires-Dist: black; extra == "dev-spec"
Requires-Dist: flake8; extra == "dev-spec"
Requires-Dist: timeout-decorator; extra == "dev-spec"
Requires-Dist: pyopencl; extra == "dev-spec"
Provides-Extra: dev
Requires-Dist: tomwer[full]; extra == "dev"
Requires-Dist: tomwer[dev_spec]; extra == "dev"
Provides-Extra: dev-no-cuda
Requires-Dist: tomwer[full_no_cuda]; extra == "dev-no-cuda"
Requires-Dist: tomwer[dev_spec]; extra == "dev-no-cuda"
Provides-Extra: test
Requires-Dist: tomwer[full_no_cuda]; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: tomoscan[test]>=2.4.0dev0; extra == "test"
Dynamic: license-file

.. image:: doc/img/tomwer.png
   :alt: Tomwer Logo
   :align: left
   :width: 400px

Introduction
------------

**Tomwer** provides tools to automate acquisition and reconstruction processes for tomography. The package includes:

- A library to individually access each acquisition process.
- Graphical User Interface (GUI) applications to control key processes such as reconstruction and data transfer, which can be executed as standalone applications.
- An Orange add-on to help users define custom workflows (`Orange3 <http://orange.biolab.si>`_).

Tomwer relies on `Nabu <https://gitlab.esrf.fr/tomotools/nabu>`_ for tomographic reconstruction.

**Note**: Currently, the software is only compatible with Linux.

Documentation
-------------

The documentation is available here:

`Stable Version <https://tomwer.readthedocs.io/en/stable/>`_

`Latest Version <https://tomotools.gitlab-pages.esrf.fr/tomwer/>`_

Installation
------------

To install Tomwer with all features:

.. code-block:: bash

    pip install tomwer[full]

Alternatively, you can install the latest development branch from the repository:

.. code-block:: bash

    pip install git+https://gitlab.esrf.fr/tomotools/tomwer/#egg=tomwer[full]


Launching Applications
-----------------------

After installation, Tomwer includes several applications. You can launch an application by running:

.. code-block:: bash

    tomwer <appName> [options]

- If you run `tomwer` without arguments, a manual page will be displayed.
- For application-specific help, run:

.. code-block:: bash

    tomwer <appName> --help


Tomwer Canvas - Orange Canvas
-----------------------------

You can launch the Orange canvas to create workflows using the available building blocks:

.. code-block:: bash

    tomwer canvas

- Alternatively, you can use `orange-canvas`.
- If you're using a virtual environment, remember to activate it:

.. code-block:: bash

    source myvirtualenv/bin/activate


Building Documentation
-----------------------

To build the documentation:

.. code-block:: bash

    sphinx-build doc build/html

The documentation will be generated in `doc/build/html`, and the entry point is `index.html`. To view the documentation in a browser:

.. code-block:: bash

    firefox build/html/index.html

**Note**: Building the documentation requires `sphinx` to be installed, which is not a hard dependency of Tomwer. If needed, install it separately.
