Skip to main content

Interface: VoxelsInShapeSamplingOptions

Extends​

Properties​

bounds?​

optional bounds: BoundsIJK

Inclusive index bounds to confine iteration to. Defaults to the whole volume. Supply the annotation's own index-space bounding box when you have one; the slab bound tightening below only narrows along the normal.

Bounds only narrow: each axis intersects the volume extent, so a box that reaches outside the volume still yields no index outside it.

Inherited from​

VoxelsInShapeOptions.bounds

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:79


columnAxis?​

optional columnAxis: 0 | 1 | 2

Force which axis carries the runs. See buildIndexSpaceSlab.

Inherited from​

VoxelsInShapeOptions.columnAxis

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:89


depthCoverage?​

optional depthCoverage: SlabDepthCoverage

Which voxels along the normal the slab selects.

'overlapping', the default, takes every voxel whose box the slab reaches, so the slab is widened by half a voxel each side and a plane halfway between two layers selects both. 'centerInside' takes only the voxels whose centre the slab contains, and consecutive slabs then tile: each voxel belongs to exactly one of them.

Inherited from​

VoxelsInShapeOptions.depthCoverage

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:70


getShapeRuns?​

optional getShapeRuns: ShapeRunProvider

Exact or exact-multiple in-plane runs. See ShapeRunProvider.

Inherited from​

VoxelsInShapeOptions.getShapeRuns

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:81


isInShape()?​

optional isInShape: (center, ijk) => boolean

Per-voxel in-plane predicate. Required when getShapeRuns is absent or only approximate. Receives the voxel centre in world coordinates; project it onto the annotation plane yourself if the shape needs that.

Parameters​

• center: Point3

• ijk: Point3

Returns​

boolean

Inherited from​

VoxelsInShapeOptions.isInShape

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:87


onSample()?​

optional onSample: (sample) => void

Called for every voxel that has a value, in iteration order. This is where a statistics accumulator hooks in; it runs whether or not the samples are being collected.

Parameters​

• sample: VoxelSample

Returns​

void

Defined in​

packages/core/src/utilities/voxelSlab/sampleVoxelsInShape.ts:28


planePoint​

planePoint: Point3

The annotation plane anchor, in world coordinates.

Inherited from​

VoxelsInShapeOptions.planePoint

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:52


referencePlaneThickness?​

optional referencePlaneThickness: number

The reference plane thickness in mm. Omit, or pass null or 0, to default to one voxel along the normal. A planar shape reports 0 from getRequiredThickness, so a caller can pass that value straight through.

Inherited from​

VoxelsInShapeOptions.referencePlaneThickness

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:60


storePointData?​

optional storePointData: boolean

Whether to return the samples as well. Collecting them costs an object per voxel, which an ROI over a large volume will feel, so a caller that only wants statistics should leave this off and use onSample.

Defined in​

packages/core/src/utilities/voxelSlab/sampleVoxelsInShape.ts:34


viewPlaneNormal​

viewPlaneNormal: Point3

The annotation view plane normal. Must be unit length.

Inherited from​

VoxelsInShapeOptions.viewPlaneNormal

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:54


volume​

volume: VolumeGeometry

The volume being measured. Pass an IImageVolume, or any object that has direction, spacing, origin and dimensions. The structural form lets a caller that holds no cached volume, such as a test, use this code.

Inherited from​

VoxelsInShapeOptions.volume

Defined in​

packages/core/src/utilities/voxelSlab/iterateVoxelsInShape.ts:50


voxelManager​

voxelManager: VoxelValueSource

Where the values come from. Voxels it has no value for are skipped.

Defined in​

packages/core/src/utilities/voxelSlab/sampleVoxelsInShape.ts:22