# HARKANA Processing Nodes

Exact serialization is defined by processing-workflow.schema.json. Parameters and input requirements below are generated from the implemented catalog.

## Uploaded dataset

`dataset-input` / `dataset-input-v2`

Preserve all selected source variables, dimensions and coordinates; no implicit axis projection.

### Inputs and outputs

- output `dataset`: Uploaded dataset ({"collection": false, "editorVisibility": "default", "label": "Uploaded dataset", "name": "dataset", "preservesDimensions": true, "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "source", "valueKind": "dataset"}, "shortLabel": "Uploaded dataset", "valueKind": "dataset"})

### Parameters

```json

{
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "inputID": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "use-reviewed-source-alias",
      "askUserWhenMissing": false,
      "description": "Logical input alias matching the sourceBindings/context key, not an output selector or authorization grant."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Resolve a named uploaded Dataset source.",
  "description": "Preserve all selected source variables, dimensions and coordinates; no implicit axis projection.",
  "axisBehavior": "Preserve coordinate values and dimension extents.",
  "shapeBehavior": "No rank reduction or synthetic dimensions.",
  "resourceBehavior": "Bounded reads; output persistence streams into owned local storage.",
  "failureConditions": "Source resolver must authorize the alias and return a Dataset with resolvable import lineage.",
  "inputSemantics": "Bind actual reviewed input aliases, members and source dimension/coordinate identifiers.",
  "outputSemantics": "Result structure and member selectors are defined by outputs.resultSchema.",
  "parameterSemantics": "Use parametersSchema, authoring defaults and listed semantic checks."
}

```

## Reference file

`reference-input` / `reference-input-v2`

Use the same Dataset boundary as measurement inputs; missing references are errors, not zero vectors.

### Inputs and outputs

- output `reference`: Reference data ({"collection": false, "editorVisibility": "default", "label": "Reference data", "name": "reference", "preservesDimensions": true, "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "source", "valueKind": "dataset"}, "shortLabel": "Reference data", "valueKind": "dataset"})

### Parameters

```json

{
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "inputID": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "use-reviewed-source-alias",
      "askUserWhenMissing": false,
      "description": "Logical input alias matching the sourceBindings/context key, not an output selector or authorization grant."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Resolve a named reference Dataset source.",
  "description": "Use the same Dataset boundary as measurement inputs; missing references are errors, not zero vectors.",
  "axisBehavior": "Preserve coordinate values and dimension extents.",
  "shapeBehavior": "No rank reduction or synthetic dimensions.",
  "resourceBehavior": "Bounded reads; output persistence streams into owned local storage.",
  "failureConditions": "Source authorization, availability and Dataset validation must succeed.",
  "inputSemantics": "Bind actual reviewed input aliases, members and source dimension/coordinate identifiers.",
  "outputSemantics": "Result structure and member selectors are defined by outputs.resultSchema.",
  "parameterSemantics": "Use parametersSchema, authoring defaults and listed semantic checks."
}

```

## Constant baseline removal

`constant-baseline-removal` / `constant-baseline-removal-v1`

Apply the existing baseline kernel to one selected float32 variable, batching all other dimensions.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Baseline-corrected dataset ({"collection": false, "editorVisibility": "default", "label": "Baseline-corrected dataset", "name": "result", "preservesDimensions": true, "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Baseline-corrected dataset", "valueKind": "dataset"})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {},
  "title": "EmptyParameters",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {},
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Subtract the finite minimum independently along a selected dimension.",
  "description": "Apply the existing baseline kernel to one selected float32 variable, batching all other dimensions.",
  "axisBehavior": "Preserve coordinate values and dimension extents.",
  "shapeBehavior": "No rank reduction or synthetic dimensions.",
  "resourceBehavior": "Bounded reads; output persistence streams into owned local storage.",
  "failureConditions": "Select a unique signal/dimension/coordinate binding; the complete core dimension must fit the block budget.",
  "formulas": [
    {
      "latex": "y_i=x_i-\\min_{j:\\,x_j\\,\\mathrm{finite}}x_j",
      "description": "Independent finite-min subtraction; missing values retain their positions."
    }
  ],
  "inputSemantics": "Bind actual reviewed input aliases, members and source dimension/coordinate identifiers.",
  "outputSemantics": "Result structure and member selectors are defined by outputs.resultSchema.",
  "parameterSemantics": "Use parametersSchema, authoring defaults and listed semantic checks."
}

```

### Bindings

```json

{
  "dataset": {
    "dtype": "float32",
    "variable": "explicit-or-primary",
    "dimensions": {
      "spectral": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "spectral"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "BaselineBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "spectral": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Save result

`analysis-output` / `analysis-output-v2`

Own an independent copy of arrays and lineage; views and analyses may be empty. A PCA/RPCA analysis fits once and prepares a paired score image and spectral loadings feature.

### Inputs and outputs

- input `primary`: Result ({"acceptedValueKinds": ["dataset", "surface", "collection"], "consumption": "dataset", "label": "Result", "maxConnections": 1, "minConnections": 1, "name": "primary", "required": true, "shortLabel": "Result"})

- output `result`: Saved result ({"collectionPolicy": "same-as-input", "editorVisibility": "default", "label": "Saved result", "name": "result", "preservesDimensions": true, "resultSchema": {"inputPort": "primary", "preservesMembers": true, "preservesRelationships": true, "valueKind": "same-as-input"}, "shortLabel": "Saved result", "valueKind": "same-as-input"})

### Parameters

```json

{
  "$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"
    },
    "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"
    },
    "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"
    },
    "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": {
        "mode": {
          "default": "count",
          "enum": [
            "count",
            "variance"
          ],
          "title": "Mode",
          "type": "string"
        },
        "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"
        }
      },
      "title": "ComponentSelection",
      "type": "object"
    },
    "CoordinateReference": {
      "additionalProperties": false,
      "properties": {
        "memberID": {
          "default": "dataset",
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Memberid",
          "type": "string"
        },
        "coordinate": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Coordinate",
          "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"
    },
    "DecompositionRequest": {
      "additionalProperties": false,
      "properties": {
        "analysisID": {
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Analysisid",
          "type": "string"
        },
        "method": {
          "enum": [
            "pca",
            "rpca"
          ],
          "title": "Method",
          "type": "string"
        },
        "signal": {
          "$ref": "#/$defs/ArrayReference"
        },
        "spectralDimension": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Spectraldimension",
          "type": "string"
        },
        "spatialDimensions": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 2,
          "minItems": 2,
          "title": "Spatialdimensions",
          "type": "array",
          "uniqueItems": true
        },
        "coordinates": {
          "additionalProperties": {
            "$ref": "#/$defs/CoordinateReference"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "spectrumFeatureID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectrumfeatureid"
        },
        "componentSelection": {
          "$ref": "#/$defs/ComponentSelection",
          "default": {
            "mode": "count",
            "count": 10,
            "cumulativeRatio": null,
            "maxComponents": null
          }
        },
        "scores": {
          "$ref": "#/$defs/AnalysisFeature"
        },
        "loadings": {
          "$ref": "#/$defs/AnalysisFeature"
        }
      },
      "required": [
        "analysisID",
        "method",
        "signal",
        "spectralDimension",
        "spatialDimensions",
        "scores",
        "loadings"
      ],
      "title": "DecompositionRequest",
      "type": "object"
    },
    "SaveSelection": {
      "additionalProperties": false,
      "properties": {
        "members": {
          "const": "all",
          "default": "all",
          "title": "Members",
          "type": "string"
        }
      },
      "title": "SaveSelection",
      "type": "object"
    },
    "ViewRequest": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "properties": {
              "adapterID": {
                "const": "line"
              }
            },
            "required": [
              "adapterID"
            ]
          },
          "then": {
            "properties": {
              "adapterVersion": {
                "const": "line-v1"
              },
              "displayDimensions": {
                "maxItems": 1,
                "minItems": 1
              },
              "windowDimension": {
                "type": "null"
              },
              "spectrumFeatureID": {
                "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": {
              "spectralDimension": {
                "type": "null"
              },
              "spatialDimensions": {
                "maxItems": 0
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "projection": {
                "type": "string"
              }
            },
            "required": [
              "projection"
            ]
          },
          "then": {
            "properties": {
              "spectralDimension": {
                "type": "string"
              },
              "spatialDimensions": {
                "maxItems": 2,
                "minItems": 2
              },
              "fixedIndices": {
                "maxProperties": 0
              },
              "selectionDimensions": {
                "maxItems": 0
              },
              "relationshipIDs": {
                "maxItems": 0
              }
            },
            "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": {
        "featureID": {
          "pattern": "^[A-Za-z0-9_-]{1,128}$",
          "title": "Featureid",
          "type": "string"
        },
        "label": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "shortLabel": {
          "anyOf": [
            {
              "maxLength": 80,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Shortlabel"
        },
        "spectrumFeatureID": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z0-9_-]{1,128}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectrumfeatureid"
        },
        "adapterID": {
          "enum": [
            "line",
            "grid"
          ],
          "title": "Adapterid",
          "type": "string"
        },
        "adapterVersion": {
          "enum": [
            "line-v1",
            "grid-v1"
          ],
          "title": "Adapterversion",
          "type": "string"
        },
        "projection": {
          "anyOf": [
            {
              "enum": [
                "mip",
                "hsv-mip",
                "umap-rgb",
                "pca-scores",
                "pca-loadings"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Projection"
        },
        "spectralDimension": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spectraldimension"
        },
        "spatialDimensions": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Spatialdimensions",
          "type": "array",
          "uniqueItems": true
        },
        "signal": {
          "$ref": "#/$defs/ArrayReference"
        },
        "displayDimensions": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Displaydimensions",
          "type": "array",
          "uniqueItems": true
        },
        "browse": {
          "additionalProperties": {
            "$ref": "#/$defs/Browse"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Browse",
          "type": "object"
        },
        "windowDimension": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Windowdimension"
        },
        "fixedIndices": {
          "additionalProperties": {
            "minimum": 0,
            "type": "integer"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Fixedindices",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "$ref": "#/$defs/CoordinateReference"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "selectionDimensions": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Selectiondimensions",
          "type": "array",
          "uniqueItems": true
        },
        "relationshipIDs": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Relationshipids",
          "type": "array"
        }
      },
      "required": [
        "featureID",
        "adapterID",
        "adapterVersion",
        "signal",
        "displayDimensions"
      ],
      "title": "ViewRequest",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "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"
    },
    "analyses": {
      "default": [],
      "items": {
        "$ref": "#/$defs/DecompositionRequest"
      },
      "title": "Analyses",
      "type": "array"
    }
  },
  "required": [
    "friendlyName"
  ],
  "title": "OutputParameters",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "friendlyName": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "generate-descriptive-name",
      "askUserWhenMissing": false
    },
    "outputID": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "backend",
      "missingValueBehavior": "omit-backend-generated",
      "askUserWhenMissing": false,
      "defaultValue": null
    },
    "save": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": {
        "members": "all"
      },
      "nestedModels": {
        "SaveSelection": {
          "parameters": {
            "members": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": "all"
            }
          },
          "semanticChecks": []
        }
      }
    },
    "views": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [],
      "nestedModels": {
        "ViewRequest": {
          "parameters": {
            "featureID": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            },
            "label": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "shortLabel": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "spectrumFeatureID": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "adapterID": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "adapterVersion": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "projection": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "spectralDimension": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "spatialDimensions": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": []
            },
            "signal": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true,
              "nestedModels": {
                "ArrayReference": {
                  "parameters": {
                    "memberID": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "dataset"
                    },
                    "variable": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "ask-user",
                      "askUserWhenMissing": true
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "displayDimensions": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "browse": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {},
              "nestedModels": {
                "Browse": {
                  "parameters": {
                    "coverage": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "all",
                      "nestedModels": {
                        "Coverage": {
                          "parameters": {
                            "start": {
                              "requiredInDocument": true,
                              "defaultAppliedWhenOmitted": false,
                              "generatedBy": "author",
                              "missingValueBehavior": "ask-user",
                              "askUserWhenMissing": true
                            },
                            "stop": {
                              "requiredInDocument": true,
                              "defaultAppliedWhenOmitted": false,
                              "generatedBy": "author",
                              "missingValueBehavior": "ask-user",
                              "askUserWhenMissing": true
                            }
                          },
                          "semanticChecks": []
                        }
                      }
                    },
                    "initialIndex": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "windowDimension": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "fixedIndices": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {}
            },
            "coordinates": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {},
              "nestedModels": {
                "CoordinateReference": {
                  "parameters": {
                    "memberID": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "dataset"
                    },
                    "coordinate": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "ask-user",
                      "askUserWhenMissing": true
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "selectionDimensions": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": []
            },
            "relationshipIDs": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": []
            }
          },
          "semanticChecks": []
        }
      }
    },
    "analyses": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [],
      "nestedModels": {
        "DecompositionRequest": {
          "parameters": {
            "analysisID": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            },
            "method": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "signal": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true,
              "nestedModels": {
                "ArrayReference": {
                  "parameters": {
                    "memberID": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "dataset"
                    },
                    "variable": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "ask-user",
                      "askUserWhenMissing": true
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "spectralDimension": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "spatialDimensions": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "coordinates": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {},
              "nestedModels": {
                "CoordinateReference": {
                  "parameters": {
                    "memberID": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "dataset"
                    },
                    "coordinate": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "ask-user",
                      "askUserWhenMissing": true
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "spectrumFeatureID": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null
            },
            "componentSelection": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {
                "mode": "count",
                "count": 10,
                "cumulativeRatio": null,
                "maxComponents": null
              },
              "nestedModels": {
                "ComponentSelection": {
                  "parameters": {
                    "mode": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "count"
                    },
                    "count": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null,
                      "defaultStrategy": "count mode: omitted or null becomes 10; variance mode: omit count"
                    },
                    "cumulativeRatio": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null,
                      "requiredWhen": {
                        "mode": "variance"
                      },
                      "missingValueBehaviorWhenRequired": "ask-user"
                    },
                    "maxComponents": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "scores": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true,
              "nestedModels": {
                "AnalysisFeature": {
                  "parameters": {
                    "featureID": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false
                    },
                    "label": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false
                    },
                    "shortLabel": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false,
                      "defaultValue": null
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "loadings": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true,
              "nestedModels": {
                "AnalysisFeature": {
                  "parameters": {
                    "featureID": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false
                    },
                    "label": {
                      "requiredInDocument": true,
                      "defaultAppliedWhenOmitted": false,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false
                    },
                    "shortLabel": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "generate-descriptive-name",
                      "askUserWhenMissing": false,
                      "defaultValue": null
                    }
                  },
                  "semanticChecks": []
                }
              }
            }
          },
          "semanticChecks": []
        }
      }
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Save a complete Dataset and prepare requested views and analyses.",
  "description": "Own an independent copy of arrays and lineage; views and analyses may be empty. A PCA/RPCA analysis fits once and prepares a paired score image and spectral loadings feature.",
  "axisBehavior": "Preserve coordinate values and dimension extents.",
  "shapeBehavior": "No rank reduction or synthetic dimensions.",
  "resourceBehavior": "Bounded reads; output persistence streams into owned local storage.",
  "failureConditions": "Dataset persistence failure fails the node; failed view or analysis preparation leaves saved data available.",
  "inputSemantics": "Bind actual reviewed input aliases, members and source dimension/coordinate identifiers.",
  "outputSemantics": "Result structure and member selectors are defined by outputs.resultSchema.",
  "parameterSemantics": "Use parametersSchema, authoring defaults and listed semantic checks."
}

```

### Bindings

```json

{
  "primary": {
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "default": null,
          "title": "Variable",
          "type": "null"
        },
        "dimensions": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "title": "WholeMemberBinding",
      "type": "object"
    },
    "bindingExample": {},
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ]
  }
}

```

## Reference arithmetic

`reference-arithmetic` / `reference-arithmetic-v2`

Apply add, subtract, multiply or divide to aligned real-valued signals. Shared numeric coordinates must agree; no implicit interpolation. Only explicitly listed missing reference dimensions broadcast. Known signal units must match for add/subtract; unknown or composite units are not invented. Division by zero follows zeroPolicy.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- input `reference`: Reference data ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Reference data", "maxConnections": 1, "minConnections": 1, "name": "reference", "required": true, "shortLabel": "Reference data"})

- output `result`: Result ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Result", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Result", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "operation": {
      "enum": [
        "add",
        "subtract",
        "multiply",
        "divide"
      ],
      "title": "Operation",
      "type": "string"
    },
    "broadcastDimensions": {
      "default": [],
      "items": {
        "type": "string"
      },
      "maxItems": 16,
      "title": "Broadcastdimensions",
      "type": "array",
      "uniqueItems": true
    },
    "zeroPolicy": {
      "default": "nan",
      "enum": [
        "nan",
        "error"
      ],
      "title": "Zeropolicy",
      "type": "string"
    }
  },
  "required": [
    "operation"
  ],
  "title": "ReferenceArithmetic",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "operation": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    },
    "broadcastDimensions": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": []
    },
    "zeroPolicy": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "nan"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Apply explicit pointwise arithmetic between a Dataset signal and an aligned reference.",
  "description": "Apply add, subtract, multiply or divide to aligned real-valued signals. Shared numeric coordinates must agree; no implicit interpolation. Only explicitly listed missing reference dimensions broadcast. Known signal units must match for add/subtract; unknown or composite units are not invented. Division by zero follows zeroPolicy.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve the dataset grid; reference dimensions may broadcast only when explicitly listed.",
  "shapeBehavior": "Preserve the dataset grid; reference dimensions may broadcast only when explicitly listed.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve the dataset grid; reference dimensions may broadcast only when explicitly listed.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y=a\\mathbin{\\circ}b,\\quad \\circ\\in\\{+,-,\\times,\\div\\}",
      "description": "Apply add, subtract, multiply or divide to aligned real-valued signals. Shared numeric coordinates must agree; no implicit interpolation. Only explicitly listed missing reference dimensions broadcast. Known signal units must match for add/subtract; unknown or composite units are not invented. Division by zero follows zeroPolicy."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "dtype": "float32",
    "coordinates": {
      "requiredForEverySharedDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numericTolerance": {
        "rtol": 1e-07,
        "atol": 1e-08
      }
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  },
  "reference": {
    "variable": "explicit-or-primary",
    "dtype": "float32",
    "coordinates": {
      "requiredForEverySharedDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numericTolerance": {
        "rtol": 1e-07,
        "atol": 1e-08
      }
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Integrate ranges

`range-integrate` / `range-integrate-v2`

Trapezoidal integration on each authored closed interval with interpolated boundaries. The selected physical coordinate or sample index must be finite and strictly monotonic; descending axes produce positive area for positive signals. Missing contributing samples propagate. Bands retain authored order and IDs.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Integrated bands ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "replace-dimension", "editorVisibility": "default", "label": "Integrated bands", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"coordinateDtype": "int32", "dimension": "integrationBand", "primaryVariablePolicy": "selected-variable", "replacedDimension": "bound-dimension", "shapePolicy": "integration-bands", "sizeParameter": "ranges", "valueKind": "dataset"}, "shortLabel": "Integrated bands", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "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"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        }
      },
      "required": [
        "bandID",
        "label",
        "minimumValue",
        "maximumValue"
      ],
      "title": "IntegrationBand",
      "type": "object"
    }
  },
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    },
    "ranges": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true,
      "nestedModels": {
        "IntegrationBand": {
          "parameters": {
            "bandID": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            },
            "label": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            },
            "minimumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "maximumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            }
          },
          "semanticChecks": [
            "minimumValue < maximumValue"
          ]
        }
      }
    }
  },
  "semanticChecks": [
    "bandID values must be unique"
  ]
}

