Skip to main content

Class: StreamingDynamicImageVolume

Streaming Image Volume Class that extends StreamingImageVolume base class. It implements load method to load the imageIds and insert them into the volume.

Extends​

  • BaseStreamingImageVolume

Implements​

Constructors​

new StreamingDynamicImageVolume()​

new StreamingDynamicImageVolume(imageVolumeProperties, streamingProperties): StreamingDynamicImageVolume

Parameters​

• imageVolumeProperties: ImageVolumeProps & object

• streamingProperties: IStreamingVolumeProperties

Returns​

StreamingDynamicImageVolume

Overrides​

BaseStreamingImageVolume.constructor

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:26

Properties​

additionalDetails?​

optional additionalDetails: Record<string, unknown>

Property to store additional information

Implementation of​

IDynamicImageVolume.additionalDetails

Inherited from​

BaseStreamingImageVolume.additionalDetails

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:143


autoRenderOnLoad​

protected autoRenderOnLoad: boolean = true

Inherited from​

BaseStreamingImageVolume.autoRenderOnLoad

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:48


cachedFrames​

protected cachedFrames: any[] = []

Inherited from​

BaseStreamingImageVolume.cachedFrames

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:49


cornerstoneImageMetaData​

protected cornerstoneImageMetaData: any = null

Implementation of​

IDynamicImageVolume.cornerstoneImageMetaData

Inherited from​

BaseStreamingImageVolume.cornerstoneImageMetaData

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:101


dataType?​

optional dataType: PixelDataTypedArrayString

Implementation of​

IDynamicImageVolume.dataType

Inherited from​

BaseStreamingImageVolume.dataType

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:156


dimensions​

dimensions: Point3

Dimensions of the volume

Implementation of​

IDynamicImageVolume.dimensions

Inherited from​

BaseStreamingImageVolume.dimensions

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:109


direction​

direction: Mat3

volume direction in world space

Implementation of​

IDynamicImageVolume.direction

Inherited from​

BaseStreamingImageVolume.direction

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:111


hasPixelSpacing​

hasPixelSpacing: boolean

whether the metadata for the pixel spacing is not undefined

Implementation of​

IDynamicImageVolume.hasPixelSpacing

Inherited from​

BaseStreamingImageVolume.hasPixelSpacing

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:141


imageData?​

optional imageData: vtkImageData

volume image data

Implementation of​

IDynamicImageVolume.imageData

Inherited from​

BaseStreamingImageVolume.imageData

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:133


imagesLoader​

imagesLoader: IImagesLoader

Inherited from​

BaseStreamingImageVolume.imagesLoader

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:63


isPreScaled​

isPreScaled: boolean = false

Implementation of​

IDynamicImageVolume.isPreScaled

Inherited from​

BaseStreamingImageVolume.isPreScaled

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:106


loadStatus​

loadStatus: object

load status object for the volume

callbacks​

callbacks: (...args) => void[]

cancelled​

cancelled: boolean

loaded​

loaded: boolean

loading​

loading: boolean

Implementation of​

IDynamicImageVolume.loadStatus

Inherited from​

BaseStreamingImageVolume.loadStatus

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:57


metadata​

metadata: Metadata

volume metadata

Implementation of​

IDynamicImageVolume.metadata

Inherited from​

BaseStreamingImageVolume.metadata

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:113


numDimensionGroups​

numDimensionGroups: number

Property to store the number of dimension groups.

Deprecated​

Implementation of​

IDynamicImageVolume.numDimensionGroups

Overrides​

BaseStreamingImageVolume.numDimensionGroups

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:24


numFrames​

numFrames: number

Implementation of​

IDynamicImageVolume.numFrames

Inherited from​

BaseStreamingImageVolume.numFrames

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:177


numVoxels​

numVoxels: number

volume number of voxels

Implementation of​

IDynamicImageVolume.numVoxels

Inherited from​

BaseStreamingImageVolume.numVoxels

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:131


origin​

origin: Point3

volume origin, Note this is an opinionated origin for the volume

Implementation of​

IDynamicImageVolume.origin

Inherited from​

BaseStreamingImageVolume.origin

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:115


