OrsVolumeROITools

Manages the tools applicable to Regions of Interest

author:ORS Team
contact:http://theobjects.com
email:info@theobjects.com
organization:Object Research Systems (ORS), Inc.
address:460 Ste-Catherine Ouest, suite 600, Montréal, Québec, Canada, H3B 1A7
copyright:Object Research Systems (ORS), Inc. All rights reserved 2021.
date:Sep 11 2015 12:03
dragonflyVersion:
 3.1.0.286 (D)
UUID:5bc96a00761e11e79055448a5b5d70c0

Class Code

class OrsPythonPlugins.OrsVolumeROITools.OrsVolumeROITools.OrsVolumeROITools(varname=None)
UIDescriptors = [<ORSServiceClass.OrsPlugin.uidescriptor.UIDescriptor object>]
interfacemethod addRange(listROIToModify, dataset, rangeMin, rangeMax, timeStep=0)

Adds each voxel where the intensity in the dataset is included in the given range.

Parameters:
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] – ROI or MultiROI to modify
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • timeStep (int) – timeIndex
interfacemethod addRangeInterpolated(listROIToModify, dataset, rangeMin, rangeMax, cubicInterpolation, timeStep=0)

Adds each voxel where the intensity in the dataset is included in the given range.

Parameters:
  • listROIToModify (ORSModel.ors.ROI) [count=[1, None]] – ROI to modify
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • cubicInterpolation (bool) – use cubic interpolation
  • timeStep (int) – timeIndex
interfacemethod addRemoveRegionClip(listROIToModify, layoutFullName, dataset=None, rangeMin=0.0, rangeMax=0.0, add=True, currentTime=0)

Adds or removes an area determined by a clipping box on a ROI or a MultiROI.

Parameters:
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] – ROI or MultiROI to modify
  • layoutFullName (str) – a genealogical name (the view in which the box is present)
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • add (bool) – if True, an addition will be done; if False, a removal will be done.
  • currentTime (int) – Time step of the ROI
classmethod canAddOrRemoveRegionClipOnListOfROIs(listROIToModify, tIndex, add=True)
classmethod canAddRange(listROIToModify, dataset, rangeMin, rangeMax)
canAddRangeOnCurrentDataset(listROIToModify)
canAddRangeToNewOnCurrentDataset()
classmethod canAddRemoveRangeCheckingOnlyRange(dataset, rangeMin, rangeMax)
classmethod canClear(listROIToModify)
classmethod canClose(listROIToModify, kernelShape, kernelDim, kernelSize, dataset, rangeMin, rangeMax, currentTime)
canCloseOnCurrentDataset(listROIToModify, kernelShape, kernelDim, kernelSize, currentTime)
classmethod canDilate(listROIToModify, kernelShape, kernelDim, kernelSize, dataset, rangeMin, rangeMax, currentTime)
canDilateOnCurrentDataset(listROIToModify, kernelShape, kernelDim, kernelSize, currentTime)
classmethod canErode(listROIToModify, kernelShape, kernelDim, kernelSize, dataset, rangeMin, rangeMax, currentTime)
canErodeOnCurrentDataset(listROIToModify, kernelShape, kernelDim, kernelSize, currentTime)
classmethod canExportAsCubicMesh(listROIToExport)
classmethod canExportAsSampledMesh(listROIToExport, samplingX, samplingY, samplingZ, currentTime)
classmethod canExportAsSampledThicknessMesh(listROIToExport, samplingX, samplingY, samplingZ, currentTime)
classmethod canExportAsThicknessMesh(listROIToExport)
classmethod canExportData(listROIToAnalyze, dataset)
classmethod canFillInnerAreas(listROIToModify, fillInnerAreasMode, currentTime)
classmethod canInterpolate(listROIToModify, currentTime)
classmethod canOpen(listROIToModify, kernelShape, kernelDim, kernelSize, dataset, rangeMin, rangeMax, currentTime)
canOpenOnCurrentDataset(listROIToModify, kernelShape, kernelDim, kernelSize, currentTime)
classmethod canOverwriteData(listROIToAnalyze, dataset, tIndex)
classmethod canRemoveRange(listROIToModify, dataset, rangeMin, rangeMax)
canRemoveRangeOnCurrentDataset(listROIToModify)
classmethod canReverse(listROIToModify, currentTime)
classmethod canSkeletonize(listROIToModify)
classmethod canSplitAtOtsu(listROIToAnalyze, dataset, currentTime)
classmethod canUndo(listROIToModify)
canUseRange()
classmethod chooseDataset()
classmethod chooseROI()
cleanup()

Deletes the variables managed by the plugin. It is the place to remove callbacks and other references to Python objects that would prevent them to be garbage collected. This method is called during the process of deletion of the plugin. It calls for the cleanup and deletion of the forms.