```

### Scientific behavior

```json

{
  "summary": "Integrate configured closed coordinate ranges into a named band dimension.",
  "description": "Trapezoidal integration on each authored closed interval with interpolated boundaries. The selected physical coordinate or sample index must be finite and strictly monotonic; descending axes produce positive area for positive signals. Missing contributing samples propagate. Bands retain authored order and IDs.",
  "dimensionEffect": "replace-dimension",
  "axisBehavior": "Replace the integrated axis with an ordered integrationBand dimension; preserve other axes.",
  "shapeBehavior": "Replace the integrated axis with an ordered integrationBand dimension; preserve other axes.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Replace the integrated axis with an ordered integrationBand dimension; preserve other axes.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "A_k=\\int_{a_k}^{b_k}I(x)\\,dx\\ \\text{(piecewise-linear trapezoids)}",
      "description": "Trapezoidal integration on each authored closed interval with interpolated boundaries. The selected physical coordinate or sample index must be finite and strictly monotonic; descending axes produce positive area for positive signals. Missing contributing samples propagate. Bands retain authored order and IDs."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Other variables using the removed dimension and an existing integrationBand dimension are rejected",
      "Closed ranges require at least two samples and strictly monotonic finite operated coordinates"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Remove cosmic spikes

`cosmic-spike-removal` / `cosmic-spike-removal-v2`

Detect positive isolated one- or two-sample impulses from robust first differences along the authored axis and interpolate between clean neighbors. NaN-containing lines and endpoints remain unchanged. A true narrow peak can resemble a spike and be removed; inspect the mask before scientific use. The primary corrected Dataset and secondary uint8 spikeMask Dataset share axes; only the corrected Dataset feeds downstream nodes by default.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Spike-corrected dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Spike-corrected dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"maxMembers": 128, "memberOverrides": {"spikeMask": {"coordinates": "source", "dimensions": "source", "primaryVariable": "mask", "variables": {"mask": "uint8"}}}, "memberTemplates": ["corrected", "spikeMask"], "primaryMemberID": "corrected", "shapePolicy": "preserved", "signalDtype": "float32", "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Spike-corrected dataset", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "threshold": {
      "default": 8.0,
      "description": "Multiplier of the robust first-difference scale; larger values remove fewer candidate spikes.",
      "exclusiveMinimum": 0,
      "title": "Threshold",
      "type": "number"
    },
    "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"
    }
  },
  "title": "CosmicSpikeRemoval",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "threshold": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 8.0,
      "description": "Multiplier of the robust first-difference scale; larger values remove fewer candidate spikes."
    },
    "maxWidth": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 2,
      "description": "Maximum impulse width in samples, not physical coordinate units; only 1 or 2 is implemented."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Remove conservative narrow positive spikes and retain an inspectable spike mask.",
  "description": "Detect positive isolated one- or two-sample impulses from robust first differences along the authored axis and interpolate between clean neighbors. NaN-containing lines and endpoints remain unchanged. A true narrow peak can resemble a spike and be removed; inspect the mask before scientific use. The primary corrected Dataset and secondary uint8 spikeMask Dataset share axes; only the corrected Dataset feeds downstream nodes by default.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all axes; return corrected primary and a mask-only secondary member.",
  "shapeBehavior": "Preserve all axes; return corrected primary and a mask-only secondary member.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Gaussian process regression

