Changelog#

All notable changes to this project will be documented in this file.

The format follows the Keep a Changelog conventions and this project adheres to Semantic Versioning 2.0.0.

[1.6.7] - 2025-11-27#

Fixed#

  • CoR: fix 0-180 and 90-280 couple search when having negative angles.

[1.6.6] - 2025-11-25#

Fixed#

  • tomwer.gui.gpu - fix import of collect_cuda_gpus when cuda driver not up to date.

[1.6.5] - 2025-11-25#

Changed#

  • Volume viewer do not reset zoom when image changed.

[1.6.2] - 2025-11-25#

Fixed#

  • pyproject.toml: fix application not recognized

[1.6.1] - 2025-11-25#

Fixed#

  • requirements: add missing blissdata

[1.6.0] - 2025-11-24#

Added#

  • bliss‑data listener – allow users to edit the host (PR 1174).

  • h52nx – allow users to provide mechanical flips on the fly (PR 1461).

  • nabu reconstruction – add cone and HBP to the reconstruction methods.

Fixed#

  • slurm job – improve robustness of jobs submitted to Slurm; resolve links (PR 1471).

  • nabu reconstruction – remove cone from the list of valid phases.

  • PyQt6

    • fix beginResetModel not called (PR 1486)

    • fix Cannot add parent widget _ToggleableUrlSelectionTable/ to its child layout QGridLayout/ (PR 1489)

Misc#

  • Minimum required Python version is now 3.10.

[1.5.6] - 2025‑09‑23#

Fixed#

  • viewers – remote processingget_recons_volume_identifier now accepts a NabuOutputFileFormat instance as well as a string.

Added#

  • nabu configuration – new reconstruction methods cone and HBP.

[1.5.5] - 2025‑09‑22#

Fixed#

  • slurm settings – default value for --export is now ALL.

[1.5.4] - 2025‑09‑18#

Added#

  • scan keywords – new keywords scan_file_name and scan_entry.

  • TIFF‑3D handling.

  • Stitching – warning when incoherent object types are stitched or when the stitching type does not match.

Fixed#

  • Cast volumescan keywords can now be used to define the output folder.

[1.5.3] - 2025‑09‑11#

Added#

  • Blissdata Listener – new widget for listening to BlissData instead of the Bliss‑Tomo TomoSync signal (PR 1088).

  • nxtomomill h52nx – updated output file‑path naming (PR 1106).

  • Data portal – reduced gallery image size (PR 1103).

[1.5.0] - 2025‑07‑18#

Added#

  • cast‑volume – new remove-input-volume option.

Changed#

  • NXtomo editor – added edition of new ID16 beamline fields (propagation distance, sample‑source distance, sample pixel size).

Misc#

  • Added Data‑Portal publication to default volume‑reconstruction workflow tutorials.

  • Replaced pyunitsystem with pint.

[1.4.1] - 2024‑12‑12#

Removed#

  • tomwer_processes and the dependency on flufl (PR 869).

[1.4.0] - 2024‑12‑11#

