UNPKG

@abasb75/dicom-pixel-decoder

Version:

A lightweight DICOM image decoder.

114 lines (110 loc) 3.9 kB
interface DicomVOILutModule { voiLUTFunction: string; windowWidth: number | undefined; windowCenter: number | undefined; voiLUTSequence: unknown; lutDescriptor: any; lutExplanation: any; lutData: any; windowCenterAndWidthExplanation: string; } interface DicomPatientModule { patientName: string; patientID: string; typeofPatientID: string; patientSex: string; patientBirthDate: string; patientAge: string; patientSize: string; otherPatientIDs: string; otherPatientNames: string; patientWeight: string; } interface DicomPixelModule { photometricInterpretation: string; numberOfFrames: number | undefined; pixelRepresentation: number | undefined; pixelSpacing: any | undefined; rows: number | number | undefined; columns: number | number | undefined; bitsAllocated: number | undefined; highBit: number | undefined; bitsStored: number | undefined; samplesPerPixel: number | undefined; pixelDataProviderURL: any; pixelPaddingRangeLimit: any; extendedOffsetTable: any; extendedOffsetTableLengths: any; pixelAspectRatio: any; planarConfiguration: number | undefined; redPaletteColorLookupTableDescriptor: unknown; greenPaletteColorLookupTableDescriptor: unknown; bluePaletteColorLookupTableDescriptor: unknown; alphaPaletteColorLookupTableDescriptor: unknown; redPaletteColorLookupTableData: any; greenPaletteColorLookupTableData: any; bluePaletteColorLookupTableData: any; alphaPaletteColorLookupTableData: any; segmentedRedPaletteColorLookupTableData: any; segmentedGreenPaletteColorLookupTableData: any; segmentedBluePaletteColorLookupTableData: any; segmentedAlphaPaletteColorLookupTableData: any; pixelMeasuresSequence: any; spacingBetweenSlices: any; } interface DicomScalingModule { rescaleSlope: number | undefined; rescaleIntercept: number | undefined; modality: string; } interface DecodeOptions extends Partial<DicomVOILutModule>, Partial<DicomPatientModule>, Partial<DicomPixelModule> { transferSyntaxUID: string; bitsAllocated: number; littleEndian: boolean; pixelRepresentation: number; samplesPerPixel: number; rows: number | undefined; columns: number | undefined; rescaleSlope: number | undefined; rescaleIntercept: number | undefined; modality: string; windowWidth: number | undefined; windowCenter: number | undefined; planarConfiguration: number | undefined; photometricInterpretation: string; bitsStored: number | undefined; isFloat: boolean; } type PixelArray = Float64Array | Float32Array | Int32Array | Uint32Array | Uint16Array | Uint8Array | Int32Array | Int16Array | Int8Array; declare class DecodedImage { transferSyntax: string; width: number; height: number; min: number | undefined; max: number | undefined; windowWidth: number | undefined; windowCenter: number | undefined; pixelData: PixelArray; photometricInterpretation: string | undefined; pixelModule: DicomPixelModule | undefined; scalingModule: DicomScalingModule | undefined; voiLUTModule: DicomVOILutModule | undefined; arrayType: "Int8Array" | "Uint8Array" | "Int16Array" | "Uint16Array" | "Float32Array" | undefined; littleEndian: boolean; pixelTypes: 'Integer' | 'Float'; constructor(transferSyntax: string, width: number, height: number, pixelData: PixelArray); getMinMax(): { min: number; max: number; }; getLUT(): { windowWidth: number; windowCenter: number; min: number; max: number; }; applyPaletteColor(paleteData: any): void; applySpacing(): void; } declare function decode(pixelData: DataView | ArrayBuffer, options: DecodeOptions): Promise<DecodedImage>; export { type DecodeOptions, decode };