`gaussian-process-regression` / `gaussian-process-regression-v2`

Fit a Matérn-5/2 or RBF GP using BBMM, variational inference, or overlapping local fits. fitScope defaults to independent. Advanced shared-hyperparameters scope uses a joint BBMM likelihood for at least two complete 1D grid signals: one kernel, output scale, and noise are estimated across signals, while each signal has its own mean and posterior curve. Shared scope rejects scattered/grouped geometry, missing samples, variational and local fitting, and oversized joint workspaces. ARD lengthscales are default. Fixed parameters are transformed into internal normalized units and predictions return in source units. Local windows blend predictive distributions; their intervals are approximate mixture quantiles, not one global GP posterior. Without grouping coordinates, scattered samples form one group per independent batch; explicit grouping coordinates split the shared sample dimension into separate fits. Independent slices with fewer than three finite observations stay missing; an entirely unusable input fails.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- input `targetCoordinates`: Target coordinates ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "coordinates", "label": "Target coordinates", "maxConnections": 1, "minConnections": 0, "name": "targetCoordinates", "required": false, "shortLabel": "Target coordinates"})

- output `result`: Gaussian process estimate ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve-or-replace", "editorVisibility": "default", "label": "Gaussian process estimate", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"defaults": {"members": ["mean", "latentVariance", "observationVariance", "latentStd", "observationStd", "latentLower1_0", "latentUpper1_0", "latentLower2_0", "latentUpper2_0", "observationLower1_0", "observationUpper1_0", "observationLower2_0", "observationUpper2_0"], "parameters": {"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}, "relationshipIDs": ["latent-1_0", "latent-2_0", "observation-1_0", "observation-2_0"]}, "exampleMembers": ["mean", "latentVariance", "observationVariance", "latentStd", "observationStd", "latentLower1_96", "latentUpper1_96", "observationLower1_96", "observationUpper1_96"], "exampleParameters": {"convergencePatience": 10, "convergenceTolerance": 0.0001, "fitMode": "bbmm", "fitScope": "independent", "inducingPointCount": 256, "intervalDistributions": ["latent", "observation"], "intervalSigmas": [1.96], "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}, "exampleRelationships": [{"central": {"memberID": "mean", "variable": "boundSignal"}, "construction": "gaussian", "distribution": "latent", "interpretation": "uncertainty", "kind": "interval", "level": 0.9500042097035591, "lower": {"memberID": "latentLower1_96", "variable": "boundSignal"}, "nominalSigma": 1.96, "relationshipID": "latent-1_96", "upper": {"memberID": "latentUpper1_96", "variable": "boundSignal"}}, {"central": {"memberID": "mean", "variable": "boundSignal"}, "construction": "gaussian", "distribution": "observation", "interpretation": "predictive", "kind": "interval", "level": 0.9500042097035591, "lower": {"memberID": "observationLower1_96", "variable": "boundSignal"}, "nominalSigma": 1.96, "relationshipID": "observation-1_96", "upper": {"memberID": "observationUpper1_96", "variable": "boundSignal"}}], "exampleVariable": "boundSignal is illustrative; substitute the actual bound signal variable name.", "fixedMembers": ["mean", "latentVariance", "observationVariance", "latentStd", "observationStd"], "intervalMembers": {"families": ["latent", "observation"], "familyParameter": "intervalDistributions", "lowerTemplate": "{family}Lower{suffix}", "ordering": "Fixed members first, then intervalDistributions order, then intervalSigmas order, lower before upper. Empty intervalSigmas creates no interval members or relationships.", "sigmaParameter": "intervalSigmas", "suffixRule": "str(sigma).replace('.', '_') after GaussianProcess parameter validation/model_dump; integral inputs normalize to floats (1 becomes 1_0). No additional rounding or truncation.", "upperTemplate": "{family}Upper{suffix}"}, "memberArrayPolicy": {"coordinates": "Target Dataset, or source when no target is bound", "dimensions": "Source signal dimension names/order; modeled extents come from target or source", "dtype": "float32", "quantity": "memberID", "units": {"latentVariance": "(source signal unit)^2, or null when unknown", "observationVariance": "(source signal unit)^2, or null when unknown", "otherMembers": "source signal unit, including null"}, "variables": "Only the bound signal variable"}, "primaryMember": "mean", "relationships": {"centralMember": "mean", "construction": {"bbmm": "gaussian", "overlapping-local": "mixture-quantile", "variational": "gaussian"}, "interpretations": {"latent": "uncertainty", "observation": "predictive"}, "kind": "interval", "levelFormula": "erf(sigma / sqrt(2))", "nominalSigma": {"optional": true, "parameter": "intervalSigmas", "semantics": "Gaussian sigma, or sigma-equivalent coverage for mixture quantiles; never a mixture standard deviation.", "validation": "Positive finite number; level must equal erf(nominalSigma / sqrt(2)) within rel_tol=1e-12, abs_tol=1e-15; requires gaussian or mixture-quantile construction."}, "relationshipIDTemplate": "{family}-{suffix}"}, "variablePolicy": {"memberVariables": "Every member retains the bound source signal variable name; member IDs are not variable names.", "relationshipVariables": "central, lower and upper each reference that same bound signal variable name.", "selection": "explicit-bound-variable-or-source-primary"}}, "shortLabel": "Gaussian process estimate", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "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"
    }
  },
  "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": {
    "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"
    },
    "kernel": {
      "$ref": "#/$defs/GPKernel",
      "default": {
        "family": "matern-5/2",
        "lengthscaleMode": "anisotropic",
        "lengthscales": [],
        "outputScale": {
          "mode": "estimate",
          "value": null
        }
      }
    },
    "observationNoise": {
      "$ref": "#/$defs/GPScalarParameter",
      "default": {
        "mode": "estimate",
        "value": null
      }
    },
    "intervalSigmas": {
      "default": [
        1.0,
        2.0
      ],
      "items": {
        "exclusiveMinimum": 0,
        "maximum": 5,
        "type": "number"
      },
      "maxItems": 8,
      "title": "Intervalsigmas",
      "type": "array",
      "uniqueItems": true
    },
    "intervalDistributions": {
      "default": [
        "latent",
        "observation"
      ],
      "items": {
        "enum": [
          "latent",
          "observation"
        ],
        "type": "string"
      },
      "maxItems": 2,
      "minItems": 1,
      "title": "Intervaldistributions",
      "type": "array",
      "uniqueItems": true
    },
    "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"
    },
    "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"
    },
    "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"
    },
    "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"
    },
    "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"
    },
    "inducingPointCount": {
      "default": 256,
      "maximum": 4096,
      "minimum": 4,
      "title": "Inducingpointcount",
      "type": "integer"
    },
    "miniBatchSize": {
      "default": 1024,
      "maximum": 65536,
      "minimum": 4,
      "title": "Minibatchsize",
      "type": "integer"
    },
    "window": {
      "anyOf": [
        {
          "$ref": "#/$defs/GPWindow"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "GaussianProcess",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "fitMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "bbmm"
    },
    "fitScope": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "independent"
    },
    "kernel": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": {
        "family": "matern-5/2",
        "lengthscaleMode": "anisotropic",
        "lengthscales": [],
        "outputScale": {
          "mode": "estimate",
          "value": null
        }
      },
      "nestedModels": {
        "GPKernel": {
          "parameters": {
            "family": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": "matern-5/2"
            },
            "lengthscaleMode": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": "anisotropic"
            },
            "lengthscales": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": [],
              "nestedModels": {
                "GPScalarParameter": {
                  "parameters": {
                    "mode": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "estimate"
                    },
                    "value": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null,
                      "requiredWhen": {
                        "mode": "fixed"
                      },
                      "missingValueBehaviorWhenRequired": "ask-user"
                    }
                  },
                  "semanticChecks": []
                }
              }
            },
            "outputScale": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": {
                "mode": "estimate",
                "value": null
              },
              "nestedModels": {
                "GPScalarParameter": {
                  "parameters": {
                    "mode": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": "estimate"
                    },
                    "value": {
                      "requiredInDocument": false,
                      "defaultAppliedWhenOmitted": true,
                      "generatedBy": "author",
                      "missingValueBehavior": "use-default",
                      "askUserWhenMissing": false,
                      "defaultValue": null,
                      "requiredWhen": {
                        "mode": "fixed"
                      },
                      "missingValueBehaviorWhenRequired": "ask-user"
                    }
                  },
                  "semanticChecks": []
                }
              }
            }
          },
          "semanticChecks": []
        }
      }
    },
    "observationNoise": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": {
        "mode": "estimate",
        "value": null
      },
      "nestedModels": {
        "GPScalarParameter": {
          "parameters": {
            "mode": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": "estimate"
            },
            "value": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null,
              "requiredWhen": {
                "mode": "fixed"
              },
              "missingValueBehaviorWhenRequired": "ask-user"
            }
          },
          "semanticChecks": []
        }
      }
    },
    "intervalSigmas": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [
        1.0,
        2.0
      ]
    },
    "intervalDistributions": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [
        "latent",
        "observation"
      ]
    },
    "trainingIterations": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 75,
      "description": "Optimizer update budget. Explicit values retain step semantics. Variational omission uses 75 epochs instead; trainingEpochs takes precedence when provided."
    },
    "trainingEpochs": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Variational full-data passes. Defaults to 75 when neither training budget is authored; overrides trainingIterations when supplied."
    },
    "convergenceTolerance": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 0.0001,
      "description": "Variational relative full-data objective tolerance for early stopping; not a guarantee of scientific accuracy."
    },
    "convergencePatience": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 10,
      "description": "Consecutive stable complete epochs before variational early stopping; at least 10 epochs are required."
    },
    "learningRate": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 0.05,
      "description": "Adam hyperparameter rate; defaults to 0.01 for variational fitting and 0.05 otherwise. Natural-gradient rate is 0.1."
    },
    "inducingPointCount": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 256
    },
    "miniBatchSize": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 1024
    },
    "window": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "nestedModels": {
        "GPWindow": {
          "parameters": {
            "extents": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "overlapFraction": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": 0.5
            }
          },
          "semanticChecks": []
        }
      },
      "requiredWhen": {
        "fitMode": "overlapping-local"
      },
      "missingValueBehaviorWhenRequired": "ask-user"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Fit a GP along explicitly selected coordinates; optionally share kernel hyperparameters across 1D signals.",
  "description": "Fit a Mat\u00e9rn-5/2 or RBF GP using BBMM, variational inference, or overlapping local fits. fitScope defaults to independent. Advanced shared-hyperparameters scope uses a joint BBMM likelihood for at least two complete 1D grid signals: one kernel, output scale, and noise are estimated across signals, while each signal has its own mean and posterior curve. Shared scope rejects scattered/grouped geometry, missing samples, variational and local fitting, and oversized joint workspaces. ARD lengthscales are default. Fixed parameters are transformed into internal normalized units and predictions return in source units. Local windows blend predictive distributions; their intervals are approximate mixture quantiles, not one global GP posterior. Without grouping coordinates, scattered samples form one group per independent batch; explicit grouping coordinates split the shared sample dimension into separate fits. Independent slices with fewer than three finite observations stay missing; an entirely unusable input fails.",
  "dimensionEffect": "preserve-or-replace",
  "axisBehavior": "Predict on the source coordinate grid or an explicitly bound target grid; unmodeled dimensions are independent fits by default or share hyperparameters in 1D grid mode.",
  "shapeBehavior": "Predict on the source coordinate grid or an explicitly bound target grid; unmodeled dimensions are independent fits by default or share hyperparameters in 1D grid mode.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema. trainingIterations counts optimizer updates, not epochs. Variational fitting defaults to trainingEpochs=75 and learningRate=0.01 when no respective setting is authored; an explicitly authored trainingIterations retains its step budget unless trainingEpochs is also supplied, which takes precedence. Variational fitting uses seeded, shuffled coordinate/signal pairs each epoch, including the final partial batch; miniBatchSize is the maximum observations per update. Training shuffling does not reorder saved predictions or change inducing-point initialization. Inducing locations remain fixed after deterministic coordinate-space coverage selection: ordered spread in 1D, max-min coverage from a bounded candidate pool in ND. Natural-gradient updates (rate 0.1) optimize the variational distribution; Adam at learningRate optimizes mean, kernel and observation noise. Full-data negative ELBO is monitored in bounded batches each complete epoch; the best state is restored. After at least 10 epochs, convergencePatience stable epochs within convergenceTolerance allow early stopping. Saved gpFitDiagnostics aggregates stopping reasons and fitted parameter ranges without per-signal metadata growth. Full-batch, BBMM and local fitting do not shuffle training observations. Objective stability does not guarantee scientific accuracy or calibrated uncertainty; budget exhaustion is explicit.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "p(f_*\\mid y),\\quad p(y_*\\mid y)=\\int p(y_*\\mid f_*)p(f_*\\mid y)\\,df_*",
      "description": "Fit a Mat\u00e9rn-5/2 or RBF GP using BBMM, variational inference, or overlapping local fits. fitScope defaults to independent. Advanced shared-hyperparameters scope uses a joint BBMM likelihood for at least two complete 1D grid signals: one kernel, output scale, and noise are estimated across signals, while each signal has its own mean and posterior curve. Shared scope rejects scattered/grouped geometry, missing samples, variational and local fitting, and oversized joint workspaces. ARD lengthscales are default. Fixed parameters are transformed into internal normalized units and predictions return in source units. Local windows blend predictive distributions; their intervals are approximate mixture quantiles, not one global GP posterior. Without grouping coordinates, scattered samples form one group per independent batch; explicit grouping coordinates split the shared sample dimension into separate fits. Independent slices with fewer than three finite observations stay missing; an entirely unusable input fails."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "signalRequirements": {
      "numericKinds": [
        "integer",
        "unsigned-integer",
        "float"
      ],
      "complexSupported": false
    },
    "modeledCoordinates": {
      "minItems": 1,
      "required": true,
      "representation": "ordered-coordinate-names",
      "omission": "invalid"
    },
    "groupByCoordinates": {
      "required": false,
      "supported": true,
      "representation": "ordered-coordinate-names"
    },
    "forbiddenNonEmptyBindingFields": [
      "dimensions",
      "coordinates",
      "dimensionParameters"
    ],
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "anyOf": [
              {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              {
                "items": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "default": {},
          "maxProperties": 0,
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "maxProperties": 0,
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "minItems": 1,
          "title": "Modeledcoordinates",
          "type": "array",
          "uniqueItems": true
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Groupbycoordinates",
          "type": "array",
          "uniqueItems": true
        }
      },
      "required": [
        "modeledCoordinates"
      ],
      "title": "GPDatasetBinding",
      "type": "object"
    },
    "bindingExample": {
      "variable": "signal",
      "modeledCoordinates": [
        "timeAxis"
      ]
    },
    "exampleNames": "Example coordinate names must be replaced by actual reviewed coordinate IDs, never inferred from dimension roles.",
    "semanticChecks": [
      "modeledCoordinates and groupByCoordinates must be disjoint",
      "coordinates must belong to the selected signal grid",
      "postprocessing imported source members are selected in the context, not overridden by edge memberID",
      "Coordinates define either distinct grid dimensions or a shared sample dimension",
      "Source and target modeled-coordinate counts, geometry, core dimension names and units match",
      "Preserved batch dimensions match names, sizes and identities",
      "Target uses source grouping-coordinate names when groups are bound",
      "Shared-hyperparameters requires complete 1D grid signals and at least two independent curves"
    ]
  },
  "targetCoordinates": {
    "modeledCoordinates": {
      "minItems": 0,
      "required": false,
      "representation": "ordered-coordinate-names",
      "omission": "use-the-source-modeled-coordinate-names"
    },
    "groupByCoordinates": {
      "required": false,
      "supported": false,
      "representation": "ordered-coordinate-names"
    },
    "forbiddenNonEmptyBindingFields": [
      "dimensions",
      "coordinates",
      "dimensionParameters"
    ],
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "default": null,
          "title": "Variable",
          "type": "null"
        },
        "dimensions": {
          "additionalProperties": {
            "anyOf": [
              {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              {
                "items": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "default": {},
          "maxProperties": 0,
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "maxProperties": 0,
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "title": "Modeledcoordinates",
          "type": "array",
          "uniqueItems": true
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "title": "GPTargetBinding",
      "type": "object"
    },
    "bindingExample": {
      "modeledCoordinates": [
        "targetTimeAxis"
      ]
    },
    "exampleNames": "Example coordinate names must be replaced by actual reviewed coordinate IDs, never inferred from dimension roles.",
    "semanticChecks": [
      "modeledCoordinates and groupByCoordinates must be disjoint",
      "coordinates must belong to the selected signal grid",
      "postprocessing imported source members are selected in the context, not overridden by edge memberID",
      "Coordinates define either distinct grid dimensions or a shared sample dimension",
      "Source and target modeled-coordinate counts, geometry, core dimension names and units match",
      "Preserved batch dimensions match names, sizes and identities",
      "Target uses source grouping-coordinate names when groups are bound",
      "Shared-hyperparameters requires complete 1D grid signals and at least two independent curves"
    ]
  }
}

```

## Gaussian shape fit

`gaussian-shape-fit` / `gaussian-shape-fit-v2`

Use the established moment-based fit, not an advertised least-squares optimizer. Return the fitted curve and numeric parameter fields.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- input `predictionAxis`: Prediction axis ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "coordinates", "label": "Prediction axis", "maxConnections": 1, "minConnections": 0, "name": "predictionAxis", "required": false, "shortLabel": "Prediction axis"})

- output `result`: Gaussian fit ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve-or-replace", "editorVisibility": "default", "label": "Gaussian fit", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"maxMembers": 128, "memberTemplates": ["fit", "parameters-0"], "parameterMember": {"dimensions": "non-operated-signal-dimensions", "dtype": "float64", "primaryVariable": null, "template": "parameters-{i}", "variables": ["amplitude", "area", "location", "fwhm", "sigma", "rSquared"]}, "primaryMemberID": "fit", "shapePolicy": "prediction-axis-length-or-source", "signalDtype": "float32", "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Gaussian fit", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "nonNegativeAmplitude": {
      "default": true,
      "title": "Nonnegativeamplitude",
      "type": "boolean"
    },
    "initialLocation": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point.",
      "title": "Initiallocation"
    },
    "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"
    },
    "initialAmplitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies.",
      "title": "Initialamplitude"
    }
  },
  "title": "GaussianFit",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "nonNegativeAmplitude": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": true
    },
    "initialLocation": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point."
    },
    "initialFwhm": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Fixed replacement for the moment-estimated FWHM, not an optimizer starting point."
    },
    "initialAmplitude": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Moment-based Gaussian fit with parameter fields on the non-operated dimensions.",
  "description": "Use the established moment-based fit, not an advertised least-squares optimizer. Return the fitted curve and numeric parameter fields.",
  "dimensionEffect": "preserve-or-replace",
  "axisBehavior": "Preserve input axes unless predictionAxis is bound; parameter fields exclude the fitted dimension.",
  "shapeBehavior": "Preserve input axes unless predictionAxis is bound; parameter fields exclude the fitted dimension.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "g(x)=A\\exp(-(x-\\mu)^2/(2\\sigma^2))",
      "description": "Use the established moment-based fit, not an advertised least-squares optimizer. Return the fitted curve and numeric parameter fields."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Prediction-axis replacement rejects other dependent variables and non-generated coordinates",
      "Source and prediction coordinate units and quantities match exactly; there is no implicit conversion",
      "Parameter members have no primary variable and omit the fitted dimension"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  },
  "predictionAxis": {
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Prediction-axis replacement rejects other dependent variables and non-generated coordinates",
      "Source and prediction coordinate units and quantities match exactly; there is no implicit conversion",
      "Parameter members have no primary variable and omit the fitted dimension"
    ],
    "variablePolicy": "optional-checked-assertion"
  }
}

```

## Gaussian mixture fit

`gaussian-mixture-fit` / `gaussian-mixture-fit-v2`

Fit configured coordinate ranges independently using intensity moments, not a joint optimizer. Components and float32 sum share a grid; missing components make the sum missing. initialLocation/initialFwhm/initialAmplitude are fixed overrides, not optimizer initial guesses. An explicit component nonNegativeAmplitude overrides the global value; omission/null inherits it. Stored explicit component flags are honored when rerun; preexisting saved results are not rewritten.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Gaussian mixture ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Gaussian mixture", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"additive": true, "countParameter": "components", "maxMembers": 128, "memberTemplates": ["sum", "component-{i}", "parameters-{i}"], "parameterMember": {"dimensions": "non-operated-signal-dimensions", "dtype": "float64", "primaryVariable": null, "template": "parameters-{i}", "variables": ["amplitude", "area", "location", "fwhm", "sigma", "rSquared"]}, "primaryMemberID": "sum", "relationshipKind": "components", "shapePolicy": "preserved", "signalDtype": "float32", "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Gaussian mixture", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "Component": {
      "additionalProperties": false,
      "properties": {
        "nonNegativeAmplitude": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Explicit true/false overrides the mixture setting; omitted or null inherits it.",
          "title": "Nonnegativeamplitude"
        },
        "initialLocation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point.",
          "title": "Initiallocation"
        },
        "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"
        },
        "initialAmplitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies.",
          "title": "Initialamplitude"
        },
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        },
        "componentID": {
          "pattern": "^[A-Za-z0-9_-]{1,100}$",
          "title": "Componentid",
          "type": "string"
        },
        "label": {
          "maxLength": 200,
          "minLength": 1,
          "title": "Label",
          "type": "string"
        }
      },
      "required": [
        "minimumValue",
        "maximumValue",
        "componentID",
        "label"
      ],
      "title": "Component",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "coordinateMode": {
      "default": "physical",
      "enum": [
        "physical",
        "index"
      ],
      "title": "Coordinatemode",
      "type": "string"
    },
    "components": {
      "items": {
        "$ref": "#/$defs/Component"
      },
      "maxItems": 32,
      "minItems": 1,
      "title": "Components",
      "type": "array"
    },
    "nonNegativeAmplitude": {
      "default": true,
      "title": "Nonnegativeamplitude",
      "type": "boolean"
    }
  },
  "required": [
    "components"
  ],
  "title": "GaussianMixture",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    },
    "components": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true,
      "nestedModels": {
        "Component": {
          "parameters": {
            "nonNegativeAmplitude": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null,
              "description": "Explicit true/false overrides the mixture setting; omitted or null inherits it.",
              "defaultStrategy": "inherit the mixture nonNegativeAmplitude setting"
            },
            "initialLocation": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null,
              "description": "Fixed replacement for the moment-estimated location, not an optimizer starting point."
            },
            "initialFwhm": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null,
              "description": "Fixed replacement for the moment-estimated FWHM, not an optimizer starting point."
            },
            "initialAmplitude": {
              "requiredInDocument": false,
              "defaultAppliedWhenOmitted": true,
              "generatedBy": "author",
              "missingValueBehavior": "use-default",
              "askUserWhenMissing": false,
              "defaultValue": null,
              "description": "Fixed amplitude override; the effective nonNegativeAmplitude policy still applies."
            },
            "minimumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "maximumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "componentID": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            },
            "label": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "generate-descriptive-name",
              "askUserWhenMissing": false
            }
          },
          "semanticChecks": [
            "minimumValue <= maximumValue",
            "null or omitted nonNegativeAmplitude inherits the mixture setting"
          ]
        }
      }
    },
    "nonNegativeAmplitude": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": true
    }
  },
  "semanticChecks": [
    "componentID values must be unique"
  ]
}

