Skip to content

Commit 63c44cc

Browse files
update dims switching API (#9)
* update dims switching API * bump cellier
1 parent 21a1ad6 commit 63c44cc

3 files changed

Lines changed: 10 additions & 32 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ dependencies = [
3838
"typer >= 0.12",
3939
"rich >= 13",
4040
"numpy >= 1.24",
41-
"cellier[pyside]>=0.0.19",
41+
"cellier[pyside]>=0.0.20",
4242
"jupyterlab>=4.5.6",
4343
"aiohttp >= 3.9",
4444
"zarr >= 3.0",

src/oz_viewer/viewer/_orthoviewer.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -683,9 +683,7 @@ def _on_mode_toggle(self) -> None:
683683
# Toggle multichannel visual visibility.
684684
if self._multichannel_visual_ids:
685685
for vid in self._multichannel_visual_ids:
686-
self._controller.update_appearance_field(
687-
vid, "visible", to_multichannel
688-
)
686+
self._controller.set_visual_visible(vid, to_multichannel)
689687

690688
# Update scene dims to add/remove the channel axis from slice_indices.
691689
if self._channel_axis is not None:
@@ -768,7 +766,8 @@ def _build_multichannel(self) -> None:
768766
transform=self._voxel_to_world,
769767
)
770768
# Hide immediately; the toggle will show it.
771-
self._controller.update_appearance_field(mc_visual.id, "visible", False)
769+
for ch in mc_visual.channels.values():
770+
ch.visible = False
772771
self._multichannel_visual_ids.append(mc_visual.id)
773772
if key == "vol":
774773
_lazy_mc_vol_visual_id = mc_visual.id

src/oz_viewer/viewer/_viewer.py

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -300,16 +300,9 @@ def _on_released() -> None:
300300
# ------------------------------------------------------------------
301301

302302
def _on_toggle_clicked(self) -> None:
303-
from cellier.v2.events import DimsUpdateEvent
304-
305303
current_slice = dict(self._scene.dims.selection.slice_indices)
306304
self._controller.cancel_pending_slices(self._scene.id)
307305
in_sc = self._mode_channel == "single"
308-
stacked = (
309-
(self._geo.channel_axis,)
310-
if not in_sc and self._geo.channel_axis is not None
311-
else None
312-
)
313306

314307
if self._active_mode == "2d":
315308
# Save the Z world-coord before it leaves slice_indices.
@@ -333,15 +326,8 @@ def _on_toggle_clicked(self) -> None:
333326
self._lod_bias_3d_slider.setValue(self._lod_bias_3d)
334327
self._lod_bias_3d_slider.blockSignals(False)
335328

336-
self._controller.incoming_events.emit(
337-
DimsUpdateEvent(
338-
source_id=self._controller._id,
339-
scene_id=self._scene.id,
340-
slice_indices=new_slice,
341-
displayed_axes=self._displayed_axes_3d,
342-
stacked_axes=stacked,
343-
)
344-
)
329+
self._controller.update_slice_indices(self._scene.id, new_slice)
330+
self._controller.set_displayed_axes(self._scene.id, self._displayed_axes_3d)
345331
self._active_mode = "3d"
346332
self._mode_label.setText("Mode: 3D")
347333
self._toggle_btn.setText("Switch to 2D")
@@ -364,15 +350,8 @@ def _on_toggle_clicked(self) -> None:
364350
self._lod_bias_2d_slider.setValue(self._lod_bias_2d)
365351
self._lod_bias_2d_slider.blockSignals(False)
366352

367-
self._controller.incoming_events.emit(
368-
DimsUpdateEvent(
369-
source_id=self._controller._id,
370-
scene_id=self._scene.id,
371-
slice_indices=new_slice,
372-
displayed_axes=self._displayed_axes_2d,
373-
stacked_axes=stacked,
374-
)
375-
)
353+
self._controller.update_slice_indices(self._scene.id, new_slice)
354+
self._controller.set_displayed_axes(self._scene.id, self._displayed_axes_2d)
376355
self._active_mode = "2d"
377356
self._mode_label.setText("Mode: 2D")
378357
self._toggle_btn.setText("Switch to 3D")
@@ -402,7 +381,7 @@ def _on_mc_toggle_clicked(self) -> None:
402381
self._saved_channel = float(current.get(ch, self._saved_channel))
403382
current.pop(ch, None)
404383
self._controller.update_slice_indices(self._scene.id, current)
405-
self._controller.update_stacked_axes(self._scene.id, (ch,))
384+
self._controller.set_stacked_axes(self._scene.id, (ch,))
406385
self._channel_stack.setCurrentIndex(1)
407386
self._mode_channel = "multichannel"
408387
if self._toggle_mc_btn is not None:
@@ -417,7 +396,7 @@ def _on_mc_toggle_clicked(self) -> None:
417396
# so the slider reappears.
418397
ch = self._geo.channel_axis
419398
if ch is not None:
420-
self._controller.update_stacked_axes(self._scene.id, ())
399+
self._controller.set_stacked_axes(self._scene.id, ())
421400
current = dict(self._scene.dims.selection.slice_indices)
422401
current[ch] = self._saved_channel
423402
self._controller.update_slice_indices(self._scene.id, current)

0 commit comments

Comments
 (0)