Metadata-Version: 2.1
Name: tomwer
Version: 1.3.15
Summary: "tomography workflow tools"
Home-page: https://gitlab.esrf.fr/tomotools/tomwer
Author: data analysis unit
Author-email: henri.payno@esrf.fr
License: MIT
Project-URL: Bug Tracker, https://gitlab.esrf.fr/tomotools/tomwer/-/issues
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.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: setuptools
Requires-Dist: psutil
Requires-Dist: silx[full]>=2.0
Requires-Dist: tomoscan>=2.0.0a11
Requires-Dist: nxtomo>=1.2.3rc1
Requires-Dist: nxtomomill>=1.0dev
Requires-Dist: processview>=1.3
Requires-Dist: ewoks>=0.1.1
Requires-Dist: ewoksorange==0.6
Requires-Dist: sluurp>=0.3.3
Requires-Dist: packaging
Requires-Dist: flufl-lock
Requires-Dist: pyunitsystem>=1.1.0
Provides-Extra: full-base
Requires-Dist: orange-canvas-core; extra == "full-base"
Requires-Dist: orange-widget-base; extra == "full-base"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-base"
Requires-Dist: rsyncmanager; extra == "full-base"
Requires-Dist: graypy; extra == "full-base"
Requires-Dist: fabio; extra == "full-base"
Requires-Dist: h5py>=3; extra == "full-base"
Requires-Dist: lxml; extra == "full-base"
Requires-Dist: werkzeug; extra == "full-base"
Requires-Dist: json-rpc; extra == "full-base"
Requires-Dist: scipy; extra == "full-base"
Requires-Dist: Pillow; extra == "full-base"
Requires-Dist: glymur; 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"
Provides-Extra: full-no-nabu
Requires-Dist: orange-canvas-core; extra == "full-no-nabu"
Requires-Dist: orange-widget-base; extra == "full-no-nabu"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-no-nabu"
Requires-Dist: rsyncmanager; extra == "full-no-nabu"
Requires-Dist: graypy; extra == "full-no-nabu"
Requires-Dist: fabio; extra == "full-no-nabu"
Requires-Dist: h5py>=3; extra == "full-no-nabu"
Requires-Dist: lxml; extra == "full-no-nabu"
Requires-Dist: werkzeug; extra == "full-no-nabu"
Requires-Dist: json-rpc; extra == "full-no-nabu"
Requires-Dist: scipy; extra == "full-no-nabu"
Requires-Dist: Pillow; extra == "full-no-nabu"
Requires-Dist: glymur; extra == "full-no-nabu"
Requires-Dist: resource; extra == "full-no-nabu"
Requires-Dist: tifffile; extra == "full-no-nabu"
Requires-Dist: hdf5plugin; extra == "full-no-nabu"
Requires-Dist: pyicat_plus; extra == "full-no-nabu"
Provides-Extra: full-no-cuda
Requires-Dist: orange-canvas-core; extra == "full-no-cuda"
Requires-Dist: orange-widget-base; extra == "full-no-cuda"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-no-cuda"
Requires-Dist: rsyncmanager; extra == "full-no-cuda"
Requires-Dist: graypy; extra == "full-no-cuda"
Requires-Dist: fabio; extra == "full-no-cuda"
Requires-Dist: h5py>=3; extra == "full-no-cuda"
Requires-Dist: lxml; extra == "full-no-cuda"
Requires-Dist: werkzeug; extra == "full-no-cuda"
Requires-Dist: json-rpc; extra == "full-no-cuda"
Requires-Dist: scipy; extra == "full-no-cuda"
Requires-Dist: Pillow; extra == "full-no-cuda"
Requires-Dist: glymur; extra == "full-no-cuda"
Requires-Dist: resource; extra == "full-no-cuda"
Requires-Dist: tifffile; extra == "full-no-cuda"
Requires-Dist: hdf5plugin; extra == "full-no-cuda"
Requires-Dist: pyicat_plus; extra == "full-no-cuda"
Requires-Dist: nabu>=2023.3.1dev; extra == "full-no-cuda"
Provides-Extra: full
Requires-Dist: orange-canvas-core; extra == "full"
Requires-Dist: orange-widget-base; extra == "full"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "full"
Requires-Dist: rsyncmanager; extra == "full"
Requires-Dist: graypy; extra == "full"
Requires-Dist: fabio; extra == "full"
Requires-Dist: h5py>=3; extra == "full"
Requires-Dist: lxml; extra == "full"
Requires-Dist: werkzeug; extra == "full"
Requires-Dist: json-rpc; extra == "full"
Requires-Dist: scipy; extra == "full"
Requires-Dist: Pillow; extra == "full"
Requires-Dist: glymur; extra == "full"
Requires-Dist: resource; extra == "full"
Requires-Dist: tifffile; extra == "full"
Requires-Dist: hdf5plugin; extra == "full"
Requires-Dist: pyicat_plus; extra == "full"
Requires-Dist: nabu[full]>=2023.3.1dev; extra == "full"
Requires-Dist: pycuda; extra == "full"
Requires-Dist: scikit-cuda; extra == "full"
Provides-Extra: doc
Requires-Dist: orange-canvas-core; extra == "doc"
Requires-Dist: orange-widget-base; extra == "doc"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "doc"
Requires-Dist: rsyncmanager; extra == "doc"
Requires-Dist: graypy; extra == "doc"
Requires-Dist: fabio; extra == "doc"
Requires-Dist: h5py>=3; extra == "doc"
Requires-Dist: lxml; extra == "doc"
Requires-Dist: werkzeug; extra == "doc"
Requires-Dist: json-rpc; extra == "doc"
Requires-Dist: scipy; extra == "doc"
Requires-Dist: Pillow; extra == "doc"
Requires-Dist: glymur; extra == "doc"
Requires-Dist: resource; extra == "doc"
Requires-Dist: tifffile; extra == "doc"
Requires-Dist: hdf5plugin; extra == "doc"
Requires-Dist: pyicat_plus; extra == "doc"
Requires-Dist: nabu>=2023.3.1dev; 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"
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: orange-canvas-core; extra == "dev"
Requires-Dist: orange-widget-base; extra == "dev"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "dev"
Requires-Dist: rsyncmanager; extra == "dev"
Requires-Dist: graypy; extra == "dev"
Requires-Dist: fabio; extra == "dev"
Requires-Dist: h5py>=3; extra == "dev"
Requires-Dist: lxml; extra == "dev"
Requires-Dist: werkzeug; extra == "dev"
Requires-Dist: json-rpc; extra == "dev"
Requires-Dist: scipy; extra == "dev"
Requires-Dist: Pillow; extra == "dev"
Requires-Dist: glymur; extra == "dev"
Requires-Dist: resource; extra == "dev"
Requires-Dist: tifffile; extra == "dev"
Requires-Dist: hdf5plugin; extra == "dev"
Requires-Dist: pyicat_plus; extra == "dev"
Requires-Dist: nabu[full]>=2023.3.1dev; extra == "dev"
Requires-Dist: pycuda; extra == "dev"
Requires-Dist: scikit-cuda; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: timeout-decorator; extra == "dev"
Requires-Dist: pyopencl; extra == "dev"
Provides-Extra: dev-no-cuda
Requires-Dist: orange-canvas-core; extra == "dev-no-cuda"
Requires-Dist: orange-widget-base; extra == "dev-no-cuda"
Requires-Dist: ewoks[orange]>=0.1.1; extra == "dev-no-cuda"
Requires-Dist: rsyncmanager; extra == "dev-no-cuda"
Requires-Dist: graypy; extra == "dev-no-cuda"
Requires-Dist: fabio; extra == "dev-no-cuda"
Requires-Dist: h5py>=3; extra == "dev-no-cuda"
Requires-Dist: lxml; extra == "dev-no-cuda"
Requires-Dist: werkzeug; extra == "dev-no-cuda"
Requires-Dist: json-rpc; extra == "dev-no-cuda"
Requires-Dist: scipy; extra == "dev-no-cuda"
Requires-Dist: Pillow; extra == "dev-no-cuda"
Requires-Dist: glymur; extra == "dev-no-cuda"
Requires-Dist: resource; extra == "dev-no-cuda"
Requires-Dist: tifffile; extra == "dev-no-cuda"
Requires-Dist: hdf5plugin; extra == "dev-no-cuda"
Requires-Dist: pyicat_plus; extra == "dev-no-cuda"
Requires-Dist: nabu>=2023.3.1dev; extra == "dev-no-cuda"
Requires-Dist: black; extra == "dev-no-cuda"
Requires-Dist: flake8; extra == "dev-no-cuda"
Requires-Dist: timeout-decorator; extra == "dev-no-cuda"
Requires-Dist: pyopencl; extra == "dev-no-cuda"
Provides-Extra: test
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: tomoscan[test]>=2.0.2rc17; extra == "test"
Provides-Extra: setup-requires
Requires-Dist: setuptools; extra == "setup-requires"
Requires-Dist: numpy>=1.12; extra == "setup-requires"

