CoreControl

MLModule

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLControl

definition

MLControl.def

keywords

diagnosis, ML, error, output, exceptions, threads, cache, size, debug, environment, variables, trace, dump, stack

Purpose

The module CoreControl allows for accessing and modifying many ML settings, such as exception handling, number of used threads, cache size, and debugging symbols.

Usage

In the panel Host&Cache, you can set whether module errors lead to program crashes or whether they are handled by the error handler of the ML (Catch Exceptions).

The Debug panel permits setting/viewing of debug symbols that enable/disable debug outputs of module and ML classes.

In the Error Handling panel, the behavior of the ML can be controlled and how messages, warnings, or errors are to be handled.

Details

It is important to understand that some settings in the ML are global, meaning they are not specific to one module but apply to the entire running system. Examples of such settings include the maximum number of threads, the (maximum) cache size, or the list of classes that print debugging information. These global settings can be controlled within this module.

Additionally, there is a central class, the ML ErrorOutput class, which receives all messages generated in the ML and ML modules and determines which other classes receive this information. It can be configured, for example, using debugging symbols to control the debug information that is actually printed.

Other classes receiving information from the ErrorOutput class typically include modules like MLLogFile, Console, or the standard console.

Tips

As intended, any debug environment name entered in the Debug Symbols (Use ML_ + CLASSNAME) field is globally available as long as the module exists. If the module is deleted, the symbols are removed from the ML ErrorOutput class.

Note that simply deleting the module from the network does not delete the module, as it is only moved into an undo buffer; the symbols remain until the undo buffer is cleared. You can clear the buffer by selecting “Clear Undo History” from the MeVisLab’s Edit menu. Closing the entire network also clears the undo buffer.

Since global ML settings are managed by this module, all modules will display the same state for these settings. If more than one module exists, changes made in any of them are synchronized. This means the most recently modified or loaded module determines the global ML states and overrides the settings of other modules.

Windows

Default Panel

../../../Modules/ML/MLControl/mhelp/Images/Screenshots/CoreControl._default.png

Parameter Fields

Field Index

C++-API Version (versionOfCPPAPICC): Integer

Major C-API Version (majorCAPIVersion): Integer

Symbol controlled debugging: Bool

C++-API Version (versionOfCPPAPI): Integer

Major ML Version (majorVersionCC): Integer

System Type: String

C-API Revision (revisionOfCAPICC): Integer

Major ML Version (majorVersion): Integer

Trace List Depth: Integer

C-API Revision (revisionOfCAPI): Integer

Max Number of Threads: Integer

Trace On Cerrs: Bool

Cache Size: Integer

On Cerrs: Enum

Trace On Couts: Bool

Catch exceptions: Bool

On Couts: Enum

Trace On Debugs: Bool

Clear Cache: Trigger

On Debugs: Enum

Trace On Errors: Bool

Compiler: String

On Errors: Enum

Trace On Fatals: Bool

Currently Used Cache Memory: Integer

On Fatals: Enum

Trace On Information: Bool

Debug State: String

On Information: Enum

Trace On Others: Bool

Debug Symbols (Use ML_ + CLASSNAME): String

On Others: Enum

Trace On Warnings: Bool

Enable all symbols: Bool

On Warnings: Enum

Trace Stack Depth: Integer

Enable final runtime check: Bool

Platform: String

useClassicHost: Bool

Global Debug Symbols: String

Revision (revisionCC): Integer

Version String (versionStringCC): String

Major C-API Version (majorCAPIVersionCC): Integer

Revision (revision): Integer

Version String (versionString): String

Visible Fields

Symbol controlled debugging

name: symbolControlledDebugging, type: Bool, default: FALSE

If checked, all strings from the text input Debug Symbols (Use ML_ + CLASSNAME) are being analyzed.

All classes that print debug information dependent on these symbols are activated and will print their information.

Otherwise no debug information is printed.

Enable all symbols

name: fullDebugging, type: Bool, default: FALSE

If checked, all debug information is printed.

Debug State

name: debugState, type: String, persistent: no

Shows whether debug symbols can be used.

On Information

name: onInformation, type: Enum, default: Continue

Defines what to do on information messages.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Warnings

name: onWarnings, type: Enum, default: Continue

Defines what to do on warnings.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Errors

name: onErrors, type: Enum, default: Continue

Defines what to do on errors.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Fatals

name: onFatals, type: Enum, default: Abort

Defines what to do on fatal errors.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Debugs

name: onDebugs, type: Enum, default: Continue

Defines what to do on debug messages.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Couts

name: onCouts, type: Enum, default: Continue

Defines what to do on std::cout prints.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Cerrs

name: onCerrs, type: Enum, default: Continue

Defines what to do on std::cerr prints.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

On Others

name: onOthers, type: Enum, default: Continue

Defines what to do on other messages.

Values:

Title

Name

Deprecated Name

​Continue

​Continue

​Abort

​Abort

​Abort(0)

​Exit With Zero