classmethod clear(listROIToModify, currentTime=0)

Clears the ROIs and/or MultiROIs

Parameters:
interfacemethod clearSingleROI(aROI, timeStep=0)

Clears a ROI or MultiROI

Parameters:
interfacemethod close(aROIToModify=None, kernelShape='square', kernelDim=3, kernelSize=3, dataset=None, rangeMin=0.0, rangeMax=0.0, repetitionCount=1, currentTime=0, axis=2, sliceIndicesExpr='', listROIToModify=None, sliceIndices=None)

Applies a morphological closing operation on a ROI or a MultiROI.

Changed in version -: Argument listToModify (list) is replaced by aROIToModify (single instance) - Argument sliceIndices (Array) is replaced by sliceIndicesExpr (string expression)

Parameters:
  • aROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to modify
  • kernelShape (str) – Kernel shape (‘square’, ‘circle’ or ‘cross’)
  • kernelDim (int) – Kernel dimension (2 or 3)
  • kernelSize (int) – Kernel size (odd number between 3 and 33)
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • repetitionCount (int) – Count of repetition to be applied
  • currentTime (int) – Time step of the ROI
  • axis (int) – axis of operation if 2D kernel 0=X, 1=Y, 2=Z of the StructuredGrid
  • sliceIndicesExpr (str) – slices to work on in the given axis (string expression, 1-based, e.g. ‘1,2,3-5,4-20/3’)
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI or MultiROI to modify
  • sliceIndices (ORSModel.ors.SequenceableCollection) [deprecated: use sliceIndicesExpr instead] – collection of slices to work on in the given axis
interfacemethod computeAnisotropyMIL(aROI, anisotropyMILRadius, anisotropyMILSampling, anisotropyMILOrientations, anisotropyMILMinIterations, anisotropyMILMaxIterations, anisotropyMILTolerance, IProgress=None)

Computes the measurement of the anisotropy using the Mean Intercept Length (MIL).

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – ROI to analyze
  • anisotropyMILRadius (float) – radius to analyze per orientation per star
  • anisotropyMILSampling (float) – distance between each sample on the line of analysis
  • anisotropyMILOrientations (int) – count of lines to analyze per star
  • anisotropyMILMinIterations (int) – minimal count of star to iterate on
  • anisotropyMILMaxIterations (int) – maximal count of star to iterate on
  • anisotropyMILTolerance (float) – smallest variance of anisotropy to reach before ending the iterations
  • IProgress (ORSModel.ors.Progress) – a Progress object
Returns:

anisotropyMIL (float) – measurement of the anisotropy

computeAnisotropyMILWithDialog(aROI)
interfacemethod computeAnisotropySVD(aROI, anisotropySVDRadius, anisotropySVDSampling, anisotropySVDOrientations, anisotropySVDMinIterations, anisotropySVDMaxIterations, anisotropySVDTolerance, IProgress=None)

Computes the measurement of the anisotropy using the Star Volume Distribution (SVD).

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – ROI to analyze
  • anisotropySVDRadius (float) – radius to analyze per orientation per star
  • anisotropySVDSampling (float) – distance between each sample on the line of analysis
  • anisotropySVDOrientations (int) – count of lines to analyze per star
  • anisotropySVDMinIterations (int) – minimal count of star to iterate on
  • anisotropySVDMaxIterations (int) – maximal count of star to iterate on
  • anisotropySVDTolerance (float) – smallest variance of anisotropy to reach before ending the iterations
  • IProgress (ORSModel.ors.Progress) – a Progress object
Returns:

anisotropySVD (float) – measurement of the anisotropy

computeAnisotropySVDWithDialog(aROI)
classmethod computeWatershed(orsObject, datasetForShape=None)

Entry point for computing watershed on a MultiROI or from a list of ROIs

Parameters:orsObject – MultiROI, or list of ROIs
classmethod computeWatershed2D(orsObject, roiForShape=None)

Entry point for computing watershed on a MultiROI or from a list of ROIs

Parameters:orsObject – MultiROI, or list of ROIs
interfacemethod computeWatershedFromMultiROI(aMultiROI, datasetForShape, timeStep)

Computes the watershed from a MultiROI

Parameters:
  • aMultiROI (ORSModel.ors.MultiROI) – MultiROI to compute the watershed from. The watershed result is put in that same object.
  • datasetForShape (ORSModel.ors.Channel) [const] – Dataset used to compute the edge map
  • timeStep (int) – time index of aMultiROI and of datasetForShape
interfacemethod computeWatershedFromMultiROI2D(aMultiROI, roiForShape, timeStep)

Computes the watershed from a MultiROI