referencedImageIds?​

optional referencedImageIds: string[]

optional reference image ids if the volume is derived from a set of images in the image cache

Implementation of​

IDynamicImageVolume.referencedImageIds

Inherited from​

BaseStreamingImageVolume.referencedImageIds

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:139


referencedVolumeId?​

optional referencedVolumeId: string

optional reference volume id if the volume is derived from another volume

Implementation of​

IDynamicImageVolume.referencedVolumeId

Inherited from​

BaseStreamingImageVolume.referencedVolumeId

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:137


reRenderFraction​

protected reRenderFraction: number = 2

Inherited from​

BaseStreamingImageVolume.reRenderFraction

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:51


reRenderTarget​

protected reRenderTarget: number = 0

Inherited from​

BaseStreamingImageVolume.reRenderTarget

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:50


scaling?​

optional scaling: object

volume scaling parameters if it contains scaled data

PT?​

optional PT: object

PT.SUVbsaFactor?​

optional SUVbsaFactor: number

PT.suvbwToSuvbsa?​

optional suvbwToSuvbsa: number

PT.suvbwToSuvlbm?​

optional suvbwToSuvlbm: number

PT.SUVlbmFactor?​

optional SUVlbmFactor: number

Implementation of​

IDynamicImageVolume.scaling

Inherited from​

BaseStreamingImageVolume.scaling

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:118


spacing​

spacing: Point3

volume spacing in 3d world space

Implementation of​

IDynamicImageVolume.spacing

Inherited from​

BaseStreamingImageVolume.spacing

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:129


suppressWarnings​

suppressWarnings: boolean

Implementation of​

IDynamicImageVolume.suppressWarnings

Inherited from​

BaseStreamingImageVolume.suppressWarnings

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:178


totalNumFrames​

protected totalNumFrames: number

volume scalar data 3D or 4D

Implementation of​

IDynamicImageVolume.totalNumFrames

Inherited from​

BaseStreamingImageVolume.totalNumFrames

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:100


volumeId​

readonly volumeId: string

Read-only unique identifier for the volume

Implementation of​

IDynamicImageVolume.volumeId

Inherited from​

BaseStreamingImageVolume.volumeId

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:104


voxelManager?​

optional voxelManager: IVoxelManager<number> | IVoxelManager<RGB>

The new volume model which solely relies on the separate image data and do not cache the volume data at all

Implementation of​

IDynamicImageVolume.voxelManager

Inherited from​

BaseStreamingImageVolume.voxelManager

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:155

Accessors​

compositeVoxelManager​

get compositeVoxelManager(): CompositeVoxelManager<number | RGB>

Returns​

CompositeVoxelManager<number | RGB>

Implementation of​

IDynamicImageVolume.compositeVoxelManager

Inherited from​

BaseStreamingImageVolume.compositeVoxelManager

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:413


dimensionGroupNumber​

get dimensionGroupNumber(): number

Returns the active dimension group number (1-based)

set dimensionGroupNumber(dimensionGroupNumber): void

Set the active dimension group number which also updates the active scalar data Dimension group numbers are 1-based.

Parameters​

• dimensionGroupNumber: number

The dimension group number to set as active (1-based)

Returns​

number

active dimension group number

Implementation of​

IDynamicImageVolume.dimensionGroupNumber

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:73


imageIds​

get imageIds(): string[]

return the image ids for the volume if it is made of separated images

set imageIds(newImageIds): void

updates the image ids

Parameters​

• newImageIds: string[]

Returns​

string[]

Implementation of​

IDynamicImageVolume.imageIds

Inherited from​

BaseStreamingImageVolume.imageIds

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:794


numTimePoints​

get numTimePoints(): number

Calculates the number of time points to be the number of dimension groups as a fallback for existing handling.

Deprecated​

Returns​

number

Implementation of​

IDynamicImageVolume.numTimePoints

Inherited from​

BaseStreamingImageVolume.numTimePoints

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:172


reductionStatistic​

get reductionStatistic(): VoxelStatistic

Statistic used when this volume must be reduced to fit a GPU texture. Intensity volumes use average. Labelmaps use foregroundMajority. Defaults to average.

