Additional improvements 3d renderer from contributor#1106
Conversation
Integrate overlays as overlay:N entries in _volume_nodes, unify rendering helpers, and add Auto/Full LUT controls plus a working Home toolbar shortcut. Move plain-colour cmap handling to colors.vispy_cmap_from_spec and refresh tests. Co-authored-by: Cursor <cursoragent@cursor.com>
Restore the module-level pytest skip for test_renderer3d (5fdb923) and use the controls step size for primary volume relative_step_size, matching the pre-e8aceb63 renderer UI work. Co-authored-by: Cursor <cursoragent@cursor.com>
Add Clim myHistogramLUTitem, right-side opacity colorbar, in-renderer overlay controls, bidirectional sync with the main GUI, and roadmap docs under .features/. Co-authored-by: Cursor <cursoragent@cursor.com>
Add label volume masking, Cell ID selector with Show all, Shift+click pick, and bidirectional sync with the main GUI props and highlight toolbar. Co-authored-by: Cursor <cursoragent@cursor.com>
Add a user-facing dz/dx ratio with optional Z resampling so frame sync no longer overwrites manual anisotropy settings. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@ElpadoCan no problem, i haven't tested this ai slop myself yet :P |
Initialize the renderer UI before preprocessing on the first update_volume call so _controls exists, and guard _preprocess_volume when controls are not yet available. Also add a direct GUI entry point and lazy brush/eraser strokes for click-move-click editing.
…t tools. Remove delete-object shortcut customization and bidirectional 2D/3D sync in favor of one-way pushes from the main GUI. Add LUT-aware label rendering, segmentation-only mode, BF/segm blend, and KEYBINDS.md. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Hi @keejkrej, This is going in a very promising direction! The overlaid segmentation labels work very well. However, if I open the renderer with multiple fluorescence channels, I get this error File "C:\Users\Frank\Cell_ACDC_2\cellacdc\renderer3d.py", line 1255, in _rebuild_overlay_controls
row_layout.addWidget(lut_item)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
TypeError: addWidget(self, a0: Optional[QWidget], stretch: int = 0, alignment: Qt.AlignmentFlag = Qt.Alignment()): argument 1 has unexpected type 'baseHistogramLUTitem'This is because the Anyway, do you think this could be fixed? Because then I could take it from there and the bulk of the work would be done. Thanks! |
|
@ElpadoCan i also changed many other things including segmentation tool behaviors, maybe i should open a fresh pr draft, i also didn't test with fluorescent channels, did you load just the fluorescent channel or its mask as well |
|
What should be done is to add the Also, the code logic is now pretty complex. Especially in renderer = VolumeRenderer3DWindow()
renderer.set_volumes(zstacks)
renderer.set_overlay_segm_data(labels)
renderer.show() |
No description provided.