@cornerstonejs/core
Version:
Cornerstone3D Core
92 lines (91 loc) • 4.45 kB
TypeScript
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, };