set reductionStatistic(statistic): void

Set it before a render path provisions a texture. A derived representation keeps the statistic it was built with, but a reduced texture refills each dirty slice with the statistic of the volume at that time, so a later change mixes two statistics in one texture.

Parameters​

• statistic: VoxelStatistic

Returns​

VoxelStatistic

Implementation of​

IDynamicImageVolume.reductionStatistic

Inherited from​

BaseStreamingImageVolume.reductionStatistic

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:364


sizeInBytes​

get sizeInBytes(): number

Returns​

number

Implementation of​

IDynamicImageVolume.sizeInBytes

Inherited from​

BaseStreamingImageVolume.sizeInBytes

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:288


splittingTag​

get splittingTag(): string

Returns the splitting tag used to split the imageIds in the volume

Returns​

string

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:144


textureSets​

get textureSets(): VolumeTextureSet<vtkStreamingOpenGLTexture>[]

The named texture sets of this volume, which the global store holds.

Returns​

VolumeTextureSet<vtkStreamingOpenGLTexture>[]

Implementation of​

IDynamicImageVolume.textureSets

Inherited from​

BaseStreamingImageVolume.textureSets

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:596


voxelGrid​

get voxelGrid(): VoxelGrid

The grid descriptor of the data of this volume.

The grid states the origin, the direction, the spacing and the dimensions that the volume already holds, and it states nothing else. There is no level index: the grid of this volume is the primary representation of the composite, and it carries no ordinal that would make it "level 0".

Each call gives a new record, and the record holds a copy of each array, so a consumer that stores the grid is not exposed to a later change of this.origin or of this.dimensions.

Returns​

VoxelGrid

Implementation of​

IDynamicImageVolume.voxelGrid

Inherited from​

BaseStreamingImageVolume.voxelGrid

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:319


vtkOpenGLTexture​

get vtkOpenGLTexture(): vtkStreamingOpenGLTexture

The texture of the full-resolution grid, and not every texture of the volume. The volume holds named sets of textures, and this member names the one member of the set full-resolution/full-extent.

The value follows the store. It is undefined until something provisions that set, and it returns to undefined when the store evicts that set. A render path that draws a reduced grid reads a different set, and this value stays undefined.

Returns​

vtkStreamingOpenGLTexture

Implementation of​

IDynamicImageVolume.vtkOpenGLTexture

Inherited from​

BaseStreamingImageVolume.vtkOpenGLTexture

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:704


textureBudget​

get static textureBudget(): number

The number of bytes that the textures of every volume may take.

Returns​

number

Inherited from​

BaseStreamingImageVolume.textureBudget

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:577


textureBytesUsed​

get static textureBytesUsed(): number

The number of bytes that the textures of every volume take.

Returns​

number

Inherited from​

BaseStreamingImageVolume.textureBytesUsed

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:572

Methods​

callLoadImage()​

callLoadImage(imageId, imageIdIndex, options): any

Parameters​

• imageId: any

• imageIdIndex: any

• options: any

Returns​

any

Inherited from​

BaseStreamingImageVolume.callLoadImage

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:666


callLoadStatusCallback()​

protected callLoadStatusCallback(evt): void

Parameters​

• evt: any

Returns​

void

Inherited from​

BaseStreamingImageVolume.callLoadStatusCallback

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:142


cancelLoading()​

cancelLoading(): void

It cancels loading the images of the volume. It sets the loading status to false and filters any imageLoad request in the requestPoolManager that has the same volumeId

Returns​

void

Implementation of​

IDynamicImageVolume.cancelLoading

Inherited from​

BaseStreamingImageVolume.cancelLoading

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:108


checkDimensionGroupCompletion()​

protected checkDimensionGroupCompletion(imageIdIndex): void

Parameters​

• imageIdIndex: number

Returns​

void

Overrides​

BaseStreamingImageVolume.checkDimensionGroupCompletion

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:188


claimTextureSet()​

claimTextureSet(name): boolean

Adds one holder of a named set, so an eviction cannot take it.

Parameters​

• name: string

Returns​

boolean