```

### Scientific behavior

```json

{
  "summary": "Fit each configured range, save components, their sum, and parameter datasets.",
  "description": "Fit configured coordinate ranges independently using intensity moments, not a joint optimizer. Components and float32 sum share a grid; missing components make the sum missing. initialLocation/initialFwhm/initialAmplitude are fixed overrides, not optimizer initial guesses. An explicit component nonNegativeAmplitude overrides the global value; omission/null inherits it. Stored explicit component flags are honored when rerun; preexisting saved results are not rewritten.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Component and sum arrays keep input axes; parameter fields exclude the fitted dimension.",
  "shapeBehavior": "Component and sum arrays keep input axes; parameter fields exclude the fitted dimension.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "g(x)=\\sum_k A_k\\exp(-(x-\\mu_k)^2/(2\\sigma_k^2))",
      "description": "Fit configured coordinate ranges independently using intensity moments, not a joint optimizer. Components and float32 sum share a grid; missing components make the sum missing. initialLocation/initialFwhm/initialAmplitude are fixed overrides, not optimizer initial guesses. An explicit component nonNegativeAmplitude overrides the global value; omission/null inherits it. Stored explicit component flags are honored when rerun; preexisting saved results are not rewritten."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Sum gaussian shapes

`sum-gaussian-shapes` / `sum-gaussian-shapes-v2`

Add aligned stored scalar values and retain components with an additive relationship. Missing values propagate, not zero-fill.

### Inputs and outputs

- input `shapes`: Gaussian shapes ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Gaussian shapes", "maxConnections": 127, "minConnections": 1, "name": "shapes", "required": true, "shortLabel": "Gaussian shapes"})

- output `result`: Gaussian sum ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Gaussian sum", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"additive": true, "countInput": "shapes", "maxConnections": 127, "maxMembers": 128, "memberTemplates": ["sum", "component-{i}"], "primaryMemberID": "sum", "relationshipKind": "components", "shapePolicy": "preserved", "signalDtype": "float32", "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Gaussian sum", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {},
  "title": "Empty",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {},
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Sum aligned shapes and retain components with an additive relationship.",
  "description": "Add aligned stored scalar values and retain components with an additive relationship. Missing values propagate, not zero-fill.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i=\\sum_k g_{k,i}",
      "description": "Add aligned stored scalar values and retain components with an additive relationship. Missing values propagate, not zero-fill."
    }
  ]
}