Added / Changed#

  • Cluster

    • Future supervisor – “ewoksify” the FutureSupervisorOW (PR 883, 906).

    • Slurm – GUI now includes wall‑time field (PR 904) and a warning for op[i]dXX users (PR 881).

  • Control

    • Dark/Flat – option to clear cache (PR 791).

    • Data listener – timestamp added to the Observation tab (PR 863).

    • Data list – “Send all” button renamed to “Select all” (PR 864, 911); Bliss data list now filters .nx files by default (PR 920).

    • nxtomomill – improved settings loading (PR 892).

  • Edit

    • “ImageKeyEditor” ewoksified (PR 777).

    • NXtomo editor – better handling of “unknown” fields (PR 795) and overall ewoksification (PR 844).

  • Reconstruction

    • GPU – selectable GPU for local processing (PR 841).

    • Axis – GUI refactored; direct call to Nabu estimate_cor (PR 899). Removed third‑party .txt metadata reading (PR 789).

    • Output – Nabu slice now writes to reconstructed_slices; Nabu volume to reconstructed_volumes (PR 787).

    • Cast volume – avoid advancement on the given task input (PR 1294) and fix settings loading (PR 889).

    • Nabu slicephase section no longer checkable (PR 915); exposed exclude_projections field (PR 879).

    • Axis – now uses instrument.detector.y_rotation_axis_pixel_position instead of estimated_cor.

  • Tomwer canvas

    • Process supervisor always visible when the Canvas app launches.

    • Fully removed volume symbolic link.

    • Updated software‑stack version (PR 918).

  • Visualization

    • Slice stack – inputs reworked; users can now directly provide a path to a reconstructed slice (PR 805, 806, 886).

    • Image stack – added URL‑filter option (PR 885).

    • Data viewer – fixed volume metadata setting (PR 907).

  • DRAC

    • Reworked DRAC publication workflow (PR 811, 902, 890).

  • Application

    • Stand‑alone y‑stitching application (pre‑processing only).

    • Improved Slice‑Stack CLI inputs (PR 806).

  • Documentation

    • Improved readability (PR 853).

    • Updated docs to describe publishing reconstructed volumes to DRAC.

  • Misc

    • Removed code related to the old “add symbolic link” task (PR 804); now relies on ewoksnotify (PR 753).

    • Migrated to __future__.annotations (PR 824) and tqdm (PR 838).

    • Updated to pyunitsystem >= 2.0.

    • Added example for processing volume casts on Slurm (PR 913).

    • Removed deprecated value_ref_nabu and value_ref_tomwer.

[1.3.21] - 2024‑10‑08#

Fixed#

  • Slurm settings – corrected updating of the --export option (PR 871).

[1.3.13] - 2024‑06‑06#

Added / Fixed#

  • Dark‑flat copy – now removes any existing reduced dark/flat before copying (PR 799).

  • GUI – added “Clear cache” button (PR 791).

[1.3.0] - 2024‑02‑28#

Added#

  • Core – new Task to create screenshots in the gallery.

  • Scan – renamed hdf5tomoscan.HDF5TomoScannxtomoscan.NXtomoScan (PR 609).

  • GUI – default colormap histogram (PR 642); better handling of existing Qt paths (PR 704); vignette columns now user‑configurable (PR 622, 636).

  • OrangeCanvas – renamed “datas” link to “series” (PR 654).

  • Axis – bottom QLineEdit input, background‑color notification for pending validation, exposure of latest Nabu algorithms, extended near parameter, improved ±180° detection (PR 655, 621, 689).

  • Cast‑volume – default output dtype changed to uint16.

  • Data‑list – selectable display mode (short vs. full URL) (PR 648).

  • Data‑viewer – histogram mode now defaults to the colormap dialog.

  • Future‑supervisor – fixed job conversion (PR 696).

  • Nabu slice – reconstruction over different planes, added Vo and mean‑subtraction/division deringer options (PR 683).

  • Data portal – first prototype for publishing processed data (not yet in OrangeCanvas) (PR 647).

  • SA‑axis – switched to Nabu‑multicor, removed “tomo‑consistency” score, renamed widget, added processing wheel, default output folder multi_cor_results (PR 593, 838, 531, 703).

  • SADeltaBeta – default output folder multi_delta_beta_results (PR 703).

  • Slurm – stitching configuration, --export value selection, module loading instead of virtual‑env sourcing, GPU request option (PR 640, 638, 645).

  • Stitching – first official prototype (stand‑alone) (PR 618, 630, 656, 690).

  • Volume‑viewer – non‑HDF5 volumes loaded in a dedicated thread with a processing wheel (PR 676).

  • Misc – moved to silx 2.0, replaced HDF5TomoScan with NXtomoScan, migrated to nxtomomill 1.0 & tomoscan 2.0, fixed colored logs, reworked docs with sphinx‑pydata‑theme, generic output tags (RAW_DATA, PROCESSED_DATA), added webhooks for ReadTheDocs on tag pushes.

[1.2.0] - 2023‑09‑29#