Implementation of​

IDynamicImageVolume.claimTextureSet

Inherited from​

BaseStreamingImageVolume.claimTextureSet

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:656


clearLoadCallbacks()​

clearLoadCallbacks(): void

Clear the load callbacks

Returns​

void

Inherited from​

BaseStreamingImageVolume.clearLoadCallbacks

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:138


createVoxelRepresentation()​

createVoxelRepresentation(options): VoxelRepresentation<number | RGB>

Derives a new representation from the data that the volume already holds, and adds that representation to the composite.

A derivation always goes from a higher resolution to a lower one. Data that no derivation can give arrives through compositeVoxelManager.acceptData, which is the member that a loader calls.

Parameters​

• options: CreateVoxelRepresentationOptions

Returns​

VoxelRepresentation<number | RGB>

Implementation of​

IDynamicImageVolume.createVoxelRepresentation

Inherited from​

BaseStreamingImageVolume.createVoxelRepresentation

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:525


deliveredRegions()​

protected deliveredRegions(): DeliveredRegion[]

The frames of this volume that the loader has already delivered.

cachedFrames is the record of the quality of each frame, so this member states each loaded frame as one region of one k slice. A volume that has loaded nothing states an empty list, which tells a derivation that no source voxel holds a value yet.

Returns​

DeliveredRegion[]

Implementation of​

IDynamicImageVolume.deliveredRegions

Inherited from​

BaseStreamingImageVolume.deliveredRegions

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:538


destroy()​

destroy(): void

destroy the volume and make it unusable

Returns​

void

Implementation of​

IDynamicImageVolume.destroy

Inherited from​

BaseStreamingImageVolume.destroy

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:521


errorCallback()​

errorCallback(imageId, permanent, error): void

Parameters​

• imageId: any

• permanent: any

• error: any

Returns​

void

Inherited from​

BaseStreamingImageVolume.errorCallback

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:335


flatImageIdIndexToDimensionGroupNumber()​

flatImageIdIndexToDimensionGroupNumber(flatImageIdIndex): number

Parameters​

• flatImageIdIndex: number

Returns​

number

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:124


flatImageIdIndexToImageIdIndex()​

flatImageIdIndexToImageIdIndex(flatImageIdIndex): number

Parameters​

• flatImageIdIndex: number

Returns​

number

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:137


getCornerstoneImages()​

getCornerstoneImages(): IImage[]

Returns an array of all the volume's images as Cornerstone images. It iterates over all the imageIds and converts them to Cornerstone images.

Returns​

IImage[]

An array of Cornerstone images.

Implementation of​

IDynamicImageVolume.getCornerstoneImages

Inherited from​

BaseStreamingImageVolume.getCornerstoneImages

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:924


getCurrentDimensionGroupImageIds()​

getCurrentDimensionGroupImageIds(): string[]

Returns​

string[]

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:120


getFullResolutionTexture()​

getFullResolutionTexture(): vtkStreamingOpenGLTexture

The texture of the full-resolution grid. The member provisions the set named full-resolution/full-extent when the store does not hold it.

Returns​

vtkStreamingOpenGLTexture

the texture, or undefined when the store refuses it

Implementation of​

IDynamicImageVolume.getFullResolutionTexture

Inherited from​

BaseStreamingImageVolume.getFullResolutionTexture

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:679


getGridQuality()​

getGridQuality(grid, statistic?): VoxelQualityRecord

The record of the data that a texture of one grid holds. A render path reads it for the grid that it bound. A reduced texture fills by box average straight from the source, so no representation of its grid needs to exist.

Parameters​

• grid: VoxelGrid

• statistic?: VoxelStatistic

Returns​

VoxelQualityRecord

Implementation of​

IDynamicImageVolume.getGridQuality

Inherited from​

BaseStreamingImageVolume.getGridQuality

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:551


getImageIdByIndex()​

getImageIdByIndex(imageIdIndex): string

Parameters​

• imageIdIndex: number

Returns​

string

Implementation of​

IDynamicImageVolume.getImageIdByIndex

Inherited from​

BaseStreamingImageVolume.getImageIdByIndex

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:836


