Advantages of macros:
Macros are useful for creating a layer of abstraction by hierarchical grouping of existing modules.
Scripts can be edited on the fly:
no compilation and reload of the module database necessary
scripting possible on the module or network level
scripting supported by the Scripting Assistant View (basically a recorder for actions performed on the network)
With macros, only existing functionalities and algorithms can be used.
For rapid prototyping based on existing image processing algorithms, use macros.
For implementing new image processing, write new ML or Open Inventor modules.
It is possible to have ML and Open Inventor connectors in the same module. Two cases are possible:
Type 1: ML -> visualization: Image data or properties are displayed by a visualization module. Usually a
SoSFXVImage field gets random access to an ML image by
Type 2: visualization -> ML: Modules generate an ML image from an Inventor scene. Examples:
SoExaminerViewer (hidden functionality).
Generally, however, it is not always a good solution to combine that, as the processes of image processing and image visualization are usually separated.
Therefore, rather separate the ML and Open Inventor functionalities into two modules. This way,
functionality is encapsulated and can be reused as module
modules for the single steps may already be available in MeVisLab and spare you a new development
After being done with the module and macro tests, make sure to stress your network's algorithms and processing speed by testing with
large data sets
images with anisotropic voxels
images with non-trivial world matrix (translated or rotated)
Many of the possible problems will only occur with these kinds of data.
In addition, keep in mind that modules
need to run platform-independent
should offer a well-designed panel for future users
should come with a useful help and example network
© 2021 MeVis Medical Solutions AG