ROI¶
Inheritance diagram¶

Classes¶
ROI¶
- class ORSModel.ors.ROI(*args, **kwargs)¶
Bases:
StructuredGridA region of interest that can be used to highlight, extract, or modify portions of a dataset.
ROI (Region of Interest) provides functionality to manipulate and visualize specific portions of a dataset. Each ROI instance maintains its own:
Color properties
Opacity settings
Visual state
Selection state
Note
There is a system limitation of 255 simultaneously visible ROIs.
See also
VisualChannel
See also
MeshFacesROI
- adaptToChannel(self, pChannel: ORSModel.ors.Channel, x: int, y: int, z: int, pTSourceOffset: int, pTRange: int)¶
Note
The supplied X/Y/Z offset is the offset of the given channel relatively to the originating channel (the one the ROI is based upon), in voxels.
- Parameters:
pChannel (ORSModel.ors.Channel) – a reference channel (an Channel)
x (int) – an X offset (an short)
y (int) – an Y offset (an short)
z (int) – a Z offset (an short)
pTSourceOffset (int) – the T start position of the ROI (a uint32_t)
pTRange (int) – the number of Ts to process (a uint32_t)
- addCircleArea(self, posX: float, posY: float, posZ: float, normalX: float, normalY: float, normalZ: float, radius: float, tStep: int)¶
Add circle area toROI.
- Parameters:
posX (float) –
posY (float) –
posZ (float) –
normalX (float) –
normalY (float) –
normalZ (float) –
radius (float) –
tStep (int) –
- addCircularPath2D(self, path: ORSModel.ors.VisualPath, box: ORSModel.ors.Box, plane: ORSModel.ors.Plane, includeAllTouchingVoxel: bool, inverse: bool, bRemove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Add a 2D polygon from aVisualPath to the ROI.
- Parameters:
path (ORSModel.ors.VisualPath) –
box (ORSModel.ors.Box) –
plane (ORSModel.ors.Plane) –
includeAllTouchingVoxel (bool) –
inverse (bool) –
bRemove (bool) –
IProgress (ORSModel.ors.Progress) –
tStep (int) –
- addCircularPath3D(self, path: ORSModel.ors.VisualPath, box: ORSModel.ors.Box, plane: ORSModel.ors.Plane, includeAllTouchingVoxel: bool, inverse: bool, bRemove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Add a 3D polygon from aVisualPath to the ROI.
- Parameters:
path (ORSModel.ors.VisualPath) –
box (ORSModel.ors.Box) –
plane (ORSModel.ors.Plane) –
includeAllTouchingVoxel (bool) –
inverse (bool) –
bRemove (bool) –
IProgress (ORSModel.ors.Progress) –
tStep (int) –
- addEllipse2D(self, plane: ORSModel.ors.Rectangle, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Adds a 2D ellipse to theROI.
- Parameters:
plane (ORSModel.ors.Rectangle) – the bounded plane on which the ellipse lies (an Rectangle)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
tStep (int) – time step for which to add the ellipse (a uint32_t)
- addEllipse3D(self, plane: ORSModel.ors.Rectangle, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Adds a 2D ellipse to theROI.
- Parameters:
plane (ORSModel.ors.Rectangle) – the bounded plane on which the ellipse lies (an Rectangle)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
tStep (int) – time step for which to add the ellipse (a uint32_t)
- addLine(self, pLine: ORSModel.ors.Line, tStep: int)¶
Adds a line to theROI.
Note
Note that the range values are inclusive.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
pLine (ORSModel.ors.Line) – None
tStep (int) – step
- addLineIfInRange(self, pLine: ORSModel.ors.Line, tStep: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Note that the range values are inclusive.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
pLine (ORSModel.ors.Line) – the line to add (an Line)
tStep (int) – the time step (a uint32_t)
lowerThreshold (float) – the lower range value (a double)
upperThreshold (float) – the upper range value (a double)
pChannel (ORSModel.ors.Channel) – a channel of the same shape as the receiver (an Channel)
- addLineSegment(self, lineSegment: ORSModel.ors.LineSegment, tStep: int)¶
Adds a line segment to theROI.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
lineSegment (ORSModel.ors.LineSegment) – the line to remove (an Line)
tStep (int) – the time step (a uint32_t)
- addLineSegmentIfInRange(self, lineSegment: ORSModel.ors.LineSegment, tStep: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Note that the range values are inclusive.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
lineSegment (ORSModel.ors.LineSegment) – the line segment to add (an LineSegment)
tStep (int) – the time step (a uint32_t)
lowerThreshold (float) – the lower range value (a double)
upperThreshold (float) – the upper range value (a double)
pChannel (ORSModel.ors.Channel) – a channel of the same shape as the receiver (an Channel)
- addPathContour(self, aPath: ORSModel.ors.VisualPath, aBox: ORSModel.ors.Box, tStep: int)¶
Add aVisualPath contour to the ROI.
- Parameters:
aPath (ORSModel.ors.VisualPath) –
aBox (ORSModel.ors.Box) –
tStep (int) –
- addPolygon2D(self, ptsList: float, ptsListSize: int, plane: ORSModel.ors.Plane, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Note
This method adds a 3D polygon, not a polyhedron. The points must lie on the same plane. * The polygon is fill in the plane normal direction
- Parameters:
ptsList (float) – the points list (a double array)
ptsListSize (int) – the size of the point list (an int)
plane (ORSModel.ors.Plane) – the plane on which the points lie (a Plane)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
tStep (int) – the T index (a uint32_t)
- addPolygon3D(self, ptsList: float, ptsListSize: int, plane: ORSModel.ors.Plane, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Note
This method adds a 3D polygon, not a polyhedron. The points must lie on the same plane. * The polygon is fill in the plane normal direction
- Parameters:
ptsList (float) – the points list (a double array)
ptsListSize (int) – the size of the point list (an int)
plane (ORSModel.ors.Plane) – the plane on which the points lie (a Plane)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (a Progress)
tStep (int) – the T index (a uint32_t)
- addROI(self, aROI: ORSModel.ors.ROI)¶
Note
The ROI to add will be projected correctly if it doesn’t share the same characteristics.
See also
MergeWithROI()
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to add (an ROI)
- addROIAtTimeStepAtTOffset(self, aROI: ORSModel.ors.ROI, timeIndex: int, pTOffset: int)¶
Note
The ROI to add will be projected correctly if it doesn’t share the same characteristics.
See also
AddROI(), MergeWithROI()
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to add (an ROI)
timeIndex (int) –
pTOffset (int) –
- addRectangle2D(self, plane: ORSModel.ors.Rectangle, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Note
This method adds a 3D rectangle. The points must lie on the same plane. The polygon is filled in the plane normal direction.
- Parameters:
plane (ORSModel.ors.Rectangle) – the bounded plane on which the rectangle lies (an Rectangle)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
tStep (int) – time step for which to add the rectangle (a uint32_t)
- addRectangle3D(self, plane: ORSModel.ors.Rectangle, includeAllTouchingVoxel: bool, inverse: bool, remove: bool, IProgress: ORSModel.ors.Progress, tStep: int)¶
Note
This method adds a 3D rectangle. The points must lie on the same plane. The polygon is filled in the plane normal direction.
- Parameters:
plane (ORSModel.ors.Rectangle) – the bounded plane on which the rectangle lies (an Rectangle)
includeAllTouchingVoxel (bool) – true to include all touching voxels, false to only include voxels where center is included
inverse (bool) – true to add the inverse of the polygon
remove (bool) – true to remove the polygon, false to add it
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
tStep (int) – time step for which to add the rectangle (a uint32_t)
- addToVolumeROIAtPosition(self, xmin: int, ymin: int, zmin: int, tmin: int, inputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Extracts a subset from indices.
- Parameters:
xmin (int) – the minimal X indicies of the subset (a uint32_t)
ymin (int) – the maximal Y indicies of the subset (a uint32_t)
zmin (int) – the minimal Z indicies of the subset (a uint32_t)
tmin (int) – the time step start (a uint32_t)
inputROI (ORSModel.ors.ROI) – the subset ROI
- Returns:
output (ORSModel.ors.ROI) –
- addVoxel(self, index: int)¶
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
Note
If many voxels need to be added, it is better to use the protocols that accept a list of voxels.
See also
addVoxelList(),
ORSModel.ors.ROI.addVoxels(),ORSModel.ors.ROI.removeVoxel(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels()- Parameters:
index (int) –
- addVoxelFromWorldCoordinates(self, pVect: ORSModel.ors.Vector3, timeIndex: int)¶
Adds point (supplied in the form of world vector) to theROI.
- Parameters:
pVect (ORSModel.ors.Vector3) – pVect
timeIndex (int) – the T index (a uint32_t)
- addVoxelIndicesToROIIfInRange(self, indices: int, indicesSize: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Only those indicies having values within the supplied range are added to the ROI.
- Parameters:
indices (int) – an array of indices (a int64_t*)
indicesSize (int) – the number of indices in the array (a int64_t)
lowerThreshold (float) – the lower range (a double)
upperThreshold (float) – the upper range (a double)
pChannel (ORSModel.ors.Channel) – the channel to check against (an Channel)
- addVoxelIntersectingBoundedPlane(self, aPlane: ORSModel.ors.Rectangle, tStep: int)¶
Add voxel intersecting bounded plane.
- Parameters:
aPlane (ORSModel.ors.Rectangle) –
tStep (int) –
- addVoxelInterval(self, iStart: int, iEnd: int)¶
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(), addVoxelList(),ORSModel.ors.ROI.removeVoxel(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels(),ORSModel.ors.ROI.removeVoxelInterval()- Parameters:
iStart (int) –
iEnd (int) –
- addVoxelIntervals(self, pIntervalArray: int, pNumberOfIntervals: int)¶
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(), addVoxelList(),ORSModel.ors.ROI.removeVoxel(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels(),ORSModel.ors.ROI.removeVoxelInterval()- Parameters:
pIntervalArray (int) –
pNumberOfIntervals (int) –
- addVoxelIntervalsFromArray(self, pIntervals: ORSModel.ors.ArrayLONGLONG)¶
- Parameters:
pIntervals (ORSModel.ors.ArrayLONGLONG) –
- addVoxels(self, indices: int, indicesSize: int)¶
Note
The indicies are linear within the channel data.
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
Note
If the array is sorted, addition will perform quicker.
See also
ORSModel.ors.ROI.addVoxel(), addVoxelList(),ORSModel.ors.ROI.removeVoxel(),ORSModel.ors.ROI.removeVoxels()- Parameters:
indices (int) – the number of indicies in the array (a int64_t)
indicesSize (int) –
ROI.addVoxels(self, indices: ORSModel.ors.ArrayLONGLONG)
Adds a list of voxels.
- Parameters:
indices (ORSModel.ors.ArrayLONGLONG) – an array of indices
- addVoxelsFromWorldCoordinates(self, worldPositionArray: ORSModel.ors.ArrayDouble, timeIndex: int)¶
Adds indices (supplied in the form of world coordinates) to theROI.
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) – an array of world position triplets (an ArrayDouble)
timeIndex (int) – the T index (a uint32_t)
- addVoxelsFromWorldCoordinatesIfInRange(self, worldPositionArray: ORSModel.ors.ArrayDouble, timeIndex: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Very similar to addVoxelsFromWorldCoordinates(), but only those indicies having values within the supplied range are added to the ROI.
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) – an array of world position triplets (an ArrayDouble)
timeIndex (int) – the T index (a uint32_t)
lowerThreshold (float) – the lower range (a double)
upperThreshold (float) – the upper range (a double)
pChannel (ORSModel.ors.Channel) – the channel to check against (an Channel)
- clear(self)¶
Empties all voxel data from the region of interest.
- clearTimeStepRange(self, pTimeStepStart: int, pTimeStepEnd: int)¶
Empties a time step range of the region of interest.
- Parameters:
pTimeStepStart (int) – the time step start (a uint32_t)
pTimeStepEnd (int) – the time step end (a uint32_t)
- closeHoles(threshold, progress)¶
Creates a ROI obtained from the closing operation of the input ROI
- Parameters:
threshold (float) – distance threshold
progress (ORSModel.ors.Progress) – progress object
- Returns:
closedROI (ORSModel.ors.ROI) – a new ROI
- computeAnisotropyAtLocationFromMIL(self, iTIndex: int, centerPositionRCS: ORSModel.ors.Vector3, lengthToAnalyze: float, samplingDistance: float, countOrientations: int)¶
Note
to call this method from Python, use this syntax: eigenvectorMax = Vector3(); eigenvectorMid = Vector3(); eigenvectorMin = Vector3(); fabricTensor = Matrix4x4(); arrayOrientedMeanInterceptLengths = ArrayDouble(); anisotropy, eigenvalueMax, eigenvalueMid, eigenvalueMin = aROI.computeAnisotropyAtLocationFromMIL(0, Vector3(0.1, 1.1, 2.1), 0.1, 0.001, 5000, eigenvectorMax, eigenvectorMid, eigenvectorMin, fabricTensor, arrayOrientedMeanInterceptLengths)
- Parameters:
iTIndex (int) – the T index (a uint32_t)
centerPositionRCS (ORSModel.ors.Vector3) – the location of the star (a Vector3)
lengthToAnalyze (float) – the distance to analyze per orientation (a double)
samplingDistance (float) – the distance between each sample on the line of analysis (a double)
countOrientations (int) – the count of lines to analyze (a uint32_t)
- Returns:
anisotropy (float) – the anisotropy (a double*)
eigenvectorMax (ORSModel.ors.Vector3) – the normalized eigenvector associated to the longest axis of the ellipsoid (a Vector3)
eigenvalueMax (float) – the eigenvalue associated to the longest axis of the ellipsoid (a double*)
eigenvectorMid (ORSModel.ors.Vector3) – the normalized eigenvector associated to the medium axis of the ellipsoid (a Vector3)
eigenvalueMid (float) – the eigenvalue associated to the medium axis of the ellipsoid (a double*)
eigenvectorMin (ORSModel.ors.Vector3) – the normalized eigenvector associated to the smallest axis of the ellipsoid (a Vector3)
eigenvalueMin (float) – the eigenvalue associated to the smallest axis of the ellipsoid (a double*)
fabricTensor (ORSModel.ors.Matrix4x4) – the fabric tensor used to compute the eigenvectors and eigenvalues (a Matrix4x4)
arrayOrientedMeanInterceptLengths (ORSModel.ors.ArrayDouble) – the array of the oriented mean intercept lengths (X, Y, Z for each orientation) used to compute the fabric tensor (an ArrayDouble)
- computeAnisotropyFromMIL(self, minX: int, minY: int, minZ: int, maxX: int, maxY: int, maxZ: int, iTIndex: int, lengthToAnalyze: float, samplingDistance: float, countOrientations: int, minStarCount: int, maxStarCount: int, tolerance: float, IProgress: ORSModel.ors.Progress) float¶
- Parameters:
minX (int) – the minimum X range (a uint32_t)
minY (int) – the minimum Y range (a uint32_t)
minZ (int) – the minimum Z range (a uint32_t)
maxX (int) – the maximum X range (a uint32_t)
maxY (int) – the maximum Y range (a uint32_t)
maxZ (int) – the maximum Z range (a uint32_t)
iTIndex (int) – the T index (a uint32_t)
lengthToAnalyze (float) – the distance to analyze per orientation per star (a double)
samplingDistance (float) – the distance between each sample on the line of analysis (a double)
countOrientations (int) – the count of lines to analyze per star (a uint32_t)
minStarCount (int) – the minimal count of star to iterate on (a uint32_t)
maxStarCount (int) – the maximal count of star to iterate on (a uint32_t)
tolerance (float) – the smallest variance of anisotropy to reach before ending the iterations (a double)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (float) – the anisotropy value (a double)
- computeAnisotropyFromSVD(self, minX: int, minY: int, minZ: int, maxX: int, maxY: int, maxZ: int, iTIndex: int, lengthToAnalyze: float, samplingDistance: float, countOrientations: int, minStarCount: int, maxStarCount: int, tolerance: float, IProgress: ORSModel.ors.Progress) float¶
- Parameters:
minX (int) – the minimum X range (a uint32_t)
minY (int) – the minimum Y range (a uint32_t)
minZ (int) – the minimum Z range (a uint32_t)
maxX (int) – the maximum X range (a uint32_t)
maxY (int) – the maximum Y range (a uint32_t)
maxZ (int) – the maximum Z range (a uint32_t)
iTIndex (int) – the T index (a uint32_t)
lengthToAnalyze (float) – the distance to analyze per orientation per star (a double)
samplingDistance (float) – the distance between each sample on the line of analysis (a double)
countOrientations (int) – the count of lines to analyze per star (a uint32_t)
minStarCount (int) – the minimal count of star to iterate on (a uint32_t)
maxStarCount (int) – the maximal count of star to iterate on (a uint32_t)
tolerance (float) – the smallest variance of anisotropy to reach before ending the iterations (a double)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (float) – the anisotropy value (a double)
- computeAnisotropyMappingFromMIL(self, iTIndex: int, channelToFill: ORSModel.ors.Channel, vectorFieldEigenvectorMax: ORSModel.ors.VectorField, lengthToAnalyze: float, samplingDistance: float, countOrientations: int, IProgress: ORSModel.ors.Progress) bool¶
Note
The vector field object will be cleared before being filled with the current information.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
channelToFill (ORSModel.ors.Channel) – the channel to fill at each voxel location (an Channel)
vectorFieldEigenvectorMax (ORSModel.ors.VectorField) – the vector field (eigenvector associated to the highest eigenvalue) to fill at each voxel location of the given channel (a VectorField)
lengthToAnalyze (float) – the distance to analyze per orientation per star (a double)
samplingDistance (float) – the distance between each sample on the line of analysis (a double)
countOrientations (int) – the count of lines to analyze per star (a uint32_t)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (bool) – true if the computation was completed successfully, false otherwise
- computeAnisotropyMappingFromSurfaceNormals(self, iTIndex: int, channelToFill: ORSModel.ors.Channel, vectorFieldEigenvectorMax: ORSModel.ors.VectorField, channelToFillNormOfGradient: ORSModel.ors.Channel, channelToFillDivergence: ORSModel.ors.Channel, vectorFieldCurl: ORSModel.ors.VectorField, channelToFillNormOfCurl: ORSModel.ors.Channel, radiusOfInfluence: float, useProjectionBasedAnisotropy: bool, meshSmoothingRepetitions: int, IProgress: ORSModel.ors.Progress) bool¶
Note
The vector field object will be cleared before being filled with the current information.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
channelToFill (ORSModel.ors.Channel) – the channel (anisotropy) to fill at each voxel location (a Channel)
vectorFieldEigenvectorMax (ORSModel.ors.VectorField) – the vector field (eigenvector associated to the highest eigenvalue) to fill at each voxel location of the given channel (a VectorField)
channelToFillNormOfGradient (ORSModel.ors.Channel) – the channel (norm of the gradient of the orientation) to fill at each voxel location (a Channel)
channelToFillDivergence (ORSModel.ors.Channel) – the channel (divergence of the orientation) to fill at each voxel location (a Channel)
vectorFieldCurl (ORSModel.ors.VectorField) – the vector field (curl of the orientation) to fill at each voxel location of the given channel (a VectorField)
channelToFillNormOfCurl (ORSModel.ors.Channel) – the channel (norm of the curl of the orientation) to fill at each voxel location (a Channel)
radiusOfInfluence (float) – distance from the analysis point to the last considered anisotropy element (a double)
useProjectionBasedAnisotropy (bool) – anisotropy computation method. If true, the projection based method is used; if false, the eigenvalues from the tensor of inertia are taken (a bool)
meshSmoothingRepetitions (int) – the number of times the mesh obtained from the ROI should be smoothed before computing the anisotropy (an uint16_t)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (bool) – true if the computation was completed successfully, false otherwise
- computeDenseGraph(self, IProgress: ORSModel.ors.Progress) ORSModel.ors.Graph¶
Computes the graph of theROI’s connectivity.
Note
The receiver ROI should already be skeletonized. The receiver should be a proper skeleton without any surface
- Parameters:
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
- Returns:
output (ORSModel.ors.Graph) – graph of the ROI’s connectivity
- computeGraph(self, IProgress: ORSModel.ors.Progress) ORSModel.ors.Graph¶
Computes the graph of theROI’s connectivity.
Note
The receiver ROI should already be skeletonized. The receiver should be a proper skeleton without any surface
- Parameters:
IProgress (ORSModel.ors.Progress) – a progress object (an Progress)
- Returns:
output (ORSModel.ors.Graph) – graph of the ROI’s connectivity
- computeVolumeFractionMapping(self, iTIndex: int, channelToFill: ORSModel.ors.Channel, radius: float, IProgress: ORSModel.ors.Progress) bool¶
Computes the volume fraction mapping of aROI at the specified locations.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
channelToFill (ORSModel.ors.Channel) – the channel to fill at each voxel location (an Channel)
radius (float) – distance from the analysis point to the last considered ROI element (a double)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (bool) – true if the computation was completed successfully, false otherwise
- computeVoxelBasedDenseGraph(self, IProgress: ORSModel.ors.Progress) ORSModel.ors.Graph¶
- Parameters:
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.Graph) –
- convertToChannel(value=255)¶
Helper for setting the attribute of the object following the preferences
- Parameters:
value (int) – value to put in the Channel (should be between 0 and 255)
- Return:
- Rtype:
- copyInto(self, aROI: ORSModel.ors.ROI)¶
Copies the receiver into anotherROI.
- Parameters:
aROI (ORSModel.ors.ROI) – a destination ROI (an Volume)
- dijkstra3DGrow(self, inputChannel: ORSModel.ors.Channel, volumeToGrowIn: ORSModel.ors.Box, volumeOfTheGrow: float, timeStep: int)¶
- Parameters:
inputChannel (ORSModel.ors.Channel) –
volumeToGrowIn (ORSModel.ors.Box) –
volumeOfTheGrow (float) –
timeStep (int) –
- dilate(self, pNumberOfIterations: int, pTimeStep: int, progress: ORSModel.ors.Progress)¶
Note
Every voxel of the channel that touches the ROI is added to it, for the given time step.
- Parameters:
pNumberOfIterations (int) – the number of dilate iterations (a uint16_t)
pTimeStep (int) – the time step (a uint32_t)
progress (ORSModel.ors.Progress) – a progress object (a Progress)
- duplicateTimeStepDataAcrossAllTimeSteps(self, pSourceTimeStep: int)¶
Note
The data from the source time step is copied to all the time steps of the ROI.
- Parameters:
pSourceTimeStep (int) – the source time step (a uint32_t)
- erode(self, pNumberOfIterations: int, pTimeStep: int, progress: ORSModel.ors.Progress)¶
Note
Every voxel of the ROI that touches the channel is removed from the ROI, for the given time step.
- Parameters:
pNumberOfIterations (int) – the number of erode iterations (a uint16_t)
pTimeStep (int) – the time step (a uint32_t)
progress (ORSModel.ors.Progress) – a progress object (a Progress)
- exchangeInternalData(self, aROI: ORSModel.ors.ROI) bool¶
Exchanges (swaps) internal data between the receiver and the argumentROI.
Note
Both ROIs must have same spatial characteristics.
See also
hasSameSpatialBoxAsROI()
- Parameters:
aROI (ORSModel.ors.ROI) – a ROI (an ROI)
- Returns:
output (bool) – true if swap was successful, false otherwise
- executeGPGPUCommand(self, outputROI: ORSModel.ors.ROI, shaderFilename: str, Slabsize: int, iNbIteration: int, numericArguments: dict, iKernelSize: int) ORSModel.ors.ROI¶
Compute given compute shader program on anROI.
- Parameters:
outputROI (ORSModel.ors.ROI) – the result ROI (an ORS::ROI)
shaderFilename (str) – filename of the compute shader program (a string)
Slabsize (int) – the number of images in the input slab (an uint32_t)
iNbIteration (int) – number of iteration to run the program (an uint32_t)
numericArguments (dict) –
iKernelSize (int) –
- Returns:
output (ORSModel.ors.ROI) –
- fillAllInnerHoles2DAlongDirection(self, dirX: float, dirY: float, dirZ: float, considerDiagonal: bool)¶
Note
This method fills the interior of a ROI for each 2D slice along the supplied direction.
Note
This method fills 2D slices by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
- Parameters:
dirX (float) – the X component of the direction (a double)
dirY (float) – the Y component of the direction (a double)
dirZ (float) – the Z component of the direction (a double)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillAllInnerHoles2DAlongXAxis(self, iTIndex: int, considerDiagonal: bool)¶
Note
This method fills the interior of a ROI for each 2D slice along the X axis.
Note
This method fills a ROI’s interior by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillAllInnerHoles2DAlongYAxis(self, iTIndex: int, considerDiagonal: bool)¶
Note
This method fills the interior of a ROI for each 2D slice along the Y axis.
Note
This method fills a ROI’s interior by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillAllInnerHoles2DAlongZAxis(self, iTIndex: int, considerDiagonal: bool)¶
Note
This method fills the interior of a ROI for each 2D slice along the Z axis.
Note
This method fills a ROI’s interior by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillInnerHoles(self, iTIndex: int, considerDiagonal: bool)¶
Note
This method fills a ROI’s interior by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
Note
When trying to close a 2D ROI (for example a circle), you need to work with a 2D ROI (i.e. Z size = 1).
- Parameters:
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillInnerHoles2D(self, pCenter: ORSModel.ors.Vector3, pDirection: ORSModel.ors.Vector3, considerDiagonal: bool)¶
Note
This method fills a ROI’s interior by looking for escape openings. Using 26 neighbors enforces more rigidity in the algorithm to determine if a neighboring voxel is an opening or not.
Note
This method fills the interior of a ROI on a single 2D plane.
- Parameters:
pCenter (ORSModel.ors.Vector3) – a vector describing the 2D plane’s center point (an Vector3)
pDirection (ORSModel.ors.Vector3) – a vector describing the direction of the plane (an Vector3)
considerDiagonal (bool) – true to use 26 neighbors, false to use 6 neighbors (see note below)
- fillIntervalArrays(self)¶
Extracts indicies in the form of intervals.
- Returns:
pOutputLow (ORSModel.ors.ArrayUnsignedLong) – an output array for lower indicies (an ArrayUnsignedLong)
pOutputHigh (ArrayLONGLONG) – an output array for higher indicies (an ArrayLONGLONG)
- generateAnalyzer(self, aTimeStep: int, inputChannel: ORSModel.ors.Channel, useLinearInterpolation: bool, longestDistance: bool, longestSegment: bool, inertiaTensorPrincipalComponent: bool, surfaceArea: bool, centerOfMass: bool, IProgress: ORSModel.ors.Progress) ORSModel.ors.ROIAnalyzer¶
- Parameters:
aTimeStep (int) –
inputChannel (ORSModel.ors.Channel) –
useLinearInterpolation (bool) –
longestDistance (bool) –
longestSegment (bool) –
inertiaTensorPrincipalComponent (bool) –
surfaceArea (bool) –
centerOfMass (bool) –
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.ROIAnalyzer) –
- getAllFeretDiameter(self, min: float, mean: float, max: float, iTIndex: int, iAngleSampling: int = 5) bool¶
Get Sorted feret diameter.
- Parameters:
min (float) – the T index (a uint32_t)
mean (float) – the angle sampling, steps between each angle iteration (a uint16_t)
max (float) –
iTIndex (int) –
iAngleSampling (int) –
- Returns:
output (bool) – true if worked, else false (bool)
- getAsCubicMesh(self, bWorld: bool, IProgress: ORSModel.ors.Progress, IInMesh: ORSModel.ors.Mesh) ORSModel.ors.Mesh¶
Note
If a target Mesh is supplied, data is written to it and returned, otherwise a new Mesh is created.
- Parameters:
bWorld (bool) – an optional target mesh model (an Mesh)
IProgress (ORSModel.ors.Progress) –
IInMesh (ORSModel.ors.Mesh) –
- Returns:
output (ORSModel.ors.Mesh) – the resulting mesh model (an Mesh)
- getAsCubicMeshForTIndex(self, bWorld: bool, timeStep: int, IProgress: ORSModel.ors.Progress, IInMesh: ORSModel.ors.Mesh) ORSModel.ors.Mesh¶
Note
If a target Mesh is supplied, data is written to it and returned, otherwise a new Mesh is created.
- Parameters:
bWorld (bool) – the TimeStep to extract (a uint32_t)
timeStep (int) – a progress object or NULL to show no progress (an Progress)
IProgress (ORSModel.ors.Progress) – an optional target mesh model (an Mesh)
IInMesh (ORSModel.ors.Mesh) –
- Returns:
output (ORSModel.ors.Mesh) – the resulting mesh model (an Mesh)
- getAsMarchingCubesMesh(self, isovalue: float, bSnapToContour: bool, flipNormal: bool, timeStep: int, xSample: int, ySample: int, zSample: int, pNearest: bool, pWorld: bool, IProgress: ORSModel.ors.Progress, pMesh: ORSModel.ors.Mesh) ORSModel.ors.Mesh¶
Note
The isovalue is used as a threshold, any value below it (inclusive) is not considered.
Note
If a mesh model is supplied as the last argument, the results are written to it, otherwise a new mesh model is created.
Note
Currently only nearest sampling is supported.
- Parameters:
isovalue (float) – an isovalue (a float)
bSnapToContour (bool) – true to snap vertices to contour, false to interpolate
flipNormal (bool) – true flips normals, false doesn’t
timeStep (int) – the time step to use (a uint32_t)
xSample (int) – the X sampling (a uint16_t, 1 means no sampling)
ySample (int) – the Y sampling (a uint16_t, 1 means no sampling)
zSample (int) – the Z sampling (a uint16_t, 1 means no sampling)
pNearest (bool) – true to sample to nearest value, false to sample linearly (if sampling is 1 this flag is ignored)
pWorld (bool) – true to have the resulting mesh model in world coordinates, false in local
IProgress (ORSModel.ors.Progress) – a progress object, NULL for no progress (an Progress)
pMesh (ORSModel.ors.Mesh) – an optional output mesh model (an Mesh)
- Returns:
output (ORSModel.ors.Mesh) – the resulting mesh model (an Mesh)
- getAsNDArray(timestep=0)¶
Get a numpy nd array representation
- Parameters:
timestep (int) – timestep to analyse
- getAsROIClipped(self, minX: int, minY: int, minZ: int, minT: int, maxX: int, maxY: int, maxZ: int, maxT: int, aROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
minX (int) – the X min dimension of the clip region (a uint32_t)
minY (int) – the Y min dimension of the clip region (a uint32_t)
minZ (int) – the Z min dimension of the clip region (a uint32_t)
minT (int) – the T min dimension of the clip region (a uint32_t)
maxX (int) – the X max dimension of the clip region (a uint32_t)
maxY (int) – the Y max dimension of the clip region (a uint32_t)
maxZ (int) – the Z max dimension of the clip region (a uint32_t)
maxT (int) – the T max dimension of the clip region (a uint32_t)
aROI (ORSModel.ors.ROI) – an optional target ROI (an ROI)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROICloseWithKernelOnSpecificSlices(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, axis: int, indices: ORSModel.ors.SequenceableCollection, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
axis (int) – the axis of the specified slices (x=0,y=1,z=2) (a uint8_t)
indices (ORSModel.ors.SequenceableCollection) – the slices to work on (an SequenceableCollection)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIClosedWithKernel(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
Correlates theROI with a supplied 3D kernel.
Note
This method can be used to smooth the ROI by providing a smoothing kernel (e.g. with a gaussian distribution).
Note
If a mask is provided, its T size should be 1.
Note
All voxels of the input ROI not in the mask are copied into the output ROI.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
threshold (float) – the threshold value (a double). The output ROI will contain this voxel if the result of the correlation at that voxel is greater than or equal to this threshold value.
pTimeStep (int) – the time step of the receiver ROI to smooth (a uint32_t)
pROIMask (ORSModel.ors.ROI) – an optional mask (a ROI)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (a ROI)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (a ROI)
- getAsROIDilatedWithKernel(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIDilatedWithKernelOnSpecificSlices(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, axis: int, indices: ORSModel.ors.SequenceableCollection, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
axis (int) – the axis of the specified slices (x=0,y=1,z=2) (a uint8_t)
indices (ORSModel.ors.SequenceableCollection) – the slices to work on (an SequenceableCollection)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIErodedWithKernel(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIErodedWithKernelOnSpecificSlices(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, axis: int, indices: ORSModel.ors.SequenceableCollection, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
axis (int) – the axis of the specified slices (x=0,y=1,z=2) (a uint8_t)
indices (ORSModel.ors.SequenceableCollection) – the slices to work on (an SequenceableCollection)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIFromTimeStepsUnion(self, pTimeStep1: int, pTimeStep2: int, anOutputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
Note
The output ROI will always have a T dimension of 1, and the same X/Y/Z sizes as the source ROI.
Note
Because of the previous note, the output ROI cannot be the same as the receiver ROI (i.e. cannot merge into itself).
- Parameters:
pTimeStep1 (int) – source time step (a uint32_t)
pTimeStep2 (int) – time step to merge with (a uint32_t)
anOutputROI (ORSModel.ors.ROI) – the output ROI (an ROI), see note below
- Returns:
output (ORSModel.ors.ROI) – the merged ROI
- getAsROIMovedInChannel(self, pInputData: ORSModel.ors.Channel, xOffset: int, yOffset: int, zOffset: int, pTargetROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pInputData (ORSModel.ors.Channel) – an X voxel offset (a uint32_t)
xOffset (int) – a Y voxel offset (a uint32_t)
yOffset (int) – a Z voxel offset (a uint32_t)
zOffset (int) – an optional output ROI (an ROI)
pTargetROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIOpenWithKernel(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIOpenWithKernelOnSpecificSlices(self, pKernel: ORSModel.ors.ConvolutionKernel, pInRoi: ORSModel.ors.ROI, pTimeStep: int, axis: int, indices: ORSModel.ors.SequenceableCollection, progress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
The 3D kernel needs not be symmetric, but each dimension must be odd, for the center always represents the current voxel.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pKernel (ORSModel.ors.ConvolutionKernel) – the kernel (an ConvolutionKernel)
pInRoi (ORSModel.ors.ROI) – an optional output ROI (an ROI)
pTimeStep (int) – the time step (a uint32_t)
axis (int) – the axis of the specified slices (x=0,y=1,z=2) (a uint8_t)
indices (ORSModel.ors.SequenceableCollection) – the slices to work on (an SequenceableCollection)
progress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getAsROIThinned(self, aROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
- Parameters:
aROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) –
- getBoxGrownToContainVoxels(self, aBox: ORSModel.ors.Box, timeStep: int) ORSModel.ors.Box¶
Grow the given box so that it include all the voxels of the specified time step.
- Parameters:
aBox (ORSModel.ors.Box) – the box to grow
timeStep (int) –
- Returns:
output (ORSModel.ors.Box) – the resulting Box (a Box)
- getCenterOfMass(self, pTimeStep: int) ORSModel.ors.Vector3¶
Computes theROI’s center of mass.
- Parameters:
pTimeStep (int) –
- Returns:
output (ORSModel.ors.Vector3) – the center of mass (an XYZ vector) (an Vector3)
- getCircumferenceAreaAndMinMaxDiameter(self, pBoundedPlane: ORSModel.ors.Rectangle, pointInside: ORSModel.ors.Vector3, nTimeStep: int, area: float, circumference: float, meanDiameter: float, maxDiameterPoint0: ORSModel.ors.Vector3, maxDiameterPoint1: ORSModel.ors.Vector3, minDiameter0: ORSModel.ors.Vector3, minDiameter1: ORSModel.ors.Vector3)¶
- Parameters:
pBoundedPlane (ORSModel.ors.Rectangle) –
pointInside (ORSModel.ors.Vector3) –
nTimeStep (int) –
area (float) –
circumference (float) –
meanDiameter (float) –
maxDiameterPoint0 (ORSModel.ors.Vector3) –
maxDiameterPoint1 (ORSModel.ors.Vector3) –
minDiameter0 (ORSModel.ors.Vector3) –
minDiameter1 (ORSModel.ors.Vector3) –
- getClassNameStatic() str¶
getClassNameStatic
- Returns:
output (str) –
- getClipBox(timestep=0, display=None)¶
Gets the clip box of the ROI or of the MultiROI
- Parameters:
timestep (int) – the time index
display (ORSModel.ors.View) – a view
- Returns:
aClipBox (ORSModel.ors.Box) – the clip box
- getClipping(timestep=0, display=None)¶
Gets the origin and the opposite summit of the clip box of the ROI or MultiROI
- Parameters:
timestep (int) – the time index
display (ORSModel.ors.View) – a view
- Returns:
clipOriginSummit (ORSModel.ors.Vector3) – the origin summit of the clip box
clipOppositeSummit (ORSModel.ors.Vector3) – the origin opposite summit of the clip box
- getConnectedComponent(self, iTIndex: int, considerDiagonal: bool, IProgress: ORSModel.ors.Progress, pInData: ORSModel.ors.MultiROI) ORSModel.ors.MultiROI¶
Note
This method labels areas of the ROI by finding adjacent voxels and labelling them with sequential numbering.
Note
If a multi ROI object is supplied as the last argument, the results are written to it, otherwise a new one is created.
- Parameters:
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to consider diagonals, false otherwise
IProgress (ORSModel.ors.Progress) – a progress object (an Progress), or NULL for no progress
pInData (ORSModel.ors.MultiROI) – an optional output object (an MultiROI)
- Returns:
output (ORSModel.ors.MultiROI) – the resulting object (an MultiROI)
- getContour(self, pPlane: ORSModel.ors.Plane, nTimeStep: int, pfPoints: ORSModel.ors.Array)¶
- Parameters:
pPlane (ORSModel.ors.Plane) –
nTimeStep (int) –
pfPoints (ORSModel.ors.Array) –
- getContour2(self, pBoundedPlane: ORSModel.ors.Rectangle, nTimeStep: int, pfPoints: ORSModel.ors.Array)¶
- Parameters:
pBoundedPlane (ORSModel.ors.Rectangle) –
nTimeStep (int) –
pfPoints (ORSModel.ors.Array) –
- getContourOrdered(self, pPlane: ORSModel.ors.Plane, nTimeStep: int, pfPoints: ORSModel.ors.Array, pnIndexes: ORSModel.ors.ArrayLong)¶
- Parameters:
pPlane (ORSModel.ors.Plane) –
nTimeStep (int) –
pfPoints (ORSModel.ors.Array) –
pnIndexes (ORSModel.ors.ArrayLong) –
- getContourOrdered2(self, pBoundedPlane: ORSModel.ors.Rectangle, nTimeStep: int, pfPoints: ORSModel.ors.Array, pnIndexes: ORSModel.ors.ArrayLong)¶
- Parameters:
pBoundedPlane (ORSModel.ors.Rectangle) –
nTimeStep (int) –
pfPoints (ORSModel.ors.Array) –
pnIndexes (ORSModel.ors.ArrayLong) –
- getEndPoints(self, aROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
- Parameters:
aROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) –
- getFeretBox(self, iTIndex: int, iAngleSampling: int = 5) ORSModel.ors.Box¶
Get Feret box ofROI.
Note
Default value for angle sampling is 5
- Parameters:
iTIndex (int) – the T index (a uint32_t)
iAngleSampling (int) – the angle sampling, steps between each angle iteration (a uint16_t)
- Returns:
output (ORSModel.ors.Box) –
- getFromTimeStepRange(self, pTimeStepStart: int, pTimeStepEnd: int, anOutputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Extracts a T range from the region of interest, as a new region of interest.
- Parameters:
pTimeStepStart (int) – the time step start (a uint32_t)
pTimeStepEnd (int) – the time step end (a uint32_t)
anOutputROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) –
- getHasDataWithinArea(self, xmin: int, ymin: int, zmin: int, tmin: int, xmax: int, ymax: int, zmax: int, tmax: int) bool¶
Queries theROI to know if it has data within a specific range of indicies.
- Parameters:
xmin (int) – the minimal x coordinate (a uint32_t)
ymin (int) – the minimal y coordinate (a uint32_t)
zmin (int) – the minimal z coordinate (a uint32_t)
tmin (int) – the minimal t coordinate (a uint32_t)
xmax (int) – the maximal x coordinate (a uint32_t)
ymax (int) – the maximal y coordinate (a uint32_t)
zmax (int) – the maximal z coordinate (a uint32_t)
tmax (int) – the maximal t coordinate (a uint32_t)
- Returns:
output (bool) – true if receiver has data within the range (inclusive), false otherwise
- getHasDataWithinRange(self, startIndex: int, endIndex: int) bool¶
Queries theROI to know if it has data within a specific range of indicies.
- Parameters:
startIndex (int) – the starting index (a int64_t)
endIndex (int) – the ending index (a int64_t)
- Returns:
output (bool) – true if receiver has data within the range (inclusive), false otherwise
- getHasVoxelIndex(self, index: int) bool¶
Verifies if the receiverROI contains a specified voxel index.
- Parameters:
index (int) – a voxel index (a int64_t)
- Returns:
output (bool) – true if the ROI contains the index, false otherwise
- getHistogramData(self, pNumberOfBins: int, pTimeStep: int, IChannel: ORSModel.ors.Channel) ORSModel.ors.HistogramData¶
Gets a histogram of theROI’s underlying data (from its channel).
- Parameters:
pNumberOfBins (int) – the number of desired bins (a uint32_t)
pTimeStep (int) – the T index (a uint32_t)
IChannel (ORSModel.ors.Channel) – the data channel (a Channel)
- Returns:
output (ORSModel.ors.HistogramData) – a histogram (an HistogramData)
- getInertiaAxis(self, first: ORSModel.ors.Vector3, second: ORSModel.ors.Vector3, third: ORSModel.ors.Vector3, pTimeStep: int)¶
Note
The eigen vector are sorted by eigen value, first is the int32_t*ues .. The norm of the vectors are the eigen value
- Parameters:
first (ORSModel.ors.Vector3) –
second (ORSModel.ors.Vector3) –
third (ORSModel.ors.Vector3) –
pTimeStep (int) –
- getInitialColor(self) ORSModel.ors.Color¶
Gets the initialROI color.
Note
The color is expressed in RGB fashion.
- Returns:
output (ORSModel.ors.Color) – a color (an Color)
- getInterfacialSurface(self, pOtherROI: ORSModel.ors.ROI, timeStep: int, progressBar: ORSModel.ors.Progress) float¶
Note
The algorithm checks 8 vertices neighbors for each voxel to determine surfaces. If a neighbor is empty, it means that the voxel’s side is a surface. Then, a weight is given for each border voxel type. (Lindblad, J. (2005). Surface area estimation of digitized 3D objects using weighted local configurations. Image and Vision Computing, 23(2), 111-122.)
- Parameters:
pOtherROI (ORSModel.ors.ROI) – the other ROI (a ROI)
timeStep (int) – time step for which we want the surface
progressBar (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (float) – the total surface area (a double)
- getInterfacialSurfaceAsCubicMesh(self, pOtherROI: ORSModel.ors.ROI, iTIndex: int, bWorld: bool, pProgress: ORSModel.ors.Progress) ORSModel.ors.Mesh¶
Generates the interface surface between 2 ROIs as a cubic mesh.
Note
This algorithm assume that ROIs do not contain intersecting voxel.
- Parameters:
pOtherROI (ORSModel.ors.ROI) – other ROI that share an interface with the current one (a ROI)
iTIndex (int) – the T index (a uint32_t)
bWorld (bool) – true to have the resulting mesh model in world coordinates, false in local (a bool)
pProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.Mesh) –
- getInterfacialSurfaceAsMarchingCubesMesh(self, pOtherROI: ORSModel.ors.ROI, iTIndex: int, xSample: int, ySample: int, zSample: int, bWorld: bool, pProgress: ORSModel.ors.Progress) ORSModel.ors.Mesh¶
Generates the interface surface between 2 ROIs as a marching cubes mesh.
Note
This algorithm assume that ROIs do not contain intersecting voxel.
- Parameters:
pOtherROI (ORSModel.ors.ROI) – other ROI that share an interface with the current one (a ROI)
iTIndex (int) – the T index (a uint32_t)
xSample (int) – the X sampling (a uint16_t, 1 means no sampling)
ySample (int) – the Y sampling (a uint16_t, 1 means no sampling)
zSample (int) – the Z sampling (a uint16_t, 1 means no sampling)
bWorld (bool) – true to have the resulting mesh model in world coordinates, false in local (a bool)
pProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.Mesh) –
- getIntersectionCountWithROI(self, aROI: ORSModel.ors.ROI) int¶
Note
if the ROI provided does not have the same shape as the receiver, the count is zero.
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to intersect with (an ROI)
- Returns:
output (int) – number of common voxels
- getIntersectionWithROI(self, aROI: ORSModel.ors.ROI, anOutputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
Note
The output ROI can be the same as the receiver ROI (i.e. can intersect with another ROI into itself).
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to intersect with (an ROI)
anOutputROI (ORSModel.ors.ROI) – the output ROI (an ROI), see note below
- Returns:
output (ORSModel.ors.ROI) – the intersected ROI
- getIsAreaFull(self, xmin: int, ymin: int, zmin: int, tmin: int, xmax: int, ymax: int, zmax: int, tmax: int) bool¶
Queries theROI to know if the specific range of indicies is full.
- Parameters:
xmin (int) – the minimal x coordinate (a uint32_t)
ymin (int) – the minimal y coordinate (a uint32_t)
zmin (int) – the minimal z coordinate (a uint32_t)
tmin (int) – the minimal t coordinate (a uint32_t)
xmax (int) – the maximal x coordinate (a uint32_t)
ymax (int) – the maximal y coordinate (a uint32_t)
zmax (int) – the maximal z coordinate (a uint32_t)
tmax (int) – the maximal t coordinate (a uint32_t)
- Returns:
output (bool) – true if receiver has all data within the range (inclusive), false otherwise
- getIsClipped(timestep=0, display=None)¶
Gets to know if there is a clip box attached to the ROI or MultiROI
- Parameters:
timestep (int) – the time index
display (ORSModel.ors.View) – a view
- Returns:
isClipped (bool) – if True, the clip box of the ROI or MultiROI is visible; False otherwise.
- getIsEmpty(self) bool¶
Sees if theROI contains data.
- Returns:
output (bool) – true if ROI contains no data, false otherwise
- getLabel(self) int¶
Note
A ROI label is a unsigned short value that can be associated to the ROI. Each ROI has one label.
- Returns:
output (int) – a label (a uint16_t)
- getLabelization(self, minX: int, minY: int, minZ: int, maxX: int, maxY: int, maxZ: int, iTIndex: int, considerDiagonal: bool, perSlice: bool, IProgress: ORSModel.ors.Progress, pInData: ORSModel.ors.MultiROI) ORSModel.ors.MultiROI¶
Note
This method labels areas of the ROI by finding adjacent voxels and labelling them with sequential numbering.
Note
The perSlice parameter is useful when loading a time series of 2d images as a 3d volume.
Note
If a multi ROI object is supplied as the last argument, the results are written to it, otherwise a new one is created.
- Parameters:
minX (int) – the minimum X range (a uint32_t)
minY (int) – the minimum Y range (a uint32_t)
minZ (int) – the minimum Z range (a uint32_t)
maxX (int) – the maximum X range (a uint32_t)
maxY (int) – the maximum Y range (a uint32_t)
maxZ (int) – the maximum Z range (a uint32_t)
iTIndex (int) – the T index (a uint32_t)
considerDiagonal (bool) – true to consider diagonals, false otherwise
perSlice (bool) – if True, labelling will only apply within an xy slice.
IProgress (ORSModel.ors.Progress) – a progress object (an Progress), or NULL for no progress
pInData (ORSModel.ors.MultiROI) – an optional output object (an MultiROI)
- Returns:
output (ORSModel.ors.MultiROI) – the resulting object (an MultiROI)
- getLocalBoundingBoxMax(self, timeStep: int) ORSModel.ors.Vector3¶
Gets the upper-right corner of the visual’s bounding box.
- Parameters:
timeStep (int) – timeStep (a uint32_t)
- Returns:
output (ORSModel.ors.Vector3) – a point (an Vector3)
- getLocalBoundingBoxMin(self, timeStep: int) ORSModel.ors.Vector3¶
Gets the lower-left corner of the visual’s bounding box.
- Parameters:
timeStep (int) – timeStep (uint32_t)
- Returns:
output (ORSModel.ors.Vector3) – a point (an Vector3)
- getMarchingCubeSurfaceFromWeightedVoxelEstimation(self, timeStep: int, progressBar: ORSModel.ors.Progress) float¶
Note
For more details about the algorithm, see Lorensen, William E.; Cline, Harvey E. (1 August 1987). “Marching cubes: A high resolution 3D surface construction algorithm”. ACM SIGGRAPH Computer Graphics. 21 (4): 163–169. CiteSeerX 10.1.1.545.613. doi:10.1145/37402.37422.
- Parameters:
timeStep (int) – time step for which we want the surface
progressBar (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (float) – the total marching cube surface area (a double)
- getMaxIndex(self) int¶
Gets the largest index of theROI.
- Returns:
output (int) – a channel voxel index (a int64_t)
- getMaxSourceDataValue(self, pTimeStep: int, pInputData: ORSModel.ors.Channel) float¶
Note
The value returned is in the same type as the source channel, but converted to a double.
- Parameters:
pTimeStep (int) – the T index (a uint32_t)
pInputData (ORSModel.ors.Channel) – the source channel (an Channel)
- Returns:
output (float) – a voxel value (a double)
- getMeanSourceDataValue(self, pTimeStep: int, pInputData: ORSModel.ors.Channel) float¶
Note
The value returned is in the same type as the source channel, but converted to a double.
- Parameters:
pTimeStep (int) – the T index (a uint32_t)
pInputData (ORSModel.ors.Channel) – the source channel (an Channel)
- Returns:
output (float) – a voxel value (a double)
- getMinIndex(self) int¶
Gets the smallest index of theROI.
- Returns:
output (int) – a channel voxel index (a int64_t)
- getMinSourceDataValue(self, pTimeStep: int, pInputData: ORSModel.ors.Channel) float¶
Note
The value returned is in the same type as the source channel, but converted to a double.
- Parameters:
pTimeStep (int) – the T index (a uint32_t)
pInputData (ORSModel.ors.Channel) – the source channel (an Channel)
- Returns:
output (float) – a voxel value (a double)
- getMinimalBox(self, iTIndex: int) Box¶
Get mininal box ofROI (also know as Oriented Bounding Box in literature)
- Parameters:
iTIndex (int) – the T index (a uint32_t)
- Returns:
output (Box) –
- getNDArray(timestep=0)¶
Get a numpy nd array representation
- Parameters:
timestep (int) – timestep to analyse
Deprecated since version 2021.1: use getAsNDArray instead
- getProjectionIn(self, pChannel: ORSModel.ors.Channel, sourceTimeOffset: int, pProgress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pChannel (ORSModel.ors.Channel) – the target channel (an Channel)
sourceTimeOffset (int) – a progress object (an Progress) or NULL for no progress
pProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getReversed(self, pTargetROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
A reversed ROI contains exactly the data not present in the receiver ROI.
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
- Parameters:
pTargetROI (ORSModel.ors.ROI) – an optional output ROI (an ROI)
- Returns:
output (ORSModel.ors.ROI) – the resulting ROI (an ROI)
- getSampledLineOfNPoints(self, pPoint1: ORSModel.ors.Vector3, pPoint2: ORSModel.ors.Vector3, timeStep: int, nbOutputPoint: int, samples: ORSModel.ors.ArrayDouble) ORSModel.ors.ArrayDouble¶
- Parameters:
pPoint1 (ORSModel.ors.Vector3) – a starting coordinate (an ORSVector3Ptr)
pPoint2 (ORSModel.ors.Vector3) – an ending coordinate (an ORSVector3Ptr)
timeStep (int) – the T index (a uint32_t)
nbOutputPoint (int) – the number of points to take between the two points
samples (ORSModel.ors.ArrayDouble) – the ArrayDoubleToPopulate
- Returns:
output (ORSModel.ors.ArrayDouble) –
- getSimplePoints(self, aROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
- Parameters:
aROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) –
- getSimplifiedGraphMesh(self, aROI: ORSModel.ors.ROI, aResultMesh: ORSModel.ors.Mesh, aSurfaceMesh: ORSModel.ors.Mesh) ORSModel.ors.ROI¶
- Parameters:
aROI (ORSModel.ors.ROI) –
aResultMesh (ORSModel.ors.Mesh) –
aSurfaceMesh (ORSModel.ors.Mesh) –
- Returns:
output (ORSModel.ors.ROI) –
- getSliceAsNDArray(sliceIndex: int = 0, timestep: int = 0)¶
Get a numpy nd array representation
- Parameters:
sliceIndex (int) – slice to extract
timestep (int) – timestep to extract
- getStandardDeviationSourceDataValue(self, pTimeStep: int, pInputData: ORSModel.ors.Channel) float¶
Note
The value returned is in the same type as the source channel, but converted to a double.
- Parameters:
pTimeStep (int) – the T index (a uint32_t)
pInputData (ORSModel.ors.Channel) – the source channel (an Channel)
- Returns:
output (float) – a voxel value (a double)
- getSubtractionFromROI(self, aROI: ORSModel.ors.ROI, pOutputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
Note
The output ROI can be the same as the receiver ROI (i.e. can subtract another ROI into itself), but the output ROI cannot be the subtraction ROI.
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to subtract (an ROI)
pOutputROI (ORSModel.ors.ROI) – the output ROI (an ROI), see note below
- Returns:
output (ORSModel.ors.ROI) – the subtracted ROI
- getSurface(self, timeStep: int) float¶
Note
The algorithm checks 6 neighbors for each voxel to determine surfaces. If a neighbor is empty, it means that the voxel’s side is a surface.
- Parameters:
timeStep (int) – step for which we want the surface
- Returns:
output (float) – the total surface area (a double)
- getSurfaceFromWeightedVoxelEstimation(self, timeStep: int, progressBar: ORSModel.ors.Progress) float¶
Note
The algorithm checks 8 vertices neighbors for each voxel to determine surfaces. If a neighbor is empty, it means that the voxel’s side is a surface. Then, a weight is given for each border voxel type. (Lindblad, J. (2005). Surface area estimation of digitized 3D objects using weighted local configurations. Image and Vision Computing, 23(2), 111-122.)
- Parameters:
timeStep (int) – time step for which we want the surface
progressBar (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (float) – the total surface area (a double)
- getTotalPerimeterOnPlane(self, cuttingPlane: ORSModel.ors.Plane, timeStep: int) float¶
- Parameters:
cuttingPlane (ORSModel.ors.Plane) – a cutting plane (an ORS plane)
timeStep (int) – time step (int)
- Returns:
output (float) – the total ROI’s perimeter for the current plane (a double)
- getTotalVoxelCount(self) int¶
Gets the total number of voxels within theROI.
- Returns:
output (int) – the number of voxels in the ROI (a uint64_t)
- getUnionWithROI(self, aROI: ORSModel.ors.ROI, iTOffset: int, anOutputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
Note
If a target ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
Note
The output ROI can be the same as the receiver ROI (i.e. can merge with another ROI into itself).
Note
It is assumed that both ROIs share the same characteristics (i.e. size, orientation, etc).
See also
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to merge with (an ROI)
iTOffset (int) – the output ROI (an ROI), see note below
anOutputROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) – the merged ROI
- getVolume(self, timeStep: int) float¶
Note
The volume is in cubic units of the dimension unit of the underlying channel.
- Parameters:
timeStep (int) – the time step (a uint32_t)
- Returns:
output (float) – a double.
- getVoxelCount(self, iTIndex: int) int¶
Note
This method computes the number of indicies, so if you need the value several times try to cache its return value.
- Parameters:
iTIndex (int) –
- Returns:
output (int) – the number of voxels in the ROI (a uint64_t)
- getVoxelsNeighborCountGreaterThanOrEqualTo(self, neighborCount: int, pProgress: ORSModel.ors.Progress) ORSModel.ors.ROI¶
Gets aROI containing the voxels having a neighbor count greater than or equal to n.
- Parameters:
neighborCount (int) – the minimal neighbor count
pProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) –
- getWillBeDisplayed(self) bool¶
Note
Regions of interest are to be displayed by default.
Note
Regions of interest that will not be displayed use less memory and have less overhead.
- Returns:
output (bool) –
- classmethod imread(files)¶
Loads a ROI from files
- Parameters:
files (file) [count=[0, None]] – fully qualified file name list
- Returns:
outROI (ORSModel.ors.ROI) – the resulting ROI
- classmethod imreadDICOM(files)¶
Loads a ROI from files or folder contaning DICOM
- Parameters:
files (file) [count=[0, None]] – fully qualified file name list
- Returns:
outROI (ORSModel.ors.ROI) – the resulting ROI
- classmethod imreadDICOMFolder(folder)¶
Loads a ROI from folder of DICOM files
- Parameters:
folder (folder) – fully qualified folder
- Returns:
outROI (ORSModel.ors.ROI) – the resulting ROI
- classmethod imreadFolder(folder)¶
Loads a ROI from folder
- Parameters:
folder (folder) – fully qualified folder
- Returns:
outROI (ORSModel.ors.ROI) – the resulting ROI
- imsave(fileName, extension='tif', value=255)¶
Save a ROI to file in the type specified by the extension
- Parameters:
fileName (file saving) – fully qualified file name
extension (str) – image file format extension
value (int) – value to put in the image at the ROI painted locations (should be between 0 and 255)
- imwrite(fileName, extension='tif', value=255)¶
Save a ROI to file in the type specified by the extension
- Parameters:
fileName (file saving) – fully qualified file name
extension (str) – image file format extension
value (int) – value to put in the image at the ROI painted locations (should be between 0 and 255)
- iterateIntervals(self, callbackFunction: int, userdata: bytes, bForceSingleThread: bool, bAlignMultiThreadingToZ: bool, createMultiThreadDataFunction: int)¶
Note
The last two arguments are ignored if second argument is true.
Note
The callback function (argument 1) is called with an interval of indicies beginning and end, with the range being inclusive. A third argument supplied is the result of calling callback function in argument 2. In the case of single-threaded execution, that argument is NULL. The callback function should return true to continue iterating, but can return false to interrupt the iterating.
Note
The second callback function (argument 4) is called at the start of each thread. It is intended for the caller to create user data that is in turn supplied to the callback function at each invocation. The arguments it receives is (number of threads being started, threadNumber), with threadNumber being zero based.
- Parameters:
callbackFunction (int) – any user data to be supplied to the callback function
userdata (bytes) – true to force single threaded execution, false to have it multi-threaded
bForceSingleThread (bool) – true to align multi-thread execution to Z slices, false to align to nothing
bAlignMultiThreadingToZ (bool) – a callback function to create multithread data (the address of a ORSVOLUMEROIITERATORCREATETHREADDATA function)
createMultiThreadDataFunction (int) –
- iterateXYZTIntervals(self, callbackFunction: int, userdata: bytes, bForceSingleThread: bool, bAlignMultiThreadingToZ: bool, createMultiThreadDataFunction: int)¶
Note
The last two arguments are ignored if second argument is true.
Note
The callback function (argument 1) is called with an interval of indicies beginning and end, with the range being inclusive. A third argument supplied is the result of calling callback function in argument 2. In the case of single-threaded execution, that argument is NULL. The callback function should return true to continue iterating, but can return false to interrupt the iterating.
Note
The second callback function (argument 4) is called at the start of each thread. It is intended for the caller to create user data that is in turn supplied to the callback function at each invocation. The arguments it receives is (number of threads being started, threadNumber), with threadNumber being zero based.
- Parameters:
callbackFunction (int) – a callback function (the address of a ORSVOLUMEROIITERATORXYZT function)
userdata (bytes) – any user data to be supplied to the callback function
bForceSingleThread (bool) – true to force single threaded execution, false to have it multi-threaded
bAlignMultiThreadingToZ (bool) – true to align multi-thread execution to Z slices, false to align to nothing
createMultiThreadDataFunction (int) – a callback function to create multithread data (the address of a ORSVOLUMEROIITERATORCREATETHREADDATA function)
- makeROIForChannel(self, pChannel: ORSModel.ors.Channel, x: int, y: int, z: int) ORSModel.ors.ROI¶
Note
The supplied offset is the offset of the given channel relatively to the originating channel (the one the ROI is based upon), in voxels.
- Parameters:
pChannel (ORSModel.ors.Channel) – a reference channel (an Channel)
x (int) – an X offset (an uint32_t)
y (int) – an Y offset (an uint32_t)
z (int) – a Z offset (an uint32_t)
- Returns:
output (ORSModel.ors.ROI) – a new ROI (an ROI)
- none() ROI¶
Returns a none object, equivalent to a non-existent object (or null).
- Returns:
output (ROI) –
- projectInShape(self, aShape: ORSModel.ors.Shape3D, sourceTime: int, outputROI: ORSModel.ors.ROI, destinationTime: int) ORSModel.ors.ROI¶
- Parameters:
aShape (ORSModel.ors.Shape3D) –
sourceTime (int) –
outputROI (ORSModel.ors.ROI) –
destinationTime (int) –
- Returns:
output (ORSModel.ors.ROI) –
- removeAllVoxelsIfInRange(self, timeStep: int, minValue: float, maxValue: float, pChannel: ORSModel.ors.Channel)¶
- Parameters:
timeStep (int) –
minValue (float) –
maxValue (float) –
pChannel (ORSModel.ors.Channel) –
- removeAllVoxelsIfNotInRange(self, timeStep: int, minValue: float, maxValue: float, pChannel: ORSModel.ors.Channel)¶
- Parameters:
timeStep (int) –
minValue (float) –
maxValue (float) –
pChannel (ORSModel.ors.Channel) –
- removeCircleArea(self, posX: float, posY: float, posZ: float, normalX: float, normalY: float, normalZ: float, radius: float, tStep: int)¶
Remove circle area fromROI.
- Parameters:
posX (float) –
posY (float) –
posZ (float) –
normalX (float) –
normalY (float) –
normalZ (float) –
radius (float) –
tStep (int) –
- removeLine(self, pLine: ORSModel.ors.Line, tStep: int)¶
Removes a line from theROI.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
pLine (ORSModel.ors.Line) – the line to remove (an Line)
tStep (int) – the time step (a uint32_t)
- removeLineIfInRange(self, pLine: ORSModel.ors.Line, tStep: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Note that the range values are inclusive.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
pLine (ORSModel.ors.Line) – the line to remove (an Line)
tStep (int) – the time step (a uint32_t)
lowerThreshold (float) – the lower range value (a double)
upperThreshold (float) – the upper range value (a double)
pChannel (ORSModel.ors.Channel) – a channel of the same shape as the receiver (an Channel)
- removeLineSegment(self, lineSegment: ORSModel.ors.LineSegment, tStep: int)¶
Removes a line segment from theROI.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
lineSegment (ORSModel.ors.LineSegment) – the line segment to remove (an Line)
tStep (int) – the time step (a uint32_t)
- removeLineSegmentIfInRange(self, lineSegment: ORSModel.ors.LineSegment, tStep: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Note that the range values are inclusive.
See also
addSphere(), removeSphere(), removeSphereWithinRange()
- Parameters:
lineSegment (ORSModel.ors.LineSegment) – the line segment to remove (an LineSegment)
tStep (int) – the time step (a uint32_t)
lowerThreshold (float) – the lower range value (a double)
upperThreshold (float) – the upper range value (a double)
pChannel (ORSModel.ors.Channel) – a channel of the same shape as the receiver (an Channel)
- removeROI(self, aROI: ORSModel.ors.ROI)¶
- Parameters:
aROI (ORSModel.ors.ROI) –
- removeSimplePointsWithDistanceMap(self, seedPointROI: ORSModel.ors.ROI, spaceChannel: ORSModel.ors.Channel, outputROI: ORSModel.ors.ROI) ORSModel.ors.ROI¶
- Parameters:
seedPointROI (ORSModel.ors.ROI) –
spaceChannel (ORSModel.ors.Channel) –
outputROI (ORSModel.ors.ROI) –
- Returns:
output (ORSModel.ors.ROI) –
- removeVoxel(self, index: int)¶
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(),ORSModel.ors.ROI.addVoxels(), addVoxelList(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels()- Parameters:
index (int) –
- removeVoxelIndicesFromROIIfInRange(self, indices: int, indicesSize: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Only those indicies having values within the supplied range are removed from the ROI.
- Parameters:
indices (int) – an array of indices (a int64_t*)
indicesSize (int) – the number of indices in the array (a int64_t)
lowerThreshold (float) – the lower range (a double)
upperThreshold (float) – the upper range (a double)
pChannel (ORSModel.ors.Channel) – the channel to check against (an Channel)
- removeVoxelInterval(self, iStart: int, iEnd: int)¶
Note
The indicies are linear within the channel data.
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(), addVoxelList(),ORSModel.ors.ROI.removeVoxel(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels(),ORSModel.ors.ROI.addVoxelInterval()- Parameters:
iStart (int) –
iEnd (int) –
- removeVoxelIntervals(self, pIntervalArray: int, pNumberOfIntervals: int)¶
Note
The indicies are linear within the channel data.
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(), addVoxelList(),ORSModel.ors.ROI.removeVoxel(), removeVoxelList(),ORSModel.ors.ROI.removeVoxels(),ORSModel.ors.ROI.removeVoxelInterval()- Parameters:
pIntervalArray (int) –
pNumberOfIntervals (int) –
- removeVoxels(self, indices: int, indicesSize: int)¶
Removes a list of voxels.
Note
The indicies are linear within the channel data.
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(),ORSModel.ors.ROI.addVoxels(), addVoxelList(),ORSModel.ors.ROI.removeVoxel()- Parameters:
indices (int) – an array of indicies (a int64_t*)
indicesSize (int) – the number of indicies in the array (a int64_t)
ROI.removeVoxels(self, indices: ORSModel.ors.ArrayLONGLONG)
Note
Any changes to a Region of Interest need to be followed by a show() to refresh the screen.
See also
ORSModel.ors.ROI.addVoxel(),ORSModel.ors.ROI.addVoxels(), addVoxelList(),ORSModel.ors.ROI.removeVoxel()- Parameters:
indices (ORSModel.ors.ArrayLONGLONG) –
- removeVoxelsFromWorldCoordinates(self, worldPositionArray: ORSModel.ors.ArrayDouble, timeIndex: int)¶
Removes indices (supplied in the form of world coordinates) from theROI.
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) – an array of world position triplets (an ArrayDouble)
timeIndex (int) – the T index (a uint32_t)
- removeVoxelsFromWorldCoordinatesIfInRange(self, worldPositionArray: ORSModel.ors.ArrayDouble, timeIndex: int, lowerThreshold: float, upperThreshold: float, pChannel: ORSModel.ors.Channel)¶
Note
Very similar to removeVoxelsFromWorldCoordinates(), but only those indicies having values within the supplied range are removed from the ROI.
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) – an array of world position triplets (an ArrayDouble)
timeIndex (int) – the T index (a uint32_t)
lowerThreshold (float) – the lower range (a double)
upperThreshold (float) – the upper range (a double)
pChannel (ORSModel.ors.Channel) – the channel to check against (an Channel)
- reverseTimeStepRange(self, pTimeStepStart: int, pTimeStepEnd: int)¶
Reverses a time step range of theROI.
- Parameters:
pTimeStepStart (int) – the time step start (a uint32_t)
pTimeStepEnd (int) – the time step end (a uint32_t)
- setAsTemporaryObject(isTemporaryObject=True)¶
Helper for setting useful properties when marking an object as a (non-)temporary object.
- Parameters:
isTemporaryObject (bool) – if True, the object will be set as temporary (not representable, not to be saved, callbacks disabled). Otherwise, these properties are set as the opposite.
- setInitialColor(self, IColor: ORSModel.ors.Color)¶
Sets the initialROI color.
Note
The color is expressed in RGB fashion.
- Parameters:
IColor (ORSModel.ors.Color) – a color (an Color)
- setLabel(self, aLabel: int)¶
Note
A ROI label is an unsigned short value that can be associated to the ROI. Each ROI has one label.
- Parameters:
aLabel (int) – a label (a uint16_t)
- setWillBeDisplayed(self, value: bool)¶
Note
Regions of interest are to be displayed by default.
Note
Regions of interest that will not be displayed use less memory and have less overhead.
- Parameters:
value (bool) –
StructuredGrid¶
- class ORSModel.ors.StructuredGrid(self, buffer: bytes, nBytes: int, bPreserveIdentity: bool = False)
Bases:
Node- Parameters:
buffer (bytes) –
nBytes (int) –
bPreserveIdentity (bool) –
- addROIAtTOffset(self, aROI: ORSModel.ors.ROI, label: int, pTOffset: int)
Note
The ROI to add will be projected correctly if it doesn’t share the same characteristics.
See also
AddROI(), MergeWithROI()
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to add (an ROI)
label (int) – a label (a uint32_t)
pTOffset (int) – the T offset (a uint32_t)
- copyShapeFromBox(self, pBox: ORSModel.ors.Box, tSize: int)
Initializes the structured grid’s shape based on a box.
Dirty flags: OrsDataDirty, OrsGeometryDirty
- Parameters:
pBox (ORSModel.ors.Box) – a box (a Box)
tSize (int) – a T size (an uint32_t)
- copyShapeFromRectangle(self, pRectangle: ORSModel.ors.Rectangle, zSpacing: float, tSize: int)
Initializes the structured grid’s shape based on a rectangle.
Dirty flags: OrsDataDirty, OrsGeometryDirty
- Parameters:
pRectangle (ORSModel.ors.Rectangle) – a rectangle (a Rectangle)
zSpacing (float) – the thickness of the output structured grid (a double)
tSize (int) – a T size (an uint32_t)
- copyShapeFromStructuredGrid(self, pStructuredGrid: ORSModel.ors.StructuredGrid)
Initializes the structured grid’s shape based on another structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
Shape includes size, spacing, type, description, position and location.
Note
This method does not handle the structured grid’s data.
- Parameters:
pStructuredGrid (ORSModel.ors.StructuredGrid) – a source structured grid
- getAsChannel(self, inOutStructuredGrid: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.Channel
Convert a structured grid to a channel.
Note
If an output channel is supplied, data is written to it and returned, otherwise a new channel is created.
Note
If the source structured grid is a channel it returns a copy.
Note
If the source structured grid is a Volume ROI the channel output data type is UNSIGNED CHAR. A value of 1 is written where a label exist in the input Volume ROI, 0 otherwise.
Note
If the source structured grid is a MultiROI the output data type is determined by the total number of labels within:
- Parameters:
inOutStructuredGrid (ORSModel.ors.StructuredGrid) – an optional output channel (an StructuredGrid)
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.Channel) – the resulting channel (an StructuredGrid)
- getAsMultiROI(self, inOutStructuredGrid: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.MultiROI
Convert a structured grid to aMultiROI.
Note
If an output MultiROI is supplied, data is written to it and returned, otherwise a new MultiROI is created.
Note
The MultiROI is cleared prior to adding.
Note
If the source structured grid is a channel the output MultiROI will contain a label for every non zero channel values.
Note
If the source structured grid is a Volume ROI it returns a MultiROI of 1 label.
Note
If the source structured grid is a MultiROI it returns a copy.
See also
addToROI(), removeROI(),
ORSModel.ors.StructuredGrid.getAsChannel()- Parameters:
inOutStructuredGrid (ORSModel.ors.StructuredGrid) – an optional output MultiROI (an StructuredGrid)
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.MultiROI) – the resulting MultiROI (an StructuredGrid)
- getAsROI(self, inOutStructuredGrid: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.ROI
Convert a structured grid to a VolumeROI.
Note
If an output ROI is supplied, data is written to it and returned, otherwise a new ROI is created.
Note
The ROI is cleared prior to adding.
Note
If the source structured grid is a channel the output Volume ROI will contain voxel for every non zero channel values.
Note
If the source structured grid is a Volume ROI it returns a copy.
Note
If the source structured grid is a MultiROI it extracts the labels and adds them all to a Volume ROI.
See also
addToROI(), removeROI(),
ORSModel.ors.StructuredGrid.getAsChannel()- Parameters:
inOutStructuredGrid (ORSModel.ors.StructuredGrid) – an optional output Volume ROI (an StructuredGrid)
IProgress (ORSModel.ors.Progress) – an optional progress object (a Progress)
- Returns:
output (ORSModel.ors.ROI) – the resulting Volume ROI (an StructuredGrid)
- getBoundingBox(self, pTIndex: int) ORSModel.ors.Box
- Parameters:
pTIndex (int) –
- Returns:
output (ORSModel.ors.Box) –
- getBox(self) ORSModel.ors.Box
Gets the box.
- Returns:
output (ORSModel.ors.Box) – the box (an Box)
- getClassNameStatic() str
getClassNameStatic
- Returns:
output (str) –
- getDirtyBox(self, bResetDirtyBox: bool) ORSModel.ors.Box
Gets the dirty box.
- Parameters:
bResetDirtyBox (bool) – insicate that the dirty box should be resetted (a bool)
- Returns:
output (ORSModel.ors.Box) – the dirty box (a Box)
- getHasNonZeroDataOnPlane(self, aPlane: ORSModel.ors.Plane, tStep: int) bool
Test to know if there is a non zero value on plain.
- Parameters:
aPlane (ORSModel.ors.Plane) – a Plane (ORS::Plane)
tStep (int) – a time step (uint32_t)
- Returns:
output (bool) – a bool (bool)
- getHasNonZeroDataOnSlice(self, sliceIndex: int, timestep: int) bool
- Parameters:
sliceIndex (int) –
timestep (int) –
- Returns:
output (bool) –
- getHasSameShape(self, pStructuredGrid: ORSModel.ors.StructuredGrid) bool
Note
Shape comparison includes axis sizes, spacing, position and orientation.
- Parameters:
pStructuredGrid (ORSModel.ors.StructuredGrid) – a comparison structured grid
- Returns:
output (bool) – true if the comparison structured grid has same shape as receiver structured grid, false otherwise
- getIndexOfFirstIntersectingNonZeroElement(self, aLine: ORSModel.ors.Line, subBox: ORSModel.ors.Box, timestep: int) ORSModel.ors.Vector3
- Parameters:
aLine (ORSModel.ors.Line) –
subBox (ORSModel.ors.Box) –
timestep (int) –
- Returns:
output (ORSModel.ors.Vector3) –
- getLabelAtPosition(self, tIndex: int, worldPosition: ORSModel.ors.Vector3) int
- Parameters:
tIndex (int) –
worldPosition (ORSModel.ors.Vector3) –
- Returns:
output (int) –
- getOrigin(self) ORSModel.ors.Vector3
- Returns:
output (ORSModel.ors.Vector3) –
- getOriginalBox(self) ORSModel.ors.Box
- Returns:
output (ORSModel.ors.Box) –
- getPositionOfFirstIntersectingNonZeroElement(self, aLine: ORSModel.ors.Line, subBox: ORSModel.ors.Box, timestep: int) ORSModel.ors.Vector3
- Parameters:
aLine (ORSModel.ors.Line) –
subBox (ORSModel.ors.Box) –
timestep (int) –
- Returns:
output (ORSModel.ors.Vector3) –
- getShape3DGrownToContain(self, aShape: ORSModel.ors.Shape3D, timeIndex: int) ORSModel.ors.Shape3D
- Parameters:
aShape (ORSModel.ors.Shape3D) –
timeIndex (int) –
- Returns:
output (ORSModel.ors.Shape3D) –
- getSliceAtIndex(self, zIndex: int, inStructuredGridSlice: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.StructuredGrid
- Parameters:
zIndex (int) –
inStructuredGridSlice (ORSModel.ors.StructuredGrid) –
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.StructuredGrid) –
- getSliceIntersectingBoundedPlane(self, aBoundedPlane: ORSModel.ors.Rectangle, inStructuredGridSlice: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.StructuredGrid
- Parameters:
aBoundedPlane (ORSModel.ors.Rectangle) –
inStructuredGridSlice (ORSModel.ors.StructuredGrid) –
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.StructuredGrid) –
- getSpaceHasBeenTransformed(self) bool
- Returns:
output (bool) –
- getSpacingInDirection(self, pDirection: ORSModel.ors.Vector3) float
Gets the spacing in the specified direction.
Note
A structured grid knows its X, Y and Z spacing but can compute the spacing in any direction with this method.
See also
ORSModel.ors.StructuredGrid.getXSpacing(),ORSModel.ors.StructuredGrid.getYSpacing(),ORSModel.ors.StructuredGrid.getZSpacing()- Parameters:
pDirection (ORSModel.ors.Vector3) – the direction vector (an Vector3)
- Returns:
output (float) – The spacing (a double)
- getSubset(self, xmin: int, ymin: int, zmin: int, tmin: int, xmax: int, ymax: int, zmax: int, tmax: int, inChannelSubset: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.StructuredGrid
Note
To prevent creating extra StructuredGrid, the output StructuredGrid can be fed as the second to last argument to the method.
Note
If an output structured grid is not supplied, a StructuredGrid of the same base type will be created, otherwise the data will be fed directly into it.
- Parameters:
xmin (int) –
ymin (int) –
zmin (int) –
tmin (int) –
xmax (int) –
ymax (int) –
zmax (int) –
tmax (int) –
inChannelSubset (ORSModel.ors.StructuredGrid) –
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.StructuredGrid) – a StructuredGrid (see notes)
- getSubsetFromBox(self, subBox: ORSModel.ors.Box, timeIndex: int, inSGSubset: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress) ORSModel.ors.StructuredGrid
Note
To prevent creating extra StructuredGrid, the output StructuredGrid can be fed as the second to last argument to the method.
Note
If an output structured grid is not supplied, a StructuredGrid of the same base type will be created, otherwise the data will be fed directly into it.
- Parameters:
subBox (ORSModel.ors.Box) –
timeIndex (int) –
inSGSubset (ORSModel.ors.StructuredGrid) –
IProgress (ORSModel.ors.Progress) –
- Returns:
output (ORSModel.ors.StructuredGrid) – a StructuredGrid (see notes)
- getTSize(self) int
Gets the T size of the structured grid.
Note
The T size is expressed in units.
- Returns:
output (int) – the T size (an uint32_t)
- getTSpacing(self) float
Gets the structured grid’s T spacing.
Note
Spacing is used for structured grid visual representation.
- Returns:
output (float) – T spacing (a double)
- getTransformationFromOriginalReferential(self) ORSModel.ors.Matrix4x4
- Returns:
output (ORSModel.ors.Matrix4x4) –
- getTransformationShape3D(self) ORSModel.ors.Shape3D
- Returns:
output (ORSModel.ors.Shape3D) –
- getValueAlongPrimitivePath(self, aPath: ORSModel.ors.VisualPath, nbPoint: int, timestep: int, values: ORSModel.ors.ArrayDouble, samplingPointsX: ORSModel.ors.ArrayDouble, samplingPointsY: ORSModel.ors.ArrayDouble, samplingPointsZ: ORSModel.ors.ArrayDouble)
- Parameters:
aPath (ORSModel.ors.VisualPath) –
nbPoint (int) –
timestep (int) –
values (ORSModel.ors.ArrayDouble) –
samplingPointsX (ORSModel.ors.ArrayDouble) –
samplingPointsY (ORSModel.ors.ArrayDouble) –
samplingPointsZ (ORSModel.ors.ArrayDouble) –
- getValueAlongPrimitiveRuler(self, aRuler: ORSModel.ors.VisualRuler, nbPoint: int, timestep: int, values: ORSModel.ors.ArrayDouble, samplingPointsX: ORSModel.ors.ArrayDouble, samplingPointsY: ORSModel.ors.ArrayDouble, samplingPointsZ: ORSModel.ors.ArrayDouble)
- Parameters:
aRuler (ORSModel.ors.VisualRuler) –
nbPoint (int) –
timestep (int) –
values (ORSModel.ors.ArrayDouble) –
samplingPointsX (ORSModel.ors.ArrayDouble) –
samplingPointsY (ORSModel.ors.ArrayDouble) –
samplingPointsZ (ORSModel.ors.ArrayDouble) –
- getValueAtPosition(self, worldPos: ORSModel.ors.Vector3, timestep: int, defaultValue: float = None) float
- Parameters:
worldPos (ORSModel.ors.Vector3) –
timestep (int) –
defaultValue (float) –
- Returns:
output (float) –
- getVoxelToWorldCoordinates(self, anIndex: ORSModel.ors.Vector3) ORSModel.ors.Vector3
- Parameters:
anIndex (ORSModel.ors.Vector3) –
- Returns:
output (ORSModel.ors.Vector3) –
- getWorldToVoxelCoordinates(self, pPointInWorld: ORSModel.ors.Vector3) ORSModel.ors.Vector3
Gets a given voxel’s index from world coordinates.
- Parameters:
pPointInWorld (ORSModel.ors.Vector3) – the voxel coordinate encoded in ORS::Vector3
- Returns:
output (ORSModel.ors.Vector3) – the voxel coordinates (in a vector) of the voxel (an Vector3)
- getXSize(self) int
Gets the X size of the structured grid.
Note
The size is expressed in pixels.
- Returns:
output (int) – the X size (an uint32_t)
- getXSpacing(self) float
Gets the structured grid’s X spacing.
Note
Spacing is used for structured grid visual representation.
- Returns:
output (float) – X spacing (a double)
- getYSize(self) int
Gets the Y size of the structured grid.
Note
The size is expressed in pixels.
- Returns:
output (int) – the Y size (an uint32_t)
- getYSpacing(self) float
Gets the structured grid’s Y spacing.
Note
Spacing is used for structured grid visual representation.
- Returns:
output (float) – Y spacing (a double)
- getZSize(self) int
Gets the Z size of the structured grid.
Note
The size is expressed in pixels.
- Returns:
output (int) – the Z size (an uint32_t)
- getZSliceThickness(self) float
Gets the structured grid’s Z slice thickness.
Note
Slice thickness is used for structured grid visual representation.
See also
ORSModel.ors.StructuredGrid.setZSpacing(),ORSModel.ors.StructuredGrid.getZSpacing(),ORSModel.ors.StructuredGrid.setZSliceThickness()- Returns:
output (float) – Z slice thickness (a double)
- getZSpacing(self) float
Gets the structured grid’s Z spacing.
Note
Spacing is used for structured grid visual representation.
- Returns:
output (float) – Z spacing (a double)
- none() StructuredGrid
Returns a none object, equivalent to a non-existent object (or null).
- Returns:
output (StructuredGrid) –
- paintBox(self, pBox: ORSModel.ors.Box, label: float, tStep: int)
- Parameters:
pBox (ORSModel.ors.Box) –
label (float) –
tStep (int) –
- paintBoxIfInRange(self, pBox: ORSModel.ors.Box, label: float, tStep: int, fMinValue: float, fMaxValue: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
pBox (ORSModel.ors.Box) –
label (float) –
tStep (int) –
fMinValue (float) –
fMaxValue (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintBoxIntersectingChannel(self, pBox: ORSModel.ors.Box, label: float, tStep: int, intersectingChannel: ORSModel.ors.Channel, levelingMinRange: float, levelingMaxRange: float, ILUT: ORSModel.ors.LookupTable, intersectingChannelClipBox: ORSModel.ors.Box)
- Parameters:
pBox (ORSModel.ors.Box) –
label (float) –
tStep (int) –
intersectingChannel (ORSModel.ors.Channel) –
levelingMinRange (float) –
levelingMaxRange (float) –
ILUT (ORSModel.ors.LookupTable) –
intersectingChannelClipBox (ORSModel.ors.Box) –
- paintBoxIntersectingMultiROI(self, pBox: ORSModel.ors.Box, label: float, tStep: int, intersectingMultiROI: ORSModel.ors.MultiROI, fHightlightOpacity: float, fHightlightOpacityOutRange: float, intersectingMultiROIClipBox: ORSModel.ors.Box)
- Parameters:
pBox (ORSModel.ors.Box) –
label (float) –
tStep (int) –
intersectingMultiROI (ORSModel.ors.MultiROI) –
fHightlightOpacity (float) –
fHightlightOpacityOutRange (float) –
intersectingMultiROIClipBox (ORSModel.ors.Box) –
- paintBoxIntersectingROI(self, pBox: ORSModel.ors.Box, label: float, tStep: int, intersectingROI: ORSModel.ors.ROI, intersectingROIClipBox: ORSModel.ors.Box)
- Parameters:
pBox (ORSModel.ors.Box) –
label (float) –
tStep (int) –
intersectingROI (ORSModel.ors.ROI) –
intersectingROIClipBox (ORSModel.ors.Box) –
- paintCircle(self, aCircle: ORSModel.ors.Circle, label: float, timeIndex: int)
- Parameters:
aCircle (ORSModel.ors.Circle) –
label (float) –
timeIndex (int) –
- paintCircleOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, radius: float, label: float, timeIndex: int)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
radius (float) –
label (float) –
timeIndex (int) –
- paintCircleOnPlaneIfInRange(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, radius: float, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
radius (float) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintEllipseOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, dir0Radius: float, dir1Radius: float, axisOrientation: float, label: float, timeIndex: int, worldPositionArray: ORSModel.ors.ArrayDouble)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
dir0Radius (float) –
dir1Radius (float) –
axisOrientation (float) –
label (float) –
timeIndex (int) –
worldPositionArray (ORSModel.ors.ArrayDouble) –
- paintEllipseOnPlaneIfInRange(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, dir0Radius: float, dir1Radius: float, axisOrientation: float, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid, worldPositionArray: ORSModel.ors.ArrayDouble)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
dir0Radius (float) –
dir1Radius (float) –
axisOrientation (float) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
worldPositionArray (ORSModel.ors.ArrayDouble) –
- paintPolygonOnPlane(self, pPlane: ORSModel.ors.Rectangle, polygonWorldPos: ORSModel.ors.ArrayDouble, label: float, timeIndex: int, worldPositionArray: ORSModel.ors.ArrayDouble)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
polygonWorldPos (ORSModel.ors.ArrayDouble) –
label (float) –
timeIndex (int) –
worldPositionArray (ORSModel.ors.ArrayDouble) –
- paintPolygonOnPlaneIfInRange(self, pPlane: ORSModel.ors.Rectangle, polygonWorldPos: ORSModel.ors.ArrayDouble, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid, worldPositionArray: ORSModel.ors.ArrayDouble)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
polygonWorldPos (ORSModel.ors.ArrayDouble) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
worldPositionArray (ORSModel.ors.ArrayDouble) –
- paintRectangleOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, dir0Length: float, dir1Length: float, label: float, timeIndex: int)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
dir0Length (float) –
dir1Length (float) –
label (float) –
timeIndex (int) –
- paintRectangleOnPlaneIfInRange(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, dir0Length: float, dir1Length: float, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid, worldPositionArray: ORSModel.ors.ArrayDouble)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
dir0Length (float) –
dir1Length (float) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
worldPositionArray (ORSModel.ors.ArrayDouble) –
- paintRemoveBox(self, pBox: ORSModel.ors.Box, tStep: int)
Removes a box (3D object) from the receiver.
- Parameters:
pBox (ORSModel.ors.Box) – The T index (a uint32_t)
tStep (int) –
- paintRemoveCircleOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, radius: float, timeIndex: int)
Removes a circle (2D object) from the receiver.
- Parameters:
pPlane (ORSModel.ors.Rectangle) – The plane of the circle (a Rectangle)
worldPos (ORSModel.ors.Vector3) – The center of the circle (a Vector3)
radius (float) – The radius of the circle (a double)
timeIndex (int) – The T index (a uint32_t)
- paintRemoveSphere(self, worldPos: ORSModel.ors.Vector3, fRadius: float, tStep: int)
Removes a sphere (3D object) from the receiver.
- Parameters:
worldPos (ORSModel.ors.Vector3) – The center of the sphere (a Vector3)
fRadius (float) – The sphere radius (a double)
tStep (int) – The T index (a uint32_t)
- paintRemoveSquareOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, radius: float, timeIndex: int)
Removes a square (2D object) from the receiver.
- Parameters:
pPlane (ORSModel.ors.Rectangle) – The plane of the square (a Rectangle)
worldPos (ORSModel.ors.Vector3) – The center of the square (a Vector3)
radius (float) – The radius (a double)
timeIndex (int) – The T index (a uint32_t)
- paintShape3D(self, aShape: ORSModel.ors.Shape3D, label: float, tStep: int)
- Parameters:
aShape (ORSModel.ors.Shape3D) –
label (float) –
tStep (int) –
- paintShape3DIfInRange(self, aShape: ORSModel.ors.Shape3D, label: float, tStep: int, fMinValue: float, fMaxValue: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
aShape (ORSModel.ors.Shape3D) –
label (float) –
tStep (int) –
fMinValue (float) –
fMaxValue (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintSphere(self, worldPos: ORSModel.ors.Vector3, fRadius: float, label: float, tStep: int)
- Parameters:
worldPos (ORSModel.ors.Vector3) –
fRadius (float) –
label (float) –
tStep (int) –
- paintSphereIfInRange(self, worldPos: ORSModel.ors.Vector3, fRadius: float, label: float, tStep: int, fMinValue: float, fMaxValue: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
worldPos (ORSModel.ors.Vector3) –
fRadius (float) –
label (float) –
tStep (int) –
fMinValue (float) –
fMaxValue (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintSphereIntersectingChannel(self, worldPos: ORSModel.ors.Vector3, fRadius: float, label: float, tStep: int, intersectingChannel: ORSModel.ors.Channel, levelingMinRange: float, levelingMaxRange: float, ILUT: ORSModel.ors.LookupTable, intersectingChannelClipBox: ORSModel.ors.Box)
- Parameters:
worldPos (ORSModel.ors.Vector3) –
fRadius (float) –
label (float) –
tStep (int) –
intersectingChannel (ORSModel.ors.Channel) –
levelingMinRange (float) –
levelingMaxRange (float) –
ILUT (ORSModel.ors.LookupTable) –
intersectingChannelClipBox (ORSModel.ors.Box) –
- paintSphereIntersectingMultiROI(self, worldPos: ORSModel.ors.Vector3, fRadius: float, label: float, tStep: int, intersectingMultiROI: ORSModel.ors.MultiROI, fHightlightOpacity: float, fHightlightOpacityOutRange: float, intersectingMultiROIClipBox: ORSModel.ors.Box)
- Parameters:
worldPos (ORSModel.ors.Vector3) –
fRadius (float) –
label (float) –
tStep (int) –
intersectingMultiROI (ORSModel.ors.MultiROI) –
fHightlightOpacity (float) –
fHightlightOpacityOutRange (float) –
intersectingMultiROIClipBox (ORSModel.ors.Box) –
- paintSphereIntersectingROI(self, worldPos: ORSModel.ors.Vector3, fRadius: float, label: float, tStep: int, intersectingROI: ORSModel.ors.ROI, intersectingROIClipBox: ORSModel.ors.Box)
- Parameters:
worldPos (ORSModel.ors.Vector3) –
fRadius (float) –
label (float) –
tStep (int) –
intersectingROI (ORSModel.ors.ROI) –
intersectingROIClipBox (ORSModel.ors.Box) –
- paintSquareOnPlane(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, width: float, label: float, timeIndex: int)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
width (float) –
label (float) –
timeIndex (int) –
- paintSquareOnPlaneIfInRange(self, pPlane: ORSModel.ors.Rectangle, worldPos: ORSModel.ors.Vector3, width: float, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
pPlane (ORSModel.ors.Rectangle) –
worldPos (ORSModel.ors.Vector3) –
width (float) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintSubset(self, startX: int, startY: int, startZ: int, endX: int, endY: int, endZ: int, label: float, tStep: int)
- Parameters:
startX (int) –
startY (int) –
startZ (int) –
endX (int) –
endY (int) –
endZ (int) –
label (float) –
tStep (int) –
- paintSubsetIfInRange(self, startX: int, startY: int, startZ: int, endX: int, endY: int, endZ: int, label: float, tStep: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
startX (int) –
startY (int) –
startZ (int) –
endX (int) –
endY (int) –
endZ (int) –
label (float) –
tStep (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- paintVoxelsFromWorldCoordinates(self, worldPositionArray: ORSModel.ors.ArrayDouble, label: float, timeIndex: int)
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) –
label (float) –
timeIndex (int) –
- paintVoxelsFromWorldCoordinatesIfInRange(self, worldPositionArray: ORSModel.ors.ArrayDouble, label: float, timeIndex: int, lowerThreshold: float, upperThreshold: float, pRangeChannel: ORSModel.ors.StructuredGrid)
- Parameters:
worldPositionArray (ORSModel.ors.ArrayDouble) –
label (float) –
timeIndex (int) –
lowerThreshold (float) –
upperThreshold (float) –
pRangeChannel (ORSModel.ors.StructuredGrid) –
- projectInto(self, aDestinationStructuredGrid: ORSModel.ors.StructuredGrid, IProgress: ORSModel.ors.Progress)
Copies the receiver into the destination, keeping the destination shape.
- Parameters:
aDestinationStructuredGrid (ORSModel.ors.StructuredGrid) – a destination StructuredGrid (a StructuredGrid)
IProgress (ORSModel.ors.Progress) –
- removeROIAtTOffset(self, aROI: ORSModel.ors.ROI, pTOffset: int)
Note
The ROI to add will be projected correctly if it doesn’t share the same characteristics.
See also
removeROI(), MergeWithROI()
- Parameters:
aROI (ORSModel.ors.ROI) – the ROI to remove (an ROI)
pTOffset (int) – the T offset (a uint32_t)
- setBox(self, IInBox: ORSModel.ors.Box)
Sets the box.
Dirty flags: OrsDataDirty, OrsGeometryDirty
- Parameters:
IInBox (ORSModel.ors.Box) – the box (an Box)
- setCurrentShapeAsOriginal(self)
- setOrigin(self, origin: ORSModel.ors.Vector3)
Set the origin.
Dirty flags: OrsGeometryDirty
- Parameters:
origin (ORSModel.ors.Vector3) – the new origin (a Vector3)
- setTSize(self, pTSize: int)
Sets the T size of the structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
The T size is expressed in units.
- Parameters:
pTSize (int) – T size (an uint32_t)
- setTSpacing(self, pTSpacing: float)
Sets the structured grid’s T spacing.
Dirty flags: OrsGeometryDirty
Note
Spacing is used for structured grid visual representation.
- Parameters:
pTSpacing (float) – T spacing (a double)
- setTransformationShape3D(self, aShape: ORSModel.ors.Shape3D)
- Parameters:
aShape (ORSModel.ors.Shape3D) –
- setXSize(self, pXSize: int)
Sets the X size of the structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
The size is expressed in pixels.
- Parameters:
pXSize (int) – X size (an uint32_t)
- setXSpacing(self, pXSpacing: float)
Sets the structured grid’s X spacing.
Dirty flags: OrsGeometryDirty
Note
Spacing is used for structured grid visual representation.
- Parameters:
pXSpacing (float) – X spacing (a double)
- setXYZTSize(self, pXSize: int, pYSize: int, pZSize: int, pTSize: int)
Sets the X,Y,Z,T sizes of the structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
The size is expressed in pixels.
- Parameters:
pXSize (int) – X size (an uint32_t)
pYSize (int) – Y size (an uint32_t)
pZSize (int) – Z size (an uint32_t)
pTSize (int) – T size (an uint32_t)
- setYSize(self, pYSize: int)
Sets the Y size of the structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
The size is expressed in pixels.
- Parameters:
pYSize (int) – Y size (an uint32_t)
- setYSpacing(self, pYSpacing: float)
Sets the structured grid’s Y spacing.
Dirty flags: OrsGeometryDirty
Note
Spacing is used for structured grid visual representation.
- Parameters:
pYSpacing (float) – Y spacing (a double)
- setZSize(self, pZSize: int)
Sets the Z size of the structured grid.
Dirty flags: OrsDataDirty, OrsGeometryDirty
Note
The size is expressed in pixels.
- Parameters:
pZSize (int) – Z size (an uint32_t)
- setZSliceThickness(self, pZThickness: float)
Sets the structured grid’s Z slice thickness.
Note
Slice thickness is used for structured grid visual representation.
See also
ORSModel.ors.StructuredGrid.setZSpacing(),ORSModel.ors.StructuredGrid.getZSpacing(),ORSModel.ors.StructuredGrid.getZSliceThickness()- Parameters:
pZThickness (float) – Z slice thickness (a double)
- setZSpacing(self, pZSpacing: float)
Sets the structured grid’s Z spacing.
Dirty flags: OrsGeometryDirty
Note
Spacing is used for structured grid visual representation.
- Parameters:
pZSpacing (float) – Z spacing (a double)
- warpWithDeformationChannels(self, deformationChannelX: ORSModel.ors.Channel, deformationChannelY: ORSModel.ors.Channel, deformationChannelZ: ORSModel.ors.Channel, tIndex: int) ORSModel.ors.StructuredGrid
- Parameters:
deformationChannelX (ORSModel.ors.Channel) –
deformationChannelY (ORSModel.ors.Channel) –
deformationChannelZ (ORSModel.ors.Channel) –
tIndex (int) –
- Returns:
output (ORSModel.ors.StructuredGrid) –
Node¶
- class ORSModel.ors.Node(*args, **kwargs)
Bases:
ManagedAn abstract class for any object that can be a node in the visualization flow.
- attachChild(self, anINode: ORSModel.ors.Node) bool
Attaches a child node.
Note
Certain parent-child relationships are forbidden, hence the need to verify the result.
Note
Calling this method several times will still result in the child node only appearing once in its parent.
- Parameters:
anINode (ORSModel.ors.Node) – the node to attach (a Node)
- Returns:
output (bool) – true if child was attached, false otherwise
- attachChildAtIndex(self, anINode: ORSModel.ors.Node, index: int) bool
Attaches a child node at a given index.
Note
Certain parent-child relationships are forbidden, hence the need to verify the result.
Note
Calling this method several times will still result in the child node only appearing once in its parent.
- Parameters:
anINode (ORSModel.ors.Node) – the node to attach (a Node)
index (int) – the index (a uint32_t)
- Returns:
output (bool) – true if child was attached, false otherwise
- copyGraph(self) ORSModel.ors.Node
Returns a copy of the node, including its graph.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
- Returns:
output (ORSModel.ors.Node) – a new node (a Node)
- detachChild(self, anINode: ORSModel.ors.Node) bool
Detaches a child node.
- Parameters:
anINode (ORSModel.ors.Node) – the node to detach (a Node)
- Returns:
output (bool) – true if child was detached, false otherwise
- getAllChildrenNodes(self) ORSModel.ors.List
Returns a flattened list of the child hierarchy of the node.
Note
The child hierarchy is flattened.
Note
Expect a depth first search ordering of the nodes.
- Returns:
output (ORSModel.ors.List) – a list of all nodes below the node (a List)
- getAllChildrenOfClass(self, pProgId: str) ORSModel.ors.List
Returns all the nodes of the specified class found in the child hierarchy.
Note
Result will be an empty list if no match is found.
Note
The search is done depth-first.
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.List) – a list of nodes (a List)
- getAllChildrenOfClassReachableByRenderer(self, pProgId: str) ORSModel.ors.List
Returns a flattened list of all the child nodes, of the given class, that are renderable.
Note
The list contains only Managed objects (they will need to be typecast to the appropriate class).
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.List) – a list of all child nodes that can be rendered (an List)
- getAllParentNodes(self) ORSModel.ors.List
Returns a flattened list of the parent hierarchy of the node.
Note
The parent hierarchy is flattened.
Note
Expect a depth first search ordering of the nodes.
- Returns:
output (ORSModel.ors.List) – a list of all nodes above the node (an List)
- getAllParentsOfClass(self, pProgId: str) ORSModel.ors.List
Returns all the nodes of the specified class found in the parent hierarchy.
Note
Result will be an empty list if no match is found.
Note
The search is done depth-first.
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.List) – a list of nodes (an List)
- getChildWithGUID(self, aGUID: str) ORSModel.ors.Node
Gets an immediate child node with the given GUID.
Note
Only immediate children are searched.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
- Parameters:
aGUID (str) – a GUID (a string)
- Returns:
output (ORSModel.ors.Node) – a child node if found (a Node), none() otherwise
- getChildWithTitle(self, aTitle: str) ORSModel.ors.Node
Gets an immediate child node with the given title.
Note
Only immediate children are searched.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
- Parameters:
aTitle (str) – a string (a string)
- Returns:
output (ORSModel.ors.Node) – a child node if found (a Node), none() otherwise
- getChildrenNodes(self) ORSModel.ors.List
Returns the list of immediate child nodes.
- Returns:
output (ORSModel.ors.List) – a list of nodes (an List)
- getChildrenOfClass(self, pProgId: str) ORSModel.ors.List
Returns the nodes of the specified class found in the immediate children.
Note
Result will be an empty list if no match is found.
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.List) – a list of nodes (an List)
- getClassNameStatic() str
getClassNameStatic
- Returns:
output (str) –
- getFirstChildOfClass(self, pProgId: str) ORSModel.ors.Node
Returns the first object of the specified class found in the child hierarchy.
Note
The search is done breadth-first.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.Node) – a node if one exists (a Node), none() otherwise
- getFirstChildOfClassAndPrivateTitle(self, pProgId: str, privateTitle: str) ORSModel.ors.Node
Searches the hierarchy for a child node with the specified class and private title.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
See also
ORSModel.ors.Managed.setPrivateTitle(),ORSModel.ors.Managed.getPrivateTitle(),ORSModel.ors.Node.getFirstParentOfClassAndPrivateTitle()- Parameters:
pProgId (str) – the name of the class to test against (a string)
privateTitle (str) – some text (a string)
- Returns:
output (ORSModel.ors.Node) – a node if it exists (a Node), none() otherwise
- getFirstFrameTowardsNode(self, anINode: ORSModel.ors.Node) ORSModel.ors.ReferenceFrame
Gets the first frame found going up the hierarchy towards a given object.
- Parameters:
anINode (ORSModel.ors.Node) – the target node (an Node)
- Returns:
output (ORSModel.ors.ReferenceFrame) – a frame (an ReferenceFrame) or none if no frame is found
- getFirstNodeWithClassNameTowardsNode(self, pProgId: str, anINode: ORSModel.ors.Node) ORSModel.ors.Node
Searches the hierarchy for a parent node with the specified class toward a specific parent nopde.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
See also
ORSModel.ors.Managed.setPrivateTitle(),ORSModel.ors.Managed.getPrivateTitle(),ORSModel.ors.Node.getFirstChildOfClassAndPrivateTitle()- Parameters:
pProgId (str) – the name of the class to test against (a string)
anINode (ORSModel.ors.Node) – a target node
- Returns:
output (ORSModel.ors.Node) – a node if it exists (a Node), none() otherwise
- getFirstParentOfClass(self, pProgId: str) ORSModel.ors.Node
Returns the first object of the specified class found in the parent hierarchy.
Note
The search is done breadth-first.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.Node) – a node if one exists (a Node), none() otherwise
- getFirstParentOfClassAndPrivateTitle(self, pProgId: str, privateTitle: str) ORSModel.ors.Node
Searches the hierarchy for a parent node with the specified class and private title.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
See also
ORSModel.ors.Managed.setPrivateTitle(),ORSModel.ors.Managed.getPrivateTitle(),ORSModel.ors.Node.getFirstChildOfClassAndPrivateTitle()- Parameters:
pProgId (str) – the name of the class to test against (a string)
privateTitle (str) – some text (a string)
- Returns:
output (ORSModel.ors.Node) – a node if it exists (a Node), none() otherwise
- getFrameTransformationFromNode(self, towardNode: ORSModel.ors.Node, pTimeStep: int) ORSModel.ors.Matrix4x4
- Parameters:
towardNode (ORSModel.ors.Node) –
pTimeStep (int) –
- Returns:
output (ORSModel.ors.Matrix4x4) –
- getImmediateChildOfClass(self, pProgId: str) ORSModel.ors.Node
Searches for a child node with the specified class.
Note
Only the immediate children are searched, not the hierarchy.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.Node) – a node if it exists (a Node), none() otherwise
- getImmediateParentOfClass(self, pProgId: str) ORSModel.ors.Node
Searches for a parent node with the specified class.
Note
Only the immediate parents are searched, not the hierarchy.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.Node) – a node if it exists (a Node), none() otherwise
- getImmediateParentWithGUID(self, pGUID: str) ORSModel.ors.Node
Gets a parent node with the given GUID.
Note
Only immediate parents are searched.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
- Parameters:
pGUID (str) – a GUID (a string)
- Returns:
output (ORSModel.ors.Node) – a parent node if found (a Node), none() otherwise
- getIsNodeOneOfMyAscendants(self, anINode: ORSModel.ors.Node) bool
Checks to see if a specified node is in the parent hierarchy of the node.
Note
The parent hierarchy is searched in its entirety for the specified node.
Note
The search is conducted depth-first.
- Parameters:
anINode (ORSModel.ors.Node) –
- Returns:
output (bool) – true if the specified node in the parent hierarchy, false otherwise
- getIsNodeOneOfMyDescendants(self, anINode: ORSModel.ors.Node) bool
Checks to see if a specified node is in the child hierarchy of the node.
Note
The child hierarchy is searched in its entirety for the specified node.
Note
The search is conducted depth-first.
- Parameters:
anINode (ORSModel.ors.Node) –
- Returns:
output (bool) – true if the specified node in the child hierarchy, false otherwise
- getMaxTSizeOfChilden(self) int
Get Maximum T Size of all children node of this node.
- Returns:
output (int) –
- getParentNodes(self) ORSModel.ors.List
Gets the immediate parent nodes.
- Returns:
output (ORSModel.ors.List) – a list of nodes (a List)
- getParentWithGUID(self, pGUID: str) ORSModel.ors.Node
Gets a parent node (from the hierarchy) with the given GUID.
Note
The whole parent hierarchy is searched.
Note
The search is done breadth-first.
Note
You can type the return value of this method to any subclass of ORSNode, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be none().
- Parameters:
pGUID (str) – a GUID (a string)
- Returns:
output (ORSModel.ors.Node) – a parent node if found (a Node), none() otherwise
- getParentsOfClass(self, pProgId: str) ORSModel.ors.List
Returns the nodes of the specified class found in the immediate parents.
Note
Result will be an empty list if no match is found.
Note
Use static class names to search for objects (e.g. ORS::ReferenceFrame::getClassNameStatic())).
- Parameters:
pProgId (str) – the name of the class to test against (a string)
- Returns:
output (ORSModel.ors.List) – a list of nodes (a List)
- getVisual(self) ORSModel.ors.Visual
- Returns:
output (ORSModel.ors.Visual) – the visual of a model (a Visual)
- isVisibleInView(view: View) bool
Gets the visibility of the receiver in a given view.
- Parameters:
view (ORSModel.ors.View) – The current view
- Returns:
output (bool) – true if the receiver is visible, false otherwise
- none() Node
Returns a none object, equivalent to a non-existent object (or null).
- Returns:
output (Node) –
- propagateChildrenNodesOrganizationDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsChildrenNodesOrganizationDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- propagateDataDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsDataDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- propagateDirty(self, dirtyFlag: str, includeSelf: bool = False)
Causes a dirty message to be sent to all children nodes.
Note
See ORS_def.h for default dirty flag (ex: ORSDataDirty).
Note
A dirty message has different results for different objects, but generally causes a refresh on the data.
Note
Message propagation is done depth-first.
- Parameters:
dirtyFlag (str) – a string dirty flag (a string)
includeSelf (bool) – should set this dirty (a bool)
- propagateGeometryDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsGeometryDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- propagateHighlightDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsHighlightDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- propagatePropertyDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsPropertyDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- propagateVisibilityDirty(includeSelf=False)
Calls for a propagateDirty with the flag OrsVisibilityDirty
- Parameters:
includeSelf (bool) – True includes the receiver in the propagation, False doesn’t
- refresh()
Refreshes the views related to the current object
- refreshAll2DParentViews(self)
Causes all 2D views in the parent hierarchy of the node to be refreshed.
- refreshAll2DParentViewsIfVisible(self)
Causes all 2D views in the parent hierarchy of the node to be refreshed if it is a model and it visuals are visible in the views.
- refreshAll3DParentViews(self)
Causes all 3D views in the parent hierarchy of the node to be refreshed.
- refreshAll3DParentViewsIfVisible(self)
Causes all 3D views in the parent hierarchy of the node to be refreshed if it is a model and it visuals are visible in the views.
- refreshAllParentViews(self)
Causes all views in the parent hierarchy of the node to be refreshed.
- refreshAllParentViewsIfVisible(self)
Causes all views in the parent hierarchy of the node to be refreshed if it is a model and it visuals are visible in the views.
- setAllowRenderingInAllParentViews(self, bValue: bool)
Allows or prevents rendering in the views affected by a node.
- Parameters:
bValue (bool) – true to allow rendering, false to disallow it.
- switchOrderOfPrecedenceOfChildrenNodes(self, anINode1: ORSModel.ors.Node, anINode2: ORSModel.ors.Node) bool
Rearranges the order of child nodes.
Note
When child nodes are not in the desired order, they can be switched with this method (for example, the order in which they are rendered can be undesired).
Note
Both nodes are swapped in the list of nodes. For example, if nodes are A B C D and this call is made switchOrderOfPrecedenceOfChildrenNodes(A, C), the nodes are then in this order: C B A D.
Note
This method dives down in the child hierarchy until it finds a node where both arguments appear, then performs the switch at that level.
- Parameters:
anINode1 (ORSModel.ors.Node) – a child node (a Node)
anINode2 (ORSModel.ors.Node) – a child node (a Node)
- Returns:
output (bool) – true if successful, false otherwise
- switchOrderOfPrecedenceOfParentNodes(self, anINode1: ORSModel.ors.Node, anINode2: ORSModel.ors.Node) bool
Rearranges the ordering of immediate parent nodes.
Note
When parent nodes are not in the desired order, they can be switched with this method.
Note
Both nodes are swapped in the list of nodes. For example, if nodes are A B C D and this call is made switchOrderOfPrecedenceOfParentNodes(A, C), the nodes are then in this order: C B A D.
Note
This method acts only on immediate parent nodes, not the entire parent hierarchy.
- Parameters:
anINode1 (ORSModel.ors.Node) – a parent node (a Node)
anINode2 (ORSModel.ors.Node) – a parent node (a Node)
- Returns:
output (bool) – true if successful, false otherwise
Managed¶
- class ORSModel.ors.Managed(*args, **kwargs)
Bases:
ORSBaseClassAn abstract class that implements all the default behavior of managed objects.
- addCallbackToEvent(self, anEventName: str, sCallbackName: str, callbackData: int) bool
Adds a callback subscription to an event.
Note
The callback name for a given event needs to be unique for that event, i.e. no two callbacks for a given event can have the same name.
- Parameters:
anEventName (str) – name of the event to subscribe to (a string)
sCallbackName (str) – callback name (a string)
callbackData (int) – a pointer to a ORS_EVENT_CALLBACK_INFO structure
- Returns:
output (bool) – true if subscription succeeded, false otherwise
- addToDeleteSet(self, anIObject: ORSModel.ors.Managed)
Add an object to the delete set.
Note
All objects have a delete set, which designates those objects that should also be deleted when the receiver gets deleted.
- Parameters:
anIObject (ORSModel.ors.Managed) – an object (a Managed)
- addToSelection(contextInstance)
Adds the instance to the selection of a context
- Parameters:
contextInstance (plugin instance) – context instance
Note
Only representable object can be selected
- applyPreferences()
Helper for setting the attribute of the object following the preferences
- atomicLoad(sFilename: str, bPreserveIdentity: bool) Managed
Creates an object from a file where an object was saved.
- Parameters:
sFilename (str) – path of the file to load
bPreserveIdentity (bool) – if true, preserves the identity of the object, false otherwise
- Returns:
output (Managed) – a managed object, or none() if the load fails
- atomicLoadFrom(self, anXML: str)
Loads an object from an XML string.
- Parameters:
anXML (str) – an XML (a string)
Managed.atomicLoadFrom(self, buffer: bytes, nBytes: int)
Loads an object from a memory buffer. Used for python pickling.
- Parameters:
buffer (bytes) – the buffer
nBytes (int) – the number of bytes in the buffer (a uint64_t)
Managed.atomicLoadFrom(self, stream: ORSModel.ors.Stream) -> int
Loads an object from a stream (using callback).
- Parameters:
stream (ORSModel.ors.Stream) – the stream to read data from
- Returns:
output (int) – 0 if successful, otherwise an error code
- atomicLoadSpecificNode(self, aFilename: str, aXPathOfTheNodeToLoad: str) bool
Loads an object from a file containing several objects.
- Parameters:
aFilename (str) – The file name, including entire path (a string)
aXPathOfTheNodeToLoad (str) – The XPath specification to find the node
- Returns:
output (bool) – true if node was found and loaded, false otherwise
- atomicSave(self, aFilename: str, isTemporary: bool = False, iCompressionEngine: int = 1) int
Saves the object to a file.
- Parameters:
aFilename (str) – path of the file to save
isTemporary (bool) – if true, try to keep file in memory
iCompressionEngine (int) – the input compression engine (0: None, 1: ZSTD)
- Returns:
output (int) – 0 if successful, otherwise an error code
- atomicSaveToLegacyFormat(self, aFilename: str, isTemporary: bool = False, iCompressionEngine: int = 1) int
Saves the object to a file in the legacy (2022.2) format.
- Parameters:
aFilename (str) – path of the file to save
isTemporary (bool) – if true, try to keep file in memory
iCompressionEngine (int) – the input compression engine (0: None, 1: ZSTD)
- Returns:
output (int) – 0 if successful, otherwise an error code
- atomicSaveToStream(self, stream: ORSModel.ors.Stream, iCompressionEngine: int = 1) int
Saves the object to a stream (through callback).
- Parameters:
stream (ORSModel.ors.Stream) – stream object to save current object in
iCompressionEngine (int) – the input compression engine (0: None, 1: ZSTD)
- Returns:
output (int) – 0 if successful, otherwise an error code
- copy(self) ORSModel.ors.Managed
Returns a copy of the managed.
Note
Only the immediate attributes of the managed are copied. The graph surrounding the new managed is the same one as the source managed.
Note
You can type the return value of this method to any subclass of Managed, if you know the class of the object being retrieved. If its class doesn’t match the type specified the return will be NULL.
- Returns:
output (ORSModel.ors.Managed) – a new managed (a Managed)
- createScalarValuesCollection(self)
method createScalarValuesCollection
- deleteObject(self)
Explicitly deletes the core object wrapped by this Interface object.
- deleteObjectAndAllItsChildren(self)
Explicitly deletes the core object wrapped by this Interface object, along with all its children.
- ensureInitialization(self)
This is for the Python interface.
- getAllGroupsContaining(self, anIObject: ORSModel.ors.Managed) ORSModel.ors.List
Gets all the groups that contain the given object.
- Parameters:
anIObject (ORSModel.ors.Managed) –
- Returns:
output (ORSModel.ors.List) –
- getAllInstancesOf(pProgId: str) ORSModel.ors.List
Gathers all existing objects of the specified class.
- Parameters:
pProgId (str) –
- Returns:
output (ORSModel.ors.List) –
- getAllObjectsOfClassAndPrivateTitle(pProgId: str, pPrivateTitle: str) ORSModel.ors.List
Gathers all existing objects of the specified class, that have a matching private title.
- Parameters:
pProgId (str) – name of the class (a string)
pPrivateTitle (str) – private title to search for (a string)
- Returns:
output (ORSModel.ors.List) – all the objects that match the search criteria (a List)
- getAllObjectsOfClassAndTitle(pProgId: str, pTitle: str) ORSModel.ors.List
Gathers all existing objects of the specified class, that have a matching title.
- Parameters:
pProgId (str) – name of the class (a string)
pTitle (str) – title to search for (a string)
- Returns:
output (ORSModel.ors.List) – all the objects that match the search criteria (a List)
- getAllObjectsOfClassAndUserData(pProgId: str, userDataKey: str, userDataValue: str) ORSModel.ors.List
Gathers all existing objects of the specified class, that have a matching user data.
- Parameters:
pProgId (str) – name of the class (a string)
userDataKey (str) – key of the user data (a string)
userDataValue (str) – value to look for (a string)
- Returns:
output (ORSModel.ors.List) – all the objects that match the search criteria (a List)
- getAllRepresentableInstancesOf(pProgId: str) ORSModel.ors.List
Gathers all existing objects of the specified class that are representable.
- Parameters:
pProgId (str) –
- Returns:
output (ORSModel.ors.List) –
- getAllRepresentableObjects() ORSModel.ors.List
Gets all the representable objects of the world.
- Returns:
output (ORSModel.ors.List) – a list containing all the representable objects
- getAtomicTextRepresentation(self, bSelfContained: bool) str
Retrieves the object’s atomic text representation.
- Parameters:
bSelfContained (bool) –
- Returns:
output (str) –
- getAutoDelete(self) bool
Gets the autodelete value.
See also
- Returns:
output (bool) –
- getBinaryUserInfo(self, pTag: str)
Retrieves a user defined binary value. Typed as void* for sip, but it’s in reality an unsigned char*.
Note
If the key doesn’t exist, nullptr is returned
- Parameters:
pTag (str) – key of the data (a string)
- getBinaryUserInfoSize(self, pTag: str) int
Retrieves the size of a user defined binary value.
Note
If the key doesn’t exist, 0 is returned
- Parameters:
pTag (str) – key of the data (a string)
- Returns:
output (int) – the size of the data (a uint32_t)
- getCallbacksEnabled(self) bool
Queries the object to know if its callbacks are enabled or disabled.
- Returns:
output (bool) – true if callbacks are enabled, false otherwise
- getChildrenNodesOrganizationDirtySignature()
Gets the current dirty signature for the flag OrsChildrenNodesOrganizationDirty
- Returns:
childrenNodesOrganizationDirtySignature (int) – the dirty signature
- getClassName(self) str
Retrieves the class name of the core object wrapped by this Interface object.
- Returns:
output (str) – the class name (a string)
- getClassNameStatic() str
getClassNameStatic
- Returns:
output (str) –
- getCreationTime(self) int
Returns the time Number of seconds since Jan 1 2000 of creation of this object.
- Returns:
output (int) – a uint32_t
- getDataChecksum(self) str
Returns the computed checksum of the data.
- Returns:
output (str) –
- getDataDirtySignature()
Gets the current dirty signature for the flag OrsDataDirty
- Returns:
dataDirtySignature (int) – the dirty signature
- getDirtySignature(self, dirtyFlag: str) int
Gets the current dirty signature.
Note
Objects can be dirty for several aspects, see the ors_def.h file for the different dirty aspects.
- Parameters:
dirtyFlag (str) – dirty flag name (a string, see note below)
- Returns:
output (int) – dirty signature (a uint64_t)
- getEntireDirtySignature(self) int
Gets the current dirty signature for all aspects, added up.
Note
Objects can be dirty for several aspects, see the ors_def.h file for the different dirty aspects.
- Returns:
output (int) – entire dirty signature (a uint64_t)
- getEventCallbackEnabled(self, sEventName: str, sCallbackName: str) bool
Gets the enabled state of a callback subscription to an event.
- Parameters:
sEventName (str) – event name (a string)
sCallbackName (str) – callback name (a string)
- Returns:
output (bool) – true if callback is enabled, false if disabled or if the callback subscription did not exist
- getGUID(self) str
Retrieves the GUID of the core object.
Note
The GUID is the unique identifier of the object. No two objects can have the same GUID. Once you have an object’s GUID, at any time you can obtain a reference to that object via its GUID, given that the object is still alive.
- Returns:
output (str) –
- getGeometryDirtySignature()
Gets the current dirty signature for the flag OrsGeometryDirty
- Returns:
geometryDirtySignature (int) – the dirty signature
- getHasCallbacksForEvent(self, anEventName: str) bool
Checks if the receiver has any callbacks for an event.
- Parameters:
anEventName (str) – name of the event (a string)
- Returns:
output (bool) – true if callbacks exist for the event, false otherwise
- getHighlightDirtySignature()
Gets the current dirty signature for the flag OrsHighlightDirty
- Returns:
highlightDirtySignature (int) – the dirty signature
- getIsDirty(self, dirtyFlag: str) bool
Gets if the object is dirty for a specific dirty flag.
- Parameters:
dirtyFlag (str) – dirty flag name (a string, see note below)
- Returns:
output (bool) – true if object is dirty, false otherwise
- getIsDirtyAnyDirtyFlag(self) bool
Gets if the object is dirty for any of the dirty flags.
- Returns:
output (bool) – true if object is dirty, false otherwise
- getIsEqualTo(self, aManaged: ORSModel.ors.Managed) bool
Checks if the two objects are equal.
- Parameters:
aManaged (ORSModel.ors.Managed) – an object to compare with (a Managed)
- Returns:
output (bool) – true if the receiver and the argument are equal (class dependent), false otherwise
- getIsIdentityPreservedForPickling(self) bool
Returns True if the GUID is preserved when pickling and unpickling an object.
- Returns:
output (bool) – Returns True if the GUID is preserved when pickling and unpickling an object
- getIsInDeleteSet(self, anIObject: ORSModel.ors.Managed) bool
Gets if an object is included in the receiver delete set.
Note
The delete set is a list of objects that are to be deleted when the receiver is deleted.
- Parameters:
anIObject (ORSModel.ors.Managed) – object to look for in the receiver delete set (a Managed)
- Returns:
output (bool) – true if the object is in the delete set of the receiver, false otherwise
- getIsInstanceOf(self, pProgId: str) bool
Queries the object to know if it is an instance of a certain class.
- Parameters:
pProgId (str) –
- Returns:
output (bool) –
- getIsRepresentable(self) bool
Queries the object to know if it is representable.
- Returns:
output (bool) –
- getIsSameObjectAs(self, anObject: ORSModel.ors.Managed) bool
Checks to see if the receiver wraps the same underlying object as the supplied argument.
- Parameters:
anObject (ORSModel.ors.Managed) – an object to compare with (a Managed)
- Returns:
output (bool) – true if underlying object is the same for both the receiver and the argument, false otherwise
- getIsToBeKeptAliveUntilExit(self) bool
Queries the object to know if it is permanent for the life of the application.
Note
Permanent objects survive a new session, i.e. they live until the application is terminated.
- Returns:
output (bool) – true if object is permanent, false otherwise
- getIsToBeSaved(self) bool
Queries the object to know if it should be saved in a session file.
- Returns:
output (bool) – true if object should be saved, false otherwise
- getMetadataChecksum(self) str
Returns the computed checksum of the metadata.
- Returns:
output (str) –
- getObjectWithGUID(guid: str) ORSModel.ors.Managed
Retrieves an object from its GUID.
- Parameters:
guid (str) – a GUID (a string)
- Returns:
output (ORSModel.ors.Managed) – An object or none if object is not found
- getObjectWithGUIDasPointer(guid: str) ORSModel.ors.Managed
Retrieves an object from its GUID.
- Parameters:
guid (str) – a GUID (a string)
- Returns:
output (ORSModel.ors.Managed) – An object or nullptr if object is not found
- getPrivateTitle(self) str
Gets the private title of the object.
Note
The private title is never shown in the application, but is a means by which an object can be found (getAllObjectsOfClassAndPrivateTitle for example).
- Returns:
output (str) – private title of the object (a string)
- getPropertyDirtySignature()
Gets the current dirty signature for the flag OrsPropertyDirty
- Returns:
propertyDirtySignature (int) – the dirty signature
- getPythonRepresentation(self) str
Gets a Python evaluable string representation.
- Returns:
output (str) – The object’s representation (a string)
- getReferenceCount(self) int
Returns the count of references to the object.
- Returns:
output (int) – the count of references (an int)
- getScalarValuesCollection(self) ORSModel.ors.ScalarValuesCollection
method getScalarValuesCollection
- Returns:
output (ORSModel.ors.ScalarValuesCollection) –
- getTitle(self) str
Gets the title of the object.
- Returns:
output (str) – the title (a string)
- getUserInfo(self, pTag: str) str
Retrieves a user defined value.
Note
If the key doesn’t exist an empty string is returned.
- Parameters:
pTag (str) – key of the data (a string)
- Returns:
output (str) – the data (a string)
- getUserInfoAsArray(self) ORSModel.ors.ArrayString
Retrieves the user info as a string array.
Note
The user info data is flattened into an array of string pairs, for the key and the value.
- Returns:
output (ORSModel.ors.ArrayString) – the data (an ArrayString, see note below)
- getUserInfoAsDictionary()
User info copy of Managed in a easy way for manipulation
return a copy of the object user info as a dictionary
- getUserInfoMatchingPattern(self, pattern: str, case_sensitive_search: bool) List[str]
Searches the user info dictionary based on a pattern matching.
Note
The pattern matching is done via regex.
- Parameters:
pattern (str) – a search pattern (a string)
case_sensitive_search (bool) – true to search case-sensitive, false otherwise (a bool)
- Returns:
output (List[str]) – a list of keys and values pairs, for all matching keys (a list of strings)
- getVisibilityDirtySignature()
Gets the current dirty signature for the flag OrsVisibilityDirty
- Returns:
visibilityDirtySignature (int) – the dirty signature
- isManaged(self) bool
- Returns:
output (bool) –
- isNone(self) bool
Checks if the underlying core object is None.
Note
Interface objects hold references to core objects, so this method checks to see if a core object is truly referred to.
- Returns:
output (bool) – true if the core object is non-existent, false otherwise.
- isNotNone(self) bool
Checks if the underlying core object is not None.
Note
Interface objects hold references to core objects, so this method checks to see if a core object is truly referred to.
- Returns:
output (bool) – true if the core object is existent, false otherwise.
- none() Managed
Returns a none object, equivalent to a non-existent object (or null).
- Returns:
output (Managed) –
- publish()
Sets an object as representable and notifies the Dragonfly UI of a new available object
- removeBinaryUserInfo(self, pTag: str)
Removes a user defined binary value.
- Parameters:
pTag (str) – key name of the binary value (a string)
- removeCallbackFromEvent(guid: str, sEventName: str, sCallbackName: str, bRemoveInDeletedObject: bool) bool
Removes a callback subscription to an event.
- Parameters:
guid (str) – object GUID (a string)
sEventName (str) – name of the callback event (a string)
sCallbackName (str) – name of the callback (a string)
bRemoveInDeletedObject (bool) – if true, the callback will be removed from the object even if that object is in the process of being deleted (a boolean)
- Returns:
output (bool) – true callback existed, false otherwise
- removeFromDeleteSet(self, anIObject: ORSModel.ors.Managed)
Remove an object from the delete set.
Note
The delete set is a list of objects that are to be deleted when the receiver is deleted.
- Parameters:
anIObject (ORSModel.ors.Managed) – object to be removed from the delete set (a Managed)
- removeUserInfo(self, pTag: str)
Removes a user defined value.
- Parameters:
pTag (str) – key of the data (a string)
- selectExclusively(contextInstance)
Selects only the current instance for a context
- Parameters:
contextInstance (plugin instance) – context instance
Note
Only representable object can be selected
- setAsTemporaryObject(isTemporaryObject=True)
Helper for setting useful properties when marking an object as a (non-)temporary object.
- Parameters:
isTemporaryObject (bool) – if True, the object will be set as temporary (not representable, not to be saved, callbacks disabled). Otherwise, these properties are set as the opposite.
- setAutoDelete(self, value: bool)
When set to true, the interface object will call deleteObject on its core object when it is being deleted.
- Parameters:
value (bool) –
- setBinaryUserInfo(self, pTag: str, pValue: bytes, iDataSize: int)
Sets a user defined binary value.
Note
Objects can carry user defined data in the form of strings or binary data.
See also
ORSModel.ors.Managed.setUserInfo(),ORSModel.ors.Managed.getUserInfo(),ORSModel.ors.Managed.getBinaryUserInfo()- Parameters:
pTag (str) – key of the data (a string)
pValue (bytes) – the data (an unsigned char* buffer)
iDataSize (int) – the size of the data (a uint32_t)
- setCallbacksEnabled(self, enabled: bool)
Sets the object’s callbacks to be enabled or not.
Note
When an object’s callbacks are disabled, absolutely no callbacks are triggered from the receiver.
- Parameters:
enabled (bool) – true to enable callbacks, false otherwise
- setChildrenNodesOrganizationDirty()
Calls for a setDirty with the flag OrsChildrenNodesOrganizationDirty
- setDataDirty()
Calls for a setDirty with the flag OrsDataDirty
- setDirty(self, dirtyFlag: str)
Sets the object as being dirty for a given aspect.
Note
A dirty object is an object that has changed, giving its observers a chance to refresh their view on the object. Several aspects of an object can be dirty, see ORS_def.h for dirty signature flags.
- Parameters:
dirtyFlag (str) – dirty flag name (a string)
- setEventCallbackEnabled(self, sEventName: str, sCallbackName: str, bValue: bool) bool
Enables/disables a callback subscription to an event.
Note
Works for all callback types (object, class and global)
- Parameters:
sEventName (str) – event name (a string)
sCallbackName (str) – callback name (a string)
bValue (bool) – true to enable the callback, false to disable it
- Returns:
output (bool) – true if callback subscription existed, false otherwise
- setGeometryDirty()
Calls for a setDirty with the flag OrsGeometryDirty
- setHighlightDirty()
Calls for a setDirty with the flag OrsHighlightDirty
- setIdentityIsPreservedForPickling(self, value: bool)
Set to True if the GUID is to be preserved when pickling and unpickling an object.
- Parameters:
value (bool) –
- setIsNotDirty(self)
Sets the object as not being dirty for all dirty flags.
- setIsRepresentable(self, isRepresentable: bool)
Sets the object to be representable or not.
Note
Non representable objects don’t appear in lists and such, the implicit meaning is that these objects are transient and temporary.
- Parameters:
isRepresentable (bool) – true to make the object representable, false otherwise
- setIsToBeKeptAliveUntilExit(self, pFlag: bool)
Sets the object to be permanent for the life of the application.
Note
Permanent objects survive a new session, i.e. they live until the application is terminated.
- Parameters:
pFlag (bool) – true to make the object permanent, false otherwise
- setIsToBeSaved(self, pIsToBeSaved: bool)
Sets the object to be saved to session files or not.
- Parameters:
pIsToBeSaved (bool) – true to cause the object to be saved to session files, false otherwise
- setPrivateTitle(self, newPrivateTitle: str)
Sets the private title of the object.
Note
The private title can later be used to find a reference to that object, given that it’s still alive.
- Parameters:
newPrivateTitle (str) – a title (a string)
- setPropertyDirty()
Calls for a setDirty with the flag OrsPropertyDirty
- setTitle(self, newVal: str)
Sets the title of the object.
Dirty flags: OrsPropertyDirty
- Anonymize newVal:
True
- Parameters:
newVal (str) – new title (a string)
- setUserInfo(self, pTag: str, pValue: str)
- Parameters:
pTag (str) –
pValue (str) –
- setUserInfoFromDictionary(aDic)
Add key value pair to the user Info of the Object. an str call are done on the key and values to insure that we respect the UserInfo protocol of Managed Object
- Parameters:
aDic (dict) – a dictionary of information to add to the user information
- setVisibilityDirty()
Calls for a setDirty with the flag OrsVisibilityDirty
- switchAvailabilityToContext(oldContextID, newContextID)
Switches the availability of the object from an old context to a new context. This will be done only if the old context ID is found in the set of available contexts and the new context ID is not already in the set of available contexts. The availability for all other contexts remains unchanged.
The arguments oldContextID and newContextID are used as strings instead of plugin instances to support the situation where the old or new context is not existing (for example, to perform a copy of the objects).
- Parameters:
oldContextID (str) – old context ID
newContextID (str) – new context ID
- triggerClassEvent(self, sEventName: str) bool
Triggers a class event.
- Parameters:
sEventName (str) –
- Returns:
output (bool) –
- unpublish()
Sets an object as non-representable and notifies the Dragonfly UI of a loss of the availability of the object.
- unselect(contextInstance)
Unselects the instance for a context
- Parameters:
contextInstance (plugin instance) – context instance
ORSBaseClass¶
- class ORSModel.ors.ORSBaseClass
An abstract class from which all objects issued from the ORS Core Library inherit.
- getPythonTraceBack() List[str]
Set the python traceback for a call from python.
- Returns:
output (List[str]) –
- isManaged(self) bool
- Returns:
output (bool) –
- isNone(self) bool
- Returns:
output (bool) –
- setPythonTraceBack(tb: List[str])
Set the python traceback for a call from python.
- Parameters:
tb (List[str]) –