getImageIdIndex()​

getImageIdIndex(imageId): number

return the index of a given imageId

Parameters​

• imageId: string

imageId

Returns​

number

imageId index

Implementation of​

IDynamicImageVolume.getImageIdIndex

Inherited from​

BaseStreamingImageVolume.getImageIdIndex

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:832


getImageIdsRequests()​

protected getImageIdsRequests(imageIds, priorityDefault): object[]

Parameters​

• imageIds: string[]

• priorityDefault: number

Returns​

object[]

Inherited from​

BaseStreamingImageVolume.getImageIdsRequests

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:692


getImageIdsToLoad()​

getImageIdsToLoad(): string[]

Returns​

string[]

Overrides​

BaseStreamingImageVolume.getImageIdsToLoad

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:65


getImageLoadRequests()​

getImageLoadRequests(priority): object[]

It returns the imageLoad requests for the streaming image volume instance. It involves getting all the imageIds of the volume and creating a success callback which would update the texture (when the image has loaded) and the failure callback. Note that this method does not execute the requests but only returns the requests. It can be used for sorting requests outside of the volume loader itself e.g. loading a single slice of CT, followed by a single slice of PET (interleaved), before moving to the next slice.

Parameters​

• priority: number

Returns​

object[]

Array of requests including imageId of the request, its imageIdIndex, options (targetBuffer and scaling parameters), and additionalDetails (volumeId)

Overrides​

BaseStreamingImageVolume.getImageLoadRequests

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:160


getImageQuality()​

getImageQuality(imageIdIndex): ImageQualityStatus

The quality of the data that the image of one image id index holds. A volume that does not stream holds every image at full resolution, and a streaming volume states the quality that each delivery recorded.

Parameters​

• imageIdIndex: number

Returns​

ImageQualityStatus

the quality, or undefined when no data of the image has arrived

Implementation of​

IDynamicImageVolume.getImageQuality

Inherited from​

BaseStreamingImageVolume.getImageQuality

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:526


getImageURIIndex()​

getImageURIIndex(imageURI): number

return the index of a given imageURI

Parameters​

• imageURI: string

Returns​

number

imageURI index

Implementation of​

IDynamicImageVolume.getImageURIIndex

Inherited from​

BaseStreamingImageVolume.getImageURIIndex

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:845


getLoaderImageOptions()​

getLoaderImageOptions(imageId): object

Parameters​

• imageId: string

Returns​

object

additionalDetails​

additionalDetails: object

additionalDetails.imageId​

imageId: string

additionalDetails.imageIdIndex​

imageIdIndex: number

additionalDetails.volumeId​

volumeId: string

allowFloatRendering​

allowFloatRendering: boolean

preScale​

preScale: object

preScale.enabled​

enabled: boolean

preScale.scalingParameters​

scalingParameters: ScalingParameters

requestType​

requestType: RequestType = requestTypeDefault

retrieveOptions​

retrieveOptions: any = undefined

targetBuffer​

targetBuffer: object

targetBuffer.type​

type: PixelDataTypedArrayString

transferPixelData​

transferPixelData: boolean = true

transferSyntaxUID​

transferSyntaxUID: any

Inherited from​

BaseStreamingImageVolume.getLoaderImageOptions

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:564


getScalarDataLength()​

getScalarDataLength(): number

Returns​

number

Implementation of​

IDynamicImageVolume.getScalarDataLength

Inherited from​

BaseStreamingImageVolume.getScalarDataLength

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:892


getTextureSet()​

getTextureSet(name): VolumeTextureSet<vtkStreamingOpenGLTexture>

One named texture set of this volume.

Parameters​

• name: string

Returns​

VolumeTextureSet<vtkStreamingOpenGLTexture>

Implementation of​

IDynamicImageVolume.getTextureSet

Inherited from​

BaseStreamingImageVolume.getTextureSet

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:603


getVoxelQuality()​

getVoxelQuality(selector): VoxelQualityRecord

The absolute record of the data that a reader would get for a region, under the same three inputs that the selection takes.

The record states no verdict. A reader compares it against its own requirement with compareVoxelQuality, so two viewports over one volume can report a different verdict at the same moment.

