Metadata-Version: 2.4
Name: ewokstomo
Version: 0.3.0
Summary: Data processing workflows for Tomography
Author-email: ESRF <dau-pydev@esrf.fr>
License: # MIT License
        
        **Copyright (c) 2024 European Synchrotron Radiation Facility**
        
        Permission is hereby granted, free of charge, to any person obtaining a copy of
        this software and associated documentation files (the "Software"), to deal in
        the Software without restriction, including without limitation the rights to
        use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
        the Software, and to permit persons to whom the Software is furnished to do so,
        subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
        FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
        COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
        IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
        CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        
Project-URL: Homepage, https://gitlab.esrf.fr/workflow/ewoksapps/ewokstomo/
Project-URL: Documentation, https://ewokstomo.readthedocs.io/
Project-URL: Repository, https://gitlab.esrf.fr/workflow/ewoksapps/ewokstomo/
Project-URL: Issues, https://gitlab.esrf.fr/workflow/ewoksapps/ewokstomo/issues
Project-URL: Changelog, https://gitlab.esrf.fr/workflow/ewoksapps/ewokstomo/-/blob/main/CHANGELOG.md
Keywords: ewoks
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: ewokscore
Requires-Dist: nxtomomill
Requires-Dist: pyicat_plus
Requires-Dist: tomoscan<2.2
Requires-Dist: nabu
Requires-Dist: pyopencl[pocl]
Requires-Dist: esrf-pathlib==0.1.0
Requires-Dist: xraylib
Requires-Dist: xoppylib
Requires-Dist: scipy<1.14
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Requires-Dist: nabu[full_nocuda]; extra == "test"
Requires-Dist: ewoks; extra == "test"
Requires-Dist: pytest-order; extra == "test"
Requires-Dist: pyunitsystem; extra == "test"
Provides-Extra: no-cuda
Requires-Dist: ewokstomo; extra == "no-cuda"
Requires-Dist: nabu[full_nocuda]; extra == "no-cuda"
Provides-Extra: cuda
Requires-Dist: ewokstomo; extra == "cuda"
Requires-Dist: nabu[full]; extra == "cuda"
Provides-Extra: dev
Requires-Dist: ewokstomo[test]; extra == "dev"
Requires-Dist: black>=25; extra == "dev"
Requires-Dist: flake8>=4; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Requires-Dist: bandit>=1.7; extra == "dev"
Provides-Extra: doc
Requires-Dist: ewokstomo; extra == "doc"
Requires-Dist: sphinx>=4.5; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints>=1.16; extra == "doc"
Requires-Dist: pydata-sphinx-theme; extra == "doc"
Dynamic: license-file

# ewokstomo

The **ewokstomo** project is a Python library designed to provide workflow tasks for Tomographic Data Processing using Ewoks (Extensible Workflow System).

## Installation

By default, at the ESRF, `ewokstomo` should be installed on Ewoks workers using an Ansible script by the DAU team.
If you wish to install `ewokstomo` manually, ensure you have Python 3.10+ and `pip` installed. You can install the library directly from PyPI:

```sh
pip install ewokstomo
```

Alternatively, to install from source, clone this repository and run:

```sh
git clone https://gitlab.esrf.fr/workflow/ewoksapps/ewokstomo.git
cd ewokstomo
pip install -e .
```

## Quickstart Guide

### Running an `ewokstomo` Workflow

Most of the time, the workflow will be automatically ran from the Bliss control system.
However if you wish to execute the workflow by hand, you can use the following:

`ewoks execute workflow.json`

Some examples of workflow are found in `ewokstomo/workflows`

## How-To Guides

For detailed instructions on various tasks, please refer to the How-To Guides in the documentation, which cover topics such as:

- Configuration of tomography workflows
- Running workflows locally for testing
- Using the API to run specific tasks (e.g., NXtomo conversion, reconstruction)

## Documentation

Comprehensive documentation, including an API reference, tutorials, and conceptual explanations, can be found in the [doc directory](./doc) or online at the [ReadTheDocs page](https://ewokstomo.readthedocs.io).

## Contributing

Contributions are welcome! To contribute, please:

1. Clone the repository and create a new branch for your feature or fix.
2. Write tests and ensure that the code is well-documented.
3. Submit a merge request for review.

See the [`CONTRIBUTING.md`](./CONTRIBUTING.md) file for more details.

## License

This project is licensed under the MIT License. See the [`LICENSE.md`](./LICENSE.md) file for details.

## Support

If you have any questions or issues, please open an issue on the GitLab repository or contact the support team via a [data processing request ticket](https://requests.esrf.fr/plugins/servlet/desk/portal/41).
