UNPKG

@cornerstonejs/core

Version:
120 lines (119 loc) 3.71 kB
import type { Point3 } from '../types/index.js'; export interface WSIImageMetadataSource { NumberOfFrames?: number; TotalPixelMatrixColumns: number; TotalPixelMatrixRows: number; ImageOrientationSlide?: number[]; ImagedVolumeWidth?: number; ImagedVolumeHeight?: number; ImagedVolumeDepth?: number; TotalPixelMatrixOriginSequence?: Array<{ XOffsetInSlideCoordinateSystem?: number; YOffsetInSlideCoordinateSystem?: number; ZOffsetInSlideCoordinateSystem?: number; }>; ['00080008']?: { Value?: string[]; }; ['00200052']?: { Value?: string[]; }; isMultiframe?: unknown; frameNumber?: unknown; [key: string]: unknown; } export interface WSIImageVolumeLike extends WSIImageMetadataSource { ImageType: string[]; } export interface WSIClientLike { getDICOMwebMetadata(imageId: string): WSIImageMetadataSource; } export interface WSIMapViewLike { getCenter(): [number, number]; getExtent?(): number[]; getProjection(): { getExtent(): number[]; }; getResolution(): number; getResolutionForZoom?(zoom: number): number; getRotation(): number; getZoom(): number; setCenter(center: [number, number]): void; setResolution?(resolution: number): void; setRotation(rotation: number): void; setZoom(zoom: number): void; } export interface WSIMapLike { getView(): WSIMapViewLike; getViewport(): HTMLElement; on(eventName: string, handler: () => void): void; render(): void; un(eventName: string, handler: () => void): void; updateSize?(): void; } export interface WSIViewerLike { cleanup?(): void; deactivateDragPanInteraction(): void; getAffine(): unknown; getMap(): WSIMapLike; render(args: { container: HTMLElement; }): void; } export interface WSITransformUtilitiesLike { applyInverseTransform(args: { coordinate: [number, number]; affine: unknown; }): [number, number]; applyTransform(args: { coordinate: [number, number]; affine: unknown; }): [number, number]; } export interface DicomMicroscopyViewerLike { metadata: { VLWholeSlideMicroscopyImage: new (args: { metadata: WSIImageMetadataSource; }) => WSIImageVolumeLike; }; utils?: WSITransformUtilitiesLike; viewer: { VolumeImageViewer: new (args: { client: unknown; metadata: WSIImageVolumeLike[]; controls: string[]; retrieveRendered: boolean; bindings: Record<string, unknown>; }) => WSIViewerLike; }; } export interface WSIImageDataMetadata { bitsAllocated: number; numberOfComponents: number; origin: Point3; direction: number[]; dimensions: [number, number, number]; spacing: [number, number, number]; hasPixelSpacing: boolean; numVoxels: number; imagePlaneModule: Record<string, unknown>; } export interface LoadedWSIData { volumeImages: WSIImageVolumeLike[]; metadataDicomweb: WSIImageMetadataSource[]; metadata: WSIImageDataMetadata; frameOfReferenceUID: string | null; imageURISet: Set<string>; } export declare function getDicomMicroscopyViewer(): Promise<DicomMicroscopyViewerLike>; export declare function addWSIMiniNavigationOverlayCss(): void; export declare function getWSIImageDataMetadata(args: { metadataDicomweb: WSIImageMetadataSource[]; imageIds: string[]; imageIndex?: number; }): WSIImageDataMetadata; export declare function loadWSIData(args: { imageIds: string[]; client: WSIClientLike; dicomMicroscopyViewer?: DicomMicroscopyViewerLike; }): Promise<LoadedWSIData>;