orangecontrib.tomwer.widgets.reconstruction.MultiCoROW.MultiCoROW#
- class orangecontrib.tomwer.widgets.reconstruction.MultiCoROW.MultiCoROW(*args, captionTitle=None, **kwargs)#
Widget for multi-CoR calculation. It could be call ‘MultiCoROW’. But in order to keep the backward compatibility as much as possible we kept the original name
behavior within a workflow:
when a scan arrived:
if he already has a center of rotation defined (if the axis widget has been defined for example) it will be used as ‘estimated center of rotation’
if no cor has been computed yet and if the .nx entry contains information regarding an “x_rotation_axis_pixel_position” this value will be set
- if autofocus option is lock:
launch the series of reconstruction (with research width defined) and the estimated center of rotation if defined. Once the reconstruction is ended and if the autofocus button is still lock it will select the cor with the highest value and mode to workflow downstream.
hint: you can define a “multi-step” half-automatic center of rotation research by creating several “saaxis” widget and reducing the research width.
Details about Score calculation
Note
in the absolute it should be named MultiCoROW. But in order to keep as much as possible backward compatibility we keep the name.
- class Inputs#
- cluster_config = Input(name='cluster_config', type=(<class 'dict'>,), handler='cluster_config_ewoks_input_setter', ...)#
- data = Input(name='data', type=<class 'tomwer.core.scan.scanbase.TomwerScanBase'>, handler='data_ewoks_input_setter', ...)#
- invalid_slice_callback = Input(name='invalid_slice_callback', type=(<class 'collections.abc.Callable'>,), handler='invalid_slice_callback_ewoks_input_setter', ...)#
- nabu_params = Input(name='nabu_params', type=<class 'dict'>, handler='nabu_params_ewoks_input_setter', ...)#
- class Outputs#
- best_cor = Output(name='best_cor', type=(<class 'float'>,), ...)#
- data = Output(name='data', type=<class 'tomwer.core.scan.scanbase.TomwerScanBase'>, ...)#
- cancel(scan)#
cancel (abort) processing of given dataset. If dataset is empty then conside this is the current processing that must be cancelled
- cluster_config_ewoks_input_setter(value)#
- computeEstimatedCor()#
callback when calculation of a estimated cor is requested
- Return type:
float|None
- data_ewoks_input_setter(value)#
- default_inputs = Setting "None"#
- description = 'Reconstruct a slice with different center of rotation (cor) values'#
Short widget description, displayed in canvas help tooltips.
- ewokstaskclass#
alias of
MultiCoRTask
- getCurrentCorValue()#
- getWaitingOverlay()#
- handleNewSignals()#
Called by Orange after all signal handlers have run to set dynamic inputs.
Default implementation triggers task execution (with propagation).
- icon = 'icons/saaxis.png'#
Widget icon path, relative to the defining module.
- id = 'orange.widgets.tomwer.sa_axis'#
- invalid_slice_callback_ewoks_input_setter(value)#
- isAutoFocusLock()#
- keywords = ['multi', 'multi-cor', 'tomography', 'semi automatic', 'half automatic', 'axis', 'CoR', 'cor', 'tomwer', 'reconstruction', 'rotation', 'position', 'center of rotation', 'saaxis']#
Widget keywords, used for finding it in the quick menu.
- loadSettings()#
- load_sinogram()#
- lockAutofocus(lock)#
- nabu_params_ewoks_input_setter(value)#
- name = 'multi-cor'#
Widget name, as presented in the Canvas.
- priority = 21#
Widget priority, used for sorting within a category.
- process(scan)#
call when a new scan is received
- setConfiguration(configuration)#
- setEstimatedCorPosition(value)#
- settingsHandler = <orangecontrib.tomwer.orange.settings.CallbackSettingsHandler object>#
Settings handler, can be overridden for context handling.
- sigScanReady#
Signal emitted when a scan is ready
- validate()#
Function call when the user validate manually the cor to be picked
- validateCurrentScan()#