Added#

  • App

    • Deprecated dark‑refreduce-dark-flat (PR 587) and moved processing to a thread.

    • Deprecated dark‑ref‑patchpatch-raw-dark-flat (PR 587).

    • Added early prototype tomwer z‑stitching application.

    • Axis – removed radio1/radio2; added optional entry input (PR 530).

  • Core

    • Numerous class deprecations (see original list for full mapping, e.g., SAdeltaBetaProcessSADeltaBetaTask, AxisProcessAxisTask, etc.).

  • Canvas

    • “Helpdesk” button launching ESRF Jira ticket page (PR 580).

    • Additional examples directly on the canvas (PR 564, 510).

  • Control

    • New scan discovery widget (recursive root‑directory scan).

    • NXtomo concatenate widget (PR 548).

    • “tomoobjshub” widget (PR 590).

    • Data listener activated by default on canvas (PR 562).

    • Email notification widget (PR 581).

    • Data lists now support copy‑paste of multiple tomo objects (PR 596).

  • Edition

    • NXtomo editor – automation option (PR 524) and warning for editing external/soft links (PR 545).

  • Slurm

    • Job log collection (PR 509), found partition display (PR 523), pre‑defined configurations (PR 582).

  • Reconstruction

    • Axis: reworked projection deduction (PR 537) and automatic coherent‑angle proposal (PR 572).

    • Cast‑volume: added compression‑ratio input (PR 544).

    • New reduce-dark-flat-selector widget (PR 597).

  • Visualization

    • Metadata: Tomoscan volumes now provide slice and volume metadata for all formats; extended to non‑HDF5 volumes (PR 543).

    • Diffviewer minor improvements (PR 525).

    • Scan overview now includes “scan range” (PR 526).

    • Added full‑screen frame action (PR 529).

    • Volume viewer memory‑usage fix (PR 541).

  • Helical

    • Added nabu‑helical‑prepare‑weights‑double widget (PR 547).

  • Doc

    • Added beamline tutorials and user‑corner examples (PR 574, 594, 564, 510).

  • Stitching

    • First prototype and NXtomo concatenate widget (PR 463, 551, 595, 548).

  • Misc

    • Job cancellation support (PR 486).

    • Switched file‑locking to flufl.lock (PR 555).

    • Future supervisor column management overhaul (PR 579).

    • Improved ImageJ opening (PR 567).

[1.1.0] - 2023‑03‑24#

Added#

  • NXtomo editor & viewer (PR 474).

  • Series management and definition (PR 375).

  • Slurm job submission improvements (using sluurp, GUI/future handling) (PR 469).

  • Nabu CTF integration (PR 410) and centered_axis management (PR 475).

  • Axis option to avoid image cropping (PR 478).

  • Cast‑volume: data_min & data_max parameters (PR 464).

  • Data viewer now shows reduced darks and flats.

  • Darkref now uses FrameReduced from Tomoscan (PR 465).

  • Semi‑automated widgets: Nabu direct processing and screenshot saving for all reconstructed slices (PR 479).

  • Notifier signal tone (PR 490).

  • Miscellaneous: pylint in CI (PR 462), ewoks Docker images for CI, tutorials for ewoks convert/ewoks execute, removal of distutils (PR 480), improved output‑directory handling (PR 488), removal of tomwer.web (PR 501), updated default Slurm activation script.

[1.0.4] - 2023‑02‑08#

Fixed#

  • Data transfer: stopped updating the created scan object (fixed GUI freeze with EDF & GPFS) (commit 5a7a8548).

  • Layout and Qt parenting issues (commits e0b65c63 & 589c8d1f).

[1.0.3] - 2023‑01‑12#

Added#

  • Integrated .vol volume to enable existing post‑processing for ID16B.

[1.0.2] - 2022‑12‑20#

Added#

  • Notification widget.

  • Data transfer moved to threaded processing and rebased Nabu configuration file paths.

Fixed#

  • Data watcher – added try‑catch around TomoScanBase.update for empty files; copied .xml/.info files when scanning /data instead of /lbsram/data.

  • Darkref – fixed notification when a new reference (dark or flat) is set.

[1.0.0] - 2022‑11‑08#

