additional field untuk overlay MRI OHIF

This commit is contained in:
AlfandiMario
2025-11-04 11:47:12 +07:00
parent af9ec01c19
commit bfb55055a2

View File

@@ -65,20 +65,10 @@ function parseFile(filename: string): Promise<ElementType> {
const spacingBetweenSlices = dataset.string('x00180088'); const spacingBetweenSlices = dataset.string('x00180088');
const percentPhaseFieldOfView = dataset.string('x00180094'); const percentPhaseFieldOfView = dataset.string('x00180094');
const fovDimensionElement = dataset.elements.x00181149; const fovDimensionElement = dataset.elements.x00181149;
const fovDimension = fovDimensionElement const fovDimension = fovDimensionElement ? [dataset.uint16('x00181149', 0), dataset.uint16('x00181149', 1)] : null;
? [
dataset.uint16('x00181130', 0),
dataset.uint16('x00181130', 1),
]
: null;
const acquisitionMatrixElement = dataset.elements.x00181310; const acquisitionMatrixElement = dataset.elements.x00181310;
const acquisitionMatrix = acquisitionMatrixElement const acquisitionMatrix = acquisitionMatrixElement
? [ ? [dataset.uint16('x00181310', 0), dataset.uint16('x00181310', 1), dataset.uint16('x00181310', 2), dataset.uint16('x00181310', 3)]
dataset.uint16('x00181310', 0),
dataset.uint16('x00181310', 1),
dataset.uint16('x00181310', 2),
dataset.uint16('x00181310', 3),
]
: null; : null;
const scanningSequence = dataset.string('x00180020'); const scanningSequence = dataset.string('x00180020');
const repetitionTime = dataset.string('x00180080'); const repetitionTime = dataset.string('x00180080');
@@ -94,7 +84,7 @@ function parseFile(filename: string): Promise<ElementType> {
const acquisitionTime = dataset.string('x00080032'); const acquisitionTime = dataset.string('x00080032');
const acquistionDurationTotal = dataset.string('x00189073'); // in seconds const acquistionDurationTotal = dataset.string('x00189073'); // in seconds
const acquistionDurationPerFrame = dataset.string('x00189220'); // in ms const acquistionDurationPerFrame = dataset.string('x00189220'); // in ms
const parallelAcquisitionTechnique = dataset.string('x00181316'); const parallelAcquisitionTechnique = dataset.string('x00189078');
// append to all results // append to all results
const result: ElementType = { const result: ElementType = {
@@ -144,7 +134,7 @@ function parseFile(filename: string): Promise<ElementType> {
'00080032': { Value: [acquisitionTime], vr: 'TM' }, '00080032': { Value: [acquisitionTime], vr: 'TM' },
'00189073': { Value: [acquistionDurationTotal], vr: 'DS' }, '00189073': { Value: [acquistionDurationTotal], vr: 'DS' },
'00189220': { Value: [acquistionDurationPerFrame], vr: 'FD' }, '00189220': { Value: [acquistionDurationPerFrame], vr: 'FD' },
'00181316': { Value: [parallelAcquisitionTechnique], vr: 'CS' }, '00189078': { Value: [parallelAcquisitionTechnique], vr: 'CS' },
}; };
resolve(result); resolve(result);
@@ -163,7 +153,6 @@ export function parseMeta(json: object, studyInstanceUID: string, seriesInstance
const sopInstanceUid = json[key]['00080018'].Value[0]; const sopInstanceUid = json[key]['00080018'].Value[0];
const pathname = path.join(storagePath, studyInstanceUID, sopInstanceUid); const pathname = path.join(storagePath, studyInstanceUID, sopInstanceUid);
parsing.push(parseFile(pathname)); parsing.push(parseFile(pathname));
} }
return Promise.all(parsing); return Promise.all(parsing);
} }