Parameters:
  • aMultiROI (ORSModel.ors.MultiROI) – MultiROI to compute the watershed from. The watershed result is put in that same object.
  • roiForShape (ORSModel.ors.ROI) [const] – ROI used to compute the edge map
  • timeStep (int) – time index of aMultiROI and of datasetForShape
interfacemethod computeWatershedFromROIs(listOfROIs, datasetForShape, timeStep)

Computes the watershed from a list of ROIs

Parameters:
  • listOfROIs (ORSModel.ors.ROI) [count=[2, None]] – list of ROIs to compute the watershed from. The watershed result is put in these same objects.
  • datasetForShape (ORSModel.ors.Channel) [const] – Dataset used to compute the edge map
  • timeStep (int) – time index of the input ROIs and of datasetForShape
contextualMenu(context)
classmethod createBestROIForROIs(listOfROIs)
static createDatasetFromMultiROI(aMultiROI)
interfacemethod createDistanceMapFromROIs(ROIs, tIndex, IProgress=None)

Computes a distance map from a set of ROIs

Parameters:
  • ROIs (ORSModel.ors.ROI) [count=[1, None]] [const] – ROIs to compute the distance map from
  • tIndex (int) – time index of the ROIs to use
  • IProgress (ORSModel.ors.Progress) – progress object
Returns:

distanceMapDataset (ORSModel.ors.Channel) – dataset of the computed distance map

createDistanceMapFromROIsAtCurrentTime(roiGUIDs, signed=False)
classmethod createEmptyROIFromStructuredGrid(structuredGrid, title, ROIColor, createAsMultiROI)

Creates an empty ROI or MultiROI from a StructuredGrid

Deprecated since version 2021.3: Use createROIFromStructuredGrid or createMultiROIFromStructuredGrid instead

Parameters:
  • structuredGrid (ORSModel.ors.StructuredGrid) [const] – reference shape of the new ROI
  • title (str) – title of the new ROI
  • ROIColor (ORSModel.ors.Color) – color of the new ROI
  • createAsMultiROI (bool) – create a MultiROI if True, a ROI if False
Returns:

