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 => {
let segmentsHidden = [];
const labelmap3D = getActiveLabelMaps3D();
state.segmentNumbers.forEach(segmentNumber => {
if (isVTK()) {
onSegmentVisibilityChange(segmentNumber, isVisible);
}
/** Get all labelmaps with this segmentNumber (overlapping segments) */
const { labelmaps3D } = getBrushStackState();
const possibleLabelMaps3D = labelmaps3D.filter(({ labelmaps2D }) => {
return labelmaps2D.some(({ segmentsOnLabelmap }) =>
segmentsOnLabelmap.includes(segmentNumber)
);
});
possibleLabelMaps3D.forEach(labelmap3D => {
labelmap3D.segmentsHidden[segmentNumber] = !isVisible;
segmentsHidden = [
...new Set([...segmentsHidden, ...labelmap3D.segmentsHidden]),
];
});
labelmap3D.segmentsHidden[segmentNumber] = !isVisible;
segmentsHidden = [
...new Set([...segmentsHidden, ...labelmap3D.segmentsHidden]),
];
});
setState(state => ({ ...state, segmentsHidden }));