```

### Bindings

```json

{
  "shapes": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Peak detection

`peak-detection` / `peak-detection-v2`

Interior peaks require current >= previous and current > next, plus an optional intensity threshold. Preserve original sample indices.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Detected peaks ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "rows", "editorVisibility": "default", "label": "Detected peaks", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"dimensions": {"row": {"minimum": 0, "size": "data-dependent"}}, "primaryVariable": null, "primaryVariablePolicy": "none", "shapePolicy": "peak-rows", "sourceIndexPolicy": "One source-index-{i} column per non-operated signal dimension, in source order.", "valueKind": "dataset", "variables": {"axisIndex": "int64", "axisValue": "float64", "intensity": "float32", "source-index-{i}": "int64"}}, "shortLabel": "Detected peaks", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "threshold": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Threshold"
    }
  },
  "title": "Peaks",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "threshold": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Detect local spectral peaks with original sample indices in a row Dataset.",
  "description": "Interior peaks require current >= previous and current > next, plus an optional intensity threshold. Preserve original sample indices.",
  "dimensionEffect": "rows",
  "axisBehavior": "Produce peak rows with source index columns; do not fabricate a rectangular sample grid.",
  "shapeBehavior": "Produce peak rows with source index columns; do not fabricate a rectangular sample grid.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Produce peak rows with source index columns; do not fabricate a rectangular sample grid.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "signalRequirements": {
      "numericKinds": [
        "integer",
        "unsigned-integer",
        "float"
      ],
      "complexSupported": false
    }
  }
}

```

## CARS neural network prediction

`cars-neural-network-prediction` / `cars-neural-network-prediction-v2`

Use the independent CARS provider; median is primary, selected predictive intervals are relationships. Skip incomplete spectra. Model implementation details are private.

### Inputs and outputs

- input `measurement`: CARS-like measurement ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "CARS-like measurement", "maxConnections": 1, "minConnections": 1, "name": "measurement", "required": true, "shortLabel": "CARS-like measurement"})

- output `result`: Raman estimate ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Raman estimate", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"countParameter": "predictiveIntervals", "interpretation": "predictive", "levelParameter": "confidenceLevel", "levelScale": 0.01, "maxMembers": 128, "memberTemplates": ["median", "lower{level}", "upper{level}"], "primaryMemberID": "median", "relationshipKind": "interval", "shapePolicy": "preserved", "signalDtype": "float32", "signalQuantity": "Raman estimate", "signalUnit": null, "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Raman estimate", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "PredictiveInterval": {
      "additionalProperties": false,
      "properties": {
        "confidenceLevel": {
          "enum": [
            95,
            90,
            75,
            50
          ],
          "title": "Confidencelevel",
          "type": "integer"
        }
      },
      "required": [
        "confidenceLevel"
      ],
      "title": "PredictiveInterval",
      "type": "object"
    }
  },
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "predictiveIntervals": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [
        {
          "confidenceLevel": 95
        },
        {
          "confidenceLevel": 90
        },
        {
          "confidenceLevel": 75
        },
        {
          "confidenceLevel": 50
        }
      ],
      "nestedModels": {
        "PredictiveInterval": {
          "parameters": {
            "confidenceLevel": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            }
          },
          "semanticChecks": []
        }
      }
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "CARS neural prediction with median primary and requested predictive intervals.",
  "description": "Use the independent CARS provider; median is primary, selected predictive intervals are relationships. Skip incomplete spectra. Model implementation details are private.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "measurement": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false,
      "minimumLength": 2,
      "strictlyMonotonic": true
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Raman neural network correction

`raman-neural-network-correction` / `raman-neural-network-correction-v2`

Use the independent Raman provider; median is primary, selected predictive intervals are relationships. Skip incomplete spectra. Model implementation details are private.

### Inputs and outputs

- input `measurement`: Raman measurement ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Raman measurement", "maxConnections": 1, "minConnections": 1, "name": "measurement", "required": true, "shortLabel": "Raman measurement"})

- output `result`: Corrected Raman estimate ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Corrected Raman estimate", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"countParameter": "predictiveIntervals", "interpretation": "predictive", "levelParameter": "confidenceLevel", "levelScale": 0.01, "maxMembers": 128, "memberTemplates": ["median", "lower{level}", "upper{level}"], "primaryMemberID": "median", "relationshipKind": "interval", "shapePolicy": "preserved", "signalDtype": "float32", "signalQuantity": "Raman estimate", "signalUnit": null, "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "Corrected Raman estimate", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "PredictiveInterval": {
      "additionalProperties": false,
      "properties": {
        "confidenceLevel": {
          "enum": [
            95,
            90,
            75,
            50
          ],
          "title": "Confidencelevel",
          "type": "integer"
        }
      },
      "required": [
        "confidenceLevel"
      ],
      "title": "PredictiveInterval",
      "type": "object"
    }
  },
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "predictiveIntervals": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [
        {
          "confidenceLevel": 95
        },
        {
          "confidenceLevel": 90
        },
        {
          "confidenceLevel": 75
        },
        {
          "confidenceLevel": 50
        }
      ],
      "nestedModels": {
        "PredictiveInterval": {
          "parameters": {
            "confidenceLevel": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            }
          },
          "semanticChecks": []
        }
      }
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Independent Raman neural correction with median primary and requested predictive intervals.",
  "description": "Use the independent Raman provider; median is primary, selected predictive intervals are relationships. Skip incomplete spectra. Model implementation details are private.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "measurement": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false,
      "minimumLength": 2,
      "strictlyMonotonic": true
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Insert spectral axis

`insert-spectral-axis` / `insert-spectral-axis-v2`

Assign one donor coordinate in source order (default) or reversed order. Preserve all variables, other coordinates, dimension sizes and sample identity; never mutate the donor.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- input `spectralAxis`: Spectral axis ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "coordinates", "label": "Spectral axis", "maxConnections": 1, "minConnections": 1, "name": "spectralAxis", "required": true, "shortLabel": "Spectral axis"})

- output `result`: Dataset with spectral axis ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "replace-coordinate", "editorVisibility": "default", "label": "Dataset with spectral axis", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Dataset with spectral axis", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "orientation": {
      "default": "source",
      "enum": [
        "source",
        "reversed"
      ],
      "title": "Orientation",
      "type": "string"
    }
  },
  "title": "InsertSpectralAxis",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "orientation": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "source"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Assign a source or reversed coordinate without modifying signal samples.",
  "description": "Assign one donor coordinate in source order (default) or reversed order. Preserve all variables, other coordinates, dimension sizes and sample identity; never mutate the donor.",
  "dimensionEffect": "replace-coordinate",
  "axisBehavior": "Assign one donor coordinate in source order (default) or reversed order. Preserve all variables, other coordinates, dimension sizes and sample identity; never mutate the donor.",
  "shapeBehavior": "Assign one donor coordinate in source order (default) or reversed order. Preserve all variables, other coordinates, dimension sizes and sample identity; never mutate the donor.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Assign one donor coordinate in source order (default) or reversed order. Preserve all variables, other coordinates, dimension sizes and sample identity; never mutate the donor.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Target dimension is a Dataset dimension; optional variable is a checked assertion",
      "Donor is a finite numeric physical one-dimensional coordinate with matching target length",
      "Target coordinate name may be new; donor and signal sample order remain unchanged"
    ],
    "variablePolicy": "optional-checked-assertion"
  },
  "spectralAxis": {
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Target dimension is a Dataset dimension; optional variable is a checked assertion",
      "Donor is a finite numeric physical one-dimensional coordinate with matching target length",
      "Target coordinate name may be new; donor and signal sample order remain unchanged"
    ],
    "variablePolicy": "optional-checked-assertion"
  }
}

```

