Change Log#
1.3.0: 2024/02/28#
- core
add Task to create screenshots on the gallery
- scan
rename hdf5tomoscan.HDF5TomoScan to nxtomoscan.NXtomoScan (PR 609)
- gui
propose colormap histogram by default (PR 642)
improve handling of eisting Qt path (PR 704)
improve vignettes: users can now ask for a specific number of column (PRs 622, 636)
- orangecanvas
rename ‘datas’ link to ‘serie’ (PR 654)
- axis (aka axis of rotation finder)
allow user to enter a value from the bottom QLineEdit (PR 655)
notify from background color if a line waits to be validate (PR 655)
provide access to latest nabu algorithm (fourier-angles and octave accurate) (PR 689)
extend access to near parameter
add an alias ‘near’ to the ‘composite-coarse-to-fine’ algorithm
improve +180 angle. Look now on both side: -180 and +180 (PR 621)
- cast-volume
move default output to uint16
- data-list
allow the user to select between two display mode (short or full url) PR 648
- data-viewer
use ‘histogram’ display mode to colormap dialog by default
- future-supervisor
fix job conversion (PR 696)
- nabu slice
allow reconstruction over different place (PR 683)
add Vo and mean-subtraction / division deringer
allow slice to be reconstructed over different plane (PR 683)
- icat
add a first prototype to publish to processed data to icat. Not accessible from orangecanvas for now. (PR 647)
- saaxis (aka multi-cor )
use nabu-multicor instead of nabu (PR 593)
remove ‘tomo-consistency’ score to speed up
rename ‘multi-cor’ in orange (PR 838)
add processing wheel when computation is on-going (PRs 531, 838)
rename default output folder to multi_cor_results (PR 703)
- sadeltabeta (aka multi-delta-beta)
rename default output folder to multi_delta_beta_results (PR 703)
- slurm
add a proposed configuration for stitching (PR 640)
allow user to provide the value of sbatch ‘–export’ parameter (PR 638)
allow user to load module instead of sourcing a virtual environment (PR 638)
allow user to ask for a specific gpu (PR 645)
- stitching
first official prototype for stitching. Only accessible form the standalone application for now. (PRs 618, 630, 656, 690)
- volume-viewer
load non-hdf5 volumes into dedicated thread - avoid gui-freeze - (PR 676)
add processing wheel when a volume is being loaded (PR 676)
- misc
move to silx 2.0 (PR 531)
replace HDF5TomoScan by NXtomoScan
move to nxtomomill 1.0 and tomoscan 2.0
fix colored logs
rework doc and move to sphinx-pydata-theme (PRs 673, 682, 684, 686, 705)
provide generic output (RAW_DATA, PROCESSED_DATA…) to several widgets (PR 867)
add webhooks to trigger readthedoc documetation on tag vx.y.z
1.2.0: 2023/09/29#
- app
deprecate dark-ref application in favor of reduce-dark-flat (PR 587)
reduce-dark-flat: move processing to a thread
deprecate dark-ref-patch application in favor of patch-raw-dark-flat (PR 587)
add tomwer z-stitching application (as an early prototype)
axis: remove radio1 and radio2 options, add optional ‘entry’ input (PR 530)
- core
- several class deprecation
tomwer.core.process.reconstruction.sadeltabeta.SAdeltaBetaProcess in favor of tomwer.core.process.reconstruction.sadeltabeta.SADeltaBetaTask
tomwer.core.process.reconstruction.saaxis.SAAxisProcess in favor of tomwer.core.process.reconstruction.saaxis.SAAxisTask
tomwer.core.process.reconstruction.NabuSlices in favor of tomwer.core.process.reconstruction.NabuSlicesTask
tomwer.core.process.reconstruction.NabuVolume in favor of tomwer.core.process.reconstruction.NabuVolumeTask
tomwer.core.process.reconstruction.darkref.darkrefs.DarkRefs in favor of tomwer.core.process.reconstruction.darkref.darkrefs.DarkRefsTask
tomwer.core.process.reconstruction.lamino.tofu.LaminoReconstruction in favor of tomwer.core.process.reconstruction.lamino.tofu.LaminoReconstructionTask
tomwer.core.process.reconstruction.axis.AxisProcess in favor of tomwer.core.process.reconstruction.axis.AxisTask
tomwer.core.process.control.volumesymlink.VolumeSymbolicLinkProcess in favor of tomwer.core.process.control.volumesymlink.VolumeSymbolicLinkTask
tomwer.core.process.control.scantransfer.ScanTransfer in favor of tomwer.core.process.control.scantransfer.ScanTransferTask
tomwer.core.process.conditions.filters.FileNameFilter in favor of tomwer.core.process.conditions.filters.FileNameFilterTask
tomwer.core.process.edit.darkflatpatch.DarkFlatPatch in favor of tomwer.core.process.edit.darkflatpatch.DarkFlatPatchTask
tomwer.core.process.edit.imagekeyeditor.ImageKeyUpgrader in favor of tomwer.core.process.edit.imagekeyeditor.ImageKeyUpgraderTask
tomwer.core.process.edit.imagekeyeditor.ImageKeyEditor in favor of tomwer.core.process.edit.imagekeyeditor.ImageKeyEditorTask
- canvas
add a ‘helpdesk’ button to trigger esrf jira ticket web page (PR 580)
add more examples directly on the canvas (PR 564, 510)
- control
add scan discovery widget: search for scans (NXtomo, EDF, raw-bliss scan) contained under a root directory (recursive - one-time- search) (PR 511)
add NXtomo concatenate widget (PR 548)
add ‘tomoobjshub’ widget (PR 590)
data listener: activate it by default when added to the canvas (PR 562)
add an email notification widget (PR 581)
‘data’ lists: now handle copy and paste of a list of tomo object (instead of a single one previously) (PR !596)
- edition
- NXtomo editor
add an option to automate edition (PR 524)
add a warning if edit a link (external or soft) (PR 545)
- slurm
add slurm job logs collection (PR 509)
add found partition to ‘slurm cluster configuration’ gui (PR 523)
provide a set of pre-defined slurm configuration (PR 582)
- reconstruction
- axis
rework deduction of projections (PR 537)
when ‘other’ angles is selected: try to automatically propose coherent angles (PR 572)
cast-volume: add input for compression-ratios (PR 544)
add ‘reduce-dark-flat-selector’ widget (PR 597)
- visualization
- metadata
benefit from tomoscan volumes to display slice (data viewer) and volume (volume viewer) metadata for all file format (and not only .hdf5)
extend metadata to non-hdf5 volumes (PR 543) - raw volume still not display any metadata
diffviewer: minor improvements (PR 525)
scan overview: append ‘scan range’ to the metadata (PR 526)
add action to display a frame in full screen (PR 529)
volume viewer: fix: avoid loading all the data in memory when possible (PR 541)
- helical
- preparing helical
add ‘nabu-helical-prepare-weights-double’ widget (PR 547)
- doc
reference beamlines tutorials
add examples on user corner (PR 574, 594)
add more examples directly on the canvas (PR 564, 510)
- stitching
add first prototype for stitching (PR 463, 551, 595)
add NXtomo concatenate widget (PR 548)
- misc
add possibility to cancel some jobs (PR 486)
replace multiprocessing lock by flufl.lock for file locking (PR 555)
rework future supervisor column management (PR 579)
improve opening with ImageJ (PR 567)
1.1.0: 2023/03/24#
add NXtomo editor and viewer (PR 474)
add management of serie and definition of a serie (PR 375)
improve slurm job submission (using sluurp and updating GUI / future handling) - (PR 469)
- nabu
integrate CTF (PR 410)
add management of centered_axis (PR 475)
- axis
add an option to avoid cropping images (PR 478)
- cast volume improvements
allow users to provide data_min and data_max (PR 464)
- data viewer
add display of reduced darks and flats
- darkref
use FrameReduced from tomoscan (PR 465)
- semi automated widgets
improve connection with other widgets: can process nabu directly now (PR 479)
add an option to save a screenshot for all reconstructed slices (PR 479)
notifier: add a signal tone (PR 490)
- misc:
add pylint to CI (PR 462)
use ewoks dockers images for CI
add a tutorial to use ewoks convert and ewoks execute
remove distutils for packaging (PR 480)
Improve management of output directory (PR 488)
Remove tomwer.web module (PR 501)
update default file to source for slurm-clsuter (now this is ‘/scisoft/tomotools/activate.sh stable’)
1.0.4 : 2023/02/08#
data transfer: avoid updating the created scan object (was freezing GUI with EDF and GPFS - 5a7a8548)
fix layout and qt parenting (e0b65c63 & 589c8d1f)
1.0.3 : 2023/01/12#
integrate .vol volume to allow existing post processing to works (ID16B)
1.0.2 : 2022/12/20#
add a ‘notification’ widget
- data transfer:
move processing to threads
rebase nabu configuration file paths that are expected to be moved
- fixes:
- data watcher
add a try catch on TomoScanBase.update that could fails if encounter an empty file (faio new behavior)
copy .xml and .info files to scan directory if in /data instead of /lbsram/data
dark ref: fix notification when new ref (dark or flat) are set
1.0.0 : 2022/11/08#
integrate volumes from tomoscan (PR 394). Now user can handle a volume and process it.
- visualization
remove old data validator and data viewer (deprecated since 0.5)
- control
add edf2nx widget (PR 393)
add image_key_upgrader (PR 396)
add VolumeSelector related gui (and orange widget) (PR 396)
upgrade datawatcher to allow research of bliss scan and NXtomo (PR 406)
add ‘single tomo obj’ widget (PR 409)
data listener: add option to filter file name (PR 426)
- reconstruction
- dark and ref
update copy to fit new ‘reduced frames’ policy using tomoscan (PR 396)
add ‘channel’ for the user to provide reduced dark and flat (PR 409)
rework volume cast to call nabu volume casting and use the new VolumeBase class (PR 394)
output file format can now be redefined from NabuVolumeOW (PR 403)
- nabu
slice: user can now provide ‘angles_file’
volume: user can now redefine output location and output file format from advanced settings
add shepp-logan, cosine, hamming, hann, tukey, lanczos, hilbert to filter kernels (PR 421)
add management of sino_rings_options (PR 420)
add management of tilt correction (PR 437)
- axis:
fix loading cor value when saved in the .ows and bug with manual mode beeing locked in some cases (PR 450)
add a ‘+180’ button to find automatically the associated angle when radio angles defined manually (PR 455)
fix relative position cast to absolute (PR 457)
- sadelta-beta
fix bug when slice computation fails (PR 447)
- slurm
replace dask-jobqueue by the ‘tomwer.slurm’ module (PR 405)
- other
update python widget to handle a volume
allow several input for some widgets (PR 446)
- misc:
Remove pyhst binding
first version with some widgets ‘fully’ handled by ewoksorange
0.10.0: 2022/06/27#
- core
use latest tomoscan dark and flat definition ([scan]_flats.hdf5:flats and [scan]_darks.hdf5:darks) (!674)
add normalization process to apply user defined normalization to frames and provide this one to nabu
- gui
add normalization gui
nabu volume: active histogram request to nabu by default
- axis:
rework possible algorithm. If an algorithm can be done with sinogram or radios propose two values (instead of one and a sinogram vs radios option previously)
move parameters to a QScrollArea (!688)
allow users to define the angle value manually (!702)
move input side by side with calculation to ease readibility (!705)
fix issue with scrolling (!706)
- data list
fix remove item (!707)
- orangecontrib
fix slice stack (!708)
0.9.0: 2022/01/17#
- app
canvas:remove dependency on the orange3 project and replace it by dependency on orange-canvas-core and orange-widget-base.
fork has been created to access the ‘processing wheel’ but this is an optionnal feature (payno/orange-widget-base, payno/orange-canvas-core) (!350)
- core
adapt all ‘core process’ to ewoks Task. Insure low level compatibility with ewoks (!340).
- reconstructions
add option to trigger reconstruction on slurm cluster (!349)
add a cast process to convert nabu volume to other file format
slurm cluster: rework to provide port dynamically
darkref: now save dark / flat also in darks.hdf5 and flats.hdf5 for hdf5 acquisition
- gui
add future supervisor interface
add slurm cluster interface
- nabu
add interface to set the rings removal method
connect “composite-to-fine” algorithm
add the “None” method to the pahse method in order to allow user to use other options
- diffviewer
add widget to shift second image
- orangecontrib
add cluster group with SlurmclusterOW and FutureSupervisorOW
add a “cast volume” widget to cast nabu volume
- doc
provide description of canvas objects
add streamline videos
0.8.0: 2021/08/31#
- app
add scan viewer: allow user to display contain of a scan and browse on it
- gui
- dataviewer
integrate an instance of ‘scanoverview’ widget to display information regarding the scan (number of darks / flat, energy…)
provide access to dark and flats
axis: several minor ug fix with the color map and reset zoom
improve diff frame
- orangecontrib
- widgets
add SADeltaBetaOW to compute a score from several delta / beta values
patch-nx add a configuration entry (!346)
- Miscellaneous:
move doc to autosumary
move to setup.cfg
move to pytest
0.7.0: 2021/05/20#
- orangecontrib
- widgets
add AdvancementOW: display all processes advancement
add SAAxisOW: semi-automatic axis.
integrate processview
- core
- process
add manager module to observe SuperviseProcess and display processes advancement.
- Axis
AxisProcess: integrate latest nabu algorithm based on sinogram
AxisRP: deprecate value_ref_tomwer and value_ref_nabu for absolute_value and relative_value
- SAAxis
process to compute several center of rotation for the same slice and nabu reconstruciton parameters. Provide a score
for each slice. For now scores are standard deviation and total variation.
integrate processview
- Nabu
fix file retrieval when tif requested
- scan
benefit from tomoscan hdf5 sinogram speed up
- gui
- DataList:
allow to copy text (can copy scan directory / master file)
- Axis
speed up (remove the reset_scan)
- add nabu algorithm using sinogram
update ‘Input’ tab. Now users can select from radio or sinogram, provide sinogram line and subsampling
when manual mode activate if ‘validate’ press ‘validate’ is forced and insure display value is the one set to the scan.
change QLabel used to display cor for QLineEdit with read only. Insure the cor value can be copy and paste to a text editor.
- nabu
save processing log to the processview
- volume viewer
integrate reconstruction parameters
- synctools
FIFO: is now a SuperviseProcess
0.6.0: 2020/12/15#
- app
- canvas
- add edit submodule
add ImageKeyEditorOW: allows to invalid some frame or change the ‘frame type’
add DarkFlatPatchOW: allows to add dark and / or flat to an NXtomo entry
- add debug submodule (!289)
add random data generator
add tomwer object viewer
- control:
add volume symbolic link widget
data listener: add file conversion on a thread to avoid gui freeze
- darkref
add a –no-gui option and options to define calculation method for dark and ref from command line (!299)
add image-key-editor
add dark-ref-patch
- control
- nxtomomill
add an option to keep in memory last parameter provided by the user (energy, overwrite files…) This will be clear between two call to the converter. (!296)
try filtering none bliss file from user input (!296)
- datalistener
insure that only one instance is active on the PC. otherwise display a dialog notifying the user.
- utils
rework isOnLbsRam to handle a TomwerScanBase or a str
- reconstruction
- axis
add ‘global’ algorithm from nabu. Work for half-acquisition and standard acquisition (!295)
- gui update
avoid reset zoom (!295)
avoid validation when pressing ‘enter’ after manual cor edition (!295)
speed up radio shift (!295)
display both absolute and relative cor (!295)
- nabu (!303)
- slices
add subsampling
remove margins
- volume
add option to compute histogram
slices to be reconstruct is always set to ‘middle’ the value is no more loaded (seems to be confusing for users): (commit 947d475b31d2)
dark-ref: add first and last options to pick first or last frame from a serie of dark / ref (!299)
automate settings for half-field / standard tomography (!294)
- visualization
- viewer
add a ‘open with imageJ’ button (!298).
reduce memory print by limiting the number of image in cache (!289)
add diff viewer prototype (!286)
- Miscellaneous:
adopt black coding style
- tomwer.core.process
move timer, datalistener, datawatcher, scanvalidator, datalist and datatransfert to control submodule.
0.5.3: 2020/10/19#
- core
- axis
rename ‘accurate’ ‘centered’
add global algorithm
- orangecanvas
fix (commit 8a368fd7)
- Miscellaneous:
rework logs (!292)
0.5.2: 2020/09/02#
- core
add volume reconstruction from nabu
- nabu
rename nabu nabuslices
catch nabu logs (!273)
manage .tiff and .jp2 file format
- gui
add a new data viewer [prototype]
add a volume viewer for nabu volume reconstruction (!275)
axis: fix display of shifted image (#424)
viewers: add time stamp (!279)
darkref fix issue when add widget to orange canvas, remove it and add it again (!265)
- orangecontrib
deprecate old data viewer
add new DataViewerOW [prototype]
add VolumeViewerOW
add NabuVolumeOW
- app
- nabu
add interface to give cor (!280)
add display button to browse reconstructed slices and projections (!280)
add process application: run a .ows within pypushflow and a gui free environment [prototype] (!277)
add ows-to-script application: translate a .ows file to a python script [prototype] (!278)
- web
fix graypy new API (!270)
- Miscellaneous:
add dependency on pypushflow
manage ‘HDF5_USE_FILE_LOCKING’ when read or write file - using tomoscan.io.HDF5File
fix some utils using the BaseProcess._get_process_nodes
0.5.0: 2020/06/30#
- core
complete compatibility with hdf5
add datalistener process: listen to a tango device to retrieve the status of the acquisition. Start also synchronization between lbsram and nice if on lbsram system.
add nabu process: call nabu to reconstruct slices and create .conf file to reconstruct the full volume.
- settings
add BEAMLINE_NAME, TANGO_PORT, BLISS_SESSION_NAMES, DEFAULT_BLISS_SESSION_NAME and MAKE_OAR_PYST2_PATH
add management of ‘PyHST2_*’ environment variable
- scan
add dependency on tomoscan
- utils
add HDF5Mock
data transfer: deactivated for hdf5
- gui
add interface for nabu
add interface for data listener
add interface for sinogram viewer
axis: update interface
viewer: add prototype of the next data viewer
- orangecontrib
add sinogram widget: used to compute a sinogram from an edf or hdf5 (NXtomo) acquisition
add data listener widget: used to connect with a tango device and retrieve information from it.
add nabu widget: used to reconstruct using the nabu library
add nxtomomill widget: used to convert from a bliss.hdf5 acquisition to a (NXTomo) .nx acquisition
add prototype of the DataViewer
add prototype of the new DataValidator (Move previous one to OldDataValidatorOW)
- app
add nabu application: GUI for calling nabu or create nabu configuration file
add sinogram viewer util: used to compute a sinogram from an edf or hdf5 (NXtomo) acquisition
add canvas application
- examples
add nabu_flow.py example. Present what should be a default workflow with nabu
- Miscellaneous:
drop python 3.4
alpha version was released on 2020/04/30
0.4.0: 2020/03/06#
- core
start compatibility with HDF5
- add scan folder
add TomoScan, EDFScan and HDF5Scan. Those object are all serializable (from_dict, to_dict functions)
- reconstruction
- process
all process are now returning a serializable object (TomoScan)
- ftseries
remove dependency to fastomo, use pyhstcaller instead
add pyhstcaller: .par and .rec generator
- lamino
rework and check call to tofu with Lukas
add pre-processing and stitching (for half-acquisition)
darkref: adaptation to TomoScan object
axis: new process to compute the center of rotation
reconsparam: replace the previous ReconsParamRegistry by a set of class (FTReconsParams, AxisReconsParams…)
- utils
add scanrange file
- gui
- reconstruction
rework lamino widget
add AxisWidget (stack requested axis.)
- update datawatcher
remove pop up windows to embed them all in the same widget
check acquisition type (hdf5 or edf)
- orangecontrib
object used as links are now TomoScan object instead of a str
- widgets
add axis widget
- app
add Axis application: use to compute center of rotation from a scan directory or some files.
add rsync application: use to synchronize a folder containing a scan with an other folder. user can specify a ‘point of advancement’ in the scan lifetime. Then only file created at this stage will be synchronized.
- examples
add orangeworkflow example. This is basically the most commonly used orange workflow with datawatcher, axis, darkref, ftseries, datavalidator and datatransfert widgets
add datawatcher example: a simple instantiation of the datawatcher with some automatic generation of acquisition.
- luigi
remove prototype
0.3.0: 2019/01/08#
- core
add simple python binding for launching Tofu (for now only called in python 2)
conditions: new package to include some conditions (folder names…) on a workflow.
- ftseries
duplicate octave outputs to ‘octave.log’
possibility to run several Paganin reconstructions with different parameters
create different nodes for loading images stack
data transfer: add pre-transfer operations
create tomwer.core.scan package which should contains the different type of scan we can encounter (edfscan, hdf5scan…). Define also interface to sue and specific treatment for those.
- gui
lamino: add a TofuWidget to call lamino reconstruction from Tofu.
compare images: use the one from silx if silx >= 0.9
- data list:
add a remove all button
deal with mouse drop
add widgets radio stack and slice stack which are recording all radio or slice passing by those widget and allow browsing through them.
live slice: embed live slice into an Orange widget if installed.
add gui for new conditions process
separate tomwer’s orange add-on widgets into three part: control, reconstruction and visualization.
data validator: add three different option to load images (just in time, when required and load as soon as possible )
- doc
add automatic screenshots for doc generation
- luigi
add first proto step. No functional yet
0.2.0: 2018/07/16#
add dark & flat fields process to manage dark and flat field creation (create madian of mean). manage also copy of dark and flat field if not existing in one repository.
refactoring. tomwer core functions and qt base widgets are moved in the tomwer package. Now the orangecontrib subpackage only contains the orange add-on.
- ftseries:
remove the octave version readed and loaded
- data watcher
now making observations in parallel
if the acquisition folder contains a .abo file then ‘skip it’. Considering it as their was no data.
gui refactoring
scan validator: gui as stack. User can browse through the stack.
add group slice to display all reconstructed sliced received
add data selector: simple gui to select one scan in a list
sample moved: interface to display ‘key radios’ and see if the sample has moved during acquisition.
- add applications:
darkref
ftserie
samplemoved
slicestack
0.1.0: 2017/09/28#
add core features
tomodir: aka data watcher. Detect acquisition finished. Sync data with destination directory as soon as possible if in lbsram system.
ftseries: interface for fastomo3 (octave)
add orange-add on
ftseries widget
scan validator: validate a scan or ask for a reconstruction changing parameters
data watcher
data viewer
data list
data transfer