{
  "$defs": {
    "AnalysisFeature": {
      "additionalProperties": false,
      "properties": {
        "featureID": {
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Featureid",
          "type": "string"
        },
        "label": {
          "maxLength": 200,
          "minLength": 1,
          "title": "Label",
          "type": "string"
        },
        "shortLabel": {
          "anyOf": [
            {
              "maxLength": 80,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Shortlabel"
        }
      },
      "required": [
        "featureID",
        "label"
      ],
      "title": "AnalysisFeature",
      "type": "object"
    },
    "AnalysisOutput": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "analysis-output",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "analysis-output-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/OutputParameters"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "AnalysisOutput",
      "type": "object"
    },
    "ArrayReference": {
      "additionalProperties": false,
      "properties": {
        "memberID": {
          "default": "dataset",
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Memberid",
          "type": "string"
        },
        "variable": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Variable",
          "type": "string"
        }
      },
      "required": [
        "variable"
      ],
      "title": "ArrayReference",
      "type": "object"
    },
    "AxisAssignment": {
      "additionalProperties": false,
      "properties": {
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        }
      },
      "required": [
        "nodeID"
      ],
      "title": "AxisAssignment",
      "type": "object"
    },
    "Baseline": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "constant-baseline-removal",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "constant-baseline-removal-v1",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/EmptyParameters",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "Baseline",
      "type": "object"
    },
    "Browse": {
      "additionalProperties": false,
      "properties": {
        "coverage": {
          "anyOf": [
            {
              "const": "all",
              "type": "string"
            },
            {
              "$ref": "#/$defs/Coverage"
            }
          ],
          "default": "all",
          "title": "Coverage"
        },
        "initialIndex": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Initialindex"
        }
      },
      "title": "Browse",
      "type": "object"
    },
    "CarsBgNrbRatio": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "cars-bg-nrb-ratio",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "cars-bg-nrb-ratio-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/CarsCorrection",
          "default": {
            "denominatorZeroPolicy": "nan"
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "CarsBgNrbRatio",
      "type": "object"
    },
    "CarsCorrection": {
      "additionalProperties": false,
      "properties": {
        "denominatorZeroPolicy": {
          "default": "nan",
          "enum": [
            "nan",
            "error"
          ],
          "title": "Denominatorzeropolicy",
          "type": "string"
        }
      },
      "title": "CarsCorrection",
      "type": "object"
    },
    "CarsMemRamanRetrieval": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "cars-mem-raman-retrieval",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "cars-mem-raman-retrieval-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Mem",
          "default": {
            "coordinateMode": "physical",
            "intensityFloor": 1e-12,
            "order": null,
            "validateUniformAxis": false
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "CarsMemRamanRetrieval",
      "type": "object"
    },
    "CarsNeuralNetworkPrediction": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "cars-neural-network-prediction",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "cars-neural-network-prediction-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Prediction",
          "default": {
            "predictiveIntervals": [
              {
                "confidenceLevel": 95
              },
              {
                "confidenceLevel": 90
              },
              {
                "confidenceLevel": 75
              },
              {
                "confidenceLevel": 50
              }
            ]
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "CarsNeuralNetworkPrediction",
      "type": "object"
    },
    "Component": {
      "additionalProperties": false,
      "properties": {
        "componentID": {
          "pattern": "^[A-Za-z0-9_-]{1,100}$",
          "title": "Componentid",
          "type": "string"
        },
        "initialAmplitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies.",
          "title": "Initialamplitude"
        },
        "initialFwhm": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed replacement for the moment-estimated FWHM, not an optimizer starting point.",
          "title": "Initialfwhm"
        },
        "initialLocation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point.",
          "title": "Initiallocation"
        },
        "label": {
          "maxLength": 200,
          "minLength": 1,
          "title": "Label",
          "type": "string"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        },
        "nonNegativeAmplitude": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Explicit true/false overrides the mixture setting; omitted or null inherits it.",
          "title": "Nonnegativeamplitude"
        }
      },
      "required": [
        "minimumValue",
        "maximumValue",
        "componentID",
        "label"
      ],
      "title": "Component",
      "type": "object"
    },
    "ComponentSelection": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "variance"
              }
            },
            "required": [
              "mode"
            ]
          },
          "then": {
            "properties": {
              "count": {
                "type": "null"
              },
              "cumulativeRatio": {
                "exclusiveMinimum": 0,
                "maximum": 1,
                "type": "number"
              }
            },
            "required": [
              "cumulativeRatio"
            ]
          }
        },
        {
          "if": {
            "not": {
              "properties": {
                "mode": {
                  "const": "variance"
                }
              },
              "required": [
                "mode"
              ]
            }
          },
          "then": {
            "properties": {
              "cumulativeRatio": {
                "type": "null"
              },
              "maxComponents": {
                "type": "null"
              }
            }
          }
        }
      ],
      "properties": {
        "count": {
          "anyOf": [
            {
              "maximum": 64,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Count mode uses 10 when count is omitted or null; variance mode forbids a non-null count.",
          "title": "Count"
        },
        "cumulativeRatio": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "maximum": 1,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cumulativeratio"
        },
        "maxComponents": {
          "anyOf": [
            {
              "maximum": 64,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maxcomponents"
        },
        "mode": {
          "default": "count",
          "enum": [
            "count",
            "variance"
          ],
          "title": "Mode",
          "type": "string"
        }
      },
      "title": "ComponentSelection",
      "type": "object"
    },
    "CoordinateReference": {
      "additionalProperties": false,
      "properties": {
        "coordinate": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Coordinate",
          "type": "string"
        },
        "memberID": {
          "default": "dataset",
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Memberid",
          "type": "string"
        }
      },
      "required": [
        "coordinate"
      ],
      "title": "CoordinateReference",
      "type": "object"
    },
    "Coverage": {
      "additionalProperties": false,
      "properties": {
        "start": {
          "minimum": 0,
          "title": "Start",
          "type": "integer"
        },
        "stop": {
          "exclusiveMinimum": 0,
          "title": "Stop",
          "type": "integer"
        }
      },
      "required": [
        "start",
        "stop"
      ],
      "title": "Coverage",
      "type": "object"
    },
    "DatasetInput": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "dataset-input",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "dataset-input-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/SourceParameters"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "DatasetInput",
      "type": "object"
    },
    "DecompositionRequest": {
      "additionalProperties": false,
      "properties": {
        "analysisID": {
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Analysisid",
          "type": "string"
        },
        "componentSelection": {
          "$ref": "#/$defs/ComponentSelection",
          "default": {
            "count": 10,
            "cumulativeRatio": null,
            "maxComponents": null,
            "mode": "count"
          }
        },
        "coordinates": {
          "additionalProperties": {
            "$ref": "#/$defs/CoordinateReference"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "loadings": {
          "$ref": "#/$defs/AnalysisFeature"
        },
        "method": {
          "enum": [
            "pca",
            "rpca"
          ],
          "title": "Method",
          "type": "string"
        },
        "scores": {
          "$ref": "#/$defs/AnalysisFeature"
        },
        "signal": {
          "$ref": "#/$defs/ArrayReference"
        },
        "spatialDimensions": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 2,
          "minItems": 2,
          "title": "Spatialdimensions",
          "type": "array",
          "uniqueItems": true
        },
        "spectralDimension": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Spectraldimension",
          "type": "string"
        },
        "spectrumFeatureID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectrumfeatureid"
        }
      },
      "required": [
        "analysisID",
        "method",
        "signal",
        "spectralDimension",
        "spatialDimensions",
        "scores",
        "loadings"
      ],
      "title": "DecompositionRequest",
      "type": "object"
    },
    "DimensionFlip": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "dimension-flip",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "dimension-flip-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Empty",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "DimensionFlip",
      "type": "object"
    },
    "DimensionIndexSelect": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "dimension-index-select",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "dimension-index-select-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Index"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "DimensionIndexSelect",
      "type": "object"
    },
    "DimensionRangeSelect": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "dimension-range-select",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "dimension-range-select-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/SelectRange"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "DimensionRangeSelect",
      "type": "object"
    },
    "DimensionReduce": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "dimension-reduce",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "dimension-reduce-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Reduce",
          "default": {
            "method": "mean"
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "DimensionReduce",
      "type": "object"
    },
    "Edge": {
      "additionalProperties": false,
      "properties": {
        "binding": {
          "$ref": "#/$defs/InputBinding",
          "default": {
            "coordinates": {},
            "dimensionParameters": {},
            "dimensions": {},
            "groupByCoordinates": [],
            "memberID": null,
            "modeledCoordinates": [],
            "variable": null
          }
        },
        "fromNodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Fromnodeid",
          "type": "string"
        },
        "fromOutput": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Fromoutput",
          "type": "string"
        },
        "toInput": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Toinput",
          "type": "string"
        },
        "toNodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Tonodeid",
          "type": "string"
        }
      },
      "required": [
        "fromNodeID",
        "fromOutput",
        "toNodeID",
        "toInput"
      ],
      "title": "Edge",
      "type": "object"
    },
    "Empty": {
      "additionalProperties": false,
      "properties": {},
      "title": "Empty",
      "type": "object"
    },
    "EmptyParameters": {
      "additionalProperties": false,
      "properties": {},
      "title": "EmptyParameters",
      "type": "object"
    },
    "GPKernel": {
      "additionalProperties": false,
      "properties": {
        "family": {
          "default": "matern-5/2",
          "enum": [
            "matern-5/2",
            "rbf"
          ],
          "title": "Family",
          "type": "string"
        },
        "lengthscaleMode": {
          "default": "anisotropic",
          "enum": [
            "anisotropic",
            "isotropic"
          ],
          "title": "Lengthscalemode",
          "type": "string"
        },
        "lengthscales": {
          "default": [],
          "items": {
            "$ref": "#/$defs/GPScalarParameter"
          },
          "title": "Lengthscales",
          "type": "array"
        },
        "outputScale": {
          "$ref": "#/$defs/GPScalarParameter",
          "default": {
            "mode": "estimate",
            "value": null
          }
        }
      },
      "title": "GPKernel",
      "type": "object"
    },
    "GPScalarParameter": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "fixed"
              }
            },
            "required": [
              "mode"
            ]
          },
          "then": {
            "properties": {
              "value": {
                "exclusiveMinimum": 0,
                "type": "number"
              }
            },
            "required": [
              "value"
            ]
          }
        }
      ],
      "properties": {
        "mode": {
          "default": "estimate",
          "enum": [
            "estimate",
            "fixed"
          ],
          "title": "Mode",
          "type": "string"
        },
        "value": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        }
      },
      "title": "GPScalarParameter",
      "type": "object"
    },
    "GPWindow": {
      "additionalProperties": false,
      "properties": {
        "extents": {
          "items": {
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "minItems": 1,
          "title": "Extents",
          "type": "array"
        },
        "overlapFraction": {
          "default": 0.5,
          "exclusiveMaximum": 1,
          "exclusiveMinimum": 0,
          "title": "Overlapfraction",
          "type": "number"
        }
      },
      "required": [
        "extents"
      ],
      "title": "GPWindow",
      "type": "object"
    },
    "Gaussian": {
      "additionalProperties": false,
      "properties": {
        "radius": {
          "anyOf": [
            {
              "maximum": 999,
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sample radius; omitted/null uses max(1, round(3*sigma)), which must remain <=999.",
          "title": "Radius"
        },
        "sigma": {
          "default": 1.0,
          "description": "Gaussian width in samples of the bound dimension, not physical coordinate units.",
          "exclusiveMinimum": 0,
          "title": "Sigma",
          "type": "number"
        }
      },
      "title": "Gaussian",
      "type": "object"
    },
    "GaussianFilter": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "gaussian-filter",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "gaussian-filter-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Gaussian",
          "default": {
            "radius": null,
            "sigma": 1.0
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "GaussianFilter",
      "type": "object"
    },
    "GaussianFit": {
      "additionalProperties": false,
      "properties": {
        "initialAmplitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies.",
          "title": "Initialamplitude"
        },
        "initialFwhm": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed replacement for the moment-estimated FWHM, not an optimizer starting point.",
          "title": "Initialfwhm"
        },
        "initialLocation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point.",
          "title": "Initiallocation"
        },
        "nonNegativeAmplitude": {
          "default": true,
          "title": "Nonnegativeamplitude",
          "type": "boolean"
        }
      },
      "title": "GaussianFit",
      "type": "object"
    },
    "GaussianMixture": {
      "additionalProperties": false,
      "properties": {
        "components": {
          "items": {
            "$ref": "#/$defs/Component"
          },
          "maxItems": 32,
          "minItems": 1,
          "title": "Components",
          "type": "array"
        },
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "nonNegativeAmplitude": {
          "default": true,
          "title": "Nonnegativeamplitude",
          "type": "boolean"
        }
      },
      "required": [
        "components"
      ],
      "title": "GaussianMixture",
      "type": "object"
    },
    "GaussianMixtureFit": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "gaussian-mixture-fit",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "gaussian-mixture-fit-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/GaussianMixture"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "GaussianMixtureFit",
      "type": "object"
    },
    "GaussianProcess": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "fitMode": {
                "const": "overlapping-local"
              }
            },
            "required": [
              "fitMode"
            ]
          },
          "then": {
            "properties": {
              "window": {
                "type": "object"
              }
            },
            "required": [
              "window"
            ]
          }
        },
        {
          "if": {
            "not": {
              "properties": {
                "fitMode": {
                  "const": "overlapping-local"
                }
              },
              "required": [
                "fitMode"
              ]
            }
          },
          "then": {
            "properties": {
              "window": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "fitScope": {
                "const": "shared-hyperparameters"
              }
            },
            "required": [
              "fitScope"
            ]
          },
          "then": {
            "properties": {
              "fitMode": {
                "const": "bbmm"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "fitMode": {
                "const": "variational"
              }
            },
            "required": [
              "fitMode"
            ]
          },
          "then": {
            "allOf": [
              {
                "if": {
                  "not": {
                    "required": [
                      "trainingIterations"
                    ]
                  }
                },
                "then": {
                  "properties": {
                    "trainingEpochs": {
                      "default": 75
                    }
                  }
                }
              }
            ],
            "properties": {
              "learningRate": {
                "default": 0.01
              }
            }
          }
        },
        {
          "if": {
            "not": {
              "properties": {
                "fitMode": {
                  "const": "variational"
                }
              },
              "required": [
                "fitMode"
              ]
            }
          },
          "then": {
            "properties": {
              "trainingEpochs": {
                "type": "null"
              }
            }
          }
        }
      ],
      "properties": {
        "convergencePatience": {
          "default": 10,
          "description": "Consecutive stable complete epochs before variational early stopping; at least 10 epochs are required.",
          "maximum": 50,
          "minimum": 1,
          "title": "Convergencepatience",
          "type": "integer"
        },
        "convergenceTolerance": {
          "default": 0.0001,
          "description": "Variational relative full-data objective tolerance for early stopping; not a guarantee of scientific accuracy.",
          "exclusiveMinimum": 0,
          "maximum": 0.1,
          "title": "Convergencetolerance",
          "type": "number"
        },
        "fitMode": {
          "default": "bbmm",
          "enum": [
            "bbmm",
            "variational",
            "overlapping-local"
          ],
          "title": "Fitmode",
          "type": "string"
        },
        "fitScope": {
          "default": "independent",
          "editorVisibility": "advanced",
          "enum": [
            "independent",
            "shared-hyperparameters"
          ],
          "title": "Fitscope",
          "type": "string"
        },
        "inducingPointCount": {
          "default": 256,
          "maximum": 4096,
          "minimum": 4,
          "title": "Inducingpointcount",
          "type": "integer"
        },
        "intervalDistributions": {
          "default": [
            "latent",
            "observation"
          ],
          "items": {
            "enum": [
              "latent",
              "observation"
            ],
            "type": "string"
          },
          "maxItems": 2,
          "minItems": 1,
          "title": "Intervaldistributions",
          "type": "array",
          "uniqueItems": true
        },
        "intervalSigmas": {
          "default": [
            1.0,
            2.0
          ],
          "items": {
            "exclusiveMinimum": 0,
            "maximum": 5,
            "type": "number"
          },
          "maxItems": 8,
          "title": "Intervalsigmas",
          "type": "array",
          "uniqueItems": true
        },
        "kernel": {
          "$ref": "#/$defs/GPKernel",
          "default": {
            "family": "matern-5/2",
            "lengthscaleMode": "anisotropic",
            "lengthscales": [],
            "outputScale": {
              "mode": "estimate",
              "value": null
            }
          }
        },
        "learningRate": {
          "default": 0.05,
          "description": "Adam hyperparameter rate; defaults to 0.01 for variational fitting and 0.05 otherwise. Natural-gradient rate is 0.1.",
          "exclusiveMinimum": 0,
          "maximum": 1,
          "title": "Learningrate",
          "type": "number"
        },
        "miniBatchSize": {
          "default": 1024,
          "maximum": 65536,
          "minimum": 4,
          "title": "Minibatchsize",
          "type": "integer"
        },
        "observationNoise": {
          "$ref": "#/$defs/GPScalarParameter",
          "default": {
            "mode": "estimate",
            "value": null
          }
        },
        "trainingEpochs": {
          "anyOf": [
            {
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Variational full-data passes. Defaults to 75 when neither training budget is authored; overrides trainingIterations when supplied.",
          "title": "Trainingepochs"
        },
        "trainingIterations": {
          "default": 75,
          "description": "Optimizer update budget. Explicit values retain step semantics. Variational omission uses 75 epochs instead; trainingEpochs takes precedence when provided.",
          "maximum": 2000,
          "minimum": 1,
          "title": "Trainingiterations",
          "type": "integer"
        },
        "window": {
          "anyOf": [
            {
              "$ref": "#/$defs/GPWindow"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "GaussianProcess",
      "type": "object"
    },
    "GaussianProcessRegression": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "gaussian-process-regression",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "gaussian-process-regression-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/GaussianProcess",
          "default": {
            "convergencePatience": 10,
            "convergenceTolerance": 0.0001,
            "fitMode": "bbmm",
            "fitScope": "independent",
            "inducingPointCount": 256,
            "intervalDistributions": [
              "latent",
              "observation"
            ],
            "intervalSigmas": [
              1.0,
              2.0
            ],
            "kernel": {
              "family": "matern-5/2",
              "lengthscaleMode": "anisotropic",
              "lengthscales": [],
              "outputScale": {
                "mode": "estimate",
                "value": null
              }
            },
            "learningRate": 0.05,
            "miniBatchSize": 1024,
            "observationNoise": {
              "mode": "estimate",
              "value": null
            },
            "trainingEpochs": null,
            "trainingIterations": 75,
            "window": null
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "GaussianProcessRegression",
      "type": "object"
    },
    "GaussianShapeFit": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "gaussian-shape-fit",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "gaussian-shape-fit-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/GaussianFit",
          "default": {
            "initialAmplitude": null,
            "initialFwhm": null,
            "initialLocation": null,
            "nonNegativeAmplitude": true
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "GaussianShapeFit",
      "type": "object"
    },
    "GeneratedExplorationRequests": {
      "additionalProperties": false,
      "properties": {
        "analyses": {
          "default": [],
          "items": {
            "$ref": "#/$defs/DecompositionRequest"
          },
          "title": "Analyses",
          "type": "array"
        },
        "views": {
          "default": [],
          "items": {
            "$ref": "#/$defs/ViewRequest"
          },
          "title": "Views",
          "type": "array"
        }
      },
      "title": "GeneratedExplorationRequests",
      "type": "object"
    },
    "Index": {
      "additionalProperties": false,
      "properties": {
        "index": {
          "minimum": 0,
          "title": "Index",
          "type": "integer"
        }
      },
      "required": [
        "index"
      ],
      "title": "Index",
      "type": "object"
    },
    "InputBinding": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              },
              "dimensions": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": {
            "additionalProperties": true,
            "type": "object"
          },
          "default": {},
          "description": "Node-specific per-dimension options; validate using the target port's bindingSchema.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensionparameters",
          "type": "object"
        },
        "dimensions": {
          "additionalProperties": {
            "anyOf": [
              {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              {
                "items": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensions",
          "type": "object"
        },
        "groupByCoordinates": {
          "default": [],
          "description": "Optional GP grouping coordinate names. Cannot coexist with nonempty dimensions, coordinates or dimensionParameters.",
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Groupbycoordinates",
          "type": "array"
        },
        "memberID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Select a member of an intermediate surface/collection. Omit on direct postprocessing input edges; the source context already selects its member.",
          "title": "Memberid"
        },
        "modeledCoordinates": {
          "default": [],
          "description": "GP coordinate names, not dimension names or roles. Cannot coexist with nonempty dimensions, coordinates or dimensionParameters.",
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        }
      },
      "title": "InputBinding",
      "type": "object"
    },
    "IntegrationBand": {
      "additionalProperties": false,
      "properties": {
        "bandID": {
          "pattern": "^[A-Za-z0-9_-]{1,100}$",
          "title": "Bandid",
          "type": "string"
        },
        "label": {
          "maxLength": 200,
          "minLength": 1,
          "title": "Label",
          "type": "string"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        }
      },
      "required": [
        "bandID",
        "label",
        "minimumValue",
        "maximumValue"
      ],
      "title": "IntegrationBand",
      "type": "object"
    },
    "LocalMean": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "local-mean",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "local-mean-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Empty",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "LocalMean",
      "type": "object"
    },
    "MedianFilter": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "median-filter",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "median-filter-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Window",
          "default": {
            "windowSize": 3
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "MedianFilter",
      "type": "object"
    },
    "Mem": {
      "additionalProperties": false,
      "properties": {
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "intensityFloor": {
          "default": 1e-12,
          "description": "Nonnegative preparation floor; zero still uses machine tiny to permit a logarithm.",
          "minimum": 0,
          "title": "Intensityfloor",
          "type": "number"
        },
        "order": {
          "anyOf": [
            {
              "minimum": 2,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Prediction-polynomial order; omitted/null uses spectralLength//2. Effective order must be >=2 and < spectralLength.",
          "title": "Order"
        },
        "validateUniformAxis": {
          "default": false,
          "description": "False assumes uniform sampling for retrieval; finite strictly monotonic assigned coordinates are still required in physical mode.",
          "title": "Validateuniformaxis",
          "type": "boolean"
        }
      },
      "title": "Mem",
      "type": "object"
    },
    "Normalize": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "default": "max-abs",
          "enum": [
            "max-abs",
            "area"
          ],
          "title": "Method",
          "type": "string"
        }
      },
      "title": "Normalize",
      "type": "object"
    },
    "OutputParameters": {
      "additionalProperties": false,
      "properties": {
        "analyses": {
          "default": [],
          "items": {
            "$ref": "#/$defs/DecompositionRequest"
          },
          "title": "Analyses",
          "type": "array"
        },
        "friendlyName": {
          "maxLength": 200,
          "minLength": 1,
          "title": "Friendlyname",
          "type": "string"
        },
        "outputID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Outputid"
        },
        "save": {
          "$ref": "#/$defs/SaveSelection",
          "default": {
            "members": "all"
          }
        },
        "views": {
          "default": [],
          "items": {
            "$ref": "#/$defs/ViewRequest"
          },
          "title": "Views",
          "type": "array"
        }
      },
      "required": [
        "friendlyName"
      ],
      "title": "OutputParameters",
      "type": "object"
    },
    "PeakDetection": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "peak-detection",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "peak-detection-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Peaks",
          "default": {
            "threshold": null
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "PeakDetection",
      "type": "object"
    },
    "Peaks": {
      "additionalProperties": false,
      "properties": {
        "threshold": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Threshold"
        }
      },
      "title": "Peaks",
      "type": "object"
    },
    "Polynomial": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "fitMode": {
                "const": "anchor-ranges"
              }
            },
            "required": [
              "fitMode"
            ]
          },
          "then": {
            "properties": {
              "anchorRanges": {
                "minItems": 1
              }
            },
            "required": [
              "anchorRanges"
            ]
          }
        }
      ],
      "properties": {
        "anchorRanges": {
          "default": [],
          "items": {
            "$ref": "#/$defs/Range"
          },
          "maxItems": 64,
          "title": "Anchorranges",
          "type": "array"
        },
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "envelopePercentile": {
          "default": 10.0,
          "description": "Intensity percentile selected in each lower-envelope bin (0..100); ignored in anchor-ranges mode.",
          "maximum": 100,
          "minimum": 0,
          "title": "Envelopepercentile",
          "type": "number"
        },
        "envelopePointCount": {
          "default": 16,
          "description": "Requested number of coordinate bins for lower-envelope samples; ignored in anchor-ranges mode.",
          "minimum": 2,
          "title": "Envelopepointcount",
          "type": "integer"
        },
        "fitMode": {
          "default": "lower-envelope",
          "enum": [
            "anchor-ranges",
            "lower-envelope"
          ],
          "title": "Fitmode",
          "type": "string"
        },
        "order": {
          "default": 2,
          "maximum": 20,
          "minimum": 0,
          "title": "Order",
          "type": "integer"
        }
      },
      "title": "Polynomial",
      "type": "object"
    },
    "PolynomialBaselineRemoval": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "polynomial-baseline-removal",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "polynomial-baseline-removal-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Polynomial",
          "default": {
            "anchorRanges": [],
            "coordinateMode": "physical",
            "envelopePercentile": 10.0,
            "envelopePointCount": 16,
            "fitMode": "lower-envelope",
            "order": 2
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "PolynomialBaselineRemoval",
      "type": "object"
    },
    "Position": {
      "additionalProperties": false,
      "properties": {
        "x": {
          "title": "X",
          "type": "number"
        },
        "y": {
          "title": "Y",
          "type": "number"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "title": "Position",
      "type": "object"
    },
    "Prediction": {
      "additionalProperties": false,
      "properties": {
        "predictiveIntervals": {
          "default": [
            {
              "confidenceLevel": 95
            },
            {
              "confidenceLevel": 90
            },
            {
              "confidenceLevel": 75
            },
            {
              "confidenceLevel": 50
            }
          ],
          "items": {
            "$ref": "#/$defs/PredictiveInterval"
          },
          "maxItems": 4,
          "title": "Predictiveintervals",
          "type": "array",
          "uniqueItems": true
        }
      },
      "title": "Prediction",
      "type": "object"
    },
    "PredictiveInterval": {
      "additionalProperties": false,
      "properties": {
        "confidenceLevel": {
          "enum": [
            95,
            90,
            75,
            50
          ],
          "title": "Confidencelevel",
          "type": "integer"
        }
      },
      "required": [
        "confidenceLevel"
      ],
      "title": "PredictiveInterval",
      "type": "object"
    },
    "RamanNeuralNetworkCorrection": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "raman-neural-network-correction",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "raman-neural-network-correction-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Prediction",
          "default": {
            "predictiveIntervals": [
              {
                "confidenceLevel": 95
              },
              {
                "confidenceLevel": 90
              },
              {
                "confidenceLevel": 75
              },
              {
                "confidenceLevel": 50
              }
            ]
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "RamanNeuralNetworkCorrection",
      "type": "object"
    },
    "Range": {
      "additionalProperties": false,
      "properties": {
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        }
      },
      "required": [
        "minimumValue",
        "maximumValue"
      ],
      "title": "Range",
      "type": "object"
    },
    "Reduce": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "default": "mean",
          "enum": [
            "mean",
            "median"
          ],
          "title": "Method",
          "type": "string"
        }
      },
      "title": "Reduce",
      "type": "object"
    },
    "ReferenceInput": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "reference-input",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "reference-input-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/SourceParameters"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "ReferenceInput",
      "type": "object"
    },
    "SaveSelection": {
      "additionalProperties": false,
      "properties": {
        "members": {
          "const": "all",
          "default": "all",
          "title": "Members",
          "type": "string"
        }
      },
      "title": "SaveSelection",
      "type": "object"
    },
    "SavitzkyGolay": {
      "additionalProperties": false,
      "properties": {
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "derivativeOrder": {
          "default": 0,
          "enum": [
            0,
            1,
            2
          ],
          "title": "Derivativeorder",
          "type": "integer"
        },
        "polynomialOrder": {
          "default": 2,
          "minimum": 0,
          "title": "Polynomialorder",
          "type": "integer"
        },
        "windowSize": {
          "default": 7,
          "maximum": 999,
          "minimum": 3,
          "not": {
            "multipleOf": 2
          },
          "title": "Windowsize",
          "type": "integer"
        }
      },
      "title": "SavitzkyGolay",
      "type": "object"
    },
    "SavitzkyGolayFilter": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "savitzky-golay-filter",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "savitzky-golay-filter-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/SavitzkyGolay",
          "default": {
            "coordinateMode": "physical",
            "derivativeOrder": 0,
            "polynomialOrder": 2,
            "windowSize": 7
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "SavitzkyGolayFilter",
      "type": "object"
    },
    "SelectRange": {
      "additionalProperties": false,
      "properties": {
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        }
      },
      "required": [
        "minimumValue",
        "maximumValue"
      ],
      "title": "SelectRange",
      "type": "object"
    },
    "SourceAuthoringIntent": {
      "additionalProperties": false,
      "properties": {
        "dimensions": {
          "additionalProperties": {
            "enum": [
              "spectral",
              "y",
              "x",
              "time"
            ],
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensions",
          "type": "object"
        },
        "variable": {
          "default": "signal",
          "maxLength": 128,
          "minLength": 1,
          "title": "Variable",
          "type": "string"
        }
      },
      "title": "SourceAuthoringIntent",
      "type": "object"
    },
    "SourceParameters": {
      "additionalProperties": false,
      "properties": {
        "inputID": {
          "description": "Logical input alias matching the sourceBindings/context key, not an output selector or authorization grant.",
          "maxLength": 128,
          "minLength": 1,
          "title": "Inputid",
          "type": "string"
        }
      },
      "required": [
        "inputID"
      ],
      "title": "SourceParameters",
      "type": "object"
    },
    "SpectralCombine": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "spectral-combine",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "spectral-combine-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Empty",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "SpectralCombine",
      "type": "object"
    },
    "SpectralMask": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "spectral-mask",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "spectral-mask-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/SelectRange"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "SpectralMask",
      "type": "object"
    },
    "SpectralNormalization": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "spectral-normalization",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "spectral-normalization-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Normalize",
          "default": {
            "method": "max-abs"
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "SpectralNormalization",
      "type": "object"
    },
    "SpectralSplit": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "spectral-split",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "spectral-split-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Split",
          "default": {
            "regionCount": 2
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "SpectralSplit",
      "type": "object"
    },
    "Split": {
      "additionalProperties": false,
      "properties": {
        "regionCount": {
          "default": 2,
          "maximum": 128,
          "minimum": 2,
          "title": "Regioncount",
          "type": "integer"
        }
      },
      "title": "Split",
      "type": "object"
    },
    "SumGaussianShapes": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "sum-gaussian-shapes",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "sum-gaussian-shapes-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/Empty",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "SumGaussianShapes",
      "type": "object"
    },
    "ViewRequest": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "adapterID": {
                "const": "line"
              }
            },
            "required": [
              "adapterID"
            ]
          },
          "then": {
            "properties": {
              "adapterVersion": {
                "const": "line-v1"
              },
              "displayDimensions": {
                "maxItems": 1,
                "minItems": 1
              },
              "spectrumFeatureID": {
                "type": "null"
              },
              "windowDimension": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "adapterID": {
                "const": "grid"
              }
            },
            "required": [
              "adapterID"
            ]
          },
          "then": {
            "properties": {
              "adapterVersion": {
                "const": "grid-v1"
              },
              "displayDimensions": {
                "maxItems": 2,
                "minItems": 2
              },
              "selectionDimensions": {
                "maxItems": 0
              }
            }
          }
        },
        {
          "if": {
            "not": {
              "properties": {
                "projection": {
                  "type": "string"
                }
              },
              "required": [
                "projection"
              ]
            }
          },
          "then": {
            "properties": {
              "spatialDimensions": {
                "maxItems": 0
              },
              "spectralDimension": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "type": "string"
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "fixedIndices": {
                "maxProperties": 0
              },
              "relationshipIDs": {
                "maxItems": 0
              },
              "selectionDimensions": {
                "maxItems": 0
              },
              "spatialDimensions": {
                "maxItems": 2,
                "minItems": 2
              },
              "spectralDimension": {
                "type": "string"
              }
            },
            "required": [
              "spectralDimension",
              "spatialDimensions"
            ]
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "const": "pca-loadings"
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "adapterID": {
                "const": "line"
              },
              "spectrumFeatureID": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "enum": [
                  "mip",
                  "hsv-mip",
                  "umap-rgb",
                  "pca-scores"
                ]
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "adapterID": {
                "const": "grid"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "enum": [
                  "mip",
                  "hsv-mip",
                  "umap-rgb"
                ]
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "browse": {
                "maxProperties": 0
              },
              "windowDimension": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "enum": [
                  "pca-scores",
                  "pca-loadings"
                ]
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "browse": {
                "maxProperties": 1,
                "properties": {
                  "component": {
                    "properties": {
                      "coverage": {
                        "const": "all"
                      },
                      "initialIndex": {
                        "enum": [
                          null,
                          0
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "component"
                ]
              }
            },
            "required": [
              "browse"
            ]
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "const": "pca-scores"
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "windowDimension": {
                "const": "component"
              }
            },
            "required": [
              "windowDimension"
            ]
          }
        }
      ],
      "description": "Only line-v1 and grid-v1 are implemented. Each signal dimension must have exactly one role. Coordinate references must be numeric one-dimensional coordinates of the same member as signal. Projection display order, coordinate membership, relationship existence and source shape are semantic checks.",
      "properties": {
        "adapterID": {
          "enum": [
            "line",
            "grid"
          ],
          "title": "Adapterid",
          "type": "string"
        },
        "adapterVersion": {
          "enum": [
            "line-v1",
            "grid-v1"
          ],
          "title": "Adapterversion",
          "type": "string"
        },
        "browse": {
          "additionalProperties": {
            "$ref": "#/$defs/Browse"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Browse",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "$ref": "#/$defs/CoordinateReference"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "displayDimensions": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Displaydimensions",
          "type": "array",
          "uniqueItems": true
        },
        "featureID": {
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Featureid",
          "type": "string"
        },
        "fixedIndices": {
          "additionalProperties": {
            "minimum": 0,
            "type": "integer"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Fixedindices",
          "type": "object"
        },
        "label": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "projection": {
          "anyOf": [
            {
              "enum": [
                "mip",
                "hsv-mip",
                "umap-rgb",
                "pca-scores",
                "pca-loadings"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Projection"
        },
        "relationshipIDs": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Relationshipids",
          "type": "array"
        },
        "selectionDimensions": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Selectiondimensions",
          "type": "array",
          "uniqueItems": true
        },
        "shortLabel": {
          "anyOf": [
            {
              "maxLength": 80,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Shortlabel"
        },
        "signal": {
          "$ref": "#/$defs/ArrayReference"
        },
        "spatialDimensions": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Spatialdimensions",
          "type": "array",
          "uniqueItems": true
        },
        "spectralDimension": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectraldimension"
        },
        "spectrumFeatureID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectrumfeatureid"
        },
        "windowDimension": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Windowdimension"
        }
      },
      "required": [
        "featureID",
        "adapterID",
        "adapterVersion",
        "signal",
        "displayDimensions"
      ],
      "title": "ViewRequest",
      "type": "object"
    },
    "Window": {
      "additionalProperties": false,
      "properties": {
        "windowSize": {
          "default": 3,
          "maximum": 999,
          "minimum": 1,
          "not": {
            "multipleOf": 2
          },
          "title": "Windowsize",
          "type": "integer"
        }
      },
      "title": "Window",
      "type": "object"
    },
    "WorkflowAuthoring": {
      "additionalProperties": false,
      "properties": {
        "axisAssignments": {
          "additionalProperties": {
            "$ref": "#/$defs/AxisAssignment"
          },
          "default": {},
          "description": "Input aliases mapped to canonical coordinate assignments; graph topology is authoritative.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Axisassignments",
          "type": "object"
        },
        "axisSignalFlips": {
          "additionalProperties": {
            "$ref": "#/$defs/AxisAssignment"
          },
          "default": {},
          "description": "Input aliases mapped to reviewed coordinate-and-signal flips after axis assignment; distinct from coordinate-only orientation.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Axissignalflips",
          "type": "object"
        },
        "generatedFeatures": {
          "additionalProperties": {
            "items": {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            "type": "array"
          },
          "default": {},
          "description": "Output node IDs mapped to feature IDs explicitly authorized for generated conditioning; omission generates nothing.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Generatedfeatures",
          "type": "object"
        },
        "generatedRequests": {
          "additionalProperties": {
            "$ref": "#/$defs/GeneratedExplorationRequests"
          },
          "default": {},
          "description": "Declared generated prototypes retained across capability omissions and repeated compilation.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Generatedrequests",
          "type": "object"
        },
        "inputs": {
          "additionalProperties": {
            "$ref": "#/$defs/SourceAuthoringIntent"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Inputs",
          "type": "object"
        },
        "outputProfiles": {
          "additionalProperties": {
            "const": "exploration",
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Outputprofiles",
          "type": "object"
        },
        "resolvedInputs": {
          "additionalProperties": {
            "$ref": "#/$defs/SourceAuthoringIntent"
          },
          "default": {},
          "description": "Previous compiled native bindings used for recompilation; inputs retains the original authoring intent.",
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Resolvedinputs",
          "type": "object"
        },
        "version": {
          "const": "workflow-authoring-v1",
          "default": "workflow-authoring-v1",
          "title": "Version",
          "type": "string"
        }
      },
      "title": "WorkflowAuthoring",
      "type": "object"
    },
    "harkana_dataset__operation_parameters__CoordinateAlign": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "default": "exact-reindex",
          "enum": [
            "exact-reindex",
            "linear"
          ],
          "title": "Method",
          "type": "string"
        },
        "outOfRange": {
          "default": "error",
          "enum": [
            "error",
            "nan"
          ],
          "title": "Outofrange",
          "type": "string"
        }
      },
      "title": "CoordinateAlign",
      "type": "object"
    },
    "harkana_dataset__operation_parameters__CosmicSpikeRemoval": {
      "additionalProperties": false,
      "properties": {
        "maxWidth": {
          "default": 2,
          "description": "Maximum impulse width in samples, not physical coordinate units; only 1 or 2 is implemented.",
          "maximum": 2,
          "minimum": 1,
          "title": "Maxwidth",
          "type": "integer"
        },
        "threshold": {
          "default": 8.0,
          "description": "Multiplier of the robust first-difference scale; larger values remove fewer candidate spikes.",
          "exclusiveMinimum": 0,
          "title": "Threshold",
          "type": "number"
        }
      },
      "title": "CosmicSpikeRemoval",
      "type": "object"
    },
    "harkana_dataset__operation_parameters__InsertSpectralAxis": {
      "additionalProperties": false,
      "properties": {
        "orientation": {
          "default": "source",
          "enum": [
            "source",
            "reversed"
          ],
          "title": "Orientation",
          "type": "string"
        }
      },
      "title": "InsertSpectralAxis",
      "type": "object"
    },
    "harkana_dataset__operation_parameters__RangeIntegrate": {
      "additionalProperties": false,
      "properties": {
        "coordinateMode": {
          "default": "physical",
          "enum": [
            "physical",
            "index"
          ],
          "title": "Coordinatemode",
          "type": "string"
        },
        "ranges": {
          "items": {
            "$ref": "#/$defs/IntegrationBand"
          },
          "maxItems": 64,
          "minItems": 1,
          "title": "Ranges",
          "type": "array"
        }
      },
      "required": [
        "ranges"
      ],
      "title": "RangeIntegrate",
      "type": "object"
    },
    "harkana_dataset__operation_parameters__ReferenceArithmetic": {
      "additionalProperties": false,
      "properties": {
        "broadcastDimensions": {
          "default": [],
          "items": {
            "type": "string"
          },
          "maxItems": 16,
          "title": "Broadcastdimensions",
          "type": "array",
          "uniqueItems": true
        },
        "operation": {
          "enum": [
            "add",
            "subtract",
            "multiply",
            "divide"
          ],
          "title": "Operation",
          "type": "string"
        },
        "zeroPolicy": {
          "default": "nan",
          "enum": [
            "nan",
            "error"
          ],
          "title": "Zeropolicy",
          "type": "string"
        }
      },
      "required": [
        "operation"
      ],
      "title": "ReferenceArithmetic",
      "type": "object"
    },
    "harkana_dataset__workflow_contract__CoordinateAlign": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "coordinate-align",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "coordinate-align-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/harkana_dataset__operation_parameters__CoordinateAlign",
          "default": {
            "method": "exact-reindex",
            "outOfRange": "error"
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "CoordinateAlign",
      "type": "object"
    },
    "harkana_dataset__workflow_contract__CosmicSpikeRemoval": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "cosmic-spike-removal",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "cosmic-spike-removal-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/harkana_dataset__operation_parameters__CosmicSpikeRemoval",
          "default": {
            "maxWidth": 2,
            "threshold": 8.0
          }
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "CosmicSpikeRemoval",
      "type": "object"
    },
    "harkana_dataset__workflow_contract__InsertSpectralAxis": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "insert-spectral-axis",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "insert-spectral-axis-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/harkana_dataset__operation_parameters__InsertSpectralAxis",
          "default": {}
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion"
      ],
      "title": "InsertSpectralAxis",
      "type": "object"
    },
    "harkana_dataset__workflow_contract__RangeIntegrate": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "range-integrate",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "range-integrate-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/harkana_dataset__operation_parameters__RangeIntegrate"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "RangeIntegrate",
      "type": "object"
    },
    "harkana_dataset__workflow_contract__ReferenceArithmetic": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Displayname"
        },
        "nodeID": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Nodeid",
          "type": "string"
        },
        "nodeType": {
          "const": "reference-arithmetic",
          "title": "Nodetype",
          "type": "string"
        },
        "nodeVersion": {
          "const": "reference-arithmetic-v2",
          "title": "Nodeversion",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/harkana_dataset__operation_parameters__ReferenceArithmetic"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/Position"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "nodeID",
        "nodeType",
        "nodeVersion",
        "parameters"
      ],
      "title": "ReferenceArithmetic",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "phase": {
            "const": "postprocessing"
          }
        },
        "required": [
          "phase"
        ]
      },
      "then": {
        "properties": {
          "authoring": {
            "type": "null"
          }
        }
      }
    }
  ],
  "properties": {
    "authoring": {
      "anyOf": [
        {
          "$ref": "#/$defs/WorkflowAuthoring"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "description": {
      "default": "",
      "maxLength": 4000,
      "title": "Description",
      "type": "string"
    },
    "edges": {
      "items": {
        "$ref": "#/$defs/Edge"
      },
      "title": "Edges",
      "type": "array"
    },
    "friendlyName": {
      "maxLength": 200,
      "minLength": 1,
      "title": "Friendlyname",
      "type": "string"
    },
    "nodes": {
      "items": {
        "discriminator": {
          "mapping": {
            "analysis-output": "#/$defs/AnalysisOutput",
            "cars-bg-nrb-ratio": "#/$defs/CarsBgNrbRatio",
            "cars-mem-raman-retrieval": "#/$defs/CarsMemRamanRetrieval",
            "cars-neural-network-prediction": "#/$defs/CarsNeuralNetworkPrediction",
            "constant-baseline-removal": "#/$defs/Baseline",
            "coordinate-align": "#/$defs/harkana_dataset__workflow_contract__CoordinateAlign",
            "cosmic-spike-removal": "#/$defs/harkana_dataset__workflow_contract__CosmicSpikeRemoval",
            "dataset-input": "#/$defs/DatasetInput",
            "dimension-flip": "#/$defs/DimensionFlip",
            "dimension-index-select": "#/$defs/DimensionIndexSelect",
            "dimension-range-select": "#/$defs/DimensionRangeSelect",
            "dimension-reduce": "#/$defs/DimensionReduce",
            "gaussian-filter": "#/$defs/GaussianFilter",
            "gaussian-mixture-fit": "#/$defs/GaussianMixtureFit",
            "gaussian-process-regression": "#/$defs/GaussianProcessRegression",
            "gaussian-shape-fit": "#/$defs/GaussianShapeFit",
            "insert-spectral-axis": "#/$defs/harkana_dataset__workflow_contract__InsertSpectralAxis",
            "local-mean": "#/$defs/LocalMean",
            "median-filter": "#/$defs/MedianFilter",
            "peak-detection": "#/$defs/PeakDetection",
            "polynomial-baseline-removal": "#/$defs/PolynomialBaselineRemoval",
            "raman-neural-network-correction": "#/$defs/RamanNeuralNetworkCorrection",
            "range-integrate": "#/$defs/harkana_dataset__workflow_contract__RangeIntegrate",
            "reference-arithmetic": "#/$defs/harkana_dataset__workflow_contract__ReferenceArithmetic",
            "reference-input": "#/$defs/ReferenceInput",
            "savitzky-golay-filter": "#/$defs/SavitzkyGolayFilter",
            "spectral-combine": "#/$defs/SpectralCombine",
            "spectral-mask": "#/$defs/SpectralMask",
            "spectral-normalization": "#/$defs/SpectralNormalization",
            "spectral-split": "#/$defs/SpectralSplit",
            "sum-gaussian-shapes": "#/$defs/SumGaussianShapes"
          },
          "propertyName": "nodeType"
        },
        "oneOf": [
          {
            "$ref": "#/$defs/DatasetInput"
          },
          {
            "$ref": "#/$defs/ReferenceInput"
          },
          {
            "$ref": "#/$defs/Baseline"
          },
          {
            "$ref": "#/$defs/AnalysisOutput"
          },
          {
            "$ref": "#/$defs/harkana_dataset__workflow_contract__ReferenceArithmetic"
          },
          {
            "$ref": "#/$defs/harkana_dataset__workflow_contract__RangeIntegrate"
          },
          {
            "$ref": "#/$defs/harkana_dataset__workflow_contract__CosmicSpikeRemoval"
          },
          {
            "$ref": "#/$defs/GaussianProcessRegression"
          },
          {
            "$ref": "#/$defs/GaussianShapeFit"
          },
          {
            "$ref": "#/$defs/GaussianMixtureFit"
          },
          {
            "$ref": "#/$defs/SumGaussianShapes"
          },
          {
            "$ref": "#/$defs/PeakDetection"
          },
          {
            "$ref": "#/$defs/CarsNeuralNetworkPrediction"
          },
          {
            "$ref": "#/$defs/RamanNeuralNetworkCorrection"
          },
          {
            "$ref": "#/$defs/harkana_dataset__workflow_contract__InsertSpectralAxis"
          },
          {
            "$ref": "#/$defs/harkana_dataset__workflow_contract__CoordinateAlign"
          },
          {
            "$ref": "#/$defs/SpectralCombine"
          },
          {
            "$ref": "#/$defs/LocalMean"
          },
          {
            "$ref": "#/$defs/MedianFilter"
          },
          {
            "$ref": "#/$defs/GaussianFilter"
          },
          {
            "$ref": "#/$defs/SavitzkyGolayFilter"
          },
          {
            "$ref": "#/$defs/PolynomialBaselineRemoval"
          },
          {
            "$ref": "#/$defs/SpectralNormalization"
          },
          {
            "$ref": "#/$defs/DimensionFlip"
          },
          {
            "$ref": "#/$defs/DimensionRangeSelect"
          },
          {
            "$ref": "#/$defs/DimensionIndexSelect"
          },
          {
            "$ref": "#/$defs/DimensionReduce"
          },
          {
            "$ref": "#/$defs/SpectralMask"
          },
          {
            "$ref": "#/$defs/SpectralSplit"
          },
          {
            "$ref": "#/$defs/CarsBgNrbRatio"
          },
          {
            "$ref": "#/$defs/CarsMemRamanRetrieval"
          }
        ]
      },
      "minItems": 1,
      "title": "Nodes",
      "type": "array"
    },
    "phase": {
      "default": "upload",
      "enum": [
        "upload",
        "postprocessing"
      ],
      "title": "Phase",
      "type": "string"
    },
    "version": {
      "const": "processing-workflow-v2",
      "title": "Version",
      "type": "string"
    },
    "workflowHash": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workflowhash"
    },
    "workflowID": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workflowid"
    }
  },
  "required": [
    "version",
    "friendlyName",
    "nodes",
    "edges"
  ],
  "title": "Workflow",
  "type": "object"
}
