4.3. Preferences

[Note]Note

Settings in the Preferences panel overwrite the corresponding settings in the mevislab.prefs file.

The Preferences (and other information, like the list of recent files or the stored user layouts) are saved in a way that they are not overwritten when updating/reinstalling MeVisLab:

[Tip]Tip

For many options in the Preferences, a mouse-over tip is available.

4.3.1. Preferences — General

Figure 4.6. Preferences — General

Preferences — General

User Name

The user currently signed in at this computer.

Resources

The optimal Resources settings depend on the system and platform. Use the default settings if in doubt.

Image Processing

Image Processing Cache Size (MB)

Defines the memory available for caching (intermediate) ML image tiles/pages within a network of image processing modules. Reducing the cache size will slow down the image processing pipelines because images will be recalculated more frequently in individual modules. Cache sizes too large might cause a collapse of your system because of memory lack for other programs. For 2 GB RAM, a value of 512 MB is well-tested. For details, see the ML Programming Guide, “Optimizing Data Flow in Module Networks”.

Maximum Threads Used for Image Processing

Gives the number of parallel threads for image processing. Should not be set higher than “2”; default is zero as the support of multithreading in MeVisLab is rather limited at the moment. For more details on multithreading, see Section 24.7, “Multithreading in MeVisLab”.

Visualization

Total Texture Memory on Graphics Card (MB)

Gives the amount of texture memory (texture RAM, TRAM) on the graphics card to be used for MeVisLab texture processing, for example in the View2D module.

Volume Renderer Texture Cache Usage (%)

Defines the percentage of texture memory that the GVR volume renderer may use.

Display System Info

Displays system information regarding the Open GL vendor, its extensions and more in an extra window.

Check External Tools

Starts the Tools Check tool that checks for software necessary for certain build tasks. This tool is also part of ToolRunner. See the ToolRunner manual for details.

4.3.2. Preferences — Packages

MeVisLab modules are organized in packages. These are defined as certain folder structures (see the Package Structure documentation for details). The Packages category gives an overview over the available and active packages.

Figure 4.7. Preferences — Packages

Preferences — Packages

The packages are separated into:

  • User Packages: packages found in the user path (packages in other paths can be added manually). These are the default packages for user-defined modules.

  • mevislab.prefs: packages resulting from the paths given in the prefs file.

  • Installed Packages: packages resulting from an installation of e.g., MeVisLab SDK.

If a package with the same PackageIdentifier is found more than once, the last package found will overwrite the previously loaded packages (in the order given above, see the Package Structure documentation for details). These will be greyed out and labeled “(Overwritten)”.

Create New Package

Opens the Package Wizard, see Section 21.5, “Packages”.

Add Existing User Packages

Opens the default file browser to add a user package. Folders are read recursively and all packages below them are automatically included.

Remove

Removes the selected user package from the path of MeVisLab. (Installed packages cannot be removed.) Removed user packages can always be re-added later.

4.3.3. Preferences — Module Groups

The Module Groups category lists optional groups of modules that are not loaded by default. Check the corresponding group to get access to modules of the group.

Figure 4.8. Preferences — Module Groups

Preferences — Module Groups

Scroll to the right to see additional comments and the number of modules for each group.

After confirming the selection with OK, the package groups of the selected modules and the user packages are scanned and loaded.

4.3.4. Preferences — Supportive Programs

Figure 4.9. Preferences — Supportive Programs

Preferences — Supportive Programs

Internal Text Editor

Use internal text editor (MATE)

If selected, the internal text editor MATE is used, which offers many useful features for MeVisLab files. Recommended! See Chapter 22, MeVisLab Advanced Text Editor (MATE) for details.

Run MATE in separate process

If selected, the internal text editor MATE is run in a process separate from MeVisLab. This has the advantage that MATE will not get restarted when MeVisLab starts, and that it will remain more responsive even if MeVisLab is busy. MATE in a separate process is also mandatory for Python debugging in MATE.

External Programs

Allows to define extern applications plus program arguments for file types used in MeVisLab. Click Browse to select the applications manually, or Detect to autodetect applications that work especially well with MeVisLab.

[Note]Note

On Linux it can happen that an external program depends on a third party library that MeVisLab provides. If problems occur, e.g. because a KDE program loads an incompatible Qt library from MeVisLab, then use a shell script that clears LD_LIBRARY_PATH before it calls the external program.

