MeVisLab Reference Manual

2024-09-10


Table of Contents

1. Introduction
1.1. About the MeVisLab Reference Manual
1.2. Associated Documents
2. MeVisLab User Interface
2.1. Overview
2.2. Views
3. Modules and Networks
3.1. Types of Modules
3.2. Module Network Panels
3.3. Connector and Connection Types
3.4. Connecting, Disconnecting, Moving, and Replacing Connections
3.4.1. Connecting Modules
3.4.2. Disconnecting Modules
3.4.3. Moving Connections
3.4.4. Replacing Connections
3.5. Mouse Pointers
3.6. Mouseover Information
3.7. Module Halo
3.8. Module Highlighting
3.9. Module Handling
3.9.1. Module Context Menu
3.9.2. Additional Inputs
3.9.3. Show Internal Network (Macro Modules)
3.10. Network Handling
3.10.1. Network Context Menu
3.10.2. Connections Context Menus
3.11. Using Groups
3.11.1. Creating Groups and Adding/Removing Modules
3.11.2. Editing, Converting, and Deleting Groups
3.11.3. Copying Groups Including Modules
3.12. Using Notes
3.12.1. Creating Notes
3.12.2. Handling Notes
3.12.3. Editing and Deleting Notes
3.12.4. Copying Notes Including Text
3.13. Using the Mini Map
3.14. Network Quick Search
3.15. Network Selector
3.16. Network Preview
3.17. Network Mouse Gestures
3.17.1. Gesture for Closing the Current Network
3.17.2. Gesture for Closing the Current Network Without Requester
4. Menu Bar
4.1. File Menu
4.1.1. New
4.1.2. Open
4.1.3. Close
4.1.4. Close all
4.1.5. Save
4.1.6. Save As
4.1.7. Save Copy As
4.1.8. Revert To Saved
4.1.9. Recent Files
4.1.10. Open Most Recent File
4.1.11. Run Project Wizard
4.1.12. Create Local Macro
4.1.13. Add Local Macro
4.1.14. Open File in MATE
4.1.15. Show MATE
4.1.16. Run ToolRunner
4.1.17. Run TestCaseManager
4.1.18. Recent Test Cases
4.1.19. Run Most Recent Test Case
4.1.20. Restart with Current Networks
4.1.21. Quit
4.2. Edit Menu
4.2.1. Undo
4.2.2. Redo
4.2.3. Clear Undo History
4.2.4. Cut
4.2.5. Copy
4.2.6. Paste
4.2.7. Duplicate
4.2.8. Delete
4.2.9. Select All
4.2.10. Deselect All
4.2.11. Invert Selection
4.2.12. Align / Distribute
4.2.13. Auto Arrange Selection
4.2.14. Reload Selected Modules
4.3. Preferences
4.3.1. Preferences — General
4.3.2. Preferences — Packages
4.3.3. Preferences — Module Groups
4.3.4. Preferences — Supportive Programs
4.3.5. Preferences — Paths
4.3.6. Preferences — Scripting
4.3.7. Preferences — Network Appearance
4.3.8. Preferences — Network Interaction
4.3.9. Preferences — Error / Debug Handling
4.3.10. Preferences — Shortcuts
4.4. Modules Menu
4.5. Applications Menu
4.6. Extras Menu
4.6.1. Reload Module Database (Keep Cache)
4.6.2. Reload Module Database (Clear Cache)
4.6.3. Reload Imported Python Modules
4.6.4. Show Global MDL Definitions...
4.6.5. Run Module Tests...
4.6.6. Run Tests On Selection...
4.6.7. Generate Module Reference for User Packages (HTML)
4.6.8. Show Widget Explorer
4.6.9. Debug Widgets
4.6.10. Show Connector Details
4.6.11. Show Image Connector Preview
4.6.12. Clear Image Cache
4.7. Scripting Menu
4.7.1. Show Scripting Console
4.7.2. Scripting Context Menu
4.7.3. Edit Network Script
4.7.4. Start Network Script
4.8. User Scripts
4.8.1. Example Scripts
4.8.2. Run User Script...
4.8.3. Run Last User Script:
4.8.4. Run Recent User Script
4.8.5. Example Scripts
4.9. View Menu
4.9.1. View All
4.9.2. Zoom To Selection
4.9.3. Zoom In
4.9.4. Zoom Out
4.9.5. Zoom 100%
4.9.6. Layout
4.9.7. Toolbars
4.9.8. Views
4.10. Networks Menu
4.10.1. Close
4.10.2. Close All
4.11. Panels Menu
4.11.1. Panels Stay In Front Of Main Window
4.11.2. Hide Panels Of Invisible Networks
4.11.3. Close All Panels
4.11.4. Close Panels Of Current Network
4.11.5. Minimize All Open Panels
4.11.6. Show All Minimized Panels
4.11.7. Working with the Panel List
4.12. Help Menu
4.12.1. (Search in documentation and menu entries)
4.12.2. Show Help Overview
4.12.3. Browse Help Pages
4.12.4. Welcome
4.12.5. About
4.12.6. Enter License
5. Toolbar
5.1. File Operations
5.2. Edit
5.3. Zooming
5.4. Script Debugging
5.5. Quick Search
5.6. Align / Distribute
6. Bottom Bar
6.1. Loop! indicator
6.2. ML Cache
6.3. Stop Button
6.4. Toggle Layout
7. Background Tasks
8. Debug Output
9. ML Parallel Processing Profiler View
10. Module Browser
11. Module Inspector
11.1. Fields
11.1.1. Editing Field Values
11.1.2. Module Inspector Fields Context Menu
11.2. Files
11.2.1. Module Inspector Files Context Menu
11.3. Tree
11.3.1. Tree Context Menu
11.4. About
11.5. Related
11.5.1. Related Context Menu
11.6. Scripting
12. Module List
13. Module Search
13.1. Module Search
13.2. Advanced Search
13.3. Module Search Result Context Menu
13.3.1. General Options
13.3.2. Additional Options for Macro Modules
13.4. Search in Network
14. Network Field WatchList
15. Output Inspector
16. Parameter Connections Inspector
16.1. Parameter Connections Inspector View
16.2. Parameter Connections Inspector Context Menu
17. Profiling
17.1. Introduction to Profiling
17.2. Using Profiling
17.2.1. Modules
17.2.2. Fields
17.2.3. Functions
18. Recent Outputs
19. Screenshot Gallery
19.1. Screenshot Gallery
19.2. Screenshot Gallery Context Menu
19.3. Movies in the Screenshot Gallery
20. Scripting Console
21. Scripting Assistant
22. Search in Network
23. Search in Documentation
24. Snippets List
25. Project Wizard
25.1. Project Wizard Introduction
25.2. Modules (C++) Wizard
25.2.1. First C++ Module Wizard Dialog
25.2.2. Inventor Module
25.2.3. ML Module
25.3. Modules (Scripting) Wizard
25.4. Module Field Interface
25.5. Packages
25.6. Example .Wiz File (Inventor Module), indented for a better readability
26. MATE
26.1. What is MATE?
26.2. Text Editor User Interface
26.3. Menu Bar
26.4. Module Menu
26.5. Outline Area
26.6. Edit Area
26.7. Preferences
26.8. Python Debugger
26.9. Module Help Editor
26.9.1. Context Menus
26.9.2. Formatting
26.9.3. How it Works
26.9.4. Internal HTML Preview
26.10. Session Management
26.11. Project Workspaces
26.11.1. Project Types
26.11.2. Context Menu
26.11.3. Views
26.11.4. File Locator
26.12. GUI Editor
26.13. Scripting
26.14. Pylint Integration
26.14.1. Installation
26.14.2. Usage
27. Tips and Tricks
27.1. Command-Line Options
27.2. MeVisLabPackageScanner.exe
27.3. EatDicom.exe (deprecated)
27.4. Connecting Inventor Engines to ML Modules
27.5. Using SyncFloat to Reduce System Load
27.5.1. Case 1: Two Inventor and One ML Module Connected in a Circle
27.5.2. Case 2: A Macro Module (Including an Inventor Module) and Another Inventor Module Connected in a Circle
27.6. Printing MeVisLab Networks
27.7. Multi-threading in MeVisLab
27.7.1. Multi-threading in the ML
27.7.2. Background Tasks
27.7.3. Modules for Multi-threading
27.8. Set Open Inventor Override Flag (Inventor Modules)
28. Settings File and Environment Variables
28.1. Possible Locations of mevislab.prefs
28.2. Options in mevislab.prefs
28.3. Environment variables
29. Coding Style Guide
29.1. General Rules
29.2. Naming Conventions
29.2.1. Code
29.2.2. Files
29.2.3. MeVisLab/ML Identifiers
29.2.4. MDL Layout
29.3. General Programming
29.4. C++
29.5. Python
29.6. ML Programming
29.7. MDL