## Coordinate align

`coordinate-align` / `coordinate-align-v2`

Both operated dimensions must be spectral. Exact reindex requires source membership without tolerance and permits singleton grids. Linear interpolation requires at least two source samples and one target sample, matching coordinate units and quantities, strictly monotonic finite grids, and floating dependent variables; out-of-range values fail unless explicitly configured as missing. Other dependent coordinates reject except generated sample-index coordinates. Input primary variable is preserved.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- input `targetCoordinates`: Target coordinates ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "coordinates", "label": "Target coordinates", "maxConnections": 1, "minConnections": 1, "name": "targetCoordinates", "required": true, "shortLabel": "Target coordinates"})

- output `result`: Aligned dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "replace-coordinate-grid", "editorVisibility": "default", "label": "Aligned dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "target-coordinate-length", "valueKind": "dataset"}, "shortLabel": "Aligned dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "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"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "method": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "exact-reindex"
    },
    "outOfRange": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "error"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Reindex or explicitly interpolate a selected spectral dimension onto a target coordinate.",
  "description": "Both operated dimensions must be spectral. Exact reindex requires source membership without tolerance and permits singleton grids. Linear interpolation requires at least two source samples and one target sample, matching coordinate units and quantities, strictly monotonic finite grids, and floating dependent variables; out-of-range values fail unless explicitly configured as missing. Other dependent coordinates reject except generated sample-index coordinates. Input primary variable is preserved.",
  "dimensionEffect": "replace-coordinate-grid",
  "axisBehavior": "Reindex or linearly interpolate every supported dependent signal array onto an explicitly bound target spectral coordinate.",
  "shapeBehavior": "Reindex or linearly interpolate every supported dependent signal array onto an explicitly bound target spectral coordinate.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Reindex or linearly interpolate every supported dependent signal array onto an explicitly bound target spectral coordinate.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false,
      "strictlyMonotonic": true,
      "minimumLength": 1
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Both operated dimensions have the spectral role",
      "Coordinate units and quantities match exactly; unknown units remain null",
      "Exact reindex requires unique strictly monotonic finite coordinates and exact source membership",
      "Linear source length >= 2; target length >= 1; dependent variables are floating",
      "Linear alignment rejects other dependent coordinates except generated index coordinates",
      "Source and target dimension names may differ; input primary variable is preserved"
    ]
  },
  "targetCoordinates": {
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false,
      "strictlyMonotonic": true,
      "minimumLength": 1
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Both operated dimensions have the spectral role",
      "Coordinate units and quantities match exactly; unknown units remain null",
      "Exact reindex requires unique strictly monotonic finite coordinates and exact source membership",
      "Linear source length >= 2; target length >= 1; dependent variables are floating",
      "Linear alignment rejects other dependent coordinates except generated index coordinates",
      "Source and target dimension names may differ; input primary variable is preserved"
    ],
    "variablePolicy": "optional-checked-assertion"
  }
}

```

## Spectral combine

`spectral-combine` / `spectral-combine-v2`

Duplicate coordinates reject. Units, coordinate structure and non-operated grids must agree; no implicit interpolation.

### Inputs and outputs

- input `datasets`: Datasets ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Datasets", "maxConnections": 128, "minConnections": 2, "name": "datasets", "required": true, "shortLabel": "Datasets"})

- output `result`: Combined dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "concatenate", "editorVisibility": "default", "label": "Combined dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "combined-coordinate-length", "valueKind": "dataset"}, "shortLabel": "Combined dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {},
  "title": "Empty",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {},
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Concatenate unique coordinates after validating all other dimensions and coordinates.",
  "description": "Duplicate coordinates reject. Units, coordinate structure and non-operated grids must agree; no implicit interpolation.",
  "dimensionEffect": "concatenate",
  "axisBehavior": "Concatenate and sort unique coordinates, with identical non-operated grids required.",
  "shapeBehavior": "Concatenate and sort unique coordinates, with identical non-operated grids required.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Concatenate and sort unique coordinates, with identical non-operated grids required.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "datasets": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Bound dimension, selected variable and coordinate names agree across inputs",
      "Complete variable and coordinate structures, dtypes, units and quantities match",
      "Non-operated Dimension objects, including identities, match",
      "Arrays independent of the combined dimension match exactly",
      "Duplicate combined coordinate values are rejected; all dependent arrays are sorted together"
    ]
  }
}

```

## Average along selected dimensions

`local-mean` / `local-mean-v2`

Joint finite-value mean with nearest-edge padding. Rectangular windows are independent odd widths; all-missing neighborhoods stay NaN.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Averaged dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Averaged dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Averaged dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {},
  "title": "Empty",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {},
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Joint NaN-excluding local mean on one or two bound dimensions.",
  "description": "Joint finite-value mean with nearest-edge padding. Rectangular windows are independent odd widths; all-missing neighborhoods stay NaN.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i=\\frac{\\sum_{j\\in W_i,\\,x_j\\,\\mathrm{finite}}x_j}{\\#\\{j\\in W_i:x_j\\,\\mathrm{finite}\\}}",
      "description": "Joint finite-value mean with nearest-edge padding. Rectangular windows are independent odd widths; all-missing neighborhoods stay NaN."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axes": {
        "minDimensions": 1,
        "maxDimensions": 2,
        "representation": "list"
      }
    },
    "dimensionParameters": {
      "windowSize": {
        "type": "integer",
        "minimum": 1,
        "maximum": 999,
        "oddOnly": true,
        "default": 3
      }
    },
    "bindingSchema": {
      "$defs": {
        "Window": {
          "additionalProperties": false,
          "properties": {
            "windowSize": {
              "default": 3,
              "maximum": 999,
              "minimum": 1,
              "not": {
                "multipleOf": 2
              },
              "title": "Windowsize",
              "type": "integer"
            }
          },
          "title": "Window",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "items": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axes"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": {
            "$ref": "#/$defs/Window"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxesBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axes": [
          "y",
          "x"
        ]
      },
      "dimensionParameters": {
        "y": {
          "windowSize": 3
        },
        "x": {
          "windowSize": 3
        }
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Median filter

`median-filter` / `median-filter-v2`

NaN-excluding median with nearest-edge padding. All-missing windows stay NaN.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Filtered dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Filtered dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Filtered dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "windowSize": {
      "default": 3,
      "maximum": 999,
      "minimum": 1,
      "not": {
        "multipleOf": 2
      },
      "title": "Windowsize",
      "type": "integer"
    }
  },
  "title": "Window",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "windowSize": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 3
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Median filter on one bound dimension with edge replication.",
  "description": "NaN-excluding median with nearest-edge padding. All-missing windows stay NaN.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i=\\operatorname{median}\\{x_j:j\\in W_i,\\ x_j\\text{ finite}\\}",
      "description": "NaN-excluding median with nearest-edge padding. All-missing windows stay NaN."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Gaussian filter

`gaussian-filter` / `gaussian-filter-v2`

Normalized Gaussian convolution with nearest-edge padding. NaNs propagate through the convolution window.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Filtered dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Filtered dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Filtered dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "sigma": {
      "default": 1.0,
      "description": "Gaussian width in samples of the bound dimension, not physical coordinate units.",
      "exclusiveMinimum": 0,
      "title": "Sigma",
      "type": "number"
    },
    "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"
    }
  },
  "title": "Gaussian",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "sigma": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 1.0,
      "description": "Gaussian width in samples of the bound dimension, not physical coordinate units."
    },
    "radius": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Sample radius; omitted/null uses max(1, round(3*sigma)), which must remain <=999."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Gaussian convolution along one bound dimension.",
  "description": "Normalized Gaussian convolution with nearest-edge padding. NaNs propagate through the convolution window.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i=\\sum_{j=-r}^{r}w_jx_{i+j},\\quad w_j=\\frac{e^{-j^2/(2\\sigma^2)}}{\\sum_{k=-r}^{r}e^{-k^2/(2\\sigma^2)}}",
      "description": "Normalized Gaussian convolution with nearest-edge padding. NaNs propagate through the convolution window."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Savitzky golay filter

`savitzky-golay-filter` / `savitzky-golay-filter-v2`

Existing polynomial smoothing/derivative kernel; physical derivatives require its uniform-spacing predicate. Derivative units are not guessed.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Filtered dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Filtered dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Filtered dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "windowSize": {
      "default": 7,
      "maximum": 999,
      "minimum": 3,
      "not": {
        "multipleOf": 2
      },
      "title": "Windowsize",
      "type": "integer"
    },
    "polynomialOrder": {
      "default": 2,
      "minimum": 0,
      "title": "Polynomialorder",
      "type": "integer"
    },
    "derivativeOrder": {
      "default": 0,
      "enum": [
        0,
        1,
        2
      ],
      "title": "Derivativeorder",
      "type": "integer"
    },
    "coordinateMode": {
      "default": "physical",
      "enum": [
        "physical",
        "index"
      ],
      "title": "Coordinatemode",
      "type": "string"
    }
  },
  "title": "SavitzkyGolay",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "windowSize": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 7
    },
    "polynomialOrder": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 2
    },
    "derivativeOrder": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 0
    },
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    }
  },
  "semanticChecks": [
    "derivativeOrder <= polynomialOrder < windowSize",
    "windowSize must not exceed the operated dimension length"
  ]
}

```

### Scientific behavior

```json