Added#

  • Integrated Tomoscan volumes (PR 394).

  • Visualization: removed old data validator & viewer (deprecated since 0.5).

  • Control: added edf2nx, image_key_upgrader, VolumeSelector GUI & Orange widget, upgraded DataWatcher for Bliss scan & NXtomo search (PR 406), added “single tomo obj” widget (PR 409), Data listener file‑name filter option (PR 426).

  • Reconstruction:

    • Dark & ref – updated copy to fit new reduced‑frames policy (PR 396) and added channel for user‑provided reduced dark/flat (PR 409).

    • Volume casting now uses Nabu volume casting and VolumeBase (PR 394).

    • Output file format redefinition via NabuVolumeOW (PR 403).

    • Nabu slice – angles_file support.

    • Nabu volume – output location & file format configurable (advanced settings).

    • Added many filter kernels (Shepp‑Logan, Cosine, Hamming, Hann, Tukey, Lanczos, Hilbert) (PR 421).

    • Added sino_rings_options (PR 420) and tilt‑correction management (PR 437).

    • Axis – fixed loading of COR value from .ows and manual‑mode lock bug (PR 450); added +180 button for automatic angle association (PR 455); fixed relative‑to‑absolute position casting (PR 457).

    • Sadelta‑beta – fixed slice‑computation failure (PR 447).

  • Slurm – replaced dask-jobqueue with tomwer.slurm module (PR 405).

  • Misc: updated Python widget for volume handling, allowed several inputs for some widgets (PR 446), removed pyhst binding, first version with full ewoksorange widget handling.

[0.10.0] - 2022‑06‑27#

Added#

  • Core: used latest Tomoscan dark/flat definitions, added normalization process for user‑defined frame normalization.

  • GUI: normalization GUI; Nabu volume – histogram request enabled by default; Axis – reworked algorithms, moved parameters to scroll area, manual angle entry, side‑by‑side layout, scrolling fix.

  • Data list – fixed item removal.

  • OrangeContrib – fixed slice stack.

[0.9.0] - 2022‑01‑17#

Added#

  • App → Canvas: removed orange3 dependency, switched to orange-canvas-core & orange-widget-base; created fork for optional processing wheel.

  • Core: all core processes migrated to ewoks Task; added Slurm reconstruction trigger, cast process for Nabu volume conversion, dynamic port provisioning for Slurm cluster, darkref now saves darks/flats in dedicated HDF5 files.

  • GUI: future supervisor & Slurm cluster interfaces; Nabu – rings removal method, composite‑to‑fine algorithm, “None” phase method; Diffviewer – second‑image shift widget.

  • OrangeContrib: added SlurmclusterOW & FutureSupervisorOW, cast‑volume widget.

  • Docs: canvas object descriptions, streamline videos.

[0.8.0] - 2021‑08‑31#

Added#

  • App – Scan viewer to display scan contents.

  • GUI – Dataviewer now integrates “scanoverview” widget (shows number of darks/flats, energy, etc.) and provides access to darks/flats.

  • Axis – fixed color‑map & zoom issues, improved diff frame.

  • OrangeContrib – added SADeltaBetaOW, patch-nx configuration entry.

  • Misc – moved docs to autosummary, migrated to setup.cfg, switched to pytest.

[0.7.0] - 2021‑05‑20#

Added#

  • OrangeContrib widgets: AdvancementOW (process advancement), SAAxisOW (semi‑automatic axis). Integrated processview.

  • Core processes: manager module for SuperviseProcess, AxisProcess now uses latest Nabu sinogram algorithm, deprecated value_ref_tomwer/value_ref_nabu in favor of absolute_value/relative_value, added multi‑center‑of‑rotation scoring, fixed .tif retrieval, HDF5 sinogram speed‑up for scans.

  • GUI: DataList copy‑text support, Axis speed improvements, Nabu log saved to process view, Volume viewer shows reconstruction parameters.

  • Synctools – FIFO now a SuperviseProcess.

[0.6.0] - 2020‑12‑15#

Added#

  • App → Canvas: ImageKeyEditorOW, DarkFlatPatchOW, debug submodule with random data generator & Tomwer object viewer; control submodule with volume symbolic‑link widget; data listener thread‑based file conversion.

  • Darkref – --no-gui and CLI calculation method options.

  • Added image-key-editor and dark-ref-patch.

  • Control → nxtomomill: retain last user parameter (cleared between calls).

  • Data listener – single active instance enforcement.

  • Utils – reworked isOnLbsRam.

  • Reconstruction → Axis: global Nabu algorithm, GUI updates (no reset zoom, validation handling, radio shift speed‑up, absolute/relative COR display).

  • Nabu → slices: subsampling, removed margins; volume: histogram option; slice selection fixed to “middle”.

  • Dark‑ref – first/last frame selection, half‑field/standard tomography automation.

  • Visualization → Viewer: “Open with ImageJ” button, reduced cache memory usage. Added diff‑viewer prototype.

  • Misc – adopted black style, moved various core submodules to control.

