Class: VoxelManager<T>
This is a simple, standard interface to values associated with a voxel.
Type Parameters
• T
Constructors
new VoxelManager()
new VoxelManager<
T
>(dimensions
,options
):VoxelManager
<T
>
Creates a generic voxel value accessor, with access to the values provided by the _get and optionally _set values.
Parameters
• dimensions: any
for the voxel volume
• options
• options._get
called to get a value by index
• options._getConstructor?
• options._getScalarData?
• options._id?: string
• options._set?
called when setting a value
• options._updateScalarData?
• options.numberOfComponents?: number
• options.scalarData?: ArrayLike
<number
>
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:75
Properties
_get()
readonly
_get: (index
) =>T
Parameters
• index: number
Returns
T
Defined in
packages/core/src/utilities/VoxelManager.ts:57
_getConstructor()?
readonly
optional
_getConstructor: () => (length
) =>PixelDataTypedArray
Returns
Function
Parameters
• length: number
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:59
_getScalarData()?
optional
_getScalarData: () =>ArrayLike
<number
>
Returns
ArrayLike
<number
>
Defined in
packages/core/src/utilities/VoxelManager.ts:61
_getScalarDataLength()?
optional
_getScalarDataLength: () =>number
Returns
number
Defined in
packages/core/src/utilities/VoxelManager.ts:60
_getSliceData()
_getSliceData: (
args
) =>PixelDataTypedArray
Parameters
• args
• args.sliceIndex: number
• args.slicePlane: number
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:63
_id
readonly
_id:string
Defined in
packages/core/src/utilities/VoxelManager.ts:52
_set()
readonly
_set: (index
,v
) =>boolean
Parameters
• index: number
• v: T
Returns
boolean
Defined in
packages/core/src/utilities/VoxelManager.ts:58
_updateScalarData()?
optional
_updateScalarData: (scalarData
) =>PixelDataTypedArray
Parameters
• scalarData: ArrayLike
<number
>
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:62
dimensions
readonly
dimensions:Point3
Defined in
packages/core/src/utilities/VoxelManager.ts:40
frameSize
frameSize:
number
Defined in
packages/core/src/utilities/VoxelManager.ts:56
getCompleteScalarDataArray()?
optional
getCompleteScalarDataArray: () =>ArrayLike
<number
>
Returns
ArrayLike
<number
>
Defined in
packages/core/src/utilities/VoxelManager.ts:42
getRange()
getRange: () => [
number
,number
]
Returns
[number
, number
]
Defined in
packages/core/src/utilities/VoxelManager.ts:45
isInObject()
isInObject: (
pointLPS
,pointIJK
) =>boolean
Parameters
• pointLPS: any
• pointIJK: any
Returns
boolean
Defined in
packages/core/src/utilities/VoxelManager.ts:39
map
map:
Map
<number
,T
> |IRLEVoxelMap
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:37
modifiedSlices
modifiedSlices:
Set
<number
>
Defined in
packages/core/src/utilities/VoxelManager.ts:30
numberOfComponents
readonly
numberOfComponents:any
Defined in
packages/core/src/utilities/VoxelManager.ts:41
points
points:
Set
<number
>
Defined in
packages/core/src/utilities/VoxelManager.ts:54
setCompleteScalarDataArray()?
optional
setCompleteScalarDataArray: (scalarData
) =>void
Parameters
• scalarData: ArrayLike
<number
>
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:43
sourceVoxelManager
sourceVoxelManager:
IVoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:38
static
static:
any
Defined in
packages/core/src/utilities/VoxelManager.ts:1328
width
width:
number
Defined in
packages/core/src/utilities/VoxelManager.ts:55
Accessors
bytePerVoxel
get
bytePerVoxel():number
Returns
number
Defined in
packages/core/src/utilities/VoxelManager.ts:425
sizeInBytes
get
sizeInBytes():number
Returns
number
Defined in
packages/core/src/utilities/VoxelManager.ts:421
Methods
addPoint()
addPoint(
point
):void
Adds a point as an array or an index value to the set of points associated with this voxel value. Can be used for tracking clicked points or other modified values.
Parameters
• point: number
| Point3
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:518
clear()
clear():
void
Clears any map specific data, as well as the modified slices, points and bounds.
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:439
forEach()
forEach(
callback
,options
):void
|any
[]
Iterates over the voxels in the VoxelManager and applies a callback function to each voxel. It can operate on IJK and LPS coordinate systems, and it can be limited to a specific region of the data if the isInObject function is provided.
For the LPS calculations, both direction and spacing should be provided.
If the boundsIJK is not provided, the iteration will be over the entire volume/data
If the VoxelManager is backed by a Map, it will only iterate over the stored values. Otherwise, it will iterate over all voxels within the specified or default bounds.
Parameters
• callback
• options = {}
• options.boundsIJK?: BoundsIJK
• options.imageData?: vtkImageData
| CPUImageData
• options.isInObject?
• options.returnPoints?: boolean
Returns
void
| any
[]
Defined in
packages/core/src/utilities/VoxelManager.ts:237
getArrayOfModifiedSlices()
getArrayOfModifiedSlices():
number
[]
Returns
number
[]
The array of modified k indices
Defined in
packages/core/src/utilities/VoxelManager.ts:479
getAtIJK()
getAtIJK(
i
,j
,k
):T
Gets the voxel value at position i,j,k. This method should be used in favor of getAtIJKPoint when performance is a concern.
Parameters
• i: any
• j: any
• k: any
Returns
T
Defined in
packages/core/src/utilities/VoxelManager.ts:107
getAtIJKPoint()
getAtIJKPoint(
__namedParameters
):T
Gets the voxel value at the given Point3 location.
Parameters
• __namedParameters: [any
, any
, any
]
Returns
T
Defined in
packages/core/src/utilities/VoxelManager.ts:132
getAtIndex()
getAtIndex(
index
):T
Gets the value at the given index.
Parameters
• index: any
Returns
T
Defined in
packages/core/src/utilities/VoxelManager.ts:146
getBoundsIJK()
getBoundsIJK():
BoundsIJK
Gets the bounds for the modified set of values.
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:217
getConstructor()
getConstructor(): (
length
) =>PixelDataTypedArray
Returns
Function
a constructor for a typed array for the pixel data of the given length and the right type. Defaults to float32array.
Parameters
• length: number
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:455
getDefaultBounds()
getDefaultBounds():
BoundsIJK
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:210
getMiddleSliceData()
getMiddleSliceData():
PixelDataTypedArray
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:195
getMinMax()
getMinMax():
object
Gets the min/max pair - as array for RGB
Returns
object
max
max:
any
min
min:
any
Defined in
packages/core/src/utilities/VoxelManager.ts:149
getPoints()
getPoints():
Point3
[]
Gets the list of added points as an array of Point3 values
Returns
Point3
[]
Defined in
packages/core/src/utilities/VoxelManager.ts:531
getScalarData()
getScalarData(
storeScalarData
):PixelDataTypedArray
Retrieves the scalar data.
If the scalar data is already available, it will be returned.
Otherwise, if the _getScalarData
method is defined, it will be called to retrieve the scalar data.
If neither the scalar data nor the _getScalarData
method is available, an error will be thrown.
Parameters
• storeScalarData: boolean
= false
a parameter to allow storing the scalar data rather than throwing it away each time.
Returns
The scalar data.
Throws
If no scalar data is available.
Defined in
packages/core/src/utilities/VoxelManager.ts:382
getScalarDataLength()
getScalarDataLength():
number
Gets the length of the scalar data.
Returns
number
The length of the scalar data.
Throws
If no scalar data is available.
Defined in
packages/core/src/utilities/VoxelManager.ts:409
getSliceData()
getSliceData(
sliceViewInfo
):PixelDataTypedArray
Retrieves the slice data for a given slice view.
Parameters
• sliceViewInfo
An object containing information about the slice view.
• sliceViewInfo.sliceIndex: number
The index of the slice.
• sliceViewInfo.slicePlane: number
The axis of the slice (0 for YZ plane, 1 for XZ plane, 2 for XY plane).
Returns
A typed array containing the pixel data for the specified slice.
Throws
Error if an invalid slice axis is provided.
Defined in
packages/core/src/utilities/VoxelManager.ts:546
resetModifiedSlices()
resetModifiedSlices():
void
Resets the set of modified slices.
This method clears all entries from the modifiedSlices
set,
effectively marking all slices as unmodified.
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:488
rleForEach()
rleForEach(
callback
,options
?):void
Foreach callback optimized for RLE testing
Parameters
• callback: any
• options?: any
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:341
setAtIJK()
setAtIJK(
i
,j
,k
,v
):boolean
Sets the voxel value at position i,j,k and records the slice that was modified.
This method should be used in favor of setAtIJKPoint when performance is a concern.
Parameters
• i: number
• j: number
• k: number
• v: any
Returns
boolean
Defined in
packages/core/src/utilities/VoxelManager.ts:118
setAtIJKPoint()
setAtIJKPoint(
__namedParameters
,v
):void
Sets the voxel value at the given point3 location to the specified value. Records the z index modified. Will record the index value if the VoxelManager is backed by a map.
Parameters
• __namedParameters: Point3
• v: any
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:139
setAtIndex()
setAtIndex(
index
,v
):boolean
Sets the value at the given index
Parameters
• index: any
• v: any
Returns
boolean
Defined in
packages/core/src/utilities/VoxelManager.ts:174
setScalarData()
setScalarData(
newScalarData
):void
Parameters
• newScalarData: PixelDataTypedArray
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:399
toIJK()
toIJK(
index
):Point3
Converts an index value to a Point3 IJK value
Parameters
• index: number
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:187
toIndex()
toIndex(
ijk
):number
Converts an IJK Point3 value to an index value
Parameters
• ijk: Point3
Returns
number
Defined in
packages/core/src/utilities/VoxelManager.ts:206
addBounds()
static
addBounds(bounds
,point
):void
Extends the bounds of this object to include the specified point
Parameters
• bounds: BoundsIJK
• point: Point3
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:495
addInstanceToImage()
static
addInstanceToImage(image
):void
This method adds a voxelManager instance to the image object where the object added is of type:
- RLE map if the scalar data is missing or too small (dummy data)
- Volume VoxelManager scalar data representations
Parameters
• image: IImage
Returns
void
Defined in
packages/core/src/utilities/VoxelManager.ts:1297
createHistoryVoxelManager()
static
createHistoryVoxelManager<T
>(__namedParameters
):VoxelManager
<T
>
Creates a history remembering voxel manager. This will remember the original values in the voxels, and will apply the update to the underlying source voxel manager.
Type Parameters
• T
Parameters
• __namedParameters
• __namedParameters.sourceVoxelManager: VoxelManager
<T
>
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1143
createImageVolumeVoxelManager()
static
createImageVolumeVoxelManager(__namedParameters
):IVoxelManager
<number
> |IVoxelManager
<RGB
>
Creates a VoxelManager for an image volume. which are those volumes that are composed of multiple images, one for each slice.
Parameters
• __namedParameters
• __namedParameters.dimensions: Point3
• __namedParameters.imageIds: string
[]
• __namedParameters.numberOfComponents: number
= 1
Returns
IVoxelManager
<number
> | IVoxelManager
<RGB
>
A VoxelManager instance for the image volume.
Defined in
packages/core/src/utilities/VoxelManager.ts:682
createImageVoxelManager()
static
createImageVoxelManager(__namedParameters
):IVoxelManager
<number
> |IVoxelManager
<RGB
>
Parameters
• __namedParameters
• __namedParameters.height: number
• __namedParameters.numberOfComponents?: number
= 1
• __namedParameters.scalarData: PixelDataTypedArray
• __namedParameters.width: number
Returns
IVoxelManager
<number
> | IVoxelManager
<RGB
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1046
createLazyVoxelManager()
static
createLazyVoxelManager<T
>(__namedParameters
):VoxelManager
<T
>
Creates a lazy voxel manager that will create an image plane as required for each slice of a volume as it gets changed. This can be used to store image data that gets created as required.
Type Parameters
• T
Parameters
• __namedParameters
• __namedParameters.dimensions: Point3
• __namedParameters.planeFactory
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1218
createMapVoxelManager()
static
createMapVoxelManager<T
>(__namedParameters
):IVoxelManager
<T
>
Creates a volume map value accessor. This is initially empty and the map stores the index to value instances. This is useful for sparse matrices containing pixel data.
Type Parameters
• T
Parameters
• __namedParameters
• __namedParameters.dimension: Point3
Returns
Defined in
packages/core/src/utilities/VoxelManager.ts:1123
createRLEHistoryVoxelManager()
static
createRLEHistoryVoxelManager<T
>(sourceVoxelManager
):VoxelManager
<T
>
Creates a history remembering voxel manager, based on the RLE endpoint rather than a map endpoint. This will remember the original values in the voxels, and will apply the update to the underlying source voxel manager.
Type Parameters
• T
Parameters
• sourceVoxelManager: VoxelManager
<T
>
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1179
createRLEImageVoxelManager()
static
createRLEImageVoxelManager<T
>(__namedParameters
):VoxelManager
<T
>
Type Parameters
• T
Parameters
• __namedParameters
• __namedParameters.dimensions: Point2
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1280
createRLEVolumeVoxelManager()
static
createRLEVolumeVoxelManager<T
>(__namedParameters
):VoxelManager
<T
>
Creates a RLE based voxel manager. This is effective for storing segmentation maps or already RLE encoded data such as ultrasounds.
Type Parameters
• T
Parameters
• __namedParameters
• __namedParameters.dimensions: Point3
Returns
VoxelManager
<T
>
Defined in
packages/core/src/utilities/VoxelManager.ts:1252
createScalarDynamicVolumeVoxelManager()
static
createScalarDynamicVolumeVoxelManager(__namedParameters
):IVoxelManager
<number
> |IVoxelManager
<RGB
>
Parameters
• __namedParameters
• __namedParameters.dimensions: Point3
• __namedParameters.imageIdGroups: string
[][]
• __namedParameters.numberOfComponents?: number
= 1
• __namedParameters.timePoint: number
= 0
Returns
IVoxelManager
<number
> | IVoxelManager
<RGB
>
Defined in
packages/core/src/utilities/VoxelManager.ts:949
createScalarVolumeVoxelManager()
static
createScalarVolumeVoxelManager(__namedParameters
):IVoxelManager
<number
> |IVoxelManager
<RGB
>
Creates a volume value accessor, based on a volume scalar data instance. This also works for image value accessors for single plane (k=0) accessors.
This should be deprecated in favor of the createImageVolumeVoxelManager method since that one does not need to know the number of scalar data and it creates them on the fly.
Parameters
• __namedParameters
• __namedParameters.dimensions: Point3
• __namedParameters.numberOfComponents?: number
= 1
• __namedParameters.scalarData: any
Returns
IVoxelManager
<number
> | IVoxelManager
<RGB
>