List of Figures

2.1. Typical MeVisLab User Interface
2.2. View Docked in the Views Area
2.3. Floating View
2.4. Moving View to Another Position in Views Area
2.5. Stacked Views
2.6. Resizing a View in the Views Area
3.1. Example Network for SynchroView2D with Viewer (Panel), Automatic Panel, and Settings
3.2. Modules with Network Panels
3.3. View2D with Connected "Invisible" Open Inventor Connector
3.4. Compatible Connectors for CSOVisualizationSettings Type
3.5. Compatible Connectors for CSOList Type
3.6. Compatible Connectors for ML Image Type
3.7. Parameter Connection — Panel Mouseover
3.8. Connector Image Preview
3.9. Connector Detail Info and Image Preview
3.10. Module Context Menu
3.11. Module Context Menu — Show Window
3.12. Automatic Panel
3.13. Panel Defined in MDL
3.14. Module Context Menu — Edit Instance Name
3.15. Modules and Instance Names
3.16. Module Context Menu — Show Example Network
3.17. Dependency Walker
3.18. Module Context Menu — Tests
3.19. Module Context Menu — Related Files
3.20. View3D With Visible Inventor Inputs (Default)
3.21. View3D With Hidden Inventor Inputs
3.22. RegionGrowingMacro — Internal Network
3.23. Network Context Menu
3.24. Parameter Connection Context Menu
3.25. Module with Internal/Self-Connected Parameter Connection
3.26. Data Connection Context Menu
3.27. Network Context Menu — Adding Groups
3.28. Network Context Menu — Adding to a Specific Group
3.29. Group Context Menu
3.30. Note (expanded)
3.31. Creating a Note
3.32. Dialog for editing of notes, with context menu
3.33. Note (collapsed)
3.34. Note Context Menu
3.35. A note displayed as a network comment
3.36. Note in a Group
3.37. Mini Map
3.38. Navigating in the Mini Map
3.39. Parent Navigation Frame for Macro Modules
3.40. Parent Navigation Frame Context Menu
3.41. Network Quick Search
3.42. Network Quick Search — Options
3.43. Network Quick Search — Show All Results
3.44. Network Quick Search — Highlight Results
3.45. Network Selector in Action
3.46. Network Selector in Action
3.47. Trail of Unrecognized Mouse Gesture
3.48. Mouse Gesture for Closing the Current Network
3.49. Mouse Gesture for Closing the Current Network Without Requester
4.1. File Menu
4.2. Local Macro Creation
4.3. Modules Connected to Outer Macros
4.4. Edit Menu (Windows example)
4.5. Align / Distribute
4.6. Preferences — General
4.7. Preferences — Packages
4.8. Preferences — Module Groups
4.9. Preferences — Supportive Programs
4.10. Preferences — Paths
4.11. Preferences — Scripting
4.12. Preferences — Network Appearance
4.13. Preferences — Network Interaction
4.14. Preferences — Error / Debug Handling
4.15. Preferences — Shortcuts
4.16. Modules Menu
4.17. Extras Menu
4.18. MeVisLab Global MDL Definitions
4.19. Module Selection
4.20. MeVisLab Widget Explorer - Attributes Inspector
4.21. MeVisLab Widget Explorer - Style Sheet Editor
4.22. Scripting Menu
4.23. Scripting Editor
4.24. Scripting Example
4.25. Scripting Context Menu
4.26. View Menu
4.27. View — Layout Submenu
4.28. Store Current Layout
4.29. Edit User Layouts
4.30. View — Toolbars Submenu
4.31. View — Views Submenu
4.32. Networks Menu
4.33. Panels Menu
4.34. Panels Menu — Listing all Open Panels
4.35. Help Menu
5.1. Toolbar
5.2. Quick Search Options
5.3. Quick Search — Info Box
5.4. Quick Search History
6.1. Bottom Bar
7.1. ML Background Tasks
7.2. ML Background Tasks — Context Menu
7.3. ML Background Tasks — Context Menu for Running Processes
7.4. Warning for Running Background Tasks
7.5. Save in Background for GVRVolumeSave
8.1. Debug Output
8.2. Context Menu
9.1. Parallel Processing View Overview
9.2. Parallel Processing View Details
10.1. Module Browser
11.1. Module Inspector — Fields
11.2. Automatic Panel
11.3. Module Inspector — Edit Boolean
11.4. Module Inspector — Edit Color
11.5. Module Inspector — Edit Text
11.6. Module Inspector — Edit Values
11.7. Module Inspector Fields Context Menu
11.8. Module Inspector — Files
11.9. Module Inspector Files Context Menu
11.10. Module Inspector — Tree
11.11. Module Inspector Tree Context Menu
11.12. Show Available MDL Tags
11.13. Module Inspector — About
11.14. Module Inspector — Related
11.15. Module Inspector Related Context Menu
11.16. Module Inspector — Scripting
12.1. Module List
13.1. Module Search with Demo Entry
13.2. Module Search — Advanced
13.3. Module Search — Searching In
13.4. Module Search — Operators
13.5. Module Search Results — Context Menu
13.6. Search in Network
14.1. Network Field WatchList
15.1. ML Image Inspector
15.2. ML Image Inspector: 3D View
15.3. ML Image Inspector: Detailed Information
16.1. Parameter Connections Inspector View
16.2. Parameter Connection Example — View2D and View3D
16.3. Parameter Connection Example — View2DExtensions
16.4. Parameter Connection Example — Navigating between Fields
16.5. Parameter Connections Inspector Context Menu
17.1. Functions to be Profiled
17.2. Profiling
17.3. Profiling Report
17.4. Profiling Modules
17.5. Profiling — Heading Configuration
17.6. Profiling Fields
17.7. Profiling Functions as Flat Profile
17.8. Profiling Functions as Call Graph
17.9. Functions with Filters Visible
18.1. Recent Outputs
19.1. Screenshot Gallery
19.2. Screenshot Gallery Context Menu
21.1. Scripting Editor
22.1. Scripting Editor
22.2. Scripting Editor
22.3. Scripting Editor
23.1. Search in Documentation
23.2. Search in Documentation — ML Example
23.3. Search in Documentation — MDL Example
23.4. Search in Documentation — Python Example
24.1. Snippets List
24.2. Snippets List — Context Menu
25.1. Project Wizard (no user packages available)
25.2. Project Wizard (with user packages available)
25.3. First C++ Module Wizard Dialog — ML Module Example
25.4. Create an ML Module in a Self-contained Folder
25.5. Inventor Type
25.6. Imaging Module Properties (New Style)
25.7. New Style ML Module
25.8. New Style ML Module — Uses Fixed Datatype
25.9. New Style ML Module — Uses Datatype Of Input Image
25.10. New Style ML Module — Entering The Supported Types
25.11. New Style ML Module — Configuring The Input Handling
25.12. New Style ML Module — Uses The Same Datatype As
25.13. Imaging Module Properties (Classic Style)
25.14. Additional ML Module Properties
25.15. Project Wizard
25.16. Module Field Interfaces
25.17. Package Wizard
26.1. User Interface
26.2. MATE File Menu
26.3. MATE Edit Menu
26.4. MATE View Menu
26.5. MATE Window Menu
26.6. MATE Extras Menu
26.7. MATE Module Menu — Without Attached Module
26.8. MATE Module Menu - With Attached Module
26.9. MATE Module Menu — Windows Submenu
26.10. MATE Module Menu — Files Submenu
26.11. Outline Area
26.12. MATE Edit Area
26.13. MATE Edit Area — Code Completion for Keywords
26.14. MATE Edit Area — Code Completion for Commands Defined in MDL
26.15. MATE Edit Area — Context Menu
26.16. MATE Preferences
26.17. MATE with Python Debugger
26.18. MATE Debug Menu
26.19. MATE for Module Help
26.20. Outline Context Menu
26.21. Text Context Menu
26.22. Automatically Documented Elements
26.23. HTML View
26.24. HTML View Decoupling
26.25. Decoupled HTML View
27.1. MeVisLabPackageScanner Help
27.2. Excerpt of the EatDicom help
27.3. Dicom Import Log
27.4. Field Bridge Example
27.5. SyncFloat Example — ML and Inventor Modules
27.6. SyncFloat Example — Macro and Inventor Modules
27.7. Open Inventor Scene Without Override
27.8. Open Inventor Scene With Override
27.9. Open Inventor Scene With Ignore Flag (Red)
27.10. Open Inventor Scene With Ignore Flag (Blue)