For example, to safely run konqueror from MeVisLab, place the following script in ~/bin and make sure ~/bin is the first entry in PATH before running MeVisLab.

#!/bin/sh
LD_LIBRARY_PATH= konqueror
      

Arguments are options added when starting the program. They can be entered manually or are added by the Detect feature.

Extensions lists the extensions for which the assigned program will be used. This overrides your system settings, but only in the MeVisLab context.

  • TextEditor: Although it is recommended to use the internal text editor MATE, other text editors can be used in conjunction with MeVisLab. With the argument %f(%l), a file and a line number in it will be passed to the text editor. The Detect feature will check for TextPad on Windows (see the web link for installing) and set the options accordingly.

  • ImageViewer: Graphic applications may be used in conjunction with MeVisLab. If none is set, the system default will be used. The Detect feature will check for IrfanView on Windows (see the web link for installing) and set the options accordingly.

  • MoviePlayer, HTMLBrowser, HTMLEditor: may primarily needed to be set on Linux.

4.3.5. Preferences — Paths

Figure 4.10. Preferences — Paths

Preferences — Paths

Default File Dialog Path

Sets the default path in the file dialog. If none is entered, the path last used will be offered.

Screenshot Path

Sets the path for files of the View Screenshot Gallery, see Chapter 17, Screenshot Gallery.

DicomBrowser Path

Sets the path where the DICOMBrowser module and the OpenImage module look for DICOM data by default.

Applications Settings Path

Sets the path in which MeVisLab applications save their settings.

4.3.6. Preferences — Developer

Figure 4.11. Preferences — Developer

Preferences — Developer

Scripting

Default Script Console

Sets the default language for the scripting console, Python or Javascript. This has effects on the code completion in the console.

Use verbose scripting

Shows enter and leave of scripting commands. This may cause high system load.

Misc. Options

Auto reload files when changed

If selected, the .def, .script and .py / .js files of a module are reloaded when reloading the module panel (by double-clicking the module or selecting Show WindowPanel from the module context menu).

[Note]Note

Networks .mlab files (for macro modules) are not reloaded.

Auto save MeVisLab documents

If selected, MeVisLab networks are auto-saved as <NetworkName>.mlab.auto upon major changes. This allows for restoring in case of system crashes. Auto-saved copies are deleted when the according networks are saved.

Output warnings during HTML generation

If selected, tags are validated when generating HTML help.

Restore module panels

If selected, opening a network restores all module panels (including window size and position) to the state (open, minimized, positions etc.) when the network was last saved.

Enable debugging of widgets

Enables/disables debugging module panels. When enabled, CTRL+left-clicking a GUI control in a module panel opens the .script file in the default text editor at the line in which the GUI control is defined.

Files

HTML Template File

Allows defining a template file for a module's HTML documentation. The intended default is moduleNewFile.html.The template file is used when creating the HTML documentation of a module for the first time. Editing a module's HTML documentation is done via Related Files.html in the module context menu. The new help page of the module is available via Show Help in the module context menu or via the MeVisLabModule Reference” documentation).

Logfile

Writes the MeVisLab Debug Output to the given file.

[Note]Note

The logfile is overwritten at every start of MeVisLab.

Auto Load Recent Files

Gives the number of recent networks to be loaded automatically on MeVisLab startup. This may considerably slow down the startup.

4.3.7. Preferences — Python

Figure 4.12. Preferences — Python

Preferences — Python

Default Python Scripting Console Code

Default Code

Defines the Python code that is automatically evaluated when a Python scripting console is opened; use “;” to add multiple statements.

Additional Python Path

Python Path

Gives a path that will be added to the sys.path of Python and be used for importing Python modules.

Python Remote Debugger Attachment Code

MeVisLab supports remote debugging of Python code. This has been tested with two publicly available Python Remote Debuggers. See the Scripting Reference, chapter “Python”, section “Debugging” for details.

Python Debugger Core

Gives the code to import the remote debugger module and to run the appropriate settrace / breakpoint code. For details and examples, see the Scripting Reference, chapter “Python”, section “Debugging”.

4.3.8. Preferences — Network Appearance

Figure 4.13. Preferences — Network Appearance

Preferences — Network Appearance

Network Settings

Overwrite presets

Enables the overwriting of presets for the following modules and connector settings.