output (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – created ROI

classmethod createEmptyROIFromVisualBox(aVisualBox, title, currentTime, ROIColor, createAsMultiROI)

Creates an empty ROI or MultiROI from a VisualBox

Deprecated since version 2021.3: Use createROIFromVisualBox or createMultiROIFromVisualBox instead

Parameters:
  • aVisualBox (ORSModel.ors.VisualBox) [const] – reference shape of the new ROI
  • title (str) – title of the new ROI
  • currentTime (int) – currentTime to get the box of the visual box
  • ROIColor (ORSModel.ors.Color) – color of the new ROI
  • createAsMultiROI (bool) – create a MultiROI if True, a ROI if False
Returns:

output (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – created ROI or MultiROI

interfacemethod createLabeledROIFromROI(aROI, IProgress=None, includeDiagonal=False)

Computes the labelization of a ROI

Parameters:
Returns:

labelizationMultiROI (ORSModel.ors.MultiROI) – MultiROI of the labelized ROI

createLabeledROIFromROIAndPublish(aROI, includeDiagonal=False)
createLabeledROIFromROIOrMultiROIAndPublish(aROIOrMultiROI, includeDiagonal=False)
interfacemethod createLabeledROIFromROIWithDiagonal(aROI, IProgress=None)

Computes the labelization of a ROI 26 neighbor

Parameters:
Returns:

labelizationMultiROI (ORSModel.ors.MultiROI) – MultiROI of the labelized ROI

static createMultiROIFromDataset(dataset)
interfacemethod createMultiROIFromStructuredGrid(aStructuredGrid, title, classCount)

Creates an empty MultiROI from a StructuredGrid

Parameters:
  • aStructuredGrid (ORSModel.ors.StructuredGrid) [const] – reference shape of the new MultiROI
  • title (str) – title of the new MultiROI
  • classCount (int) – class count
Returns:

output (ORSModel.ors.MultiROI) – created MultiROI

interfacemethod createMultiROIFromVisualBox(aVisualBox, title, currentTime, classCount)

Creates an empty MultiROI from a VisualBox

Parameters:
  • aVisualBox (ORSModel.ors.VisualBox) [const] – reference shape of the new MultiROI
  • title (str) – title of the new MultiROI
  • currentTime (int) – currentTime to get the box of the visual box
  • classCount (int) – class count
Returns:

output (ORSModel.ors.MultiROI) – created MultiROI

interfacemethod createROIFromLabeledROI(aMultiROI, IProgress=None)

Creates a new ROI by taking all the voxels from all the labels of the MultiROI

Parameters:
Returns:

aROI (ORSModel.ors.ROI) – a ROI

createROIFromLabeledROIAndPublish(aMultiROI)
interfacemethod createROIFromStructuredGrid(aStructuredGrid, title, ROIColor)

Creates an empty ROI from a StructuredGrid

Parameters:
Returns:

output (ORSModel.ors.ROI) – created ROI

interfacemethod createROIFromVisualBox(aVisualBox, title, currentTime, ROIColor)

Creates an empty ROI from a VisualBox

Parameters:
  • aVisualBox (ORSModel.ors.VisualBox) [const] – reference shape of the new ROI
  • title (str) – title of the new ROI
  • currentTime (int) – currentTime to get the box of the visual box
  • ROIColor (ORSModel.ors.Color) – color of the new ROI
Returns:

output (ORSModel.ors.ROI) – created ROI

interfacemethod createROIInRange(dataset, title, rangeMin, rangeMax, timeStep=0)

Creates a ROI from a dataset and a range of intensities.

Parameters:
  • dataset (ORSModel.ors.Channel) [const] – dataset of reference
  • title (str) – title of the new ROI
  • rangeMin (float) – minimal value of the dataset intensity to include in the ROI
  • rangeMax (float) – maximal value of the dataset intensity to include in the ROI
  • timeStep (int) – timeIndex
Returns:

output (ORSModel.ors.ROI) – created ROI

interfacemethod createSignedDistanceMapFromROIs(ROIs, tIndex)

Computes a signed distance map from a set of ROIs

Parameters:
  • ROIs (ORSModel.ors.ROI) [count=[1, None]] [const] – ROIs to compute the distance map from
  • tIndex (int) – time index of the ROIs to use
Returns:

distanceMapDataset (ORSModel.ors.Channel) – dataset of the computed distance map

interfacemethod createVolumeThicknessFromROI(aROI, currentTime, IProgress=None)

Computes the volume thickness of a ROI

Parameters:
Returns:

volumeThicknessChannel (ORSModel.ors.Channel) – Volume thickness

createVolumeThicknessFromROIAndPublish(aROI)
interfacemethod cutFromData(listROIToAnalyze, dataset)

Writes zeros in a dataset at the location of the ROI.

Parameters:
interfacemethod dilate(aROIToModify=None, kernelShape='square', kernelDim=3, kernelSize=3, dataset=None, rangeMin=0.0, rangeMax=0.0, repetitionCount=1, currentTime=0, axis=2, sliceIndicesExpr='', listROIToModify=None, sliceIndices=None)

Applies a morphological dilation operation on a ROI or a MultiROI.

Changed in version -: Argument listToModify (list) is replaced by aROIToModify (single instance) - Argument sliceIndices (Array) is replaced by sliceIndicesExpr (string expression)

Parameters:
  • aROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to modify
  • kernelShape (str) – Kernel shape (‘square’, ‘circle’ or ‘cross’)
  • kernelDim (int) – Kernel dimension (2 or 3)
  • kernelSize (int) – Kernel size (odd number between 3 and 33)
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • repetitionCount (int) – Count of repetition to be applied
  • currentTime (int) – Time step of the ROI
  • axis (int) – axis of operation if 2D kernel 0=X, 1=Y, 2=Z of the StructuredGrid
  • sliceIndicesExpr (str) – slices to work on in the given axis (string expression, 1-based, e.g. ‘1,2,3-5,4-20/3’)
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI or MultiROI to modify
  • sliceIndices (ORSModel.ors.SequenceableCollection) [deprecated: use sliceIndicesExpr instead] – collection of slices to work on in the given axis
interfacemethod erode(aROIToModify=None, kernelShape='square', kernelDim=3, kernelSize=3, dataset=None, rangeMin=0.0, rangeMax=0.0, repetitionCount=1, currentTime=0, axis=2, sliceIndicesExpr='', listROIToModify=None, sliceIndices=None)

Applies a morphological erosion operation on a ROI or a MultiROI.

Changed in version -: Argument listToModify (list) is replaced by aROIToModify (single instance) - Argument sliceIndices (Array) is replaced by sliceIndicesExpr (string expression)

Parameters:
  • aROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to modify
  • kernelShape (str) – Kernel shape (‘square’, ‘circle’ or ‘cross’)
  • kernelDim (int) – Kernel dimension (2 or 3)
  • kernelSize (int) – Kernel size (odd number between 3 and 33)
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • repetitionCount (int) – Count of repetition to be applied
  • currentTime (int) – Time step of the ROI
  • axis (int) – axis of operation if 2D kernel 0=X, 1=Y, 2=Z of the StructuredGrid
  • sliceIndicesExpr (str) – slices to work on in the given axis (string expression, 1-based, e.g. ‘1,2,3-5,4-20/3’)
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI or MultiROI to modify
  • sliceIndices (ORSModel.ors.SequenceableCollection) [deprecated: use sliceIndicesExpr instead] – collection of slices to work on in the given axis
interfacemethod exportROIAsALaplacianSmoothedAndSampledThicknessMesh(aROI, samplingX=1, samplingY=1, samplingZ=1, currentTime=0, nbOfIterations=1)

Generates a smoothed thickness mesh from a ROI

The smoothing algorithm is a Laplacian.

No mesh is generated if the input ROI is empty.

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – the ROI to get a thickness mesh representation from
  • samplingX (int) – sampling in X
  • samplingY (int) – sampling in Y
  • samplingZ (int) – sampling in Z
  • currentTime (int) – time index in the ROI
  • nbOfIterations (int) – smoothing iterations count
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated thickness mesh
  • isThicknessMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
interfacemethod exportROIAsAWindowedSmoothedAndSampledThicknessMesh(aROI, samplingX=1, samplingY=1, samplingZ=1, currentTime=0, nbOfIterations=2, isBoundarySmoothedOn=False, isFeatureEdgeOn=False, featureAngle=0.5, passBandFactor=0.001)

Generates a smoothed thickness mesh from a ROI

The smoothing algorithm is vtkWindowedSynFilter

No mesh is generated if the input ROI is empty.

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – the ROI to get a thickness mesh representation from
  • samplingX (int) – sampling in X
  • samplingY (int) – sampling in Y
  • samplingZ (int) – sampling in Z
  • currentTime (int) – time index in the ROI
  • nbOfIterations (int) – smoothing iterations count
  • isBoundarySmoothedOn (bool) – smoothing iterations count
  • isFeatureEdgeOn (bool) – smoothing iterations count
  • featureAngle (float) – smoothing iterations count
  • passBandFactor (float) – smoothing iterations count
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated thickness mesh
  • isThicknessMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
  • errorCode (int) – an error code
interfacemethod exportROIAsCubicMesh(aROI, currentTime)

Generates a cubic mesh from a ROI or a MultiROI

No mesh is generated if the input ROI or MultiROI is empty.

Parameters:
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated cubic mesh
  • isCubicMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
interfacemethod exportROIAsSampledMesh(aROI, samplingX, samplingY, samplingZ, currentTime=0)

Generates a sampled mesh from a ROI or a MultiROI

No mesh is generated if the input ROI or MultiROI is empty.

Parameters:
  • aROI (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [const] – the ROI or MultiROI to get a sampled mesh representation from
  • samplingX (int) – sampling in X
  • samplingY (int) – sampling in Y
  • samplingZ (int) – sampling in Z
  • currentTime (int) – time index in the ROI
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated sampled mesh
  • isSampledMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
interfacemethod exportROIAsThicknessMesh(aROI, currentTime=0)

Generates a thickness mesh from a ROI

No mesh is generated if the input ROI is empty.

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – the ROI to get a thickness mesh representation from
  • currentTime (int) – time index in the ROI
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated thickness mesh
  • isThicknessMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
interfacemethod exportROIAsThicknessMeshSample(aROI, xSampling, ySampling, zSampling, currentTime, smoothingIterationsCount=0)

Generates a thickness mesh from a ROI

No mesh is generated if the input ROI is empty.

Parameters:
  • aROI (ORSModel.ors.ROI) [const] – the ROI to get a thickness mesh representation from
  • xSampling (int) – sampling in X
  • ySampling (int) – sampling in Y
  • zSampling (int) – sampling in Z
  • currentTime (int) – time index in the ROI
  • smoothingIterationsCount (int) – smoothing iterations count
Returns:
  • mesh (ORSModel.ors.Mesh) – the generated thickness mesh
  • isThicknessMeshComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
exportROIsAsCubicMesh(listROIToExport, currentTime)
exportROIsAsSampledMesh(listROIToExport, samplingX, samplingY, samplingZ, currentTime=0)
exportROIsAsSampledThicknessMesh(listROIToExport, samplingX, samplingY, samplingZ, currentTime=0, smoothingIterationsCount=0)
exportROIsAsSmoothedSampledThicknessMesh(listROIToExport, samplingX=1, samplingY=1, samplingZ=1, currentTime=0, smoothingMethod='Laplacian Smoothing', nbOfIterations=1, isBoundarySmoothedOn=False, isFeatureEdgeOn=False, featureAngle=0.5, passBandFactor=0.001)
exportROIsAsSmoothedThicknessMesh(listROIToExport, currentTime=0, smoothingMethod='Laplacian Smoothing', nbOfIterations=1, isBoundarySmoothedOn=False, isFeatureEdgeOn=False, featureAngle=0.5, passBandFactor=0.001)
exportROIsAsThicknessMesh(listROIToExport, currentTime=0)
interfacemethod fillInnerAreas(aROIToModify=None, fillInnerAreasMode='3D', currentTime=0, listToModify=None)

Applies a filling of inner areas on a ROI or a MultiROI.

Changed in version -: Argument listToModify (list) is replaced by aROIToModify (single instance) - Progress should be managed externally

Parameters:
  • aROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to modify
  • fillInnerAreasMode (str) – Filling mode (‘3D’, ‘2D (X)’, ‘2D (Y)’ or ‘2D (Z)’)
  • currentTime (int) – Time step of the operation
  • listToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI or MultiROI to modify
classmethod get2DWindowLevel2Opacity(channel)

Gets the opacity of the range.

Parameters:channel (ORSModel.ors.Channel) – associated channel to the visual
Returns:rangeOpacity (float) – range opacity
getCurrentChannel()
getCurrentChannelGUID()
getCurrentViewAndDatasetPresenter()
getCurrentVisualChannel()
getDefaultFillInnerAreasMode()
getDefaultMorphologicalOperationsDimensionMode()
getExcludedObjectsGUIDSList()
classmethod getListAvailableKernelDim()
classmethod getListAvailableKernelSize()
classmethod getMainFormClass()

Gets the class of the main form

Returns:output
getMinMaxCurrentChannel()

Gets the minimal and maximal value of the current range channel.

Returns:
  • minValue (float) – minimal value of the current range channel
  • maxValue (float) – maximal value of the current range channel
interfacemethod getOtsuThreshold(dataset, currentTime, mask)

Get the otsu threshold of a dataset

Parameters:
Returns:

otsuThreshold (float) – the threshold value

getPreviousChannel()
getPreviousVisualChannel()
interfacemethod getRange(channel)

Gets the range of a visual associated to a channel.

The returned values have no physical units.

Deprecated since version 4.5: Use getRangeInLayoutOfView.

Parameters:

channel (ORSModel.ors.Channel) – associated channel to the visual

Returns:
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
interfacemethod getRangeInLayoutOfView(channel, viewName)

Gets the range of a visual associated to a channel.

The returned values have no physical units.

Parameters:
  • channel (ORSModel.ors.Channel) [const] – associated channel to the visual
  • viewName (str) – a genealogical name
Returns:
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
getRangeInPhysicalUnitsOfCurrentVisual()

Gets the range (window level 2) of a visual in physical units and the slope and offset of the associated channel.

Returns:
  • rangeMinInPhysicalUnits (float) – minimal value of the range in physical units
  • rangeMaxInPhysicalUnits (float) – maximal value of the range in physical units
  • slope (float) – slope value in the channel
  • offset (float) – offset value in the channel
getRangeNoPhysicalUnitsOfCurrentVisual()

Gets the range (window level 2) of a visual without the physical units.

Returns:
  • rangeMinNoPhysicalUnits (float) – minimal value of the range without physical units
  • rangeMaxNoPhysicalUnits (float) – maximal value of the range without physical units
getRangeOnCurrentDataset()
getRangeOpacity()
getShowButtonAddRangeToNew()
getShowButtonClear()
getShowButtonCreateEmptyROI()
getShowButtonInvert()
getShowFillInnerAreasMode()
getShowGroupBoxCreate()
getShowGroupBoxExport()
getShowGroupBoxOnChannel()
getShowMorphologicalOperationsDimension()
getShowMorphologicalOperationsRange()
getShowOperationsClippedRegion()
getShowOperationsInterpolate()
getState()

This method is called when saving a plugin instance in a session to obtain the information required to set up the plugin at the loading of the session.

The plugin needs to be savable (see ORSServiceClass.OrsPlugin.abstractPlugin.AbstractPlugin.savable).

Return:a string of information that will be sent back to the setState method
Rtype:str

Note

The usage of the character " is not permitted, unless escaped.

getUseRange()
interfacemethod interpolateROI(listROIToInterpolate, axis=0, rbf=False, timeStep=0)

Adds each voxel where the intensity in the dataset is included in the given range.

Parameters:
  • listROIToInterpolate (ORSModel.ors.ROI) [count=[1, None]] – ROI to modify
  • axis (int) – axis of interpolation
  • rbf (bool) – use rbf interpolation
  • timeStep (int) – timeIndex
classmethod interpolateROIInBackground(listROIToInterpolate, axis=0, rbf=False, timeStep=0)
invertRangeAction()
invertSelectedRange()
interfacemethod invertWL2InView(channel, rangeMin, rangeMax, viewName)

Invert the values of the selected range.

Parameters:
  • channel (ORSModel.ors.Channel) – associated channel to the visual
  • rangeMin (float) – minimum range of channel
  • rangeMax (float) – maximum range of channel
  • viewName (str) – a genealogical name
isChannelShouldBeRangeOption(aChannel)
isCurrentChannelInFloatingRepresentation()

Get the floating representation status of the current range channel.

Returns:isFloatingRepresentation (bool) – True if the channel has a float or double data type.
keepAlive = False
multiple = False
interfacemethod open(aROIToModify=None, kernelShape='square', kernelDim=3, kernelSize=3, dataset=None, rangeMin=0.0, rangeMax=0.0, repetitionCount=1, currentTime=0, axis=2, sliceIndicesExpr='', listROIToModify=None, sliceIndices=None)

Applies a morphological opening operation on a ROI or a MultiROI.

Changed in version -: Argument listToModify (list) is replaced by aROIToModify (single instance) - Argument sliceIndices (Array) is replaced by sliceIndicesExpr (string expression)

Parameters:
  • aROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to modify
  • kernelShape (str) – Kernel shape (‘square’, ‘circle’ or ‘cross’)
  • kernelDim (int) – Kernel dimension (2 or 3)
  • kernelSize (int) – Kernel size (odd number between 3 and 33)
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • repetitionCount (int) – Count of repetition to be applied
  • currentTime (int) – Time step of the ROI
  • axis (int) – axis of operation if 2D kernel 0=X, 1=Y, 2=Z of the StructuredGrid
  • sliceIndicesExpr (str) – slices to work on in the given axis (string expression, 1-based, e.g. ‘1,2,3-5,4-20/3’)
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI or MultiROI to modify
  • sliceIndices (ORSModel.ors.SequenceableCollection) [deprecated: use sliceIndicesExpr instead] – collection of slices to work on in the given axis
orsCurrentDisplayChange()
orsCurrentlyEditedObjects()
orsSelectedObjectsChange()
interfacemethod overwriteData(listROIToAnalyze, dataset, overwriteValue)

Writes a given value in a dataset at the location of the ROI.

Parameters:
classmethod propagateDirtyAfterROIModification(listROIModified)
classmethod refreshViewsAfterROIModification(listROIModified)
static removeEmptyLabels(aMultiROI)
interfacemethod removeRange(listROIToModify, dataset, rangeMin, rangeMax, timeStep=0)

Removes each voxel where the intensity in the dataset is included in the given range.

Parameters:
  • listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] – ROI or MultiROI to modify
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • timeStep (int) – timeIndex
interfacemethod removeRangeInterpolated(listROIToModify, dataset, rangeMin, rangeMax, cubicInterpolation, timeStep=0)

Removes each voxel where the intensity in the dataset is included in the given range.

Parameters:
  • listROIToModify (ORSModel.ors.ROI) [count=[1, None]] – ROI to modify
  • dataset (ORSModel.ors.Channel) [const] – Dataset for range comparison
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • cubicInterpolation (bool) – use cubic interpolation
  • timeStep (int) – timeIndex
classmethod resetWL2FromLayoutGenealogicalName(aSceneLayoutName, dataset)
classmethod resetWL2InView(datasetPresenter, view)
interfacemethod reverse(aROIToModify=None, currentTime=0, listROIToModify=None)

Reverse the inclusion state of each voxel.

Changed in version -: Argument listROIToModify (list) is replaced by aROIToModify (single instance)

Parameters:
  • aROIToModify (ORSModel.ors.ROI) – ROI to modify
  • currentTime (int) – Time step of the ROI
  • listROIToModify (ORSModel.ors.ROI) [count=[1, None]] [deprecated: use aROIToModify instead] – ROI to modify
savable = True
interfacemethod set2DWindowLevel2OpacityInView(channel, rangeOpacity, viewName)

Set the opacity of the range.

Parameters:
  • channel (ORSModel.ors.Channel) – associated channel to the visual
  • rangeOpacity (float) – range opacity
  • viewName (str) – a genealogical name
setCurrentChannel(obj)
setCurrentChannelGUID(guid)
setDefaultFillInnerAreasMode(defaultMode)
setDefaultMorphologicalOperationsDimensionMode(defaultMode)
setExcludedObjectsGUIDSList(guidList)
setLowerOtsuRangeOnCurrentDataset()
interfacemethod setRangeAsLowerOtsu(dataset, viewName, iTIndex)

Sets the range of the second leveling of a visual associated to a dataset to lower Otsu value.

Parameters:
  • dataset (ORSModel.ors.Channel) – associated dataset
  • viewName (str) – a genealogical name
  • iTIndex (int) – current time step
interfacemethod setRangeAsUpperOtsu(dataset, viewName, iTIndex)

Sets the range of the second leveling of a visual associated to a dataset to upper Otsu.

Parameters:
  • dataset (ORSModel.ors.Channel) – associated dataset
  • viewName (str) – a genealogical name
  • iTIndex (int) – current time step
setRangeOpacity(rangeOpacity, logging=True)
setSecondLevelingStatusOnCurrentVisual(isEnabled)
setSecondLevelingStatusOnVisualChange()
setShowButtonAddRangeToNew(isVisible)
setShowButtonClear(isVisible)
setShowButtonCreateEmptyROI(isVisible)
setShowButtonInvert(isVisible)
setShowFillInnerAreasMode(isVisible)
setShowGroupBoxCreate(isVisible)
setShowGroupBoxExport(isVisible)
setShowGroupBoxOnChannel(isVisible)
setShowMorphologicalOperationsDimension(isVisible)
setShowMorphologicalOperationsRange(isVisible)
setShowOperationsClippedRegion(isVisible)
setShowOperationsInterpolate(isVisible)
setState(state)

This method is called to set up the plugin when loading a session.

Note

This method is called only if the string returned by ORSServiceClass.OrsPlugin.orsPlugin.OrsPlugin.getState() at the saving of the session was not empty.

Parameters:state (str) – string of information as provided by the getState during the saving of the session
setUpperOtsuRangeOnCurrentDataset()
classmethod setWL2InView(datasetPresenter, view, min, max, logging=False)
interfacemethod skeletonize(listROIToModify)

Applies a skeletonize operation.

Deprecated since version 4.0: Use skeletonizeROI.

Parameters:listROIToModify (ORSModel.ors.ROI) [count=[1, None]] – ROI to modify
interfacemethod skeletonizeROI(aROI, IProgress=None)

Applies a skeletonize operation.

Parameters:
Returns:

skeletonROI (ORSModel.ors.ROI) – the skeletonization of the ROI

skeletonizeROIAndPublish(aROI)
interfacemethod skeletonizeROIAsGraph(aROI, IProgress=None)

Applies a skeletonize operation and output the result as a graph.

Parameters:
Returns:

skeletonGraph (ORSModel.ors.Graph) – the skeletonization of the ROI as a Graph

skeletonizeROIAsGraphAndPublish(aROI)
interfacemethod smooth(ROIToModify, kernelShape, kernelDim, kernelSize, allowNewVoxels=True, dataset=None, rangeMin=0.0, rangeMax=0.0, currentTime=0, IProgress=None, axis=2)

Applies a smoothing operation on a ROI or a MultiROI.

Parameters:
  • ROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) – ROI or MultiROI to smooth
  • kernelShape (str) – kernel shape (‘square’, ‘circle’ or ‘cross’)
  • kernelDim (int) – kernel dimension (2 or 3)
  • kernelSize (int) – kernel size (odd number between 3 and 33)
  • allowNewVoxels (bool) – if True, new voxels may be added by the smoothing operation; otherwise, the smoothing operation will only remove voxels.
  • dataset (ORSModel.ors.Channel) [const] – dataset for range comparison (if application should be restricted to a range)
  • rangeMin (float) – minimal value of the range
  • rangeMax (float) – maximal value of the range
  • currentTime (int) – time step of the ROI
  • IProgress (ORSModel.ors.Progress) – progress object
  • axis (int) – axis of operation if 2D kernel 0=X, 1=Y, 2=Z of the StructuredGrid
classmethod smoothMultipleROIs(listROIToModify, kernelShape, kernelDim, kernelSize, allowNewVoxels=True, dataset=None, rangeMin=0.0, rangeMax=0.0, currentTime=0, axis=2)
interfacemethod splitAtOtsu(ROIToAnalyze, dataset, currentTime=0, IProgress=None)

Creates the ROIs of the background and foreground obtained by the Otsu’s method. The values taken in the histogram are those where in the dataset at the location in the ROI.

Parameters:
Returns:
  • ROIBackground (ORSModel.ors.ROI) – the locations of the ROI to analyze where the dataset has the values lower than the Otsu threshold
  • ROIForeground (ORSModel.ors.ROI) – the locations of the ROI to analyze where the dataset has the values higher than the Otsu threshold
  • isComputationCancelled (bool) – flag to know if the computation has been cancelled by the user
classmethod splitAtOtsuAndPublish(listROIToAnalyze, dataset, currentTime=0)
toggleRange()
toggleRangeAction()
interfacemethod undo(listROIToModify)

Undo the last operation made on a ROI or MultiROI.

Parameters:listROIToModify (ORSModel.ors.ROI, ORSModel.ors.MultiROI) [count=[1, None]] – ROI to modify
updateHistogramDataOfCurrentChannel()

Updates or creates an histogram data model object for the current range channel.

Return:
updateVisualUsedForRange()