{
"type": "object",
"properties": {
"predictor": {
"anyOf": [
{
"oneOf": [
{
"type": "string",
"const": "interpolation",
"description": "Interpolation"
},
{
"type": "string",
"const": "interpolation-lorenzo",
"description": "Interpolation + Lorenzo predictor"
},
{
"type": "string",
"const": "regression",
"description": "1st order regression"
},
{
"type": "string",
"const": "lorenzo2",
"description": "2nd order Lorenzo predictor"
},
{
"type": "string",
"const": "lorenzo2-regression",
"description": "2nd order Lorenzo predictor + 1st order regression"
},
{
"type": "string",
"const": "lorenzo",
"description": "1st order Lorenzo predictor"
},
{
"type": "string",
"const": "lorenzo-regression",
"description": "1st order Lorenzo predictor + 1st order regression"
},
{
"type": "string",
"const": "lorenzo-lorenzo2",
"description": "1st+2nd order Lorenzo predictor"
},
{
"type": "string",
"const": "lorenzo-lorenzo2-regression",
"description": "1st+2nd order Lorenzo predictor + 1st order regression"
}
],
"description": "SZ3 predictor"
},
{
"type": "null"
}
],
"description": "Predictor",
"default": "interpolation-lorenzo"
},
"_version": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
"description": "The codec's encoding format version. Do not provide this parameter explicitly.",
"default": "0.2.0"
}
},
"unevaluatedProperties": false,
"oneOf": [
{
"type": "object",
"description": "Errors are bounded by *both* the absolute and relative error, i.e. by\nwhichever bound is stricter",
"properties": {
"eb_abs": {
"type": "number",
"format": "double",
"description": "Absolute error bound"
},
"eb_rel": {
"type": "number",
"format": "double",
"description": "Relative error bound"
},
"eb_mode": {
"type": "string",
"const": "abs-and-rel"
}
},
"required": [
"eb_mode",
"eb_abs",
"eb_rel"
]
},
{
"type": "object",
"description": "Errors are bounded by *either* the absolute or relative error, i.e. by\nwhichever bound is weaker",
"properties": {
"eb_abs": {
"type": "number",
"format": "double",
"description": "Absolute error bound"
},
"eb_rel": {
"type": "number",
"format": "double",
"description": "Relative error bound"
},
"eb_mode": {
"type": "string",
"const": "abs-or-rel"
}
},
"required": [
"eb_mode",
"eb_abs",
"eb_rel"
]
},
{
"type": "object",
"description": "Absolute error bound",
"properties": {
"eb_abs": {
"type": "number",
"format": "double",
"description": "Absolute error bound"
},
"eb_mode": {
"type": "string",
"const": "abs"
}
},
"required": [
"eb_mode",
"eb_abs"
]
},
{
"type": "object",
"description": "Relative error bound",
"properties": {
"eb_rel": {
"type": "number",
"format": "double",
"description": "Relative error bound"
},
"eb_mode": {
"type": "string",
"const": "rel"
}
},
"required": [
"eb_mode",
"eb_rel"
]
},
{
"type": "object",
"description": "Peak signal to noise ratio error bound",
"properties": {
"eb_psnr": {
"type": "number",
"format": "double",
"description": "Peak signal to noise ratio error bound"
},
"eb_mode": {
"type": "string",
"const": "psnr"
}
},
"required": [
"eb_mode",
"eb_psnr"
]
},
{
"type": "object",
"description": "Peak L2 norm error bound",
"properties": {
"eb_l2": {
"type": "number",
"format": "double",
"description": "Peak L2 norm error bound"
},
"eb_mode": {
"type": "string",
"const": "l2"
}
},
"required": [
"eb_mode",
"eb_l2"
]
}
],
"description": "Codec providing compression using SZ3",
"title": "Sz3Codec",
"$schema": "https://json-schema.org/draft/2020-12/schema"
}