Parameters​

• selector: VoxelRepresentationSelector = {}

Returns​

VoxelQualityRecord

Implementation of​

IDynamicImageVolume.getVoxelQuality

Inherited from​

BaseStreamingImageVolume.getVoxelQuality

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:539


getVoxelRepresentations()​

getVoxelRepresentations(): VoxelRepresentation<number | RGB>[]

Every representation of the voxel data, the primary one included.

Many representations can exist at one resolution, each one covering a different part of the volume, because a set of bricks is exactly that. A caller must not assume one representation for each spacing.

Returns​

VoxelRepresentation<number | RGB>[]

Implementation of​

IDynamicImageVolume.getVoxelRepresentations

Inherited from​

BaseStreamingImageVolume.getVoxelRepresentations

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:498


imageIdIndexToFrameIndex()​

protected imageIdIndexToFrameIndex(imageIdIndex): number

Converts imageIdIndex into frameIndex which will be the same for 3D volumes but different for 4D volumes. The indices are 0 based.

Parameters​

• imageIdIndex: number

Returns​

number

Implementation of​

IDynamicImageVolume.imageIdIndexToFrameIndex

Inherited from​

BaseStreamingImageVolume.imageIdIndexToFrameIndex

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:914


invalidate()​

invalidate(): void

Returns​

void

Implementation of​

IDynamicImageVolume.invalidate

Inherited from​

BaseStreamingImageVolume.invalidate

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:870


invalidateVolume()​

protected invalidateVolume(immediate): void

Parameters​

• immediate: boolean

Returns​

void

Inherited from​

BaseStreamingImageVolume.invalidateVolume

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:81


isDimensionGroupLoaded()​

isDimensionGroupLoaded(dimensionGroupNumber): boolean

Checks if a specific dimension group is fully loaded

Parameters​

• dimensionGroupNumber: number

The dimension group number to check (1-based)

Returns​

boolean

boolean indicating if the dimension group is fully loaded

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:170


isDynamicVolume()​

isDynamicVolume(): boolean

return true if it is a 4D volume or false if it is 3D volume

Returns​

boolean

Implementation of​

IDynamicImageVolume.isDynamicVolume

Inherited from​

BaseStreamingImageVolume.isDynamicVolume

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:819


isInCurrentDimensionGroup()​

protected isInCurrentDimensionGroup(flatImageIdIndex): boolean

Whether an image belongs to the dimension group that the grid shows. A volume of one group holds every image in that group.

Parameters​

• flatImageIdIndex: number

Returns​

boolean

Overrides​

BaseStreamingImageVolume.isInCurrentDimensionGroup

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:130


isLoadingProgressively()​

isLoadingProgressively(): boolean

Whether this volume loads now through a retrieve configuration, such as the interleaved stages. Such a load orders its own requests, so a stack prefetch of the same images competes with it and must stay out.

Returns​

boolean

Inherited from​

BaseStreamingImageVolume.isLoadingProgressively

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:500


listenForCachedImages()​

protected listenForCachedImages(): void

Marks a frame when the image of that frame reaches the cache.

This volume reads the voxels of a frame from the image of the cache, and the image reaches the cache after the loader delivers it. A mark that runs before the image arrives reads nothing, and nothing marks the frame again, so the frame keeps whatever it held: it stays empty, or it keeps the replicate of a neighbour that a progressive loader put there first. A sagittal or a coronal view then shows a black line, or a block of one frame repeated.

cache.setPartialImage, which is how a replicate reaches the cache, sends no event, so this member hears the arrival of real images only. The delivery path marks the frame for a replicate.

Returns​

void

Inherited from​

BaseStreamingImageVolume.listenForCachedImages

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:258


load()​

load(callback): void

It triggers a prefetch for images in the volume.

Parameters​

• callback

A callback function to be called when the volume is fully loaded

Returns​

void

Implementation of​

IDynamicImageVolume.load

Inherited from​

BaseStreamingImageVolume.load

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:379


loadImages()​

loadImages(): Promise<boolean>

