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 Example.Parametric.GaussMorphoSegment this looks as follows:

{
    "package_format": "XFP-TT1.0",
    "name": "Example.Parametric.GaussMorphoSegment",
    "version": "1.10.1.0",
    "display_name": "Parametric Gauss and Morphological",
    "summary": "Combinatorial combinations of parametric ranges can interactively define a parameter matrix.",
    "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": "pivot",
            "type": "Int"
        },
        {
            "key": "distance",
            "type": "Int"
        },
        {
            "key": "gauss_sigma0",
            "type": "Float"
        },
        {
            "key": "gauss_support0",
            "type": "Int"
        },
        {
            "key": "threshold_lower0",
            "type": "Float"
        },
        {
            "key": "threshold_upper0",
            "type": "Float"
        }
    ]
}

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.