UNPKG

@cornerstonejs/core

Version:
84 lines (83 loc) 3.12 kB
export declare const ECG_SECONDS_WIDTH = 150; export declare const ECG_CHANNEL_SPACING = 5; export declare const ECG_RENDERING_COLORS: { readonly gridMajor: "#7f0000"; readonly gridMinor: "#3f0000"; readonly baseline: "#7f4c00"; readonly trace: "#ffffff"; readonly label: "#ffff00"; readonly background: "#000000"; }; export interface ECGChannelLike { name: string; data: Int16Array; min: number; max: number; visible?: boolean; } export interface ECGWaveformLike<TChannel extends ECGChannelLike = ECGChannelLike> { channels: TChannel[]; numberOfChannels: number; numberOfSamples: number; samplingFrequency: number; bitsAllocated: number; sampleInterpretation: string; multiplexGroupLabel?: string; calibration?: unknown; } export interface ECGChannelLayout<TChannel extends ECGChannelLike = ECGChannelLike> { channel: TChannel; itemHeight: number; yOffset: number; baseline: number; } export interface ECGRenderMetrics { ecgWidth: number; ecgHeight: number; channelScale: number; worldToCanvasRatio: number; xOffsetCanvas: number; yOffsetCanvas: number; } export interface ECGGridMetrics { ecgWidth: number; ecgHeight: number; channelScale: number; } export declare function loadECGWaveform(dataId: string): Promise<{ waveform: ECGWaveformLike; calibration: unknown; }>; export declare function computeECGMinMax(data: Int16Array): { min: number; max: number; }; export declare function getDefaultECGValueRange(waveform: ECGWaveformLike): [number, number]; export declare function getVisibleECGChannels<TChannel extends ECGChannelLike>(channels: TChannel[], visibleChannels?: number[]): TChannel[]; export declare function getVisibleECGChannelsByFlag<TChannel extends ECGChannelLike>(channels: TChannel[]): TChannel[]; export declare function computeECGHeight<TChannel extends ECGChannelLike>(visibleChannels: TChannel[], channelScale: number): number; export declare function computeECGChannelLayouts<TChannel extends ECGChannelLike>(args: { visibleChannels: TChannel[]; channelScale: number; }): ECGChannelLayout<TChannel>[]; export declare function computeECGRenderMetrics<TChannel extends ECGChannelLike>(args: { canvas: HTMLCanvasElement; visibleChannels: TChannel[]; windowMs: number; valueRange: [number, number]; }): ECGRenderMetrics; export declare function drawECGGrid(ctx: CanvasRenderingContext2D, metrics: ECGGridMetrics, options?: { showGrid?: boolean; }): void; export declare function drawECGTraces<TChannel extends ECGChannelLike>(args: { ctx: CanvasRenderingContext2D; layouts: ECGChannelLayout<TChannel>[]; ecgWidth: number; channelScale: number; startIndex?: number; endIndex?: number; lineWidth?: number; amplitudeScale?: number; }): void; export declare function drawECGLabels<TChannel extends ECGChannelLike>(ctx: CanvasRenderingContext2D, layouts: ECGChannelLayout<TChannel>[], worldToCanvasRatio: number): void; export declare function ensureECGCanvasSize(canvas: HTMLCanvasElement): void;