diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 000000000..14533e521 Binary files /dev/null and b/bun.lockb differ diff --git a/extensions/cornerstone-dicom-sr/src/components/OHIFCornerstoneSRMeasurementViewport.tsx b/extensions/cornerstone-dicom-sr/src/components/OHIFCornerstoneSRMeasurementViewport.tsx index 7c63f346c..c67eb64f1 100644 --- a/extensions/cornerstone-dicom-sr/src/components/OHIFCornerstoneSRMeasurementViewport.tsx +++ b/extensions/cornerstone-dicom-sr/src/components/OHIFCornerstoneSRMeasurementViewport.tsx @@ -9,6 +9,7 @@ import { Icon, Tooltip, useViewportGrid, ViewportActionArrows } from '@ohif/ui'; import hydrateStructuredReport from '../utils/hydrateStructuredReport'; import { useAppConfig } from '@state'; import createReferencedImageDisplaySet from '../utils/createReferencedImageDisplaySet'; +import { usePositionPresentationStore } from '@ohif/extension-cornerstone'; const MEASUREMENT_TRACKING_EXTENSION_ID = '@ohif/extension-measurement-tracking'; @@ -16,7 +17,6 @@ const SR_TOOLGROUP_BASE_NAME = 'SRToolGroup'; function OHIFCornerstoneSRMeasurementViewport(props: withAppTypes) { const { - commandsManager, children, dataSource, displaySets, @@ -29,7 +29,6 @@ function OHIFCornerstoneSRMeasurementViewport(props: withAppTypes) { const { displaySetService, - cornerstoneViewportService, measurementService, viewportActionCornersService, } = servicesManager.services; @@ -43,6 +42,9 @@ function OHIFCornerstoneSRMeasurementViewport(props: withAppTypes) { const srDisplaySet = displaySets[0]; + const { setPositionPresentation } = usePositionPresentationStore(); + + const [viewportGrid, viewportGridService] = useViewportGrid(); const [measurementSelected, setMeasurementSelected] = useState(0); const [measurementCount, setMeasurementCount] = useState(1); @@ -154,33 +156,17 @@ function OHIFCornerstoneSRMeasurementViewport(props: withAppTypes) { } setMeasurementSelected(newMeasurementSelected); + setActiveImageDisplaySetData(referencedDisplaySet); setReferencedDisplaySetMetadata(referencedDisplaySetMetadata); - if ( - referencedDisplaySet.displaySetInstanceUID === - activeImageDisplaySetData?.displaySetInstanceUID - ) { - const { measurements } = srDisplaySet; - - // it means that we have a new referenced display set, and the - // imageIdIndex will handle it by updating the viewport, but if they - // are the same we just need to use measurementService to jump to the - // new measurement - const csViewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); - - if (!csViewport) { - return; + const { presentationIds } = viewportOptions + const measurement = srDisplaySet.measurements[newMeasurementSelected] + setPositionPresentation(presentationIds.positionPresentationId, { + viewReference: { + referencedImageId: measurement.imageId } - - const imageIds = csViewport.getImageIds(); - - const imageIdIndex = imageIds.indexOf(measurements[newMeasurementSelected].imageId); - - if (imageIdIndex !== -1) { - csViewport.setImageIdIndex(imageIdIndex); - } - } + }) }); }, [dataSource, srDisplaySet, activeImageDisplaySetData, viewportId] @@ -202,9 +188,7 @@ function OHIFCornerstoneSRMeasurementViewport(props: withAppTypes) { return null; } - const initialImageIndex = activeImageDisplaySetData.images.findIndex( - image => image.imageId === measurement.imageId - ); + return ( ); diff --git a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts index 45b1dbd16..ea660af27 100644 --- a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts +++ b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts @@ -441,8 +441,9 @@ class SegmentationService extends PubSubService { const segmentIndex = Number(SegmentNumber); - const imageCentroidXYZ = segDisplaySet.centroids.get(index).image || { x: 0, y: 0, z: 0 }; - const worldCentroidXYZ = segDisplaySet.centroids.get(index).world || { x: 0, y: 0, z: 0 }; + const centroid = segDisplaySet.centroids?.get(index); + const imageCentroidXYZ = centroid?.image || { x: 0, y: 0, z: 0 }; + const worldCentroidXYZ = centroid?.world || { x: 0, y: 0, z: 0 }; segments[segmentIndex] = { segmentIndex, diff --git a/package.json b/package.json index b7cffdb2d..6e34ee234 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.13.0", "prettier": "^3.3.3", - "prettier-plugin-tailwindcss": "0.6.8" + "prettier-plugin-tailwindcss": "0.6.9" }, "husky": { "hooks": { diff --git a/platform/core/src/utils/combineFrameInstance.ts b/platform/core/src/utils/combineFrameInstance.ts index cf70232cf..b2e61c907 100644 --- a/platform/core/src/utils/combineFrameInstance.ts +++ b/platform/core/src/utils/combineFrameInstance.ts @@ -73,7 +73,6 @@ const combineFrameInstance = (frame, instance) => { ImagePositionPatientToUse = [position[0], position[1], position[2]]; } } - console.debug('🚀 ~ ImagePositionPatientToUse:', ImagePositionPatientToUse); const newInstance = Object.assign(instance, { frameNumber: frameNumber }); diff --git a/yarn.lock b/yarn.lock index 33ddb09b8..a074e8391 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20198,10 +20198,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier-plugin-tailwindcss@0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz#8a178e1679e3f941cc9de396f109c6cffea676d8" - integrity sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA== +prettier-plugin-tailwindcss@0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.9.tgz#db84c32918eae9b44e5a5f0aa4d1249cc39fa739" + integrity sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg== prettier-plugin-tailwindcss@^0.5.4: version "0.5.14"