[Amira 3D, Avizo 3D]
Description
Some modules in Avizo and Amira are generic modules that expose various image and volume processing algorithms from the Visilog library. These generic modules can be identified by entering the following line in the console: <module_name> getTypeId. If the result is HxQuant2GenericModule, the module is one of these generic modules.
Generic modules can also be identified by entering the command <module_name> getResourceKey. For generic modules, ModuleGroup will be the first keyword displayed.
These modules have several scripting limitations:
- They do not expose custom Tcl commands (which would normally be documented in the User's Guide).
- They may rely on an HxPortModuleSwitch (for example, Type in the example below), for which the
setStateTcl command does not work. - They may rely on an HxPortModuleSwitch (for example, Type in the example below) that is not exposed through the Python API.
Suggested Solutions
If you want to use one of these modules in a script, you may be able to work around these limitations by creating the module directly with the appropriate options instead of modifying port values. Each combination of settings can be created using a different module name. You cannot directly create the module using its displayed name (for example, Closing in the previous example).
Instead, you must use the module's internal name, which can be obtained in Tcl using the command <module_name> getVisilogCommand (shown in red in the image below). You can then use this resulting name to create the module directly with: create <internal_name>.
When using Python, you can use from _hx_core import _tcl_interp; _tcl_interp('<module_name> getVisilogCommand') and hx_project.create('<internal_name>').