Modules

Font Size

Sets the font size of the module name in the display (number referring to a zoom of 100%).

Snap to grid

Sets the grid size in the workspace to which the modules snap when moved.

Draw background images

Enables the background images for modules. The default images are “ML” for ML modules, meshing gears for macro modules, and geometric figures for Open Inventor modules. The background images can be adapted for modules, see the MDL Reference, chapter 1.2. Module (abstract). The necessary image format is .tif.

[Note]Note

Reload your networks for the changes to take effect.

Connector Details

Show connector detail info

Enables detailed information for ML image, Inventor or Base objects currently available on the connectors when a single module is selected.

Detail Font Size

Sets the font size for the connector detail info.

Details On Zoom

Sets the threshold zoom factor below which the details are not displayed.

Verbose Details On Zoom

Sets the threshold zoom factor below which the verbose details are not displayed.

Show Connector Image Preview

Shows an image preview for an image connector when a single module is selected.

Figure 4.14. Connector Detail Info and Image Preview

Connector Detail Info and Image Preview

Image Preview Thumb Size

Sets the size of the image preview thumbnail in pixel.

[Note]Note

All sizes and fonts relate to a zoom factor of 100%.

Mini Map

Show Mini Map

The Mini Map is an overview map. See also Section 3.11, “Using the Mini Map”.

Figure 4.15. A Mini Map Example

A Mini Map Example

The following settings for the Mini Map are available:

Show Mini Map

  • Automatic: Is displayed when parts of the network are outside the workspace.

  • Never: Is never displayed.

  • Always: Is always displayed.

Position

Defines the position of the Mini Map: Upper Right (default), Lower Right, Upper Left, Lower Left.

Show parent navigation frames

(For macro modules only) Shows the hierarchy of the opened networks. For example, when adding a View2D module, opening its internal network and there the internal network of View2DExtensions, the hierarchy of involved macro modules will be displayed in small frames in place of the usual mini map.

Figure 4.16. A Mini Map of Parent Navigation Frame

A Mini Map of Parent Navigation Frame

Network Rendering Style

Style

Offers three options for styling the network rendering:

  • Full (Default): Network is rendered in color with 3D and highlighting effects.

  • Print (Black & White): Network is rendered as simple black-and-white drawing.

  • Print (Color): Network is rendered as a simple color drawing without effects.

All three styles are fully functional in terms of editing, connecting modules, displaying a Mini Map etc. However, it is recommended to use the print styles only when screencapturing and printing the network.

Figure 4.17. Mini Map in Print (Color) Style

Mini Map in Print (Color) Style

Halo

Offers two options for styling the halo of highlighted modules:

  • Classic (Default): The halo is rendered as classic halo effect.

  • Alternative: The halo is rendered as rectangle around the module.

Figure 4.18. Halo Appearances — Classic and Alternative

Halo Appearances — Classic and Alternative

To change the halo colors of the selected modules and the modules attached to them, edit the settings of Selected and Attached by clicking on the respective color field.

Global Zoom

Factor

Sets a global zoom factor. Only applicable to modules and networks that do not fill the network space automatically. Other modules/networks will be displayed with the given global zoom factor upon double-clicking the networks space or using the button (Show the whole network) in the toolbar.

Default Colors

Groups

Sets the background color for module groups, see Section 3.9, “Using Groups”. The default is green.

Notes

Sets the background color for notes, see Section 3.10, “Using Notes”. The default is yellow.

Module Details

Show ML image state

Shows the image states by coloring the connectors. Green: Valid and updated ML image. Yellow: Valid but not updated ML image. Red: Invalid ML image.

4.3.9. Preferences — Network Interaction

Figure 4.19. Preferences — Network Interaction

Preferences — Network Interaction

Module Placement

Placement of new/pasted modules

Defines where new/pasted modules are placed in the network:

  • in the middle of the network (Default): Modules are inserted in the middle of the network space; multiple modules are inserted with a slight offset in position.

  • at mouse position: Modules are inserted at mouse position; multiple modules are inserted in a cascading manner.

Module Arrangement Spacing

Horizontal / Vertical

Enter arbitrary values to adjust the distances between modules for the align / distribute feature (see Section 4.2.12, “Align / Distribute”) or the autoArrange scripting command. (The settings do not directly translate to pixels but depend on the zoom and other factors.)

