fix: load 3dsr (#5335)
This commit is contained in:
parent
730de56a5f
commit
becba7861f
@ -86,7 +86,7 @@ function OHIFCornerstoneSRMeasurementViewport(props) {
|
|||||||
const { presentationIds } = viewportOptions;
|
const { presentationIds } = viewportOptions;
|
||||||
const measurement = srDisplaySet.measurements[newMeasurementSelected];
|
const measurement = srDisplaySet.measurements[newMeasurementSelected];
|
||||||
setPositionPresentation(presentationIds.positionPresentationId, {
|
setPositionPresentation(presentationIds.positionPresentationId, {
|
||||||
viewReference: {
|
viewReference: measurement.viewReference || {
|
||||||
referencedImageId: measurement.imageId,
|
referencedImageId: measurement.imageId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -35,6 +35,7 @@ const sopClassUids = [
|
|||||||
sopClassDictionary.BasicTextSR,
|
sopClassDictionary.BasicTextSR,
|
||||||
sopClassDictionary.EnhancedSR,
|
sopClassDictionary.EnhancedSR,
|
||||||
sopClassDictionary.ComprehensiveSR,
|
sopClassDictionary.ComprehensiveSR,
|
||||||
|
sopClassDictionary.Comprehensive3DSR,
|
||||||
];
|
];
|
||||||
|
|
||||||
const validateSameStudyUID = (uid: string, instances): void => {
|
const validateSameStudyUID = (uid: string, instances): void => {
|
||||||
@ -53,7 +54,7 @@ const validateSameStudyUID = (uid: string, instances): void => {
|
|||||||
* @param instances is a list of instances from THIS series that are not
|
* @param instances is a list of instances from THIS series that are not
|
||||||
* in this DICOM SR Display Set already.
|
* in this DICOM SR Display Set already.
|
||||||
*/
|
*/
|
||||||
function addInstances(instances: InstanceMetadata[], displaySetService: DisplaySetService) {
|
function addInstances(instances: InstanceMetadata[], _displaySetService: DisplaySetService) {
|
||||||
this.instances.push(...instances);
|
this.instances.push(...instances);
|
||||||
utils.sortStudyInstances(this.instances);
|
utils.sortStudyInstances(this.instances);
|
||||||
// The last instance is the newest one, so is the one most interesting.
|
// The last instance is the newest one, so is the one most interesting.
|
||||||
@ -288,6 +289,8 @@ function _checkIfCanAddMeasurementsToDisplaySet(
|
|||||||
is3DMeasurement &&
|
is3DMeasurement &&
|
||||||
_measurementBelongsToDisplaySet({ measurement, displaySet: newDisplaySet })
|
_measurementBelongsToDisplaySet({ measurement, displaySet: newDisplaySet })
|
||||||
) {
|
) {
|
||||||
|
_measurementBelongsToDisplaySet({ measurement, displaySet: newDisplaySet })
|
||||||
|
|
||||||
addSRAnnotation(measurement, null, null);
|
addSRAnnotation(measurement, null, null);
|
||||||
measurement.loaded = true;
|
measurement.loaded = true;
|
||||||
measurement.displaySetInstanceUID = newDisplaySet.displaySetInstanceUID;
|
measurement.displaySetInstanceUID = newDisplaySet.displaySetInstanceUID;
|
||||||
|
|||||||
@ -21,6 +21,7 @@ export default function addSRAnnotation(measurement, imageId, frameNumber) {
|
|||||||
|
|
||||||
/** TODO: Read the tool name from the DICOM SR identification type in the future. */
|
/** TODO: Read the tool name from the DICOM SR identification type in the future. */
|
||||||
let frameOfReferenceUID = null;
|
let frameOfReferenceUID = null;
|
||||||
|
let planeRestriction = null;
|
||||||
|
|
||||||
if (imageId) {
|
if (imageId) {
|
||||||
const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
|
const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
|
||||||
@ -37,8 +38,20 @@ export default function addSRAnnotation(measurement, imageId, frameNumber) {
|
|||||||
|
|
||||||
// get the ReferencedFrameOfReferenceUID from the measurement
|
// get the ReferencedFrameOfReferenceUID from the measurement
|
||||||
frameOfReferenceUID = measurement.coords[0].ReferencedFrameOfReferenceSequence;
|
frameOfReferenceUID = measurement.coords[0].ReferencedFrameOfReferenceSequence;
|
||||||
|
|
||||||
|
planeRestriction = {
|
||||||
|
FrameOfReferenceUID: frameOfReferenceUID,
|
||||||
|
point: graphicTypePoints[0][0],
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Store the view reference for use in initial navigation
|
||||||
|
measurement.viewReference = {
|
||||||
|
planeRestriction,
|
||||||
|
FrameOfReferenceUID: frameOfReferenceUID,
|
||||||
|
referencedImageId: imageId,
|
||||||
|
};
|
||||||
|
|
||||||
const SRAnnotation: Types.Annotation = {
|
const SRAnnotation: Types.Annotation = {
|
||||||
annotationUID: TrackingUniqueIdentifier,
|
annotationUID: TrackingUniqueIdentifier,
|
||||||
highlighted: false,
|
highlighted: false,
|
||||||
@ -46,6 +59,7 @@ export default function addSRAnnotation(measurement, imageId, frameNumber) {
|
|||||||
invalidated: false,
|
invalidated: false,
|
||||||
metadata: {
|
metadata: {
|
||||||
toolName,
|
toolName,
|
||||||
|
planeRestriction,
|
||||||
valueType,
|
valueType,
|
||||||
graphicType,
|
graphicType,
|
||||||
FrameOfReferenceUID: frameOfReferenceUID,
|
FrameOfReferenceUID: frameOfReferenceUID,
|
||||||
|
|||||||
@ -87,9 +87,6 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
|
|||||||
enabled: [
|
enabled: [
|
||||||
{ toolName: toolNames.ImageOverlayViewer },
|
{ toolName: toolNames.ImageOverlayViewer },
|
||||||
{ toolName: toolNames.ReferenceLines },
|
{ toolName: toolNames.ReferenceLines },
|
||||||
{
|
|
||||||
toolName: SRToolNames.SRSCOORD3DPoint,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
disabled: [
|
disabled: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -88,9 +88,6 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
|
|||||||
enabled: [
|
enabled: [
|
||||||
{ toolName: toolNames.ImageOverlayViewer },
|
{ toolName: toolNames.ImageOverlayViewer },
|
||||||
{ toolName: toolNames.ReferenceLines },
|
{ toolName: toolNames.ReferenceLines },
|
||||||
{
|
|
||||||
toolName: SRToolNames.SRSCOORD3DPoint,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
disabled: [
|
disabled: [
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user