cigvis.gui.gui3d.sidebar module#

Sidebar panels for the 3D viewer.

Panels:
  • LoadPanel3D : load volume, set nx/ny/nz

  • DisplayPanel3D : colormap, clim, interpolation

  • CameraPanel : azimuth, elevation, FOV, aspect ratios

  • SlicesPanel : x/y/z position of axis-aligned slices

  • OverlaysPanel3D: mask + horizon layers

  • SamPanel : SAM-like interactive annotation (optional)

class cigvis.gui.gui3d.sidebar.CameraPanel(compact: bool = False, parent=None)#

Bases: QWidget

aspectx_changed#
aspecty_changed#
aspectz_changed#
azimuth_changed#
clear() None#
elevation_changed#
fov_changed#
live_sync_toggled#
staticMetaObject = PySide6.QtCore.QMetaObject("CameraPanel" inherits "QWidget": Methods:   #33 type=Signal, signature=azimuth_changed(int), parameters=int   #34 type=Signal, signature=elevation_changed(int), parameters=int   #35 type=Signal, signature=fov_changed(int), parameters=int   #36 type=Signal, signature=aspectx_changed(double), parameters=double   #37 type=Signal, signature=aspecty_changed(double), parameters=double   #38 type=Signal, signature=aspectz_changed(double), parameters=double   #39 type=Signal, signature=update_requested()   #40 type=Signal, signature=live_sync_toggled(bool), parameters=bool )#
update_from_params(params: list) None#
update_requested#
class cigvis.gui.gui3d.sidebar.DisplayPanel3D(compact: bool = False, parent=None)#

Bases: QWidget

clear() None#
cmap_changed#
interp_changed#
set_params(*, cmap: str | None = None, clim: list | tuple | None = None, interpolation: str | None = None) None#
set_vmax(v: str) None#
set_vmin(v: str) None#
staticMetaObject = PySide6.QtCore.QMetaObject("DisplayPanel3D" inherits "QWidget": Methods:   #33 type=Signal, signature=cmap_changed(QString), parameters=QString   #34 type=Signal, signature=vmin_changed(QString), parameters=QString   #35 type=Signal, signature=vmax_changed(QString), parameters=QString   #36 type=Signal, signature=interp_changed(QString), parameters=QString )#
vmax_changed#
vmin_changed#
class cigvis.gui.gui3d.sidebar.HorizonParamsWidget(update_callback: Callable | None = None, parent=None)#

Bases: QWidget

Per-horizon parameter controls.

set_callback(cb: Callable) None#
staticMetaObject = PySide6.QtCore.QMetaObject("HorizonParamsWidget" inherits "QWidget": )#
class cigvis.gui.gui3d.sidebar.LoadPanel3D(parent=None)#

Bases: QWidget

File loading for 3D seismic volumes.

base_loaded#
clear(clear_dims: bool = True) None#
horz_item_ready#
horz_loaded#
load_file(file_path: str = '', check: bool = True) None#
mask_item_ready#
mask_loaded#
sent_data(data: ndarray) None#

Programmatically inject pre-loaded data.

set_shape(nx: int, ny: int, nz: int) None#
shape_ready#
staticMetaObject = PySide6.QtCore.QMetaObject("LoadPanel3D" inherits "QWidget": Methods:   #33 type=Signal, signature=base_loaded(PyObject), parameters=PyObject   #34 type=Signal, signature=mask_loaded(PyObject), parameters=PyObject   #35 type=Signal, signature=horz_loaded(PyObject), parameters=PyObject   #36 type=Signal, signature=vmin_ready(QString), parameters=QString   #37 type=Signal, signature=vmax_ready(QString), parameters=QString   #38 type=Signal, signature=mask_item_ready(PyObject), parameters=PyObject   #39 type=Signal, signature=horz_item_ready(PyObject), parameters=PyObject   #40 type=Signal, signature=shape_ready(int,int,int), parameters=int, int, int )#
vmax_ready#
vmin_ready#
class cigvis.gui.gui3d.sidebar.OverlaysPanel3D(parent=None)#

Bases: QWidget

add_horz_item(item: QListWidgetItem) None#
add_mask_item(item: QListWidgetItem) None#
clear() None#
horz_deleted#
horz_params_changed#
mask_deleted#
mask_params_changed#
set_mask_items(params_list: List[dict]) None#
staticMetaObject = PySide6.QtCore.QMetaObject("OverlaysPanel3D" inherits "QWidget": Methods:   #33 type=Signal, signature=mask_params_changed(QVariantList), parameters=QVariantList   #34 type=Signal, signature=mask_deleted(int), parameters=int   #35 type=Signal, signature=horz_params_changed(QVariantList), parameters=QVariantList   #36 type=Signal, signature=horz_deleted(int), parameters=int )#
class cigvis.gui.gui3d.sidebar.SamPanel(parent=None)#

Bases: QWidget

SAM-like interactive segmentation panel.

Activate SAM mode and the canvas will:
  • Alt+LeftClick → add prompt point

  • Enter → run inference (async)

  • Delete → undo last prompt

  • C → clear all prompts

Set decode_fn before activating for actual inference.

clear_requested#
enable_sam() None#
run_requested#
sam_toggled#
set_prompt_count(n: int) None#
staticMetaObject = PySide6.QtCore.QMetaObject("SamPanel" inherits "QWidget": Methods:   #33 type=Signal, signature=sam_toggled(bool), parameters=bool   #34 type=Signal, signature=run_requested()   #35 type=Signal, signature=clear_requested()   #36 type=Signal, signature=undo_requested() )#
undo_requested#
class cigvis.gui.gui3d.sidebar.SlicesPanel(compact: bool = False, parent=None)#

Bases: QWidget

clear() None#
set_axis_limits(limits: dict) None#
set_limits(nx: int, ny: int, nz: int) None#
set_positions(positions: dict) None#
staticMetaObject = PySide6.QtCore.QMetaObject("SlicesPanel" inherits "QWidget": Methods:   #33 type=Signal, signature=xpos_changed(int), parameters=int   #34 type=Signal, signature=ypos_changed(int), parameters=int   #35 type=Signal, signature=zpos_changed(int), parameters=int )#
xpos_changed#
ypos_changed#
zpos_changed#