Dioptas Batch Processor GUI
Standalone GUI for automated batch processing of diffraction image files using Dioptas.
Features
- Folder watch mode for automatic processing of incoming Dioptas-readable image files, including
.nxs,.h5,.tif, and.tiff - Manual batch mode for selected files
- CHI export (1D integration)
- NPY export (2D cake arrays: intensity, two-theta, azimuth)
- Optional mask support
- Background processing thread to keep GUI responsive
Project Structure
dioptas_batch_gui/
├── dioptas_batch_gui/
│ ├── __init__.py
│ ├── __main__.py
│ ├── version.py
│ ├── gui.py
│ ├── batch_processor.py
│ └── file_watcher.py
├── dbg/
│ ├── __init__.py
│ └── __main__.py
├── check_dependencies.py
├── pyproject.toml
├── requirements.txt
├── LICENSE
├── CHANGELOG.md
├── CONTRIBUTING.md
└── SECURITY.md
Requirements
- Python 3.10+
- conda (recommended for environment management)
Installation (Recommended)
Set up in this order:
- Create and activate a conda environment named
dioptas.
conda create -n dioptas python=3.10 -y
conda activate dioptas
- Install Dioptas first inside that environment.
pip install dioptas
- Install this package.
pip install dioptas-batch-gui
Update to the latest PyPI release
pip install --upgrade dioptas-batch-gui
Force reinstall from PyPI
pip install --upgrade --force-reinstall dioptas-batch-gui
Verify Dependencies
python check_dependencies.py
Usage
Installed CLI commands (work from any directory once your environment is active in terminal or console):
After:
conda activate dioptas
dbg
Compatibility aliases:
dbgui
dioptas_batch_gui
dioptas-batch-gui
For a local checkout, you can also launch the app directly:
python -m dbg
or:
python -m dioptas_batch_gui
Basic Workflow
- Set Watch Directory or switch to Batch Mode and select files manually.
- Choose the output mode:
- Auto uses
<source folder>/processed-YYYY-MM-DD. - Existing directory writes missing products into a selected processed output folder.
- Auto uses
- Select the Calibration File (
.poni). - Optionally select a Mask File.
- Configure integration points and azimuth bins.
- Choose the export options you want.
- Click Start Watching for automatic mode or Process for manual batch mode.
- Click Stop Watching when finished with auto-processing.
Output
For each processed dataset, the app exports:
<base_name>.chi<base_name>-param/<base_name>.int.cake.npy<base_name>-param/<base_name>.tth.cake.npy<base_name>-param/<base_name>.azi.cake.npy<base_name>-param/<base_name>.metadata.v1.json
For HDF5/NXS files containing multiple snapshot images, outputs use a one-based snapshot suffix in the output stem and parameter directory name. When the input stem ends in a numeric scan/index segment, the snapshot suffix is inserted before that final segment:
xxx_map_1_0001.h5snapshot 1:xxx_map_1_001_0001.chixxx_map_1_0001.h5snapshot 2:xxx_map_1_002_0001.chixxx_map_1_001_0001-param/xxx_map_1_001_0001.int.cake.npy
Output layout:
output_directory/
├── <base_name>.chi
└── <base_name>-param/
├── <base_name>.int.cake.npy
├── <base_name>.tth.cake.npy
├── <base_name>.azi.cake.npy
├── <base_name>.metadata.v1.json
└── <calibration>.poni
If the selected output directory already exists, the app inspects the existing
products and writes only missing outputs when overwrite is disabled. Existing
CHI/XY/DAT/NPY products are left untouched. Missing metadata exports are
added under the corresponding *-param folder. If an older metadata JSON file
is structurally compatible, missing top-level sections are added conservatively;
if compatibility is uncertain, a versioned metadata JSON file is written instead
of replacing the old file.
The metadata JSON uses schema_version: "1.0" and recursively records HDF5
file attributes, groups, datasets, dataset attributes, group attributes,
NX_class values, source paths, provenance, and a small canonical index for
common coordinates and detector/instrument/scan paths. Large datasets are
described by shape and dtype rather than duplicated inline. For non-HDF5 image
files, the metadata export records generic source file details such as path,
name, size, modification time, and extension.
License
GPL-3.0-only. See LICENSE.
Metadata
Release files for dioptas-batch-gui 0.5.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dioptas_batch_gui-0.5.5.tar.gz | 783.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dioptas_batch_gui-0.5.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / dioptas_batch_gui-0.5.5.tar.gz
| Download URL | dioptas_batch_gui-0.5.5.tar.gz |
|---|---|
| Size | 783.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f6ef7b3b80c7ab7b589336a3c91bdc1a41914eca5f292a0e7db29806a699c2d
|
|
BLAKE2b-256 checksum How to use checksums |
0264bcdbf2c6f85d7536017421f2a69c3f523985ca7451a60efb2f5ddbb095fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / dioptas_batch_gui-0.5.5-py3-none-any.whl
| Download URL | dioptas_batch_gui-0.5.5-py3-none-any.whl |
|---|---|
| Size | 777.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e30d5af1ad9915d796fc373ec91bba9fd23598f54f7484007ee26bfea0dbd641
|
|
BLAKE2b-256 checksum How to use checksums |
8af92b945c2606643e1aa1471009fa58716e6270f5b79475753a8ee778d8e0dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for dioptas-batch-gui 0.5.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.