req custom overlay: additional field untuk MRI
This commit is contained in:
@@ -154,10 +154,18 @@ const phaseFieldOfViewItem = {
|
||||
id: 'PhaseFOV',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: '% Phase FOV: ',
|
||||
title: '% Phase FOV',
|
||||
title: 'Percent Phase FOV',
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.percentPhaseFieldOfView,
|
||||
contentF: ({ mriInstanceData }) => `${mriInstanceData.percentPhaseFieldOfView} %`,
|
||||
};
|
||||
const phaseFieldOfViewDimensionsItem = {
|
||||
id: 'FOVDimensions',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: 'FOV Dim: ',
|
||||
title: 'Field of View Dimensions',
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.fieldOfViewDimensions,
|
||||
contentF: ({ mriInstanceData }) => mriInstanceData?.fieldOfViewDimensions.join(' x '),
|
||||
};
|
||||
const acquisitionMatrixItem = {
|
||||
id: 'AcquisitionMatrix',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
@@ -166,6 +174,16 @@ const acquisitionMatrixItem = {
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.acquisitionMatrix,
|
||||
contentF: ({ mriInstanceData }) => `${mriInstanceData.acquisitionMatrix.join(' x ')}`,
|
||||
};
|
||||
const imageMatrixItem = {
|
||||
id: 'ImageMatrix',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: 'Image Matrix (RxC): ',
|
||||
title: 'Image Matrix',
|
||||
condition: ({ mriInstanceData }) =>
|
||||
mriInstanceData?.imageMatrixRows && mriInstanceData?.imageMatrixColumns,
|
||||
contentF: ({ mriInstanceData }) =>
|
||||
`${mriInstanceData.imageMatrixRows} x ${mriInstanceData.imageMatrixColumns}`,
|
||||
};
|
||||
|
||||
const mriTopLeftItems = {
|
||||
id: 'cornerstoneOverlayTopLeft',
|
||||
@@ -174,7 +192,9 @@ const mriTopLeftItems = {
|
||||
sliceLocationItem,
|
||||
sliceSpacingItem,
|
||||
phaseFieldOfViewItem,
|
||||
phaseFieldOfViewDimensionsItem,
|
||||
acquisitionMatrixItem,
|
||||
imageMatrixItem,
|
||||
],
|
||||
};
|
||||
|
||||
@@ -225,6 +245,14 @@ const phaseEncodingDirectionItem = {
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.phaseEncodingDirection,
|
||||
contentF: ({ mriInstanceData }) => `${mriInstanceData.phaseEncodingDirection} `,
|
||||
};
|
||||
const numOfAveragesItem = {
|
||||
id: 'MRINumOfAverages',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: 'NEX: ',
|
||||
title: 'MRI Number of Averages',
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.numOfAverages,
|
||||
contentF: ({ mriInstanceData }) => `${mriInstanceData.numOfAverages} `,
|
||||
};
|
||||
const echoTrainLengthItem = {
|
||||
id: 'MRIEchoTrainLength',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
@@ -262,6 +290,22 @@ const acquisitionTimeItem = {
|
||||
return `${time}`.trim();
|
||||
},
|
||||
};
|
||||
const acquisitionDurationTotalItem = {
|
||||
id: 'MRIAcquisitionDurationTotal',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: 'Total Acq Dur: ',
|
||||
title: 'MRI Total Duration Acquisition',
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.acquisitionDurationTotal,
|
||||
contentF: ({ mriInstanceData }) => mriInstanceData.acquisitionDurationTotal,
|
||||
};
|
||||
const acquisitionDurationPerFrameItem = {
|
||||
id: 'MRIAcquisitionDurationPerFrame',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
label: 'Frame Acq Dur: ',
|
||||
title: 'MRI Duration Acquisition Per Frame',
|
||||
condition: ({ mriInstanceData }) => mriInstanceData?.acquisitionDurationPerFrame,
|
||||
contentF: ({ mriInstanceData }) => mriInstanceData.acquisitionDurationPerFrame,
|
||||
};
|
||||
const parallelImagingItem = {
|
||||
id: 'MRIParallelImaging',
|
||||
customizationType: 'ohif.overlayItem',
|
||||
@@ -279,10 +323,12 @@ const mriBottomLeftItems = {
|
||||
receiverCoilItem,
|
||||
mriScanModeItem,
|
||||
phaseEncodingDirectionItem,
|
||||
numOfAveragesItem,
|
||||
echoTrainLengthItem,
|
||||
flipAngleItem,
|
||||
pixelBandwidthItem,
|
||||
acquisitionTimeItem,
|
||||
acquisitionDurationTotalItem,
|
||||
acquisitionDurationPerFrameItem,
|
||||
parallelImagingItem,
|
||||
],
|
||||
};
|
||||
|
||||
@@ -148,7 +148,10 @@ interface MriOverlayInstanceData {
|
||||
sliceLocation?: string;
|
||||
spacingBetweenSlices?: string;
|
||||
percentPhaseFieldOfView?: string;
|
||||
fieldOfViewDimensions?: string;
|
||||
acquisitionMatrix?: string;
|
||||
imageMatrixRows?: number;
|
||||
imageMatrixColumns?: number;
|
||||
scanningSequence?: string;
|
||||
repetitionTime?: string;
|
||||
echoTime?: string;
|
||||
@@ -156,10 +159,13 @@ interface MriOverlayInstanceData {
|
||||
receiveCoilName?: string;
|
||||
mrAcquisitionType?: string;
|
||||
phaseEncodingDirection?: string;
|
||||
numOfAverages?: string;
|
||||
echoTrainLength?: string;
|
||||
flipAngle?: string;
|
||||
pixelBandwidth?: string;
|
||||
acquisitionTime?: string;
|
||||
acquisitionDurationTotal?: string;
|
||||
acquisitionDurationPerFrame?: string;
|
||||
parallelAcquisitionTechnique?: string;
|
||||
}
|
||||
|
||||
@@ -225,7 +231,10 @@ export const instanceDataForMriOverlayItem = (
|
||||
sliceLocation: instance['00201041']?.Value?.[0],
|
||||
spacingBetweenSlices: instance['00180088']?.Value?.[0],
|
||||
percentPhaseFieldOfView: instance['00180094']?.Value?.[0],
|
||||
fieldOfViewDimensions: instance['00181149']?.Value,
|
||||
acquisitionMatrix: instance['00181310']?.Value,
|
||||
imageMatrixRows: instance['00280010']?.Value?.[0],
|
||||
imageMatrixColumns: instance['00280011']?.Value?.[0],
|
||||
scanningSequence: instance['00180020']?.Value?.[0],
|
||||
repetitionTime: instance['00180080']?.Value?.[0],
|
||||
echoTime: instance['00180081']?.Value?.[0],
|
||||
@@ -233,10 +242,13 @@ export const instanceDataForMriOverlayItem = (
|
||||
receiveCoilName: instance['00181250']?.Value?.[0],
|
||||
mrAcquisitionType: instance['00180023']?.Value?.[0],
|
||||
phaseEncodingDirection: instance['00181312']?.Value?.[0],
|
||||
numOfAverages: instance['00180083']?.Value?.[0],
|
||||
echoTrainLength: instance['00180091']?.Value?.[0],
|
||||
flipAngle: instance['00181314']?.Value?.[0],
|
||||
pixelBandwidth: instance['00180095']?.Value?.[0],
|
||||
acquisitionTime: instance['00080032']?.Value?.[0],
|
||||
acquisitionDurationTotal: instance['00181242']?.Value?.[0],
|
||||
acquisitionDurationPerFrame: instance['00181243']?.Value?.[0],
|
||||
parallelAcquisitionTechnique: instance['00181316']?.Value?.[0],
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user