​ExitWithZero

​Exit(0)

​Exit With Error Code

​ExitWithErrorCode

​Exit(ErrCode)

Max Number of Threads

name: maxNumThreads, type: Integer, default: 12

Sets the maximum number of threads the ML may use.

Enable final runtime check

name: finalRuntimeChecks, type: Bool, default: FALSE

If checked, the number of undeleted runtime typed object instances is being checked during the closing of MeVisLab.

Catch exceptions

name: catchExceptions, type: Bool, default: TRUE

If checked, exceptions are handled as fatal errors instead of letting the application crash.

Cache Size

name: cacheSizeInMB, type: Integer, default: 8112

Sets the number of mega bytes of memory the ML should not exceed for caching.

Currently Used Cache Memory

name: currUsedCacheSizeInMB, type: Integer, persistent: no

Shows the size of the currently used ML cache in mega bytes.

Clear Cache

name: clearCache, type: Trigger

When pressed, the ML cache is cleared.

Debug Symbols (Use ML_ + CLASSNAME)

name: debugSymbols, type: String

Sets the debug symbols defined in this module.

See Debugging and Error Handling.

Global Debug Symbols

name: globalDebugSymbols, type: String, persistent: no

Shows the application wide debug symbols.

Major ML Version (majorVersionCC)

name: majorVersionCC, type: Integer, persistent: no

Shows the major version of the CoreControl module.

Major C-API Version (majorCAPIVersionCC)

name: majorCAPIVersionCC, type: Integer, persistent: no

Shows the major version of the C-API of the CoreControl module.

C++-API Version (versionOfCPPAPICC)

name: versionOfCPPAPICC, type: Integer, persistent: no

Shows the version number of the C++ API of the CoreControl module.

C-API Revision (revisionOfCAPICC)

name: revisionOfCAPICC, type: Integer, persistent: no

Shows the revision number of the C-API of the CoreControl module.

Revision (revisionCC)

name: revisionCC, type: Integer, persistent: no

Shows the revision number of the CoreControl module.

Version String (versionStringCC)

name: versionStringCC, type: String, persistent: no

Shows all version information of the CoreControl module as a version string.

Major ML Version (majorVersion)

name: majorVersion, type: Integer, persistent: no

Shows the major ML version.

Major C-API Version (majorCAPIVersion)

name: majorCAPIVersion, type: Integer, persistent: no

Shows the major version of the ML C-API.

C++-API Version (versionOfCPPAPI)

name: versionOfCPPAPI, type: Integer, persistent: no

Shows the version number of the C++ API of the ML.

C-API Revision (revisionOfCAPI)

name: revisionOfCAPI, type: Integer, persistent: no

Shows the revision number of the C-API of the ML.

Revision (revision)

name: revision, type: Integer, persistent: no

Shows the revision number of the ML.

Version String (versionString)

name: versionString, type: String, persistent: no

Shows all version information of the ML as a version string.

System Type

name: systemType, type: String, persistent: no

Shows the voxel addressing scheme and the system pointer size in bits.

The string is composed of two parts separated by ‘/’.

The first part shows which word width is used for voxel addressing indices, the second part shows the word width of the system.

If the first part is 32, an image may have at most 2^31 voxels. If the first part is 64, larger images can be handled if they are paged correctly even if the system is only a 32-bit system.

If the second part is 32, a 32-bit system is used and not more then 2GB of data is available for the process. If the second part is 64, very large memory and images can be handled.

Compiler

name: compiler, type: String, persistent: no

Shows which compiler was used to compile the CoreControl module.

Platform

name: platform, type: String, persistent: no

Shows which platform the CoreControl module was compiled on.

Trace List Depth

name: traceListDepth, type: Integer, default: 128

Shows the depth of the trace list.

Trace Stack Depth

name: traceStackDepth, type: Integer, default: 128

Shows the depth of the trace stack.

Trace On Information

name: traceOnInformation, type: Bool, default: FALSE

If checked, dumps trace infos on information messages.

Trace On Warnings

name: traceOnWarnings, type: Bool, default: FALSE

If checked, dumps trace infos on warnings.

Trace On Errors

name: traceOnErrors, type: Bool, default: FALSE

If checked, dumps trace infos on on errors.

Trace On Fatals

name: traceOnFatals, type: Bool, default: TRUE

If checked, dumps trace infos on on fatal errors.

Trace On Debugs

name: traceOnDebugs, type: Bool, default: FALSE

If checked, dumps trace infos on on debug messages.

Trace On Couts

name: traceOnCouts, type: Bool, default: FALSE

If checked, dumps trace infos on on std::cout prints.

Trace On Cerrs

name: traceOnCerrs, type: Bool, default: FALSE

If checked, dumps trace infos on on std::cerr prints.

Trace On Others

name: traceOnOthers, type: Bool, default: FALSE

If checked, dumps trace infos on on other messages.

Hidden Fields

useClassicHost

name: useClassicHost, type: Bool, default: FALSE