Re IDC #3088: Fix seg toggle visibility logic (#3101)

This commit is contained in:
Gitanjali 2023-01-10 08:30:52 -08:00 committed by GitHub
parent cfa697aabc
commit dab095b6b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -630,25 +630,17 @@ const SegmentationPanel = ({
const onVisibilityChangeHandler = isVisible => { const onVisibilityChangeHandler = isVisible => {
let segmentsHidden = []; let segmentsHidden = [];
const labelmap3D = getActiveLabelMaps3D();
state.segmentNumbers.forEach(segmentNumber => { state.segmentNumbers.forEach(segmentNumber => {
if (isVTK()) { if (isVTK()) {
onSegmentVisibilityChange(segmentNumber, isVisible); onSegmentVisibilityChange(segmentNumber, isVisible);
} }
/** Get all labelmaps with this segmentNumber (overlapping segments) */ labelmap3D.segmentsHidden[segmentNumber] = !isVisible;
const { labelmaps3D } = getBrushStackState(); segmentsHidden = [
const possibleLabelMaps3D = labelmaps3D.filter(({ labelmaps2D }) => { ...new Set([...segmentsHidden, ...labelmap3D.segmentsHidden]),
return labelmaps2D.some(({ segmentsOnLabelmap }) => ];
segmentsOnLabelmap.includes(segmentNumber)
);
});
possibleLabelMaps3D.forEach(labelmap3D => {
labelmap3D.segmentsHidden[segmentNumber] = !isVisible;
segmentsHidden = [
...new Set([...segmentsHidden, ...labelmap3D.segmentsHidden]),
];
});
}); });
setState(state => ({ ...state, segmentsHidden })); setState(state => ({ ...state, segmentsHidden }));