Parameter matrix¶
It can be useful to compare many different combinations of multiple parameter values. XamFlow supports this via parameter matrix task types.
A new parameter matrix task type can be created easily in XF Desktop.
The metadata.json contains "ui": "Core.Generic.ParameterMatrix" to enable this functionality.
Fore example in XF.Data.ParametricNumbers this looks as follows:
{
"package_format": "XFP-TT1.0",
"name": "XF.Data.ParametricNumbers",
"version": "1.10.8.0",
"display_name": "Parametric Numbers",
"summary": "Parametric numeric parameter matrix analysis. Spawn a run for each combinatorial combination.",
"behavior": "InteractiveFollower",
"description_filename": "readme.txt",
"citation_cff_filename": "CITATION.cff",
"ui": "Core.Generic.ParameterMatrix"
}
The interface.json defines all the parameters as outputs:
{
"inputs": [],
"outputs": [
{
"key": "i1",
"type": "Int",
"minimum": 0,
"maximum": 1
},
{
"key": "i2",
"type": "Int",
"minimum": 0,
"maximum": 0
},
{
"key": "i3",
"type": "Int",
"minimum": 0,
"maximum": 0
},
{
"key": "i4",
"type": "Int",
"minimum": 0,
"maximum": 0
},
{
"key": "f1",
"type": "Float",
"minimum": 0,
"maximum": 0
},
{
"key": "f2",
"type": "Float",
"minimum": 0,
"maximum": 0
},
{
"key": "f3",
"type": "Float",
"minimum": 0,
"maximum": 0
},
{
"key": "f4",
"type": "Float",
"minimum": 0,
"maximum": 0
}
]
}
Jobs of this task type are interactive with a user interface to construct parametric combinations for the output parameters. One run per combination is then created automatically.
The combinations can also be imported from CSV. This allows for maximum flexibility since advanced combinations can e.g. be created manually, programatically with a custom script, or using any other method as desired.
The combinations can also be exported to CSV e.g. for reusing in another workflow.