tomwer
======

tomwer is offering tools to automate acquisition and reconstruction processes for Tomography.
It contains:

- a library to access each acquisition process individually
- gui and applications to control main processes (reconstruction, data transfert...) and execute them as a stand alone application.
- an orange add-on to help users defining their own workflow (http://orange.biolab.si)



.. image:: http://www.edna-site.org/pub/doc/tomwer/extra/tomwer_start_short.gif


.. |Gitlab Status| image:: https://gitlab.esrf.fr/tomotools/tomwer/badges/master/pipeline.svg
    :target: https://gitlab.esrf.fr/tomotools/tomwer/pipelines


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

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


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

Step 1 - tomwer
'''''''''''''''

To install it with all 'features':

.. code-block:: bash

    pip install tomwer[full]

alternatively you can install the master branch from

.. code-block:: bash

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


Step 2 - update orange-canvas-core and orange-widget-base (Optional)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

To access 'processing' wheels and 'reprocess action' you might want to install forks of update orange-canvas-core and orange-widget-base. This is optional and projects works with native orange projects

.. code-block:: bash

    pip install git+https://github.com/payno/orange-canvas-core --no-deps --upgrade
    pip install git+https://github.com/payno/orange-widget-base --no-deps --upgrade


Launching applications
::::::::::::::::::::::

After the installation tomwer is embedding several applications.

Those applications can be launched by calling:

.. code-block:: bash

   tomwer appName {options}

.. note:: if you only call `tomwer` then the man page will be displayed.

.. note:: You can access each application help using ``

    .. code-block:: bash

       tomwer appName --help


tomwer canvas - orange canvas
'''''''''''''''''''''''''''''

You can launch the canvas to create workflows from the different 'bricks'

.. code-block:: bash

   tomwer canvas

.. note:: you can also use `orange-canvas`

.. note:: if your installed a virtual environment do not forget to active it :

    .. code-block:: bash

       source myvirtualenv/bin/activate


Documentation
:::::::::::::

.. code-block:: bash

   sphinx-build doc build/html

The documentation is build in doc/build/html and the entry point is index.html

.. code-block:: bash

   firefox build/html/index.html

.. note:: the build of the documentation need sphinx to be installed. This is not an hard dependacy. So you might need to install it.