Interaction Device

Device Selection

Allows selecting special interaction devices (mice, touch pads, especially Apple devices). For each selected option, the available features are listed beneath.

  • Three button mouse with scroll wheel (Default)

  • Two button mouse with scrolling in multiple directions, for example Apple Magic Mouse

  • Multi-touch pad, for example Apple MacBook Touchpad

4.3.10. Preferences — Panel Appearance

Figure 4.20. Preferences — Panel Appearance

Preferences — Panel Appearance

Global Scale Factor

Sets a global scale factor for panels and windows written in MDL (Preferences window, Project Wizard, Scripting console, Applications). It has no effect on views and menus. The maximum value is 2.

Button Snap X

Sets a snap value for the width of buttons.

Button Snap Y

Sets a snap value for the height of buttons.

Minimum Font Size

Sets a minimum font size for panels.

Show Module Panels

Offers two options for the panel behavior:

  • Always in Front of Main Window: If selected, panel windows are tied to the MeVisLab application window.

  • As Independent Windows: If selected, panels windows are independent of the MeVisLab application window.

This is the same option as Section 4.10.1, “Panels Stay In Front Of Main Window”. Changing the settings in the Preferences will change the menu option and vice versa.

4.3.11. Preferences — Cout/Cerr Redirection

Figure 4.21. Preferences — Cout/Cerr Redirection

Preferences — Cout/Cerr Redirection

cout (standard output stream) and cerr (standard output stream for errors) are standard outputs in C++. The difference is that std::cout is a buffered stream especially useful for general output, while std::cerr is not buffered and therefore especially useful for error messages. The outputs are independent of each other, so both can be directed to other targets.

Redirect cout

Enables the redirect of the cout stream.

Send to MeVisLab debug output

Redirects cout to the Debug Ouput (default).

Send to Visual C++ debug console (Windows only)

(Only if MeVisLab is started from within Visual C++) Redirects cout to the Visual C++ Debug Console (on Windows).

Use default cout

Redirects cout to the default output (for example a console). Needs to be activated explicitly, otherwise only the redirect will be output.

Redirect cerr

Enables redirect of the cerr stream.

Send to MeVisLab debug output

Redirects cerr to the Debug Ouput. (default).

Send to Visual C++ debug console (Windows only)

(Only if MeVisLab is started from within Visual C++) Redirects cerr to the Visual C++ debug console.

Use default cerr

Redirects cerr to the default output (for example a console). Needs to be activated explicitly, otherwise only the redirect will be output.

4.3.12. Preferences — Symbol Controlled Debugging

Figure 4.22. Preferences — Symbol Controlled Debugging

Preferences — Symbol Controlled Debugging

Print All Debug Output

Prints out all debug outputs from the code (for example everything tagged with ML_DEBUG).

Use Symbol-Controlled Debugging

The debugging is done based on symbols, that is special classes. Enter the debug symbols to filter for in the text field, for example ML_ERRORTEST.

[Note]Note

Refer to the ML Guide for detailed information on symbol-controlled debugging.

4.3.13. Preferences — Exceptions/Tracing

MeVisLab tracing works on the source code level. There are trace macros for tracing the processing of the code, for example ML_TRACE_IN.

Figure 4.23. Preferences — Tracing

Preferences — Tracing

Exception Handling

Dump objects on error

Dumps the object instances on error.

Enable final runtime check

Checks the number of undeleted runtime typed object instances during the exiting of MeVisLab.

Catch inventor exceptions and Catches core exceptions

Exceptions are handled as selected for each kind of exception:

On Warnings, On Errors etc.

Defines what is to happen upon warnings, errors, etc. Especially helpful if no source code for real tracing is available. Possible settings: Continue, Abort, Exit(0), Exit(ErrCode).

ML Tracing

Trace List Length

Sets the number of items in a trace list.

Trace Stack Depth

Sets how deep the recursion of traces in a stack shall be followed.

Print Trace

On warnings, On errors etc. etc.

Defines how the output is to be printed to the logfile upon warnings, errors etc.

Open Inventor Tracing

Trace List Length

Sets the number of items in a trace list.

Trace Stack Depth

Sets how deep the recursion of traces in a stack shall be followed.

[Tip]Tip

For the error tests, see also the module ErrorTest. It offers a variety of error check features.

Figure 4.24. Error Test Module

Error Test Module