Skip to content

Commit 4de5c52

Browse files
committed
fix: probe tool not showing when segment groups present
Segment group actors have pickable:false, so picking from the first sample (which is a segment group when present) fails. Use the base image actor for picking instead, which is always pickable.
1 parent edb49dd commit 4de5c52

1 file changed

Lines changed: 6 additions & 9 deletions

File tree

src/components/tools/ScalarProbe.vue

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,26 +96,23 @@ const pointPicker = vtkPointPicker.newInstance();
9696
pointPicker.setPickFromList(true);
9797
9898
watch(
99-
sampleSet,
100-
(samples) => {
101-
pointPicker.setPickList(
102-
samples.length > 0 && samples[0] ? [samples[0].rep.actor] : []
103-
);
99+
() => baseRep.value?.actor,
100+
(actor) => {
101+
pointPicker.setPickList(actor ? [actor] : []);
104102
},
105103
{ immediate: true }
106104
);
107105
108106
const getImageSamples = (x: number, y: number) => {
109-
const firstToSample = sampleSet.value[0];
110-
if (!firstToSample?.image) return undefined;
107+
if (!currentImageData.value) return undefined;
111108
112109
pointPicker.pick([x, y, 1.0], view.renderer);
113110
if (pointPicker.getActors().length === 0) return undefined;
114111
115-
// Get world position from the picked point
112+
// Get world position from the picked point (in base image space)
116113
const pickedIjk = pointPicker.getPointIJK() as unknown as ReadonlyVec3;
117114
const worldPosition = vec3.clone(
118-
firstToSample.image.indexToWorld(pickedIjk) as vec3
115+
currentImageData.value.indexToWorld(pickedIjk) as vec3
119116
);
120117
121118
const samples = sampleSet.value

0 commit comments

Comments
 (0)