Many processes in VIOSO Core and other applications are highly automatable to enable advanced calibrations, transformations and recalibration scenarios. This article describes the internal scripting commands, that are available in VIOSO Core.
This reference is also available for download as PDF (unfortunately only in German): Scripting Engine v.5
1. Common
1.1. Script file
A script file is an ANSI text file in XML format with root section <VIOSO>
.
<?xml version="1.0"?> <VIOSO> <File version="1.0.0" /> </VIOSO>
1.2. Elements
There are two types of elements:
1.2.1. <task> Element
A <task>
section defines a certain action.
Every <task>
section must have one action attribute, which defines the task to be executed.
Depending on the certain task there are usually other attributes required (see below).
action | description | required attribute | optional attribute | version |
---|---|---|---|---|
Condition |
Used to specify one dependent action (see 2.1.) | name | use | 5.0 |
Configure |
Used to configure one known entity (see 2.2.) | name, state | use | 4.0 |
Connect |
Opens a connection to the specified client (see 2.3) | core | 4.0 | |
Control |
Indicates that certain behavior on a client should be monitored (see 2.4) | typ, subtyp, core | 4.0 | |
Create |
Creates a specific entity (see 2.5) | typ, subtyp | core, use, name | 4.0 |
Destroy |
Destroys a specific entity (see 2.6) | name or typ, subtyp | core, use, name | 5.0 |
DestroyAll |
Destroys all entities of a specified typ (see 2.7) | typ, subtyp | core, use, name | 5.0 |
Disconnect |
Disconnect one specific client (see 2.8) | core | 5.0 | |
Execute |
Executes the specified command (see 2.9) | typ, subtyp | use, name | 4.0 |
IPC |
Enables configuration of the interprogram control interface (see 2.10) | typ | use | 5.0 |
Load |
Loads a specific file / configuration, etc. (see 2.11) | typ, subtyp, name | use | 4.0 |
Manipulate |
Command to alter various data (see 2.12) | typ, subtyp | use | 5.0 |
Playlist |
Configures the playlist on a core (see 2.13) | name | use | 5.0 |
Refresh |
Updates a specified output, etc. (see 2.14) | name or typ, subtyp | 4.0 | |
RefreshAll |
Updates all outputs of a specific entity (see 2.15) | typ, subtyp | 4.0 | |
Render |
Outputs the state of a tender entity (see 2.16) | name | use | 5.0 |
Save |
Stores calibrations / Configurations, etc (see 2.17) | typ, subtyp | use | 4.0 |
Send |
Command to send data over network (see 2.18) | typ, subtyp | use | 5.0 |
Start |
Starts an action, task, etc. (see 2.19) | name or typ, subtyp | 4.0 | |
StartAll |
Starts any existing actions of a certain type (see 2.20) | typ, subtyp | 4.0 | |
Stop |
Stops one specific task (see 2.21) | name or typ, subtyp | 4.0 | |
StopAll |
Stops processing all actions of a certain type (see 2.22) | typ, subtyp | 4.0 | |
Transfer |
Action to transfer information, files, etc. (see 2.23) | typ | use | 4.0 |
Wait |
General action to wait for certain events (see 2.24) | ame, state | core | 4.0 |
1.2.2. <define> Element
A <define>
section is used to summarize parameters that are required for certain actions. Parameters can also be defined directly in the <task>
section.
<define>
sections are used to make a script better readable and enable the reuse of the same parameters in several <task>
sections.
Every <define>
section requires the following attributes:
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
Name of the parameter block | 4.0 |
typ | 3DModel |
basic initialization of a 3DModelTreat task (see 3.1) |
4.0 |
App |
Common parameter to handle other applications (see 3.13) | 5.0 | |
BehaviourCreate |
creates or starts a certain task (see 3.5ff) | 4.0 | |
BlendParam |
handles configuration of parameters for blending (see 3.20) | 5.0 | |
CalibChance |
handles changing of parameters for blending (see 3.20) | 5.0 | |
CalibCommerce |
configures an export task(see 3.3) | 4.0 | |
CntSpace |
creates a custom content space entry (see 3.7) | 4.0 | |
Common |
general parameters, used for several actions (see 3.8ff) | 4.0 | |
Condition |
parameter to specify certain working actions (see 3.12ff) | 5.0 | |
CreateImage |
Parameter to create a standard image file (see 3.11) | 5.0 | |
OS |
parameter to execute operating system commands (see 3.14) | 5.0 | |
Playlist |
parameter to configure a playlist (see 3.18) | 5.0 | |
RenderPipe |
configures a presenter task (see 3.5) | 4.0 | |
RenderTarget |
configures a presenter task (see 3.19) | 5.0 | |
SC_DevSel |
configures the device selection of SingleClientCalib task (see 3.2) |
4.0 | |
Transfer |
parameter to performa a transfer task (see 3.17) | 4.0 |
1.2.3. Example
The following simple script file copies the file “Calib.sps” file from the data folder to “C\Backup\Calib.sps”:
<?xml version="1.0"?> <VIOSO> <File version="1.0.0" /> <task action="transfer" typ="file" use="Backup" /> <define name="Backup" typ="Transfer" > <from file="Calib.sps" /> <to file="C:\Backup\Calib.sps" /> </define> </VIOSO>
The following script file does exactly the same, only that the necessary parameters for the transfer action are specified directly in the <task>
section:
<?xml version="1.0"?> <VIOSO> <File version="1.0.0" /> <task action="transfer" typ="file" > <from file="Calib.sps" /> <to file="C:\Backup\Calib.sps" /> </task> </VIOSO>
1.3. Variables
At some places attribute values can be defined by variables. E.g. to use script parameters or ingest other ini-files. In this Scripting context, variables are noted this way:
$[source]$[name]$
$[source]
: identifier for the source of the variable$[name]
: name of the variable
1.3.1. Source: script variables
Script variables are parameters that are specified directly with the name of the script file to be executed. Script variables are only valid for the script to be executed and are passed to the script engine as a parameter string.
The parameter string has the following structure:
[name]=[value]{,[typ]};[name]=[value]{,[typ]}; ...
[name]
: name of the script variable[value]
: value of the script variable[typ]
: optional variable type. If no[typ]
specified,[value]
is interpreted as string. Available variable types:i
=> value is an integer numberf
=> value is a float numberd
=> value is a float number with double precisions
=> value is a string of characters
During script runtime, script variables can be retrieved calling ENV
(see below).
1.3.2. Source: additional ini-file
This variable source can be used for the integration of project-specific configuration files and generally for the integration of selector parameter lists (see section 4.1). The content of additional ini-files is persistently available. Once loaded, all subsequent scripts can access the content.
1.3.3. Example
This sample script loads the ini-file “List.ini”, interprets it as a selector parameter list, and publishes the content of the ini-file under the name Calibs
.
<?xml version="1.0"?> <VIOSO> <task action="load" name="Calibs" type="file" subtype="paramlist" use="spsL" /> <define name="spsL" type="Common" > <param file="List.ini" /> </define> </VIOSO>
Example for a “List.ini” file:
<?xml version="1.0"?> <VIOSO> <list> <element selector="el1" value="c1.sps" /> <element selector="el2" value="c2.sps" /> </list> </VIOSO>
If now the following script is called with the parameter string: use = el1;
…
<?xml version="1.0"?> <VIOSO> <task action="load" name="sps" type="file" subtype="sps" use="sps.Load" /> <define name="sps.Load" type="Common" > <param sel="$ENV$use$" list="Calibs" /> </define> </VIOSO>
…the file “c1.sps” is loaded.
2. Actions
2.1. Condition
Specifies a conditional tas (see 3.27).
Required attribute: name
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
Name of the condition | 5.0 |
Optional attribute: use
attribute | value | description | version |
---|---|---|---|
use | [identifier] |
Name of a parameter bock | 5.0 |
2.2. Configure
Used to configure a known entity.
Required attributes: name, state
attribute | value | description | available for | version | |
---|---|---|---|---|---|
typ | subtyp | ||||
name | [identifier] |
Name of the entity to be configured | [all] |
[all] |
4.0 |
state | BaseMethod |
Basic configuration (see 3.1) | Behaviour |
3DModelTreat |
4.0 |
Validate |
configuration of validation rules (see 3.4) | Behaviour |
Presenter |
4.0 | |
DeviceSel |
configuration of device selection (see 3.2) | Behaviour |
SingleClientCalib |
4.0 | |
ExportConfig |
configuration of export task (see 3.3) | Behaviour |
Export |
4.0 | |
ConvertConfig |
configuration of conversion task (see 3.4) | Behaviour |
Convert |
5.0 | |
all |
general purpose (see 3.7) | Renderer |
dx9 |
5.0 | |
StartOption |
configuration of startup options (see 3.6) | Behaviour |
Presenter |
5.0 |
Optional attributes: use
attribute | value | description | version |
---|---|---|---|
use | [identifier] |
Name of a parameter block | 4.0 |
2.3. Connect
Opens a connection to the specified client.
Required attributes: core
attribute | value | description | version |
---|---|---|---|
core | [IP] |
IP address of the remote client | 4.0 |
2.4. Control
Indicates that certain task on a client should be monitored (controlled).
Required attributes: type, subtype, core
attribute | value | description | version |
---|---|---|---|
typ | behaviour |
restriction to this typ | 4.0 |
subtyp | [identifier] |
all available task subtypes (see 2.4) | 4.0 |
core | [IP] |
IP address of the remote client | 4.0 |
2.5. Create
Creates a specific entity.
Required attributes: typ, subtyp
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Behaviour |
Presenter |
creates a presenter layer (see 3.5) | 4.0 |
3DModelTreat |
creates a 3D model Treatment Scheduler (see 3.5) | 4.0 | |
SingleClientCalib |
creates a single client calibrator scheduler (see 3.6) | 4.0 | |
Export |
creates an export scheduler (see 3.5) | 4.0 | |
Convert |
creates a conversion scheduler (see 3.8) | 5.0 | |
MultiClientCalib |
creates multi client calibration scheduler (see 3.8) | 5.0 | |
CntSpace |
3DModel |
creates a 3D model custom content space (see 3.7) | 4.0 |
Optional attributes: core, use name
attribute | value | description | available for typ | version |
---|---|---|---|---|
core | [IP] |
IP address of the remote client | Behaviour |
4.0 |
use | [identifier] |
IP address of the remote client | Behaviour , CntSpace |
4.0 |
name | [identifier] |
Entity name (necessary if other script tasks on this entity should be applied | Behaviour , CntSpace |
4.0 |
2.6. Destroy
Terminates/Destroys a certain entity.
Required attributes: name or typ, subtyp
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
name of the entity | 5.0 |
or
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Behaviour |
see 2.5 | terminates/destroys all entities of a certain type | 5.0 |
2.7. DestroyAll
Terminates/Destroys all entities of a certain type.
Required attributes: typ, subtyp
See 2.6
2.8. Disconnect
Closes the connection to a certain client.
Required attribute: core
attribute | value | description | version |
---|---|---|---|
core | [IP] |
IP adress of the designated client | 5.0 |
2.9. Execute
Executes the specified command.
Required attributes: typ, subtyp
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Timer |
Sleep |
pauses script processing for a certain time (see 3.8) | 4.0 |
Progress |
Next |
proceeds one step in the processing of sequential tasks | 4.0 |
Back |
takes a step back in the processing of sequential tasks | 4.0 | |
Abort |
suspends processing of a task | 4.0 | |
App |
Start |
starts an application located in the execute-folder of the parent application (see 3.13) | 5.0 |
Restart |
tries to restart a (remotely) executed application (see 3.13) | 5.0 | |
Shutdown |
tries to shut down a (remotely) executed application (see 3.13) | 5.0 | |
OS |
Restart |
tries to restart the operating system (see 3.14) | 5.0 |
Shutdown |
tries to shut down the operating system (see 3.14) | 5.0 |
Optional attributes: use, name
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [IP] |
name of a parameter block | Timer |
4.0 |
name | [identifier] |
task name | Progress |
4.0 |
2.10. IPC
Configures and populates the inter-process communication interface
Required attribute: typ
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Common |
general tasks to configure the IPC interface (see 3.26) | 5.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | File |
5.0 |
2.11. Load
Loads a specific file, configuration, etc.
Required attributes: typ, subtyp, name
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Timer |
[filename] |
pauses script processing for a certain time (see 3.8) | 4.0 |
File |
arva.ini |
Loads a specified configuration file for the ARVA project | 4.0 |
sps |
Loads a calibration file in sps format (see 3.9) | 4.0 | |
vc |
Loads a virtual canvas description file (see 3.10) | 4.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | File |
4.0 |
2.12. Manipulate
Tasks to manipulate files like calibration files, etc.
Required attributes: typ, subtyp
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Calibration |
Blending |
manipulation of edge blending parameters (currently only available for compound displays) (see 3.20) |
5.0 |
CalibChange |
general manipulations of a calibration (currently only available for compound displays) (see 3.21) |
5.0 | |
Mask |
manipulate mask parameters of a single display calibration (see 3.22) | 5.0 | |
BlackLevel |
manipulation of black level parameters (currently only available for compound displays) (see 3.23) |
5.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | File |
5.0 |
2.13. Playlist
Configures/Manipulates the playlist of a presenter entity
Required attribute: name
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
name | [identifier] |
name of a entity with playlist | Behaviour |
5.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | File |
5.0 |
2.14. Refresh
Updates an output, value, etc.
Required attributes: name or typ, subtyp
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
name of the entity (so far just task) | 4.0 |
or:
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Behaviour |
Presenter |
updates the output of all active presenter layers (files are refreshed from disk) | 4.0 |
2.15. RefreshAll
Updates all output of an entity.
Required attributes: typ, subtyp
See 2.14.
2.16. Render
Processes the output of a renderer
Required attributes: name
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
name of the renderer | 5.0 |
2.17. Save
Stores calibrations, cnfigurations, etc.
Required attributes: typ, subtyp
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
File |
sps |
saves a calibration file in sps format (see 3.9) | 4.0 |
vc |
saves a virtual canvas description file (see 3.10) | 4.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | File |
4.0 |
2.18. Send
Sends information over network
Required attributes: typ, subtyp
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
TCP |
Command |
sends a (simple) command string to a remote client (see 3.24) | 5.0 |
File |
sends a file to a remote client (see 3.25) | 5.0 |
Optional attribute: use
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of a parameter block | Send |
5.0 |
2.19. Start
Starts a task, etc.
Required attributes: name or typ, subtyp
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
name of the entity (so far just task) | 4.0 |
or:
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Behaviour |
Presenter |
updates the output of all active presenter layers (files are refreshed from disk) | 4.0 |
3DModelTreat |
starts all existing 3D model treatments | 4.0 | |
Export |
starts all existing export processes | 4.0 |
2.20. StartAll
Starts all existing tasks of a certain type.
Required attributes: typ, subtyp
See 2.19.
2.21. Stop
Stops a running task, etc.
Required attributes: name or typ, subtyp
attribute | value | description | version |
---|---|---|---|
name | [identifier] |
name of the entity (so far just task) | 4.0 |
or:
attribute | description | version | |
---|---|---|---|
typ | subtyp | ||
Behaviour |
Presenter |
stops the output of all active presenter layers | 4.0 |
2.22. StopAll
Stops all running tasks of a certain type.
Required attributes: typ, subtyp
See 2.21.
2.23. Transfer
Action to transfer information, files, etc
Required attribute: typ
attribute | value | description | version |
---|---|---|---|
typ | file |
File transfer operation (see 3.11) | 4.0 |
Optional attribute: use
2.24. Wait
General action to wait for certain events.
Required attributes: name, state
attribute | value | description | available for typ | version |
---|---|---|---|---|
use | [identifier] |
name of the entity (so far just task) | 4.0 | |
state | controlled |
waits for a certain remote task to be under the control of the Master | [all] |
4.0 |
BaseMethod |
waits for the specified task to be in basic configuration state | 3DModelTreat |
4.0 | |
StaticModel |
waits for the specified task to be ready for receiving static model parameters | 3DModelTreat |
4.0 | |
StdInteraction |
waits for the specified task to provide its default interaction channel | 3DModelTreat , Presenter |
4.0 | |
Validate |
waits for the specified task to be in a validated state | Presenter |
4.0 | |
Presentation |
waits for the specified task to be presentation state | Presenter |
5.0 | |
Interact.DeviceSel |
waits until the specified task provides an interaction channel to make a device selection | SingleClientCalib |
4.0 | |
Interact.Export |
waits until the specified task provides an interaction channel to input export parameters | Export |
4.0 | |
Interact.Convert |
waits until the specified task provides an interaction channel to input conversion parameters | Convert |
5.0 | |
Finished |
waits for the specified task to be finished | SingleClientCalib , Export |
4.0 |
Optional attribute: core
attribute | value | description | available for typ | version |
---|---|---|---|---|
core | [IP] |
IP address of the specified client | controlled |
4.0 |
3. Parameter Block
3.1. action=”Configure” state=”BaseMethod”
Type of separate parameter block: 3DModel
Sections available:
- all attributes in the
<param>
section are optional except for file and tMethod
section | attribute | value | description | version |
---|---|---|---|---|
<param> | file | [filename] |
Name of the sps calibration file that containes the Multi-Client calibration data for usage | 4.0 |
tMethod | static model |
a static 3D model is to be used | 4.0 | |
dynamic marker detection |
not yet implemented | |||
model | [identifier] |
Name of the 3D model to be used (custom content space definition) | 4.0 | |
externAssigns | [variable] |
Reference to an ini file and variable on a list of parameters to configure an automatic observer conversion of used displays | 4.0 | |
bUseModelCntSpace | [0, 1] |
Using the texture coordinates of the 3D model as content space | 4.0 | |
bUseDisplMap | [0, 1] |
Using a displacement lookup (displacement map) to determine actual display pixels | 4.0 | |
bGenP2WMap | [0, 1] |
Generation of a display pixel to world (3D) lookup map | 4.0 | |
bFillSmallMeshHoles | [0, 1] |
fixes small holes in the 3D model (transitions between triangulated NURBS areas) during blending calculation | 4.0 | |
bSplitLargeMeshes | [0, 1] |
splits very large into smaller triangle lists | 4.0 | |
bPostProcessBlending | [0, 1] |
image based postprocessing of the generated blend masks to improve the edge representation | 4.0 | |
bAutoObserverConversion | [0, 1] |
carries out an observer conversion of used displays | 4.0 | |
bUseCurrPrjMask | [0, 1] |
display mask should be used when generating the display maps / blendings | 4.0 | |
bFillSmall3DMeshHoles | [0, 1] |
fixes small holes in the 3D model (transitions between triangulated NURBS areas) directly in the 3D model | 4.0 | |
qSmallHoleContourMax | [1 .. n] |
maximum contour size of a 3D model to detect small holes | 4.0 | |
qSmallHoleSearchSz | [1 .. n] |
determines the coupling width of the search filter for small hole detection in a 3D model | 4.0 | |
smallHoleAngle | [0 .. 360 1] |
defines an angle in degree to determine the shape of small holes | 4.0 |
<define name="3D.BaseParam" typ="3DModel" > <param file="SC_MT_1.sps" tMethod="static model" model="externModel" externAssigns="$ARVA$Assigns$" bUseModelCntSpace="1" bUseDisplMap="1" bGenP2WMap="1" bFillSmallMeshHoles="1" bSplitLargeMeshes="1" bPostProcessBlending="1" bAutoObserverConversion="1" bUseCurrPrjMask="0" bFillSmall3DMeshHoles="1" qSmallHoleContourMax="80" qSmallHoleSearchSz="1" smallHoleAngle="10" /> </define>
3.2. action=”Configure” state=”DeviceSel”
Type of separate parameter block: SC_DevSel
Available sections:
- several <display> sections can be specified
- apart from tCalib, all attributes in the <param> section are optional
section | attribute | value | description | version |
---|---|---|---|---|
<param> | tCalib | SingleManual |
manual single display calibration | 4.0 |
OldAny |
ligacy calibration method for any surface | 4.0 | ||
any |
calibration method for any surface | 4.0 | ||
flat |
calibration method for flas surfaces | 4.0 | ||
curved |
calibration method for curved and dome shaped surfaces | 4.0 | ||
externP2C |
external geometric calibration | 4.0 | ||
RoundCave |
custom curved screen calibration | 4.0 | ||
Manual |
manual multi-display calibration | 4.0 | ||
Preceeding |
Blending calculation based on previous calibrations | 4.0 | ||
extern3DModel |
3D model based calibration based on external information | 4.0 | ||
tArrangement | strip |
Automatic display strip arrangement detection | 4.0 | |
grid |
Arbitrary display arrangement | 4.0 | ||
hStrip |
horizontal display strip arrangement | 4.0 | ||
vStrip |
vertical display strip arrangement | 4.0 | ||
tCamSpaceConvert | none |
No camera spaceconversion | 4.0 | |
SrcToDst |
Source to target camera space conversion (master-slave camera system) | 4.0 | ||
calibName | [identifier] |
Name (description) of the calibration | 4.0 | |
fileName | [identifier] |
Name of the file to where the calibration should be saved (not always available) | 4.0 | |
contentRatio | free |
arbitrary (=maximum) aspect ratio | 4.0 | |
[x:y] |
predefined aspect ratio (e.g. [16:9] | 4.0 | ||
geometricScanSize | [float] |
Parameter for setting the geometric scanning range (e.g.: 1.2) | 4.0 | |
blendingLinearizeSz | [int] |
Linearization width required for the blending calculation (should always be 0) | 4.0 | |
bHQBlending | [0, 1] |
high quality blending calculation | 4.0 | |
bContourBlending | [0, 1] |
contour-based blending calculation | 4.0 | |
bAdditionalLNS | [0, 1] |
additional calculation for any surfaces | 4.0 | |
bCntBasedManualMP | [0, 1] |
Content based manual calibration | 4.0 | |
bOutsideCamView | [0, 1] |
Calibration beyond the visible camera image | 4.0 | |
bFillAbsentBubbles | [0, 1] |
unrecognized measuring points should be extrapolated | 4.0 | |
bFixLinePattern | [0, 1] |
improves the line pattern against noise, etc. | 4.0 | |
bExtLoD0 | [0, 1] |
Using a non-planar LoD0 hypothesis | 4.0 | |
bRegulariseLNS | [0, 1] |
eliminates outlier | 4.0 | |
bCalcDisplayPose | [0, 1] |
Determination of the display pose of all calibrated displays | 4.0 | |
bP2WAvailable | [0, 1] |
not commented | 4.0 | |
bAutoCntSpaceConvert | [0, 1] |
Automatic content space conversion | 4.0 | |
bSavePartialCalib | [0, 1] |
writes the calibration to a file after each display scan | 4.0 | |
bSetDisplayMask | [0, 1] |
enables using display masks | 4.0 | |
bAWBCamera | [0, 1] |
compensation for cameras with active auto white balancing | 4.0 | |
bVignetteFilter | [0, 1] |
using a filter to compensate a vignette effect | 4.0 | |
<display> | tDevice | sd |
single display | 4.0 |
name | [identifier] |
name of the display | 4.0 | |
<camera> | tDevice | camera |
single camera | 4.0 |
name | [identifier] |
name of the camera | 4.0 |
<define name="C1.DevSel" typ="SC_DevSel" > <camera tDevice="camera" name="Logitech QuickCam Pro 9000" /> <display tDevice="sd" name="D2 SyncMaster (SAM04EA)" /> <param tCalib="flat" tArrangement="grid" tCamSpaceConvert="none" calibName="Test" contentRatio="16:9" geometricScanSize="2.0" bHQBlending="0" bContourBlending="1" bAdditionalLNS="0" bOutsideCamView="1" bFillAbsentBubbles="1" bFixLinePattern="1" bExtLoD0="0" bRegulariseLNS="0" bCalcDisplayPose="0" bAutoCntSpaceConvert="0" bSavePartialCalib="0" bSetDisplayMask="0" bAWBCamera="0" bVignetteFilter="0" /> </define>
3.3. action=”Configure” state=”ConvertConfig”
Type of separate parameter block: CalibCommerce
Avaliable sections:
- several <display> sections can be specified
- apart from tConvert, all attributes in the <param> section are optional
- several parameters from 3.4 can be used here as well
section | attribute | value | description | version |
---|---|---|---|---|
<param> | tConvert | custom content space conversion |
Converts selected calibrations in the specified content space | 5.0 |
observer conversion |
Converts content mapping of the selected calibrations in the specified observer | 5.0 | ||
exclude compound display |
Removes selected display calibrations from the used display compound | 5.0 | ||
add VC to P2C |
Adds the current VC to the selected calibrations for content mapping and sets a standard VC | 5.0 | ||
camera content space translation |
Generates a translation matrix for the used camera | 5.0 | ||
pseudo 3D plane |
Generates a 3D mapping for the selected calibrations, based on planar 3D model | 5.0 | ||
pseudo 3D sphere |
Generates a 3D mapping for the selected calibrations, based on spherical 3D model | 5.0 | ||
pseudo 3D cylinder |
Generates a 3D mapping for the selected calibrations, based on cylindrical 3D model | 5.0 | ||
merge calibration |
merges selected compound/supercompound calibrations to a compound/supercompound calibration | 5.0 | ||
auto pose |
Calculates a possible view frustration for all displays of a calibration | 5.0 | ||
clone calibration |
Creates a copy of a selected calibration | 5.0 | ||
apply VC |
Loads a VC definition file and applies to selected calibrations | 5.0 | ||
remove P2C outlier |
Tries to eliminated outlier from within a selected calibration | 5.0 | ||
smooth P2C |
Softens the edges the content mapping of the selected calibration | 5.0 | ||
<display> | tDevice | sd |
single display | 5.0 |
dc |
display compound | 5.0 | ||
sc |
super compound | 5.0 | ||
name | [identifier] |
name of the display / compound | 5.0 |
<define name="Convert" type="CalibCommerce" > <display tDevice="dc" name="DC_Final" /> <param tConvert="add vc to P2C" bNoDefaultParam="0" bPostProcess="1" /> </define>
3.4. action=”Configure” state=”ExportConfig
Type of separate parameter block: CalibCommerce
Avaliable sections:
- several <display> sections can be specified
- apart from tConvert, all attributes in the <param> section are optional
section | attribute | value | description | version |
---|---|---|---|---|
<param> | tConvert | vwf separated |
one vwf / bmp file pair per exported display calibration | 4.0 |
vwf |
one vwf file per exported display-compound calibration | 4.0 | ||
DWM |
not documented | 4.0 | ||
x-file |
Calibrations are exported out in x file format | 4.0 | ||
OpenWarp |
Calibrations are exported in the OpenWarp file format | 4.0 | ||
MIPS |
Calibrations are exported out in the Barco MIPS compatible file format | 4.0 | ||
MPCDI v1 |
Calibrations are exported in MPCDI version 1 format | 4.0 | ||
path | [filepath] |
Defines the folder in which the generated files should be saved | 4.0 | |
name | [identifier/filename] |
Defines the file prefix or the exact file name if bExactFileName = "1" |
4.0 | |
bNoVC | [0 , 1] |
Calibrations are be exported without applying the virtual canvas | 4.0 | |
bNoGeom | [0 , 1] |
Calibrations are be exported without applying the geometric adaption | 4.0 | |
bNoVC | [0 , 1] |
Calibrations are be exported without applying the virtual canvas | 4.0 | |
bNoBlend | [0 , 1] |
Calibrations are be exported without applying the blend masks | 4.0 | |
bNoMask | [0 , 1] |
Calibrations are be exported without applying optional display masks | 4.0 | |
bSplitDisplays | [0 , 1] |
The individual parts of a splitted displays are exported separately | 4.0 | |
bNoVC | [0 , 1] |
Calibrations are be exported without applying the virtual canvas | 4.0 | |
bExactFileName | [0 , 1] |
name attribute provides an exact filename (only available for tConvert = “vwf “) |
4.0 | |
bScaleSplitDisplays | [0 , 1] |
Parts of a splitted display are scaled tothe entire display size | 4.0 | |
b3D | [0 , 1] |
Instead of content mapping the 3D information of the displays are exported | 4.0 | |
bToMaster | [0 , 1] |
In case of a multi-client calibration, all exports are saved on the master computer | 4.0 | |
bVirtualContentRect | [0 , 1] |
applies a virtual content rectangle | 4.0 | |
bBlankUnused | [0 , 1] |
Unused parts of a splitted display is blackened, otherwise one homogeneous content mapping is exported | 4.0 | |
bExtendedDefFile | [0 , 1] |
Using a configuration file for performing more complex export tasks | 4.0 | |
<grid> | row | [1 .. n] |
Indicates the number of lines for non-pixel based export formats | 4.0 |
col | [1 .. n] |
Indicates the number of columns for non-pixel based export formats | 4.0 | |
<display> | tDevice | ds |
single display | 4.0 |
dc |
display compound | 4.0 | ||
sc |
super compound | 4.0 | ||
name | [identifier] |
name of the display / compound | 4.0 |
<define name="Export" typ="CalibCommerce" > <display tDevice="sd" name="D2 SyncMaster (SAM04EA)" /> <param tConvert="vwf" path="C:\Export" name="Script_Test.vwf" bNoVC="0" bNoGeom="0" bNoBlend="0" bNoMask="0" bSplitDisplays="0" bExactFileName="1" bScaleSplitDisplays="0" b3D="0" bToMaster="1" bVirtualContentRect="0" bBlankUnused="0" bExtendedDefFile="0" /> <grid row="21" col="21" /> </define>
3.5. action=”Configure” state=”Validate”
Type of separate parameter block: RenderPipe
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | extern | [variabe] |
Reference to an ini file; variable with required parameters | 4.0 |
<define name="RP1.config" typ="RenderPipe" > <param extern="$ARVA$Assign$View1$" /> </define>
or
section | attribute | value | description | version |
---|---|---|---|---|
<source> | tDevice | sd |
capturing the content of a display | 4.0 |
file |
displaying the contents of a file | 4.0 | ||
camera |
display the output of a camera / live input device | 4.0 | ||
name | [identifier] |
Name of the device if tDevice = “sd ” or tDevice = “camera |
4.0 | |
iDeviceGroup | [index] |
if no name and tDevice : not “file “, determines the Index (starting with 1) of the used device within a device type |
5.0 | |
file | [filename] |
Filename if tDevice = “file “ |
4.0 | |
<target> | tDevice | sd |
single display | 4.0 |
dc |
display compound | 4.0 | ||
sc |
supercompound | 4.0 | ||
name | [identifier] |
name of the display / compound | 4.0 | |
iDeviceGroup | [Index] |
if no name and tDevice : not “file “, determines the Index (starting with 1) of the used device within a device type |
5.0 | |
ip | [IP] |
IP address of a PC if tDevice points to a remote client (optional) | 4.0 | |
<param> | bUseVC | [0, 1] |
toggles the virtual canvas | 5.0 |
bUseGeomCorr | [0, 1] |
toggles the usage or automatic geometric correction | 5.0 | |
bUseColorCorr | [0, 1] |
toggles the usage or color correction | 5.0 | |
bbAABorder | [0, 1] |
toggles the usage or border antialiasing | 5.0 | |
bAABorderSmooth | [0, 1] |
toggles the usage of border smoothing | 5.0 | |
bUseEdgeBlend | [0, 1] |
toggles the edge blending | 5.0 | |
bAutoSave | [0, 1] |
toggles the usage of automatic saving options | 5.0 | |
bCompleteInit | [0, 1] |
toggles the usage of re-initializing at next start | 5.0 | |
bAugmentedElements | [0, 1] |
toggles the usage of enhanced elements | 5.0 |
<define name="RP1.config" typ="RenderPipe" > <source tDevice="file" file="E:\test.bmp" /> <target tDevice="sd" name="D1 (CMN1343)" ip="192.168.100.5" /> <param bUseVC="1" bUseGeomCorr="1" bUseColorCorr="0" bAABorder="0" bAABorderSmooth="0" bUseEdgeBlend="1" bAutoSave="0" bCompleteInit="0" bAugmentedElements="0" /> </define>
3.6. action=”Configure” state=”StartOption”
Type of separate parameter block: RenderPipe
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | bUseContentCache | [0, 1] |
toggles usage of the content cache | 5.0 |
<define name="RP1.start" typ="RenderPipe" > <param bUseContentCache="1" /> </define>
3.7. action=”Configure” state=”all”
3.7.1. action=”Renderer” subtyp=”dx9″
Type of separate parameter block: common
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | bUseContentCache | [filename/variable] |
name if the mrd-file to be used for configuring the renderer | 5.0 |
<define name="Renderer.Config" typ="Common" > <param file="Test.mrd" /> </define>
3.8. action=”Create” typ=”Behaviour
Type of separate parameter block: BehaviourCreate
Usually this parameter block is not required.
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | interactLevel | many |
all interactions | 4.0 |
reduced |
reduced interactions | 4.0 | ||
less |
minimal interactions | 4.0 | ||
minimal |
all interaction disabled | 4.0 |
<define name="C1.Start" typ="BehaviourCreate" > <param interactLevel="many" /> </define>
3.9. action=”Create” typ=”Behaviour” subtyp=”SingleClientCalib”
Type of separate parameter block: BehaviourCreate
Available sections:
- several <display> section can be defined
section | attribute | value | description | version |
---|---|---|---|---|
<param> | interactLevel | many |
all interactions | 4.0 |
reduced |
reduced interactions | 4.0 | ||
less |
minimal interactions | 4.0 | ||
minimal |
all interaction disabled | 4.0 | ||
the following values can also be specified as comma-separated parameter list | 4.0 | |||
NoInterResult |
The result of each display calibration should not be displayed | 4.0 | ||
NoFinalResult |
The result of all calibrated displays should not be shown will | 4.0 | ||
<display> | tDevice | ds |
single display | 4.0 |
dc |
display compound | 4.0 | ||
name | [identifier] |
name of display / compound | 4.0 | |
iDeviceGroup | [index] |
if no name provided: determines the Index (starting with 1) of the used device within a device type | 5.0 |
<define name="C1.Start" typ="BehaviourCreate" >
<param interactLevel="many, noInterResult" />
<display tDevice="sd" name="D1 NEC LCD1760NX (NEC6604)" />
</define>
3.10. action=”Create” typ=”CntSpace” subtyp=”3DModel”
Type of separate parameter block: CntSpace
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | modelFile | [filename/variable] |
defines the 3D model file | 4.0 |
matrixFile | [filename/variable] |
optional, defines an XML file with a transformation matrix for the 3D model | 4.0 | |
matrixNode | [identifier] |
optional, defines the section/attribute where the transformation matrix in matrixFileis defined | 4.0 | |
cullMode | cw |
culling mode clockwise | 4.0 | |
ccw |
culling mode counter-clockwise | 4.0 | ||
none |
no culling | 4.0 | ||
cntSpaceW | [1 .. n] |
denotes the size of the used content space in x direction | 4.0 | |
cntSpaceH | [1 .. n] |
denotes the size of the used content space in y direction | 4.0 | |
bVolatileModel | [0, 1] |
indicates that the 3D model file should be re-read before each calculation | 4.0 | |
bSuppressRootTrans | [0, 1] |
suppresses an evetually existing basic transformation matrix of a 3D model file | 4.0 | |
bTransposeTransMat | [0, 1] |
defines than an optional transformation matrix (matrixFile) has to be transposed before using it | 4.0 |
<define name="model param" typ="CntSpace" >
<param modelFile="D:\model.obj"
matrixFile="D:\model.matx" matrixNode="Pose/Matrix4x4"
cullMode="none"
cntSpaceW="3072"
cntSpaceH="3072"
bVolatileModel="1"
bSuppressRootTrans="1"
bTransposeTransMat="1"
/>
</define>
3.11. action=”Create” typ=”file” subtyp=”bmp”
Type of separate parameter block:
CreateImage
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | tImage | RGB |
creates a 24 bit RGB image | 5.0 |
RGBA |
creates a 32 bit RGB image | 5.0 | ||
GRAY |
creates an 8 bit monochrome image | 5.0 | ||
width | [size] |
defines the x-dimension of the image in pixels | 5.0 | |
height | [size] |
defines the y-dimension of the image in pixels | 5.0 | |
<background> | red | [value] |
value ([0 .. 255]) for channel red of the background color | 5.0 |
green | [value] |
value ([0 .. 255]) for channel green of the background color | 5.0 | |
blue | [value] |
value ([0 .. 255]) for channel blueof the background color | 5.0 | |
apha | [value] |
only if tImage=”RGBA : defines the alpha value of the background color |
5.0 | |
<target> | file | [filename] |
sets the name for the file to be created | 5.0 |
<define name="CntFile" typ="CreateImage" > <param tImage="RGBA" width="800" height="600" /> <background red="255" green="255" blue="0" alpha="255" /> <target file="Cnt.bmp" /> </define>
3.12. action=”Execute” typ=”Timer” subtyp=”Sleep”
Type of separate parameter block: Common
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | duration | [1 .. n] |
duration in milliseconds | 4.0 |
<define name="StdWait" typ="Common" > <param duration="2000" /> </define>
3.13. action=”Execute” typ=”App”
TODO
3.14. action=”Execute” typ=”OS”
TODO
3.15. action=”Load”, “Save” typ=”file” subtyp=”sps”
Type of separate parameter block: Common
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | file | [filename] |
name of the *.sps calibration file to be saved or loaded | 4.0 |
<define name="sps" typ="Common" > <param file="Calib.sps" /> </define>
3.16. action=”Load”, “Save” typ=”file” subtyp=”vc
Type of separate parameter block: Common
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<param> | file | [filename] |
name of the *.vc definistionfile to be saved or loaded | 4.0 |
<display> | tDevice | sd |
single display | 4.0 |
sd |
display compound | 4.0 | ||
sc |
super compound | 4.0 | ||
name | [identifier] |
Name of the display / display compounds for the virtual canvas to be loaded or saved | 4.0 |
<define name="sps" typ="Common" > <param file="Calib.sps" /> <display tDevice="dc" name="Compound 187" /> </define>
3.17. action=”Transfer” typ=”file”
Type of separate parameter block: Transfer
Available sections:
section | attribute | value | description | version |
---|---|---|---|---|
<from> | file | [filename] |
name of the local file to be transferred (copied) | 4.0 |
<to> | file | [filename] |
name of the file on the remote location (any existing file will be overwritten) | 4.0 |
<define name="Backup" typ="Transfer" > <from file="SH_Compounds.sps" /> <to file="E:\Backup\SH_Compounds.sps" /> </define>
3.18. action=”Playlist”
TODO
3.19. action=”Render”
TODO
3.20 action=”Manipulate” typ=”Calibration” subtyp=”Blending”
TODO
3.21. action=”Manipulate” typ=”Calibration” subtyp=”CalibChange”
TODO
3.22. action=”Manipulate” type=”Calibration” subtyp=”Mask”
TODO
3.23. action=”Manipulate” typ=”Calibration” subtyp=”Blacklevel”
TODO
3.24. action=”Send” typ=”TCP” subtyp=”Command”
TODO
3.25 action=”Send” typ=”TCP” subtyp=”File”
TODO
3.26 action=”TCP” typ=”Common”
TODO
3.27 action=”Condition”
4. additional configuration files
4.1. selector-parameter list
With a selector parameter list, a list of parameters can be defined, which can be called via a selector. A parameter is defined by a <element>
section, summarized by a higher-level <list>
section.
section | attribute | value | description |
---|---|---|---|
<element> | selector | [value] |
defines the selector value; the type of the selector depends on the attribute seltype |
seltype | string |
selector is a string | |
integer |
selector is an integer number | ||
float |
selector is a floating-point number | ||
double |
selector is a floating-point number with double precision | ||
value |
|
defines the parameter value; the type of the parameter depends on the attribute valtype | |
valtype | string |
parameter is a string | |
integer |
parameter is an integer number | ||
float |
parameter is a floating-point number | ||
double |
parameter is a floating-point number with double precision |
Example:
<?xml version="1.0"?> <VIOSO> <list> <element selector="2.5" seltype="float" value="c1.sps" valtype="string" /> <element selector="3" seltype="float" value="c2.sps" valtype="string" /> </list> </VIOSO>
The selector parameter list contains two entries. Each parameter defines a string (here filename) and can be selected using a floating point number.