Tomography tasks#

How to use

These tasks come from tomwer. It can be installed with

pip install tomwer

ℹ️ These tasks are used at the following ESRF beamlines: BM05, ID11, ID16B, ID17, BM18, ID19

FutureSupervisorTask#

Task used to wait for a 'FutureTomwerObject' and convert it to original instance of:

* TomwerScanBase (data): if the FutureTomwerObject is based on a scan instance
* TomwerVolumeBase (volume): if the FutureTomwerObject is based on a volume instance
* tuple of IcatReconstructedVolumeDataset (data_portal_processed_datasets): if the FutureTomwerObject is based on a volume instance
Identifier:

tomwer.core.process.cluster.supervisor.FutureSupervisorTask

Task type:

class

Required inputs:

future_tomo_obj

Optional inputs:

Outputs:

volume, data, data_portal_processed_datasets

FileNameFilterTask#

Task to filter a scan according to his name and a 'unix file name pattern' or a 'regular expression'
Identifier:

tomwer.core.process.conditions.filters.FileNameFilterTask

Task type:

class

Required inputs:

data, pattern

Optional inputs:

serialize_output_data

Outputs:

data

FileNameFilter#

Identifier:

tomwer.core.process.conditions.filters.FileNameFilter

Task type:

class

Required inputs:

data, pattern

Optional inputs:

serialize_output_data

Outputs:

data

DataWatcherEwoksTask#

For now the data watcher is a 'special case'. Because it will trigger downstream workflows / prcessing each time it discover
a new scan.
To move to 'default' ewoks workflows. Like launching it from the command line the simpler for now is to
simply pass the `data` input that user can fill manually.
Identifier:

tomwer.core.process.control.datawatcher.datawatcher.DataWatcherEwoksTask

Task type:

class

Required inputs:

data

Optional inputs:

Outputs:

data

TomoEmailTask#

Dedicated task for tomography and gui approach

Identifier:

tomwer.core.process.control.emailnotifier.TomoEmailTask

Task type:

class

Required inputs:

configuration, tomo_obj

Optional inputs:

Outputs:

tomo_obj

ConcatenateNXtomoTask#

Task used to concatenate a list of NXtomo (NXtomoScan) into a single NXtomo
Identifier:

tomwer.core.process.control.nxtomoconcatenate.ConcatenateNXtomoTask

Task type:

class

Required inputs:

output_file, series, output_entry, overwrite

Optional inputs:

serialize_output_data, progress

Outputs:

data

H5ToNxProcess#

Task to convert from a bliss dataset to a nexus compliant dataset
Identifier:

tomwer.core.process.control.nxtomomill.H5ToNxProcess

Task type:

class

Required inputs:

h5_to_nx_configuration

Optional inputs:

bliss_scan, serialize_output_data, progress

Outputs:

series, data

EDFToNxProcess#

Task calling edf2nx in order to insure conversion from .edf to .nx (create one NXtomo to be used elsewhere)
Identifier:

tomwer.core.process.control.nxtomomill.EDFToNxProcess

Task type:

class

Required inputs:

edf_to_nx_configuration

Optional inputs:

edf_scan, serialize_output_data, progress

Outputs:

data

SingleTomoObjProcess#

For now data can only be a single element and not a list. This must be looked at. Also when part of an ewoks graph ‘data’ is mandatory which is not the class when part of a orange workflow. Those can be added interactively

Identifier:

tomwer.core.process.control.singletomoobj.SingleTomoObjProcess

Task type:

class

Required inputs:

Optional inputs:

tomo_obj

Outputs:

tomo_obj

TimerTask#

Simple timer / time out - function
Identifier:

tomwer.core.process.control.timer.TimerTask

Task type:

class

Required inputs:

data, wait

Optional inputs:

serialize_output_data

Outputs:

data

Timer#

Identifier:

tomwer.core.process.control.timer.Timer

Task type:

class

Required inputs:

data, wait

Optional inputs:

serialize_output_data

Outputs:

data

PublishICatDatasetTask#

publish a list of 'IcatDataBase' instances.

`IcatDataBase` provide API to retrieve data and metadata to be publish

input field:
* data_portal_processed_datasets: list of 'DracDatasetBase' instances.
* beamline: name of the beamline (bm05, id19...)
* proposal: proposal name
Identifier:

tomwer.core.process.drac.publish.PublishICatDatasetTask

Task type:

class

Required inputs:

beamline, dataset, data_portal_processed_datasets, proposal

Optional inputs:

process, dry_run

Outputs:

DarkFlatPatchTask#

Patch an existing NXtomo calling nxtomomill
Identifier:

tomwer.core.process.edit.darkflatpatch.DarkFlatPatchTask

Task type:

class

Required inputs:

configuration, data

Optional inputs:

serialize_output_data

Outputs:

data

DarkFlatPatch#

Identifier:

tomwer.core.process.edit.darkflatpatch.DarkFlatPatch

Task type:

class

Required inputs:

configuration, data

Optional inputs:

serialize_output_data

Outputs:

data

ImageKeyEditorTask#

task to edit `image_key` field of a NXtomo ('data' input)
Identifier:

tomwer.core.process.edit.imagekeyeditor.ImageKeyEditorTask

Task type:

class

Required inputs:

configuration, data

Optional inputs:

serialize_output_data

Outputs:

data

ImageKeyUpgraderTask#

close to ImageKeyEditor but convert a full "family" of frame type to another
like all projections to dark field
Identifier:

tomwer.core.process.edit.imagekeyeditor.ImageKeyUpgraderTask

Task type:

class

Required inputs:

operations, data

Optional inputs:

serialize_output_data

Outputs:

data

ImageKeyUpgrader#

Identifier:

tomwer.core.process.edit.imagekeyeditor.ImageKeyUpgrader

Task type:

class

Required inputs:

operations, data

Optional inputs:

serialize_output_data

Outputs:

data

NXtomoEditorTask#

task to edit a couple of field of a NXtomo
Identifier:

tomwer.core.process.edit.nxtomoeditor.NXtomoEditorTask

Task type:

class

Required inputs:

configuration, data

Optional inputs:

Outputs:

data

SinoNormalizationTask#

Task to define the normalization to apply to a sinogram before reconstructing it with nabu
Identifier:

tomwer.core.process.reconstruction.normalization.normalization.SinoNormalizationTask

Task type:

class

Required inputs:

data

Optional inputs:

serialize_output_data

Outputs:

data

PythonScript#

Identifier:

tomwer.core.process.script.python.PythonScript

Task type:

class

Required inputs:

Optional inputs:

volume, data, serialize_output_data

Outputs:

volume, data