fix(SR): KO series being displayed in browser list (#3382)

* fix: KO series being displayed in browser list

* fix sr for volume viewports

* move highlight labelmap to RAF

* remove commented code

* fix the hydration bug for the SR

* apply review comments

* revert the key images for sr

* Remove some obsolete changes

* set initial image for sr instead of jump

* Remove viewportType stack

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
This commit is contained in:
Bill WallaceandAlireza authored and GitHub committed 2023-05-15 08:23:13 -04:00
1 parent 4172d0427b
commit d5c5951e57
20 files changed
+243 -223

No files matched your search

@@ -31,12 +31,11 @@ function TrackedMeasurementsContextProvider(
) {
const [viewportGrid, viewportGridService] = useViewportGrid();
const { activeViewportIndex, viewports } = viewportGrid;
const { measurementService, displaySetService } = servicesManager.services;
const machineOptions = Object.assign({}, defaultOptions);
machineOptions.actions = Object.assign({}, machineOptions.actions, {
jumpToFirstMeasurementInActiveViewport: (ctx, evt) => {
const { measurementService } = servicesManager.services;
const { trackedStudy, trackedSeries } = ctx;
const measurements = measurementService.getMeasurements();
const trackedMeasurements = measurements.filter(
@@ -45,21 +44,51 @@ function TrackedMeasurementsContextProvider(
trackedSeries.includes(m.referenceSeriesUID)
);
const uid = trackedMeasurements[0].uid;
console.log(
'jumping to measurement reset viewport',
viewportGrid.activeViewportIndex,
trackedMeasurements[0]
);
const referencedDisplaySetUID =
trackedMeasurements[0].displaySetInstanceUID;
const referencedDisplaySet = displaySetService.getDisplaySetByUID(
referencedDisplaySetUID
);
const referencedImages = referencedDisplaySet.images;
const isVolumeIdReferenced = referencedImages[0].imageId.startsWith(
'volumeId'
);
const measurementData = trackedMeasurements[0].data;
let imageIndex = 0;
if (!isVolumeIdReferenced && measurementData) {
// if it is imageId referenced find the index of the imageId, we don't have
// support for volumeId referenced images yet
imageIndex = referencedImages.findIndex(image => {
const imageIdToUse = Object.keys(measurementData)[0].substring(8);
return image.imageId === imageIdToUse;
});
if (imageIndex === -1) {
console.warn(
'Could not find image index for tracked measurement, using 0'
);
imageIndex = 0;
}
}
viewportGridService.setDisplaySetsForViewport({
viewportIndex: viewportGrid.activeViewportIndex,
displaySetInstanceUIDs: [trackedMeasurements[0].displaySetInstanceUID],
displaySetInstanceUIDs: [referencedDisplaySetUID],
viewportOptions: {
initialImageOptions: {
index: imageIndex,
},
},
});
measurementService.jumpToMeasurement(
viewportGrid.activeViewportIndex,
uid
);
},
showStructuredReportDisplaySetInActiveViewport: (ctx, evt) => {
if (evt.data.createdDisplaySetInstanceUIDs.length > 0) {
@@ -73,7 +102,6 @@ function TrackedMeasurementsContextProvider(
}
},
discardPreviouslyTrackedMeasurements: (ctx, evt) => {
const { measurementService } = servicesManager.services;
const measurements = measurementService.getMeasurements();
const filteredMeasurements = measurements.filter(ms =>
ctx.prevTrackedSeries.includes(ms.referenceSeriesUID)
@@ -85,7 +113,6 @@ function TrackedMeasurementsContextProvider(
}
},
clearAllMeasurements: (ctx, evt) => {
const { measurementService } = servicesManager.services;
const measurements = measurementService.getMeasurements();
const measurementIds = measurements.map(fm => fm.uid);