@abasb75/dicom-parser
Version:
A lightweight DICOM parser.
138 lines (134 loc) • 4.64 kB
text/typescript
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;
rescaleType: any;
}
interface PaletteColorDataColor {
data: Uint8Array[] | Uint16Array[];
firstInputValueMapped: number;
lutEntries: number;
bitsPerEntry: number;
littleEndian: boolean;
}
interface PaletteColorData {
red: PaletteColorDataColor | undefined;
green: PaletteColorDataColor | undefined;
blue: PaletteColorDataColor | undefined;
alpha: PaletteColorDataColor | undefined;
}
interface DatasetProperties {
littleEndian: boolean;
implicit: boolean;
elements: {
[key: string]: any;
};
bytes: Uint8Array;
transferSyntaxUID?: string | undefined | null;
prefix?: string | undefined | null;
metadata?: {
[key: string]: any;
} | undefined | null;
deflated?: boolean | undefined | null;
}
declare class Dataset {
static Float: string;
static Integer: string;
littleEndian: boolean;
implicit: boolean;
elements: {
[key: string]: any;
};
transferSyntaxUID: string | null | undefined;
prefix?: string | undefined | null;
metadata?: {
[key: string]: any;
} | undefined | null;
deflated?: boolean | undefined | null;
bytes: Uint8Array;
/** modules */
voiLUTModule: DicomVOILutModule | null;
patientModule: DicomPatientModule | null;
pixelModule: DicomPixelModule | null;
scalingModule: DicomScalingModule | null;
constructor(properties: DatasetProperties);
get(group: number | string, element?: number | null | undefined): any;
date(group: number, element: number): any;
int(group: number, element: number): number | number[];
float(group: number, element: number): number | number[];
time(group: number, element: number): any;
getGeometricTags(tagName: string, frameIndex?: number): any;
getPixelTypes(): "Float" | "Integer";
hasPixelData(): boolean;
getPixelData(frameIndex?: number): DataView;
getPaletteColorData(): PaletteColorData;
/** module geter */
getPatientModule(): DicomPatientModule;
getVOILutModule(): DicomVOILutModule;
getScalingModule(): DicomScalingModule;
getPixelModule(frameIndex?: number): DicomPixelModule;
recalculeModules(): void;
}
declare function loadAndParseFromUrl(url: string): Promise<Dataset>;
declare function loadAndParseFromFiles(file: File): Promise<Dataset>;
declare function parse(dicomBuffer: ArrayBuffer): Dataset;
declare const _default: {
parse: typeof parse;
loadAndParseFromFiles: typeof loadAndParseFromFiles;
loadAndParseFromUrl: typeof loadAndParseFromUrl;
};
export { Dataset, _default as default, loadAndParseFromFiles, loadAndParseFromUrl, parse };