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-180and90-280couple search when having negative angles.
[1.6.6] - 2025-11-25#
Fixed#
tomwer.gui.gpu - fix import of
collect_cuda_gpuswhen 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
coneandHBPto the reconstruction methods.
Fixed#
slurm job – improve robustness of jobs submitted to Slurm; resolve links (PR 1471).
nabu reconstruction – remove
conefrom the list of valid phases.PyQt6
fix
beginResetModelnot 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 processing –
get_recons_volume_identifiernow accepts aNabuOutputFileFormatinstance as well as a string.
Added#
nabu configuration – new reconstruction methods
coneandHBP.
[1.5.5] - 2025‑09‑22#
Fixed#
slurm settings – default value for
--exportis nowALL.
[1.5.4] - 2025‑09‑18#
Added#
scan keywords – new keywords
scan_file_nameandscan_entry.TIFF‑3D handling.
Stitching – warning when incoherent object types are stitched or when the stitching type does not match.
Fixed#
Cast volume –
scankeywords 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
TomoSyncsignal (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-volumeoption.
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
pyunitsystemwith pint.
[1.4.1] - 2024‑12‑12#
Removed#
tomwer_processesand 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]dXXusers (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
.nxfiles 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.txtmetadata reading (PR 789).Output – Nabu slice now writes to
reconstructed_slices; Nabu volume toreconstructed_volumes(PR 787).Cast volume – avoid advancement on the given task input (PR 1294) and fix settings loading (PR 889).
Nabu slice –
phasesection no longer checkable (PR 915); exposedexclude_projectionsfield (PR 879).Axis – now uses
instrument.detector.y_rotation_axis_pixel_positioninstead ofestimated_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_nabuandvalue_ref_tomwer.
[1.3.21] - 2024‑10‑08#
Fixed#
Slurm settings – corrected updating of the
--exportoption (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.HDF5TomoScan→nxtomoscan.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
nearparameter, 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,
--exportvalue 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
HDF5TomoScanwithNXtomoScan, migrated tonxtomomill 1.0&tomoscan 2.0, fixed colored logs, reworked docs withsphinx‑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‑ref→reduce-dark-flat(PR 587) and moved processing to a thread.Deprecated
dark‑ref‑patch→patch-raw-dark-flat(PR 587).Added early prototype
tomwer z‑stitchingapplication.Axis – removed
radio1/radio2; added optionalentryinput (PR 530).
Core
Numerous class deprecations (see original list for full mapping, e.g.,
SAdeltaBetaProcess→SADeltaBetaTask,AxisProcess→AxisTask, etc.).
Canvas
“Helpdesk” button launching ESRF Jira ticket page (PR 580).
Additional examples directly on the canvas (PR 564, 510).
Control
New
scan discoverywidget (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-selectorwidget (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‑doublewidget (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_axismanagement (PR 475).Axis option to avoid image cropping (PR 478).
Cast‑volume:
data_min&data_maxparameters (PR 464).Data viewer now shows reduced darks and flats.
Darkref now uses
FrameReducedfrom 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 ofdistutils(PR 480), improved output‑directory handling (PR 488), removal oftomwer.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
.volvolume 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.updatefor empty files; copied.xml/.infofiles when scanning/datainstead 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,VolumeSelectorGUI & 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_filesupport.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
.owsand manual‑mode lock bug (PR 450); added+180button 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-jobqueuewithtomwer.slurmmodule (PR 405).Misc: updated Python widget for volume handling, allowed several inputs for some widgets (PR 446), removed
pyhstbinding, 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
orange3dependency, switched toorange-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-nxconfiguration entry.Misc – moved docs to autosummary, migrated to
setup.cfg, switched topytest.
[0.7.0] - 2021‑05‑20#
Added#
OrangeContrib widgets:
AdvancementOW(process advancement),SAAxisOW(semi‑automatic axis). Integratedprocessview.Core processes: manager module for
SuperviseProcess, AxisProcess now uses latest Nabu sinogram algorithm, deprecatedvalue_ref_tomwer/value_ref_nabuin favor ofabsolute_value/relative_value, added multi‑center‑of‑rotation scoring, fixed.tifretrieval, 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-guiand CLI calculation method options.Added
image-key-editoranddark-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/.jp2handling, 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
.owsscripts (prototype), ows‑to‑script translator (prototype).Web – fixed Graypy API usage.
Misc – added
pypushflowdependency, managedHDF5_USE_FILE_LOCKING, fixed utilities usingBaseProcess._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.pyworkflow 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,HDF5Scanserializable objects, reconstruction processes (serializable outputs, ftseries usingpyhstcaller, lamino rework, darkref adaptation, axis process).GUI – reconstruction UI rework, Axis widget, updated DataWatcher (embedded UI, acquisition type detection).
OrangeContrib – links now use
TomoScanobjects, added axis widget.App – Axis application (center‑of‑rotation computation), Rsync application (folder synchronization with point‑of‑advancement).
Examples –
orangeworkflowand 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.scanpackage 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
tomwerpackage;orangecontribnow only contains the Orange add‑on.FTSeries – removed old Octave version.
Data watcher – parallel observations, skip
.abofolders, 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.