{
  "summary": "Polynomial smoothing or derivative along a bound sampled coordinate.",
  "description": "Existing polynomial smoothing/derivative kernel; physical derivatives require its uniform-spacing predicate. Derivative units are not guessed.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i^{(d)}=\\sum_{j=-r}^{r}c_j^{(p,d,\\Delta)}x_{i+j},\\quad d\\le p<2r+1",
      "description": "Existing polynomial smoothing/derivative kernel; physical derivatives require its uniform-spacing predicate. Derivative units are not guessed."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Polynomial baseline removal

`polynomial-baseline-removal` / `polynomial-baseline-removal-v2`

Fit anchor ranges or lower-envelope samples, then subtract the polynomial per signal. The selected coordinate defines polynomial evaluation.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Baseline-corrected dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Baseline-corrected dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Baseline-corrected dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "$defs": {
    "Range": {
      "additionalProperties": false,
      "properties": {
        "minimumValue": {
          "title": "Minimumvalue",
          "type": "number"
        },
        "maximumValue": {
          "title": "Maximumvalue",
          "type": "number"
        }
      },
      "required": [
        "minimumValue",
        "maximumValue"
      ],
      "title": "Range",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "fitMode": {
            "const": "anchor-ranges"
          }
        },
        "required": [
          "fitMode"
        ]
      },
      "then": {
        "properties": {
          "anchorRanges": {
            "minItems": 1
          }
        },
        "required": [
          "anchorRanges"
        ]
      }
    }
  ],
  "properties": {
    "order": {
      "default": 2,
      "maximum": 20,
      "minimum": 0,
      "title": "Order",
      "type": "integer"
    },
    "coordinateMode": {
      "default": "physical",
      "enum": [
        "physical",
        "index"
      ],
      "title": "Coordinatemode",
      "type": "string"
    },
    "fitMode": {
      "default": "lower-envelope",
      "enum": [
        "anchor-ranges",
        "lower-envelope"
      ],
      "title": "Fitmode",
      "type": "string"
    },
    "anchorRanges": {
      "default": [],
      "items": {
        "$ref": "#/$defs/Range"
      },
      "maxItems": 64,
      "title": "Anchorranges",
      "type": "array"
    },
    "envelopePointCount": {
      "default": 16,
      "description": "Requested number of coordinate bins for lower-envelope samples; ignored in anchor-ranges mode.",
      "minimum": 2,
      "title": "Envelopepointcount",
      "type": "integer"
    },
    "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"
    }
  },
  "title": "Polynomial",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "order": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 2
    },
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    },
    "fitMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "lower-envelope"
    },
    "anchorRanges": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": [],
      "nestedModels": {
        "Range": {
          "parameters": {
            "minimumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            },
            "maximumValue": {
              "requiredInDocument": true,
              "defaultAppliedWhenOmitted": false,
              "generatedBy": "author",
              "missingValueBehavior": "ask-user",
              "askUserWhenMissing": true
            }
          },
          "semanticChecks": [
            "minimumValue <= maximumValue"
          ]
        }
      },
      "requiredWhen": {
        "fitMode": "anchor-ranges"
      },
      "missingValueBehaviorWhenRequired": "ask-user"
    },
    "envelopePointCount": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 16,
      "description": "Requested number of coordinate bins for lower-envelope samples; ignored in anchor-ranges mode."
    },
    "envelopePercentile": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 10.0,
      "description": "Intensity percentile selected in each lower-envelope bin (0..100); ignored in anchor-ranges mode."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Subtract independently fitted polynomial baselines.",
  "description": "Fit anchor ranges or lower-envelope samples, then subtract the polynomial per signal. The selected coordinate defines polynomial evaluation.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y(x)=I(x)-\\sum_{k=0}^{p}a_kx^k",
      "description": "Fit anchor ranges or lower-envelope samples, then subtract the polynomial per signal. The selected coordinate defines polynomial evaluation."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Spectral normalization

`spectral-normalization` / `spectral-normalization-v2`

max-abs divides by finite maximum absolute intensity; area divides by the sum of absolute intensities, not a coordinate integral. Zero scale yields NaN.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Normalized dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Normalized dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Normalized dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "method": {
      "default": "max-abs",
      "enum": [
        "max-abs",
        "area"
      ],
      "title": "Method",
      "type": "string"
    }
  },
  "title": "Normalize",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "method": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "max-abs"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Normalize independently along a bound dimension; zero scale produces missing values.",
  "description": "max-abs divides by finite maximum absolute intensity; area divides by the sum of absolute intensities, not a coordinate integral. Zero scale yields NaN.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y_i=x_i/s,\\quad s=\\max_j|x_j|\\ \\mathrm{or}\\ \\sum_j|x_j|",
      "description": "max-abs divides by finite maximum absolute intensity; area divides by the sum of absolute intensities, not a coordinate integral. Zero scale yields NaN."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Flip dimension

`dimension-flip` / `dimension-flip-v2`

Reverse every dependent coordinate and variable; sample identity changes.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Flipped dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "permute", "editorVisibility": "default", "label": "Flipped dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Flipped dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {},
  "title": "Empty",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {},
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Reverse all arrays dependent on the selected dimension.",
  "description": "Reverse every dependent coordinate and variable; sample identity changes.",
  "dimensionEffect": "permute",
  "axisBehavior": "Reverse every dependent coordinate and variable; sample identity changes.",
  "shapeBehavior": "Reverse every dependent coordinate and variable; sample identity changes.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Reverse every dependent coordinate and variable; sample identity changes.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ]
  }
}

```

## Dimension range select

`dimension-range-select` / `dimension-range-select-v2`

Keep inclusive coordinate bounds in source order; transform every dependent array.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Selected dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "subset", "editorVisibility": "default", "label": "Selected dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "selected-coordinate-count", "valueKind": "dataset"}, "shortLabel": "Selected dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "minimumValue": {
      "title": "Minimumvalue",
      "type": "number"
    },
    "maximumValue": {
      "title": "Maximumvalue",
      "type": "number"
    },
    "coordinateMode": {
      "default": "physical",
      "enum": [
        "physical",
        "index"
      ],
      "title": "Coordinatemode",
      "type": "string"
    }
  },
  "required": [
    "minimumValue",
    "maximumValue"
  ],
  "title": "SelectRange",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "minimumValue": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    },
    "maximumValue": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    },
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    }
  },
  "semanticChecks": [
    "minimumValue <= maximumValue"
  ]
}

```

### Scientific behavior

```json

{
  "summary": "Select inclusive coordinate bounds while preserving source ordering.",
  "description": "Keep inclusive coordinate bounds in source order; transform every dependent array.",
  "dimensionEffect": "subset",
  "axisBehavior": "Keep inclusive coordinate bounds in source order; transform every dependent array.",
  "shapeBehavior": "Keep inclusive coordinate bounds in source order; transform every dependent array.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Keep inclusive coordinate bounds in source order; transform every dependent array.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Dimension index select

`dimension-index-select` / `dimension-index-select-v2`

Remove the selected dimension and retain dependent coordinates as scalar coordinates.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Selected dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "remove", "editorVisibility": "default", "label": "Selected dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "preserve-source", "shapePolicy": "remove-bound-dimension", "valueKind": "dataset"}, "shortLabel": "Selected dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "index": {
      "minimum": 0,
      "title": "Index",
      "type": "integer"
    }
  },
  "required": [
    "index"
  ],
  "title": "Index",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "index": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Select an index, remove its dimension, and retain scalar coordinates.",
  "description": "Remove the selected dimension and retain dependent coordinates as scalar coordinates.",
  "dimensionEffect": "remove",
  "axisBehavior": "Remove the selected dimension and retain dependent coordinates as scalar coordinates.",
  "shapeBehavior": "Remove the selected dimension and retain dependent coordinates as scalar coordinates.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Remove the selected dimension and retain dependent coordinates as scalar coordinates.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ]
  }
}

```

## Dimension reduce

`dimension-reduce` / `dimension-reduce-v2`

Mean streams sums/counts; median requires the complete reduced dimension within the block budget. NaNs are excluded.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Reduced dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "remove", "editorVisibility": "default", "label": "Reduced dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "remove-bound-dimension", "valueKind": "dataset"}, "shortLabel": "Reduced dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "method": {
      "default": "mean",
      "enum": [
        "mean",
        "median"
      ],
      "title": "Method",
      "type": "string"
    }
  },
  "title": "Reduce",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "method": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "mean"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Reduce a selected variable and remove dependent coordinates without inventing representative values.",
  "description": "Mean streams sums/counts; median requires the complete reduced dimension within the block budget. NaNs are excluded.",
  "dimensionEffect": "remove",
  "axisBehavior": "Remove the selected dimension and its dependent coordinates; reject unresolved dependent variables.",
  "shapeBehavior": "Remove the selected dimension and its dependent coordinates; reject unresolved dependent variables.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Remove the selected dimension and its dependent coordinates; reject unresolved dependent variables.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "y=\\operatorname{mean}_{\\mathrm{finite}}(x)\\ \\mathrm{or}\\ \\operatorname{median}_{\\mathrm{finite}}(x)",
      "description": "Mean streams sums/counts; median requires the complete reduced dimension within the block budget. NaNs are excluded."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {},
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Other variables using the removed dimension are rejected; independent auxiliaries are preserved"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## Spectral mask

`spectral-mask` / `spectral-mask-v2`

Out-of-range values become NaN. Shape and coordinates are unchanged; this is not truncation.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `result`: Masked dataset ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Masked dataset", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Masked dataset", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "minimumValue": {
      "title": "Minimumvalue",
      "type": "number"
    },
    "maximumValue": {
      "title": "Maximumvalue",
      "type": "number"
    },
    "coordinateMode": {
      "default": "physical",
      "enum": [
        "physical",
        "index"
      ],
      "title": "Coordinatemode",
      "type": "string"
    }
  },
  "required": [
    "minimumValue",
    "maximumValue"
  ],
  "title": "SelectRange",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "minimumValue": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    },
    "maximumValue": {
      "requiredInDocument": true,
      "defaultAppliedWhenOmitted": false,
      "generatedBy": "author",
      "missingValueBehavior": "ask-user",
      "askUserWhenMissing": true
    },
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    }
  },
  "semanticChecks": [
    "minimumValue <= maximumValue"
  ]
}

```

### Scientific behavior

```json

{
  "summary": "Retain extent and mask values outside the selected inclusive coordinate range.",
  "description": "Out-of-range values become NaN. Shape and coordinates are unchanged; this is not truncation.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```

## Spectral split

`spectral-split` / `spectral-split-v2`

Strictly monotonic finite coordinates; ties between equal gaps are resolved in source order.

### Inputs and outputs

- input `dataset`: Dataset ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Dataset", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Dataset"})

- output `regions`: Spectral regions ({"collection": true, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "partition", "editorVisibility": "default", "label": "Spectral regions", "name": "regions", "primarySelection": "explicit-member", "resultSchema": {"countParameter": "regionCount", "memberTemplates": ["region-{i}"], "primaryMemberID": null, "relationships": [], "shapePolicy": "data-dependent-coordinate-gaps", "valueKind": "collection"}, "shortLabel": "Spectral regions", "valueKind": "collection", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "regionCount": {
      "default": 2,
      "maximum": 128,
      "minimum": 2,
      "title": "Regioncount",
      "type": "integer"
    }
  },
  "title": "Split",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "regionCount": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 2
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Partition at largest coordinate gaps into a collection without implicit primary.",
  "description": "Strictly monotonic finite coordinates; ties between equal gaps are resolved in source order.",
  "dimensionEffect": "partition",
  "axisBehavior": "Partition every dependent array at largest gaps; output is a collection without a default member.",
  "shapeBehavior": "Partition every dependent array at largest gaps; output is a collection without a default member.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Partition every dependent array at largest gaps; output is a collection without a default member.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": []
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false,
      "minimumLength": 2,
      "strictlyMonotonic": true
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Bound physical coordinate is finite and strictly monotonic",
      "Source length >= regionCount; equal largest gaps break ties in source order; descending order is preserved"
    ]
  }
}

