UNPKG

@cornerstonejs/core

Version:
92 lines (91 loc) 4.45 kB
import type { IImage, IImageVolume, Point2, Point3 } from '../../../types/index.js'; import ResolvedViewportView from '../ResolvedViewportView.js'; import { type PlanarSliceBasis } from './planarSliceBasis.js'; import { type PlanarScaleInput } from './planarCameraScale.js'; import type { PlanarViewState, PlanarPayload, PlanarResolvedICamera, PlanarViewportRenderContext } from './PlanarViewportTypes.js'; import type { PlanarRendering } from './planarRuntimeTypes.js'; type PlanarViewResolutionRenderContext = Partial<Pick<PlanarViewportRenderContext, 'cpu' | 'vtk'>>; type BasePlanarResolvedViewState = { viewState: PlanarViewState; canvasWidth: number; canvasHeight: number; frameOfReferenceUID?: string; }; type PlanarStackResolvedViewState = BasePlanarResolvedViewState & { currentImageIdIndex: number; image: IImage; maxImageIdIndex: number; usePixelGridCenter: boolean; }; type PlanarVolumeResolvedViewState = BasePlanarResolvedViewState & { currentImageIdIndex: number; imageVolume: IImageVolume; maxImageIdIndex: number; usePixelGridCenter: boolean; }; export declare function resolvePlanarStackImageIdIndex(args: { fallbackImageIdIndex: number; viewState?: PlanarViewState; }): number; declare abstract class BasePlanarResolvedView<TState extends BasePlanarResolvedViewState> extends ResolvedViewportView<TState, PlanarResolvedICamera> { protected cachedSliceBasis?: PlanarSliceBasis; private cachedPresentation?; get pan(): Point2; get zoom(): number; get scale(): Point2; get rotation(): number; getSliceBasis(): PlanarSliceBasis; canvasToWorld(canvasPos: Point2): Point3; worldToCanvas(worldPos: Point3): Point2; getFrameOfReferenceUID(): string | undefined; withZoom(zoom: number, canvasPoint?: Point2): BasePlanarResolvedView<TState>; withScale(scale: PlanarScaleInput, canvasPoint?: Point2): BasePlanarResolvedView<TState>; withPan(pan: Point2): BasePlanarResolvedView<TState>; flipHorizontal(): BasePlanarResolvedView<TState>; flipVertical(): BasePlanarResolvedView<TState>; indexToWorld(_index: Point3): Point3 | undefined; protected buildICamera(): PlanarResolvedICamera; protected getPresentation(): import("./planarRenderCamera.js").DerivedPlanarPresentation; protected requireResolvedICamera(): Required<Pick<PlanarResolvedICamera, 'focalPoint' | 'parallelScale' | 'viewPlaneNormal' | 'viewUp'>> & Pick<PlanarResolvedICamera, 'presentationScale'>; protected createViewStateState(viewState: PlanarViewState): TState; protected abstract buildSliceBasis(): PlanarSliceBasis; protected abstract cloneWithViewState(viewState: PlanarViewState): BasePlanarResolvedView<TState>; } declare class PlanarStackResolvedView extends BasePlanarResolvedView<PlanarStackResolvedViewState> { constructor(state: Omit<PlanarStackResolvedViewState, 'viewState'> & { viewState?: PlanarViewState; }); protected buildSliceBasis(): PlanarSliceBasis; protected cloneWithViewState(viewState: PlanarViewState): PlanarStackResolvedView; } declare class PlanarVolumeResolvedView extends BasePlanarResolvedView<PlanarVolumeResolvedViewState> { constructor(state: Omit<PlanarVolumeResolvedViewState, 'viewState'> & { viewState?: PlanarViewState; sliceBasis?: PlanarSliceBasis; }); indexToWorld(index: Point3): Point3 | undefined; protected buildSliceBasis(): PlanarSliceBasis; protected cloneWithViewState(viewState: PlanarViewState): PlanarVolumeResolvedView; } export declare function getPlanarViewStateCanvasDimensions(args: { rendering: PlanarRendering; renderContext: PlanarViewResolutionRenderContext; }): { canvasHeight: number; canvasWidth: number; }; export declare function resolvePlanarViewportView(args: { viewState: PlanarViewState; data?: PlanarPayload; frameOfReferenceUID?: string; imageIds?: string[]; rendering?: PlanarRendering; renderContext: PlanarViewResolutionRenderContext; canvasDimensions?: { canvasHeight: number; canvasWidth: number; }; sliceIndex?: number; }): PlanarStackResolvedView | PlanarVolumeResolvedView | undefined; export type { BasePlanarResolvedViewState, PlanarStackResolvedViewState, PlanarViewResolutionRenderContext, PlanarVolumeResolvedViewState, }; export { BasePlanarResolvedView, PlanarStackResolvedView, PlanarVolumeResolvedView, };