[0.5.3] - 2020‑10‑19#

Added / Changed#

  • Core → Axis: renamed “accurate” → “centered”, added global algorithm.

  • OrangeCanvas – fixed issues (commit 8a368fd7).

  • Misc – reworked logs.

[0.5.2] - 2020‑09‑02#

Added#

  • Core – volume reconstruction from Nabu; Nabu renamed to NabuSlices, added .tiff/.jp2 handling, captured Nabu logs.

  • GUI – new data viewer prototype, volume viewer for Nabu volume, Axis display fix, viewers timestamp, darkref widget issue fix.

  • OrangeContrib – deprecated old data viewer, added DataViewerOW, VolumeViewerOW, NabuVolumeOW.

  • App – Nabu interface for cor, browse reconstructed slices/projections, process application for running .ows scripts (prototype), ows‑to‑script translator (prototype).

  • Web – fixed Graypy API usage.

  • Misc – added pypushflow dependency, managed HDF5_USE_FILE_LOCKING, fixed utilities using BaseProcess._get_process_nodes.

[0.5.0] - 2020‑06‑30#

Added#

  • Core – HDF5 compatibility, datalistener (Tango device sync), Nabu process (slice & volume reconstruction), settings (beamline, Tango, Bliss, PyHST2 env vars), scan dependency on Tomoscan, HDF5Mock, deactivated data transfer for HDF5.

  • GUI – interfaces for Nabu, data listener, sinogram viewer, updated Axis UI.

  • OrangeContrib – sinogram widget, data listener widget, Nabu widget, nxtomomill widget, DataViewer prototype, DataValidator prototype.

  • App – Nabu GUI, sinogram viewer utility, canvas application.

  • Examples – nabu_flow.py workflow example.

  • Misc – dropped Python 3.4 support, first alpha release (2020‑04‑30).

[0.4.0] - 2020‑03‑06#

Added#

  • Core – HDF5 compatibility, TomoScan, EDFScan, HDF5Scan serializable objects, reconstruction processes (serializable outputs, ftseries using pyhstcaller, lamino rework, darkref adaptation, axis process).

  • GUI – reconstruction UI rework, Axis widget, updated DataWatcher (embedded UI, acquisition type detection).

  • OrangeContrib – links now use TomoScan objects, added axis widget.

  • App – Axis application (center‑of‑rotation computation), Rsync application (folder synchronization with point‑of‑advancement).

  • Examples – orangeworkflow and datawatcher examples.

  • Luigi – prototype removed.

[0.3.0] - 2019‑01‑08#

Added#

  • Core – Python binding for Tofu, conditions package, ftseries enhancements, data transfer pre‑operations, tomwer.core.scan package for different scan types.

  • GUI – Tofu widget for lamino, image comparison using Silx, data list enhancements, radio/ slice stack widgets, live slice integration, conditions UI, Orange widget reorganisation, data validator options.

  • Docs – automatic screenshots for documentation generation.

  • Luigi – first prototype.

[0.2.0] - 2018‑07‑16#

Added#

  • Dark & flat fields process (median of means, copying if missing).

  • Refactoring – core functions & Qt base widgets moved to tomwer package; orangecontrib now only contains the Orange add‑on.

  • FTSeries – removed old Octave version.

  • Data watcher – parallel observations, skip .abo folders, GUI refactor.

  • Scan validator – stack GUI for browsing.

  • Added group slice display, data selector GUI, sample‑movement detection UI.

  • Applications: darkref, ftseries, samplemoved, slicestack.

[0.1.0] - 2017‑09‑28#

Added#

  • Core features: tomodir (data watcher) for acquisition completion detection & synchronization, FTSeries interface for Fastomo3 (Octave).

  • Orange add‑on: FTSeries widget, scan validator, data watcher, data viewer, data list, data transfer.