Lines3dDialog¶
- class controllers.Lines3dDialog¶
Bases:
handleLINES3DDIALOG - Lines3dDialog is a controller class for the Lines3D table view dialog.
Displays and edits 3D line trees, nodes and edges via interactive tables. Opened from the segmentation panel’s “Table View” button.
obj.startController('controllers.Lines3dDialog'); // as GUI tool- Constructor Summary
- Lines3dDialog(mibModel, varargin)¶
LINES3DDIALOG - Initialize Lines3D table view dialog controller.
- Syntax:
obj = Lines3dDialog(mibModel) obj = Lines3dDialog(mibModel, BatchOpt)
Display and edit 3D line trees, nodes and edges via interactive tables.
- Input Arguments:
mibModel - [MibModel] handle to main MIB model
varargin{1} (optional) - [handle] controller handle (unused, for startController compatibility)
- Output Arguments:
obj - [Lines3dDialog] initialized dialog controller instance
- Property Summary
- childControllers¶
indices of selected tree in treesViewTable
- childControllersIds¶
cell array of open child controllers
- hAx¶
a cell array with handles to listeners
- hFig¶
axes for the 3D visualization figure
- hPlot¶
a handle to the 3D visualization figure
- imarisOptions¶
a handle to a plot on the 3D visualization figure
- indicesEdges¶
a structure with export options for imaris .radii - default radius scaling factor .color - default color [R G B A] in range 0..1 .name - default spot name
- indicesNodes¶
indices of selected cell in edgesViewTable
- indicesTrees¶
indices of selected cell in nodesViewTable
- listener¶
handle to the view / views.Lines3dDialog (core.ChildView)
- mibModel¶
- view¶
handle to the MibModel
- Method Summary
- static ViewListner_Callback2(src, evnt)¶
VIEWLISTNER_CALLBACK2 - ViewListner_Callback2(obj, src, evnt).
- Syntax:
obj.ViewListner_Callback2(src, evnt)
Static callback for model event listeners.
- addCallbacks()¶
ADDCALLBACKS - Wire all widget callbacks for table and button interactions.
- Syntax:
obj.addCallbacks()
Connect UI widgets to callback functions. Called once from constructor to set up callbacks for tables (cell edit, selection), buttons (settings, load, save, delete, visualize), dropdowns, and context menus.
- closeWindow()¶
CLOSEWINDOW - Close dialog window and clean up resources.
- Syntax:
obj.closeWindow()
Close the Lines3dDialog window, delete child controllers, and clean up model listeners.
- deleteBtn_Callback()¶
DELETEBTN_CALLBACK - Delete all Lines3D data after user confirmation.
- Syntax:
obj.deleteBtn_Callback()
Prompt user for confirmation, create backup, and clear all Lines3D data from current dataset.
- edgesViewTable_CellEditCallback(eventdata)¶
EDGESVIEWTABLE_CELLEDITCALLBACK - Handle cell edits in edges table.
- Syntax:
obj.edgesViewTable_CellEditCallback(eventdata)
Update edge properties (weight or additional field) when user modifies edgesViewTable cells.
- Input Arguments:
eventdata - [CellEditData] cell edit event with
.Indicesand.NewDataproperties
- edgesViewTable_CellSelectionCallback(Indices, forceJump)¶
EDGESVIEWTABLE_CELLSELECTIONCALLBACK - Handle cell selection in edges table.
- Syntax:
obj.edgesViewTable_CellSelectionCallback(Indices, forceJump)
Update internal selection tracking and optionally jump to selected edge’s target node.
- Input Arguments:
Indices - [numeric array] selected cell indices from table
forceJump (optional) - [logical] force jump to edge endpoint; defaults to value of jumpCheck widget
- edgesViewTable_cb(parameter)¶
EDGESVIEWTABLE_CB - Handle context menu actions on edges table.
- Syntax:
obj.edgesViewTable_cb(parameter)
Execute context menu actions: jump to node or set as active node.
- Input Arguments:
parameter - [char] action:
'Jump'(jump to node) or'Active'(set as active node)
- loadBtn_Callback()¶
LOADBTN_CALLBACK - Load or import Lines3D from file or MATLAB workspace.
- Syntax:
obj.loadBtn_Callback()
Prompt user to load Lines3D from
.lines3dfile or import from base workspace. Validates graph structure and updates pixel sizes to match current dataset. Creates backup before loading.
- nodesViewTable_CellEditCallback(eventdata)¶
NODESVIEWTABLE_CELLEDITCALLBACK - Handle cell edits in nodes table.
- Syntax:
obj.nodesViewTable_CellEditCallback(eventdata)
Update node properties (name, radius/extra field, or XYZ coordinates) when user modifies nodesViewTable cells. Triggers image re-render for coordinate changes.
- Input Arguments:
eventdata - [CellEditData] cell edit event with
.Indicesand.NewDataproperties
- nodesViewTable_CellSelectionCallback(Indices, forceJump)¶
NODESVIEWTABLE_CELLSELECTIONCALLBACK - Handle cell selection in nodes table.
- Syntax:
obj.nodesViewTable_CellSelectionCallback(Indices, forceJump)
Update internal selection tracking and optionally jump to selected node position if
jumpCheckis enabled.- Input Arguments:
Indices - [numeric array] selected cell indices from table
forceJump (optional) - [logical] force jump to node; defaults to value of jumpCheck widget
- nodesViewTable_cb(parameter, nodeId)¶
NODESVIEWTABLE_CB - Handle context menu actions on nodes table.
- Syntax:
obj.nodesViewTable_cb(parameter) obj.nodesViewTable_cb(parameter, nodeId)
Execute context menu actions: jump to node, set active, rename, edit pixels, or manage annotations.
- Input Arguments:
parameter - [char] action:
'Jump','Active','Rename','Pixels','AnnotationsNew','AnnotationsAdd','AnnotationsDelete', or'Delete'nodeId (optional) - [numeric] specific node to operate on; if omitted, uses selected row
- saveBtn_Callback(treeIds)¶
SAVEBTN_CALLBACK - Save or export Lines3D to file or MATLAB workspace.
- Syntax:
obj.saveBtn_Callback() obj.saveBtn_Callback(treeIds)
Export selected trees to
.lines3dfile or to base workspace asLines3Dvariable. Supports optional export to Imaris format.- Input Arguments:
treeIds (optional) - [numeric array] tree indices to export; if empty, exports all trees
- settingsBtn_Callback()¶
SETTINGSBTN_CALLBACK - Open dialog to configure Lines3D visual settings.
- Syntax:
obj.settingsBtn_Callback()
Prompt user for visual settings: edge color, active tree color, node color, active node color, edge thickness, node radius, and clipping thickness. Updates
obj.mibModel.I{id}.lines3Dwith new settings.
- treesViewTable_CellEditCallback(Indices)¶
TREESVIEWTABLE_CELLEDITCALLBACK - Handle cell edits in trees table (reserved for future use).
- Syntax:
obj.treesViewTable_CellEditCallback(Indices)
Callback for cell edit in treesViewTable. Currently reserved for potential tree renaming or annotation edits in future versions.
- Input Arguments:
Indices - [numeric array] edited cell indices
[row, column]
- treesViewTable_CellSelectionCallback(Indices)¶
TREESVIEWTABLE_CELLSELECTIONCALLBACK - Handle cell selection in trees table.
- Syntax:
obj.treesViewTable_CellSelectionCallback(Indices)
Update active tree, refresh nodes/edges tables, and mark the selected tree node as active.
- Input Arguments:
Indices - [numeric array] selected tree row index
- treesViewTable_cb(parameter)¶
TREESVIEWTABLE_CB - Handle context menu actions on trees table.
- Syntax:
obj.treesViewTable_cb(parameter)
Execute context menu actions: rename, find, visualize, save, or delete selected tree(s).
- Input Arguments:
parameter - [char] action:
'rename','find','visualize','save', or'delete'
- updateEdgesViewTable(activeTreeIndex, nodeByTree)¶
UPDATEEDGESVIEWTABLE - Populate edges table for the active tree.
- Syntax:
obj.updateEdgesViewTable(activeTreeIndex, nodeByTree)
Update the edges view table with edges from the specified tree, including weight and any additional edge fields configured via dropdown.
- Input Arguments:
activeTreeIndex - [numeric] index of active tree to display
nodeByTree (optional) - [numeric array] assignment of nodes to trees; automatically computed if omitted
- updateNodesViewTable(activeTreeIndex, nodeByTree)¶
UPDATENODESVIEWTABLE - Populate nodes table for the active tree.
- Syntax:
activeIndex = obj.updateNodesViewTable(activeTreeIndex, nodeByTree)
Update the nodes view table with nodes from the specified tree, including node name, radius (or other field), and XYZ coordinates. Auto-scroll to active node.
- Input Arguments:
activeTreeIndex - [numeric] index of active tree to display
nodeByTree (optional) - [numeric array] assignment of nodes to trees; automatically computed if omitted
- Output Arguments:
activeIndex - [numeric] index of the active node in the displayed table (for auto-scroll)
- updateWidgets()¶
UPDATEWIDGETS - Refresh all dialog tables and status indicators.
- Syntax:
obj.updateWidgets()
Update trees table, nodes table, and edges table from current dataset. Also refresh active tree/node status indicators. Called on model events and after user actions.
- visualizeBtn_Callback(treeId)¶
VISUALIZEBTN_CALLBACK - Visualize Lines3D graph in separate 3D figure.
- Syntax:
obj.visualizeBtn_Callback() obj.visualizeBtn_Callback(treeId)
Create or update a 3D visualization figure showing the graph edges and nodes. Optionally overlay an orthoslice from the current dataset.
- Input Arguments:
treeId (optional) - [numeric] specific tree ID to visualize; if 0 or omitted, visualizes all trees