List of Tables

1.1. List of MeVisLab Documents
3.1. Module Types
3.2. Invalid Modules
3.3. Connectors
3.4. Connecting to an Invisible Connector
3.5. Connections
3.6. Connecting Modules by Dragging
3.7. Dragging a New Connection Generates New Input Connectors to the Sides of Regular Connectors
3.8. Even More New Connectors are Available
3.9. New Input Connectors are Generated by Positioning the Mouse
3.10. Connecting by Moving the Source Module into Proximity
3.11. Connecting by Moving the Destination Module into Proximity
3.12. Connecting an Inventor Group by Proximity
3.13. Connecting to an Inventor Group by Proximity
3.14. Appending vs. Prepending to an Inventor Group by Proximity
3.15. Connecting a Module by Inserting
3.16. Connecting a Module with Two Inputs by Inserting
3.17. The Second Input is Connected by Dragging
3.18. Variation: First Input is Connected by Proximity
3.19. Variation: Second Input is Connected by Inserting into an Existing Connection
3.20. Disconnecting by Dragging to Background: Input
3.21. Disconnecting by Dragging to Background: Output
3.22. Disconnecting by Selection and Pressing DEL
3.23. Disconnecting by Context Menu
3.24. Move Input Connection
3.25. Move Multiple Output Connections
3.26. Move Connection Within an Inventor Group
3.27. Replace Connection
3.28. Mouse Pointers
3.29. Mouseover Information
3.30. Module Halos — Classic and Alternative
3.31. Module Halos Input Output — Classic and Alternative
3.32. Highlighting of Selections — Classic Halo
3.33. Highlighting of Selections — Alternative Halo
3.34. Module Group with Alternative Halo — Selected and Highlighted
3.35. Preview of Internal Networks of Macro Modules
3.36. Run In Separate Process
3.37. Modules in Groups
16.1. Connections Symbols
17.1. Function Type Icons
26.1. Buttons for Debugging
26.2. Icons for Debugging
26.3. Help Toolbar Buttons
26.4. Inline markup
26.5. Directives
26.6. Roles
27.1. Command-Line Options