@cornerstonejs/core
Version:
Cornerstone3D Core
134 lines (133 loc) • 6.79 kB
TypeScript
import type { mat4 } from 'gl-matrix';
import type { BlendModes, InterpolationType } from '../enums/index.js';
import { OrientationAxis } from '../enums/index.js';
import type { ActorEntry, FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, ICamera } from '../types/index.js';
import type { VoiModifiedEventDetail } from '../types/EventTypes.js';
import type { PlaneRestriction, ViewportInput } from '../types/IViewport.js';
import type { TransferFunctionNodes } from '../types/ITransferFunctionNode.js';
import Viewport from './Viewport.js';
import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
declare abstract class BaseVolumeViewport extends Viewport {
useCPURendering: boolean;
private _FrameOfReferenceUID;
private sharpening;
private smoothing;
protected initialTransferFunctionNodes: TransferFunctionNodes;
private globalDefaultProperties;
private perVolumeIdDefaultProperties;
protected initialViewUp: Point3;
protected viewportProperties: VolumeViewportProperties;
private volumeIds;
constructor(props: ViewportInput);
static get useCustomRenderingPipeline(): boolean;
isOrientationChangeable(): boolean;
getSliceViewInfo(): {
width: number;
height: number;
sliceIndex: number;
slicePlane: number;
sliceToIndexMatrix: mat4;
indexToSliceMatrix: mat4;
};
protected applyViewOrientation(orientation: OrientationAxis | OrientationVectors, resetCamera?: boolean, suppressEvents?: boolean): void;
private initializeVolumeNewImageEventDispatcher;
private setVOILUTFunction;
private setColormap;
private _applyColormapOpacity;
private setOpacity;
private setInvert;
protected getVOIModifiedEventDetail(volumeId: string): VoiModifiedEventDetail;
private _getOrCreateColorTransferFunction;
protected setInterpolationType(interpolationType: InterpolationType, volumeId?: string): void;
private setVOI;
protected setRotation: (rotation: number) => void;
private rotateCamera;
setDefaultProperties(ViewportProperties: VolumeViewportProperties, volumeId?: string): void;
clearDefaultProperties(volumeId?: string): void;
getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean;
scroll(delta?: number): void;
abstract isInAcquisitionPlane(): boolean;
setBestOrentation(inPlaneVector1: Point3, inPlaneVector2: Point3): void;
setViewPlane(planeRestriction: PlaneRestriction): void;
setViewReference(viewRef: ViewReference): void;
private setThreshold;
setProperties({ voiRange, VOILUTFunction, invert, colormap, preset, interpolationType, slabThickness, sampleDistanceMultiplier, sharpening, smoothing, }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
private setSharpening;
private setSmoothing;
protected shouldUseCustomRenderPass(): boolean;
getRenderPasses: () => any[];
protected _restoreVolumeRenderingDefaults(volumeActor: ActorEntry, volumeId: string): void;
resetToDefaultProperties(volumeId: string): void;
private setPreset;
setSampleDistanceMultiplier(multiplier: number): void;
getDefaultProperties: (volumeId?: string) => VolumeViewportProperties;
getProperties: (volumeId?: string) => VolumeViewportProperties | undefined | null;
private getColormap;
setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
setDisplaySets(...entries: Array<{
displaySetId: string;
options?: unknown;
}>): Promise<void>;
addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
removeVolumeActors(actorUIDs: string[], immediate?: boolean): void;
setOrientation(_orientation: OrientationAxis | OrientationVectors, _immediate?: boolean, _suppressEvents?: boolean): void;
private initializeColorTransferFunction;
private _getApplicableVolumeActor;
private _isValidVolumeInputArray;
getRotation: () => number;
getBounds(): number[];
flip(flipDirection: FlipDirection): void;
getFrameOfReferenceUID: () => string;
hasVolumeId(volumeId: string): boolean;
hasVolumeURI(volumeURI: string): boolean;
getImageData(volumeId?: string): IImageData | undefined;
protected setCameraClippingRange(): void;
getSliceIndex(): number;
setCamera(cameraInterface: ICamera, storeAsInitialCamera?: boolean): void;
private _setVolumeActors;
canvasToWorldTiled: (canvasPos: Point2) => Point3;
canvasToWorldContextPool: (canvasPos: Point2) => Point3;
getVtkDisplayCoordsTiled: (canvasPos: Point2) => Point3;
getVtkDisplayCoordsContextPool: (canvasPos: Point2) => Point3;
worldToCanvasTiled: (worldPos: Point3) => Point2;
worldToCanvasContextPool: (worldPos: Point3) => Point2;
getRendererContextPool(): vtkRenderer;
getRendererTiled(): vtkRenderer;
hasImageURI: (imageURI: string) => boolean;
protected _getViewUp(viewPlaneNormal: Point3): Point3;
protected _getOrientationVectors(orientation: OrientationAxis | OrientationVectors): OrientationVectors;
protected _getAcquisitionPlaneOrientation(): OrientationVectors;
getSlabThickness(): number;
getIntensityFromWorld(point: Point3): number;
getImageIds: (volumeId?: string) => string[];
abstract getCurrentImageId(): string | undefined;
getVolumeId(specifier?: ViewReferenceSpecifier): string;
getViewReferenceId(specifier?: ViewReferenceSpecifier): string;
private _addVolumeId;
abstract setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
abstract setSlabThickness(slabThickness: number, filterActorUIDs?: string[]): void;
abstract resetSlabThickness(): void;
abstract resetProperties(volumeId?: string): void;
getAllVolumeIds(): string[];
private _configureRenderingPipeline;
protected renderingPipelineFunctions: {
worldToCanvas: {
tiled: (worldPos: Point3) => Point2;
contextPool: (worldPos: Point3) => Point2;
};
canvasToWorld: {
tiled: (canvasPos: Point2) => Point3;
contextPool: (canvasPos: Point2) => Point3;
};
getVtkDisplayCoords: {
tiled: (canvasPos: Point2) => Point3;
contextPool: (canvasPos: Point2) => Point3;
};
getRenderer: {
tiled: () => vtkRenderer;
contextPool: () => vtkRenderer;
};
};
}
export default BaseVolumeViewport;