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