cigvis.vispynodes.volume_image module#
- class cigvis.vispynodes.volume_image.OverlaySpec(name: 'str', volume: 'Optional[np.ndarray]' = None, preproc: 'Optional[Callable]' = None, forcefp32: 'bool' = True, cmap: 'Any' = 'grays', cmap_name: 'Any' = None, axis_cmaps: 'Optional[Dict[str, Any]]'=None, axis_cmap_names: 'Optional[Dict[str, Any]]'=None, axes: 'Tuple[str, ...]'=('x', 'y', 'z'), clim: 'Optional[Tuple[float, float]]'=None, interpolation: 'str' = 'nearest', method: 'str' = 'auto', texture_format: 'Optional[str]' = 'auto', dtype: 'Any' = <class 'numpy.float32'>)#
Bases:
object- axes: Tuple[str, ...] = ('x', 'y', 'z')#
- axis_cmap_names: Dict[str, Any] | None = None#
- axis_cmaps: Dict[str, Any] | None = None#
- clim: Tuple[float, float] | None = None#
- cmap: Any = 'grays'#
- cmap_for_axis(axis: str)#
- cmap_name: Any = None#
- cmap_name_for_axis(axis: str)#
- dtype#
alias of
float32
- forcefp32: bool = True#
- interpolation: str = 'nearest'#
- method: str = 'auto'#
- name: str#
- preproc: Callable | None = None#
- texture_format: str | None = 'auto'#
- volume: ndarray | None = None#
- class cigvis.vispynodes.volume_image.VolumeImage(volume: ndarray, *, preproc: Callable | None = None, cmap: Any = 'grays', clim: List | Tuple | None = None, interpolation: str = 'linear', method: str = 'auto', texture_format: str | None = None, display_range: Dict[str, Tuple[int, int]] | None = None)#
Bases:
objectManager for one base volume and multiple overlays, and for creating axis-aligned slice nodes (AxisAlignedImage) while keeping them independent.
- Key improvement:
Use SliceProvider (mutable volume reference) so replacing overlay volumes does NOT require swapping image_funcs closures.
- add_overlay_volume(*, name: str, volume: ndarray, cmap: Any, clim: List | Tuple | None = None, interpolation: str = 'nearest', preproc: Callable | None = None, method: str | None = None, texture_format: str | None = None, forcefp32: bool = True, axes=None, cmap_names: Any = None)#
- create_slices(x_pos: List | int | float | None = None, y_pos: List | int | float | None = None, z_pos: List | int | float | None = None, pos: Dict[str, List[int]] | List | Tuple | None = None) Dict[str, List[AxisAlignedImage]]#
- nodes(*, intersection_lines: bool = False, line_color=(1, 1, 1), line_width: float = 2.0)#
- refresh_overlay(name: str)#
Re-upload current slice for a ‘volume3d’ overlay. Useful for in-place edits, or when you want immediate refresh without dragging.
- remove_overlay(name: str) bool#
Remove an overlay volume from all existing slice nodes.
- replace_overlay_volume(name: str, new_volume: ndarray, *, preproc: Callable | None = None, refresh: bool = True, validate: bool = True, reinit_meta_if_needed: bool = False)#
Workflow-friendly: vol -> AI model -> new mask volume (NEW reference) -> update.
With SliceProvider, we only swap provider.volume; we DO NOT replace image_funcs.