Retrieves images using the older getImageLoadRequests method to setup all the requests. Ensures compatibility with the custom image loaders.

Returns​

Promise<boolean>

Inherited from​

BaseStreamingImageVolume.loadImages

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:770


markAllTexturesDirty()​

markAllTexturesDirty(): void

Marks every voxel of every texture of every set for a refill.

Returns​

void

Implementation of​

IDynamicImageVolume.markAllTexturesDirty

Inherited from​

BaseStreamingImageVolume.markAllTexturesDirty

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:774


markFrameModified()​

markFrameModified(frameIndex): void

Takes a change of the voxels of one frame at an unchanged quality.

An edit of a labelmap, or a computed volume that writes new values, is such a change. The member redoes the derived boxes of the frame, whatever the record of earlier refreshes states, and it marks the textures.

Parameters​

• frameIndex: number

Returns​

void

Implementation of​

IDynamicImageVolume.markFrameModified

Inherited from​

BaseStreamingImageVolume.markFrameModified

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:765


markFrameTexturesDirty()​

markFrameTexturesDirty(frameIndex): void

Marks one frame for a refill in every texture of every set whose grid covers the frame. The member records no quality and redoes no derived box.

One frame changes several textures, because each texture that covers the frame reads the same voxels, and MR-API-IV-6 states that rule. A mark uploads nothing: the refill happens at the next render of each texture.

Parameters​

• frameIndex: number

Returns​

void

Implementation of​

IDynamicImageVolume.markFrameTexturesDirty

Inherited from​

BaseStreamingImageVolume.markFrameTexturesDirty

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:720


modified()​

modified(): void

Updates the internals of the volume to reflect the changes in the underlying scalar data. This should be called when the scalar data is modified externally

Returns​

void

Implementation of​

IDynamicImageVolume.modified

Inherited from​

BaseStreamingImageVolume.modified

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:881


pinTextureSet()​

pinTextureSet(name): boolean

Keeps a named set until this volume leaves the cache, whatever the budget. A legacy viewport draws a set that it holds no claim on, so it pins it.

Parameters​

• name: string

Returns​

boolean

Implementation of​

IDynamicImageVolume.pinTextureSet

Inherited from​

BaseStreamingImageVolume.pinTextureSet

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:664


provisionTextureSet()​

provisionTextureSet(options): VolumeTextureSet<vtkStreamingOpenGLTexture>

Provisions a named texture set. This is the expensive step: it counts the cost, evicts if it must, and allocates the textures.

A set of this name that already exists comes back as it is, so a caller may ask without a test of its own.

ownerId gives a set of slabs that re-point, and exactly one owner holds such a set, because the owner is the only party that knows when a draw starts and stops.

Parameters​

• options: VolumeProvisionTextureSetOptions

Returns​

VolumeTextureSet<vtkStreamingOpenGLTexture>

the set, or undefined when the store refuses it

Implementation of​

IDynamicImageVolume.provisionTextureSet

Inherited from​

BaseStreamingImageVolume.provisionTextureSet

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:625


recordFrameDelivery()​

recordFrameDelivery(frameIndex, quality): void

Records that the data of one frame arrived at a known quality.

The composite records the delivery, and it redoes the boxes of every derived representation that the frame changed, because a derivation must follow the load. A second record of the same frame at the same quality redoes nothing. Only a caller that knows the quality of the data calls this member, because a lower record never replaces a higher one.

The member marks no texture. A loader calls markFrameTexturesDirty too.

Parameters​

• frameIndex: number

• quality: ImageQualityStatus

the quality of the data that arrived

Returns​

void

Implementation of​

IDynamicImageVolume.recordFrameDelivery

Inherited from​

BaseStreamingImageVolume.recordFrameDelivery

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:744


releaseTextureSet()​

releaseTextureSet(name): boolean

Gives one holder of a named set back.

Parameters​

• name: string

Returns​

boolean

Implementation of​

IDynamicImageVolume.releaseTextureSet

Inherited from​

BaseStreamingImageVolume.releaseTextureSet

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:669


removeFromCache()​

removeFromCache(): void

Returns​

void

Implementation of​

IDynamicImageVolume.removeFromCache

