An IL chain is a tiled image processing operation that exists in a single UNIX process (compared to the multiple processes that IRIS Explorer maps typically use). An IL chain uses a pull model of execution that only processes the image tiles necessary to compute the output; if only a small part of the image is to be displayed, the IL chain can perform significantly less work than the equivalent IRIS Explorer map. Independent of the output size, an IL chain may use a fraction of the temporary storage of an IRIS Explorer map, as it processes images in tiles, rather than creating temporary storage the size of each image.
Because the IL execution model and temporary storage allocation are radically different than the corresponding IRIS Explorer mechanisms, an IRIS Explorer map must undergo special conversion to execute as an IL chain. The ILController module is written to process operations in any IL chain, as well as to handle the interface between IRIS Explorer and the IL chain. All that is left is for you to specify the contents of your IL chain so it may execute within the ILController.
The following are the necessary steps to create an IL chain that uses the ILController module:
This new module is the IL chain using the ILController executable. If you do not see the popup and you have Explorer.saveImagingProcess set to False, or equivalently if no module resource file is written for the IL chain, then you have included a non-IL module in the chain. Check your ILModules.config file (see below).
Note: if the X resource Explorer.saveImagingProcess is True and the X resource Explorer.saveImagingDialog is False, the .mres file will be created without a dialog prompt.
Launch the module resource file just created (with suffix .mres) into the map editor and the IL chain will be executed using the pull model of the IL in a single process. You can check that the IL chain was invoked by using the shell command ps -ef and looking for the name of the IL chain module.
If you wish to incorporate into an IL chain any module other than the standard IRIS Explorer IL modules, you must take additional steps, as follows:
or the local file$EXPLORERHOME/lib/ILModules.config
in your home directory. Add a single line for each module giving the module's name (no filename suffix or spaces allowed). Only modules based on the IL may be added./ILModules.config
Note: the ILController module is not present in every implementation of IRIS Explorer.
Port: Dummy Input
Type: Lattice
Constraints: 1..3-D
Port: Dummy Output
Type: Lattice
Constraints: 1..3-D
Port: Dummy Output2
Type: Pick
At the moment, the .mres and .map files of the user-defined IL chain must reside in the same directory.
Parameter functions (pfuncs) and parameter-to-parameter wiring within the grouped modules are ignored in forming the IL chain. You will be warned with a popup if such a feature is being omitted from your IL chain.
Port names must be matched exactly. Each IL operator (including the ones you define in your userOper.C file) has pre-specified input and output port names. These names must be the same ones used in the IL chain. The only acceptable output name is "Img Out" which implies that there is no way to make an IL chain with two output ports.