Interface: IndexSpaceSlab
The slab of Rule M expressed in index space.
The depth test is exactly linear in the integer voxel indices, which is what lets the iterator emit exact runs rather than test every voxel:
depth(p) = (centre - planePoint) . n = p . g + c0
g = Mᵀ n (the index space normal, deliberately not normalised)
c0 = (origin - planePoint) . n
Iteration nests outer -> row -> column. Derivation and axis roles:
docs/docs/concepts/cornerstone-tools/annotation/voxel-statistics.md.
Properties
c0
c0:
number
c0, the world depth of index (0, 0, 0).
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:36
columnAxis
columnAxis:
0|1|2
Runs are emitted along this axis, innermost.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:68
depthHigh
depthHigh:
number
The high end of the depth interval. Always exclusive.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:52
depthLow
depthLow:
number
The low end of the depth interval. Inclusive when halfOpen is set.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:50
g
g:
Point3
g, the unnormalised index space normal.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:34
halfOpen
halfOpen:
boolean
Whether depthLow is inclusive, which makes the interval half-open.
An open interval drops both of its endpoints, so a voxel centre that lands exactly on a boundary belongs to neither of two consecutive slabs. A half-open interval gives that voxel to exactly one of the two, which is what makes consecutive slabs tile. Follows from the slab's SlabDepthCoverage.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:62
halfWidth
halfWidth:
number
A bound on Math.abs(depth) for any qualifying voxel. For the open
interval this is the strict half width, already tightened by the epsilon,
so Math.abs(depth) < halfWidth is the test. For the half-open interval
this is only a bound, and IndexSpaceSlab.depthLow and
IndexSpaceSlab.depthHigh give the exact interval.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:48
outerAxis
outerAxis:
0|1|2
argmax |g|. Swept outermost.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:64
referencePlaneThickness
referencePlaneThickness:
number
The resolved reference plane thickness.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:40
rowAxis
rowAxis:
0|1|2
Swept in the middle loop.
Defined in
packages/core/src/utilities/voxelSlab/indexSpaceSlab.ts:66
voxelThickness
voxelThickness:
number
The voxel thickness along the normal.