Inherited from​

BaseStreamingImageVolume.removeFromCache

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:888


removeOtherPrefetchRequests()​

protected removeOtherPrefetchRequests(): void

Removes the queued prefetch requests of another loader for the images of this volume. A stack prefetch queued before a switch to a volume layout otherwise loads the whole series from the top down, and it takes more request slots than the stages of this volume.

Returns​

void

Inherited from​

BaseStreamingImageVolume.removeOtherPrefetchRequests

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:510


resetCompositeVoxelManager()​

protected resetCompositeVoxelManager(): void

Discards the composite, so that the next read builds it again from deliveredRegions. A caller that replaces every voxel of the volume calls this member, because each record and each derived representation then describes data that the volume no longer holds.

Returns​

void

Implementation of​

IDynamicImageVolume.resetCompositeVoxelManager

Inherited from​

BaseStreamingImageVolume.resetCompositeVoxelManager

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:408


scroll()​

scroll(delta): void

Scroll properly to enable looping

Parameters​

• delta: number

The amount to scroll

Returns​

void

Implementation of​

IDynamicImageVolume.scroll

Defined in​

packages/core/src/cache/classes/StreamingDynamicImageVolume.ts:108


selectVoxelRepresentation()​

selectVoxelRepresentation(selector): VoxelRepresentation<number | RGB>

The representation that a reader gets for a region, at a statistic, under a ceiling. The ceiling is the resolution that the caller will use, so a render path that fills a texture at one eighth passes the spacing of that texture, and the selection does not return the full-resolution data.

The selection never creates. createVoxelRepresentation creates, and the caller decides whether a new representation is worth its cost.

Parameters​

• selector: VoxelRepresentationSelector = {}

Returns​

VoxelRepresentation<number | RGB>

Implementation of​

IDynamicImageVolume.selectVoxelRepresentation

Inherited from​

BaseStreamingImageVolume.selectVoxelRepresentation

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:511


stopListeningForCachedImages()​

protected stopListeningForCachedImages(): void

Stops the volume listening for the images that reach the cache.

Returns​

void

Inherited from​

BaseStreamingImageVolume.stopListeningForCachedImages

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:296


successCallback()​

successCallback(imageId, image): void

Parameters​

• imageId: string

• image: any

Returns​

void

Inherited from​

BaseStreamingImageVolume.successCallback

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:308


takeInCachedImages()​

protected takeInCachedImages(): void

Delivers the images of this volume that the cache already holds, such as the images that a stack viewport loaded before a switch to MPR.

Without this, the volume learns of such an image only when its own stage requests it, and a nearby fill skips the frame because the cache already holds a better image, so the frame stays empty until a late stage.

The deliveries run in batches of at most 8 ms, and a later task runs the next batch, so a volume whose images are all cached does not stall. A delivery only marks texture slices, and each render fills them under the budget of rendering.reducedTextureFill. A cancelled or a restarted load stops the batches.

Returns​

void

Inherited from​

BaseStreamingImageVolume.takeInCachedImages

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:450


updateTextureAndTriggerEvents()​

protected updateTextureAndTriggerEvents(imageIdIndex, imageId, imageQualityStatus): void

Parameters​

• imageIdIndex: any

• imageId: any

• imageQualityStatus: ImageQualityStatus = ImageQualityStatus.FULL_RESOLUTION

Returns​

void

Inherited from​

BaseStreamingImageVolume.updateTextureAndTriggerEvents

Defined in​

packages/core/src/cache/classes/BaseStreamingImageVolume.ts:174


clearTextureSets()​

static clearTextureSets(): void

Removes every texture set of every volume.

Returns​

void

Inherited from​

BaseStreamingImageVolume.clearTextureSets

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:591


setTextureBudget()​

static setTextureBudget(bytes): void

States the budget of the texture memory of every volume. An application states it from a capability profile, and a budget that nobody states is no limit, so the behaviour of a viewport does not change.

Parameters​

• bytes: number

Returns​

void

Inherited from​

BaseStreamingImageVolume.setTextureBudget

Defined in​

packages/core/src/cache/classes/ImageVolume.ts:586