```

## CARS detector and NRB correction

`cars-bg-nrb-ratio` / `cars-bg-nrb-ratio-v2`

Compute (measurement - detector)/(nonresonant - detector). Numeric spectral coordinates must agree; absent reference dimensions broadcast. Known intensity units must be compatible; coordinate unit labels need not match.

### Inputs and outputs

- input `measurement`: Measurement ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Measurement", "maxConnections": 1, "minConnections": 1, "name": "measurement", "required": true, "shortLabel": "Measurement"})

- input `detectorBackground`: Detector background ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Detector background", "maxConnections": 1, "minConnections": 1, "name": "detectorBackground", "required": true, "shortLabel": "Detector background"})

- input `nonResonantBackground`: Non-resonant background ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Non-resonant background", "maxConnections": 1, "minConnections": 1, "name": "nonResonantBackground", "required": true, "shortLabel": "Non-resonant background"})

- output `correctedMeasurement`: Corrected CARS measurement ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "Corrected CARS measurement", "name": "correctedMeasurement", "primarySelection": "designated-primary", "resultSchema": {"primaryVariablePolicy": "selected-variable", "shapePolicy": "preserved", "valueKind": "dataset"}, "shortLabel": "Corrected CARS measurement", "valueKind": "dataset", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "additionalProperties": false,
  "properties": {
    "denominatorZeroPolicy": {
      "default": "nan",
      "enum": [
        "nan",
        "error"
      ],
      "title": "Denominatorzeropolicy",
      "type": "string"
    }
  },
  "title": "CarsCorrection",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "denominatorZeroPolicy": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "nan"
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "Subtract detector background then divide by corrected non-resonant background.",
  "description": "Compute (measurement - detector)/(nonresonant - detector). Numeric spectral coordinates must agree; absent reference dimensions broadcast. Known intensity units must be compatible; coordinate unit labels need not match.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "I_{\\mathrm{corrected}}=(I_{\\mathrm{measurement}}-I_{\\mathrm{detector}})/(I_{\\mathrm{NRB}}-I_{\\mathrm{detector}})",
      "description": "Compute (measurement - detector)/(nonresonant - detector). Numeric spectral coordinates must agree; absent reference dimensions broadcast. Known intensity units must be compatible; coordinate unit labels need not match."
    }
  ]
}

```

### Bindings

```json

{
  "measurement": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Absent reference dimensions broadcast; shared spatial dimensions require matching size and coordinates",
      "Numeric spectral and shared coordinate values match with rtol=1e-7 and atol=1e-8",
      "Known subtracted intensity units are compatible; coordinate unit labels are not required to match"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  },
  "detectorBackground": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Absent reference dimensions broadcast; shared spatial dimensions require matching size and coordinates",
      "Numeric spectral and shared coordinate values match with rtol=1e-7 and atol=1e-8",
      "Known subtracted intensity units are compatible; coordinate unit labels are not required to match"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  },
  "nonResonantBackground": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge",
      "Absent reference dimensions broadcast; shared spatial dimensions require matching size and coordinates",
      "Numeric spectral and shared coordinate values match with rtol=1e-7 and atol=1e-8",
      "Known subtracted intensity units are compatible; coordinate unit labels are not required to match"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    }
  }
}

```

## CARS MEM Raman retrieval

`cars-mem-raman-retrieval` / `cars-mem-raman-retrieval-v2`

Use the existing MEM retrieval on the selected coordinate. The imaginary response estimatedRamanSpectrum is primary; realComponent, phase (rad), amplitude (square root of prepared intensity), and logAmplitude (natural log of prepared intensity, despite the historical member name) remain secondary. No duplicate imaginary alias is saved. Incomplete spectra stay missing. validateUniformAxis=false assumes uniform sampling; it does not permit nonfinite or nonmonotonic physical coordinates. Effective order must be >=2 and shorter than the spectrum.

### Inputs and outputs

- input `dataset`: Corrected CARS measurement ({"acceptedValueKinds": ["dataset", "surface-primary", "selected-collection-member"], "consumption": "dataset", "label": "Corrected CARS measurement", "maxConnections": 1, "minConnections": 1, "name": "dataset", "required": true, "shortLabel": "Corrected CARS measurement"})

- output `result`: MEM Raman estimate ({"collection": false, "consumers": ["analysis-output", "explicitly-bound-dataset-operation"], "dimensionEffect": "preserve", "editorVisibility": "default", "label": "MEM Raman estimate", "name": "result", "primarySelection": "designated-primary", "resultSchema": {"maxMembers": 128, "memberOverrides": {"phase": {"signalUnit": "rad"}}, "memberTemplates": ["estimatedRamanSpectrum", "realComponent", "phase", "amplitude", "logAmplitude"], "primaryMemberID": "estimatedRamanSpectrum", "shapePolicy": "preserved", "signalDtype": "float32", "signalQuantity": "memberID", "signalUnit": null, "valueKind": "surface", "variablePolicy": "selected-source-signal-name"}, "shortLabel": "MEM Raman estimate", "valueKind": "surface", "viewPolicy": "Only requested and successfully prepared adapters are advertised."})

### Parameters

```json

{
  "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"
    },
    "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"
    },
    "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"
    }
  },
  "title": "Mem",
  "type": "object"
}

```

### Authoring defaults

```json

{
  "parameters": {
    "coordinateMode": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": "physical"
    },
    "intensityFloor": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": 1e-12,
      "description": "Nonnegative preparation floor; zero still uses machine tiny to permit a logarithm."
    },
    "validateUniformAxis": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": false,
      "description": "False assumes uniform sampling for retrieval; finite strictly monotonic assigned coordinates are still required in physical mode."
    },
    "order": {
      "requiredInDocument": false,
      "defaultAppliedWhenOmitted": true,
      "generatedBy": "author",
      "missingValueBehavior": "use-default",
      "askUserWhenMissing": false,
      "defaultValue": null,
      "description": "Prediction-polynomial order; omitted/null uses spectralLength//2. Effective order must be >=2 and < spectralLength."
    }
  },
  "semanticChecks": []
}

```

### Scientific behavior

```json

{
  "summary": "MEM retrieval surface with Raman primary and phase/amplitude secondary quantities.",
  "description": "Use the existing MEM retrieval on the selected coordinate. The imaginary response estimatedRamanSpectrum is primary; realComponent, phase (rad), amplitude (square root of prepared intensity), and logAmplitude (natural log of prepared intensity, despite the historical member name) remain secondary. No duplicate imaginary alias is saved. Incomplete spectra stay missing. validateUniformAxis=false assumes uniform sampling; it does not permit nonfinite or nonmonotonic physical coordinates. Effective order must be >=2 and shorter than the spectrum.",
  "dimensionEffect": "preserve",
  "axisBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "shapeBehavior": "Preserve all dimension extents and coordinate values; operate on the selected signal only.",
  "inputSemantics": "Explicit member/variable/dimension bindings; a surface defaults to its designated primary member; collections require a member.",
  "outputSemantics": "Save the complete surface through analysis-output, or bind a member explicitly for downstream processing.",
  "parameterSemantics": "Defaults and bounds are in parametersSchema; local-mean windows are in inputRequirements.dimensionParameters.",
  "resourceBehavior": "Bounded array reads; selected-signal dtypes are stated per input port, not for the whole Dataset. Full-core algorithms reject oversized core dimensions before computation. Model weights/engine allocations require separate provider capacity.",
  "failureConditions": [
    "Invalid member/variable/dimension/coordinate binding",
    "Incompatible input grids or units where required",
    "Resource admission exceeded",
    "Non-finite coordinates or unrepresentable float32 output"
  ],
  "formulas": [
    {
      "latex": "A=\\sqrt{I_{\\mathrm{prepared}}},\\quad R=A\\sin\\phi,\\quad C=A\\cos\\phi,\\quad L=\\log I_{\\mathrm{prepared}}",
      "description": "Use the existing MEM retrieval on the selected coordinate. The imaginary response estimatedRamanSpectrum is primary; realComponent, phase (rad), amplitude (square root of prepared intensity), and logAmplitude (natural log of prepared intensity, despite the historical member name) remain secondary. No duplicate imaginary alias is saved. Incomplete spectra stay missing. validateUniformAxis=false assumes uniform sampling; it does not permit nonfinite or nonmonotonic physical coordinates. Effective order must be >=2 and shorter than the spectrum."
    }
  ]
}

```

### Bindings

```json

{
  "dataset": {
    "variable": "explicit-or-primary",
    "coordinates": {
      "requiredForBoundDimension": true,
      "representation": "dimension-to-coordinate-name",
      "numeric": true,
      "finite": true,
      "allowIndexCoordinate": false
    },
    "dimensions": {
      "axis": {
        "minDimensions": 1,
        "maxDimensions": 1,
        "representation": "string"
      }
    },
    "dimensionParameters": {},
    "bindingSchema": {
      "additionalProperties": false,
      "allOf": [
        {
          "if": {
            "anyOf": [
              {
                "properties": {
                  "modeledCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "modeledCoordinates"
                ]
              },
              {
                "properties": {
                  "groupByCoordinates": {
                    "minItems": 1
                  }
                },
                "required": [
                  "groupByCoordinates"
                ]
              }
            ]
          },
          "then": {
            "properties": {
              "dimensions": {
                "maxProperties": 0
              },
              "coordinates": {
                "maxProperties": 0
              },
              "dimensionParameters": {
                "maxProperties": 0
              }
            }
          }
        }
      ],
      "properties": {
        "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"
        },
        "variable": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Variable"
        },
        "dimensions": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "propertyNames": {
            "const": "axis"
          },
          "title": "Dimensions",
          "type": "object"
        },
        "coordinates": {
          "additionalProperties": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "default": {},
          "propertyNames": {
            "maxLength": 128,
            "minLength": 1
          },
          "title": "Coordinates",
          "type": "object"
        },
        "dimensionParameters": {
          "additionalProperties": true,
          "default": {},
          "maxProperties": 0,
          "title": "Dimensionparameters",
          "type": "object"
        },
        "modeledCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Modeledcoordinates",
          "type": "array"
        },
        "groupByCoordinates": {
          "default": [],
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 0,
          "title": "Groupbycoordinates",
          "type": "array"
        }
      },
      "required": [
        "dimensions"
      ],
      "title": "AxisBinding",
      "type": "object"
    },
    "bindingExample": {
      "dimensions": {
        "axis": "sample"
      },
      "coordinates": {
        "sample": "axis"
      }
    },
    "exampleNames": "Replace sample/axis/y/x with actual reviewed source identifiers; examples do not imply physical calibration.",
    "semanticChecks": [
      "Referenced members, variables, dimensions and coordinates must exist",
      "Coordinates must belong to the selected signal unless the port consumes only coordinates",
      "Per-dimension options may name only bound axes",
      "A direct postprocessing source member is selected in sourceBindings, not overridden on its edge"
    ],
    "dtype": "float32",
    "dtypeScope": "selected-signal-only",
    "signalRequirements": {
      "nonempty": true,
      "complexSupported": false
    },
    "coordinateModePolicy": {
      "default": "physical",
      "physical": "Explicit finite numeric physical coordinate binding is required",
      "index": "Use sample indices or assigned generated index coordinate; no physical calibration required"
    }
  }
}

```
