forked from RnD/generalFunctions
199 lines
6.4 KiB
JSON
199 lines
6.4 KiB
JSON
{
|
||
"general": {
|
||
"name": {
|
||
"default": "Interpolation Configuration",
|
||
"rules": {
|
||
"type": "string",
|
||
"description": "A human-readable name or label for this interpolation configuration."
|
||
}
|
||
},
|
||
"id": {
|
||
"default": null,
|
||
"rules": {
|
||
"type": "string",
|
||
"nullable": true,
|
||
"description": "A unique identifier for this configuration. If not provided, defaults to null."
|
||
}
|
||
},
|
||
"unit": {
|
||
"default": "unitless",
|
||
"rules": {
|
||
"type": "string",
|
||
"description": "The unit used for the interpolated values (e.g., 'meters', 'seconds', 'unitless')."
|
||
}
|
||
},
|
||
"logging": {
|
||
"logLevel": {
|
||
"default": "info",
|
||
"rules": {
|
||
"type": "enum",
|
||
"values": [
|
||
{
|
||
"value": "debug",
|
||
"description": "Log messages are printed for debugging purposes."
|
||
},
|
||
{
|
||
"value": "info",
|
||
"description": "Informational messages are printed."
|
||
},
|
||
{
|
||
"value": "warn",
|
||
"description": "Warning messages are printed."
|
||
},
|
||
{
|
||
"value": "error",
|
||
"description": "Error messages are printed."
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"enabled": {
|
||
"default": true,
|
||
"rules": {
|
||
"type": "boolean",
|
||
"description": "Indicates whether logging is active. If true, log messages will be generated."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"functionality": {
|
||
"softwareType": {
|
||
"default": "interpolation",
|
||
"rules": {
|
||
"type": "enum",
|
||
"values": [
|
||
{
|
||
"value": "interpolation",
|
||
"description": "Specifies this component as an interpolation engine."
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"role": {
|
||
"default": "Interpolator",
|
||
"rules": {
|
||
"type": "string",
|
||
"description": "Indicates the role of this configuration (e.g., 'Interpolator', 'DataCurve', etc.)."
|
||
}
|
||
}
|
||
},
|
||
"interpolation": {
|
||
"enabled": {
|
||
"default": true,
|
||
"rules": {
|
||
"type": "boolean",
|
||
"description": "Flag to enable/disable interpolation."
|
||
}
|
||
},
|
||
"type": {
|
||
"default": "monotone_cubic_spline",
|
||
"rules": {
|
||
"type": "enum",
|
||
"values": [
|
||
{
|
||
"value": "cubic_spline",
|
||
"description": "Standard cubic spline interpolation (natural boundary)."
|
||
},
|
||
{
|
||
"value": "monotone_cubic_spline",
|
||
"description": "Monotonic cubic spline interpolation (e.g., Fritsch-Carlson)."
|
||
},
|
||
{
|
||
"value": "linear",
|
||
"description": "Basic linear interpolation between data points."
|
||
}
|
||
],
|
||
"description": "Specifies the default interpolation method."
|
||
}
|
||
},
|
||
"tension": {
|
||
"default": 0.5,
|
||
"rules": {
|
||
"type": "number",
|
||
"min": 0,
|
||
"max": 1,
|
||
"description": "Tension parameter (0–1) for spline methods like 'cardinal'."
|
||
}
|
||
}
|
||
},
|
||
"normalization": {
|
||
"enabled": {
|
||
"default": true,
|
||
"rules": {
|
||
"type": "boolean",
|
||
"description": "Flag to enable/disable normalization of input data."
|
||
}
|
||
},
|
||
"normalizationType": {
|
||
"default": "minmax",
|
||
"rules": {
|
||
"type": "enum",
|
||
"values": [
|
||
{
|
||
"value": "minmax",
|
||
"description": "Min-max normalization (default)."
|
||
},
|
||
{
|
||
"value": "zscore",
|
||
"description": "Z-score normalization."
|
||
}
|
||
],
|
||
"description": "Specifies the type of normalization to apply."
|
||
}
|
||
},
|
||
"parameters": {
|
||
"default": {},
|
||
"rules": {
|
||
"type": "object",
|
||
"schema": {
|
||
"min": {
|
||
"default": 0,
|
||
"rules": {
|
||
"type": "number",
|
||
"description": "Minimum value for normalization."
|
||
}
|
||
},
|
||
"max": {
|
||
"default": 1000,
|
||
"rules": {
|
||
"type": "number",
|
||
"description": "Maximum value for normalization."
|
||
}
|
||
},
|
||
"curvePoints": {
|
||
"default": 10,
|
||
"rules": {
|
||
"type": "number",
|
||
"description": "Number of points in the normalization curve."
|
||
}
|
||
}
|
||
},
|
||
"description": "Normalization parameters (e.g., 'min', 'max', 'mean', 'std')."
|
||
}
|
||
}
|
||
},
|
||
"curve": {
|
||
"default": {
|
||
"1": {
|
||
"x": [
|
||
1,
|
||
2,
|
||
3,
|
||
4,
|
||
5
|
||
],
|
||
"y": [
|
||
10,
|
||
20,
|
||
30,
|
||
40,
|
||
50
|
||
]
|
||
}
|
||
},
|
||
"rules": {
|
||
"type": "curve",
|
||
"description": "Explicitly enumerated dimension keys (no wildcard)."
|
||
}
|
||
}
|
||
} |