{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.imatest.com/schema/25-1/straylight-results-summary-per-capture",
  "title": "Stray Light Per-Capture Summary Results (Vectorized)",
  "description": "The array of per-capture summary metrics within the subset.",
  "type": "object",
  "properties": {
    "capture_index": {
      "description": "The one-based index of the capture.",
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "source_field_angle_deg": {
      "description": "The field angle of the source in degrees.",
      "type": "array",
      "items": {
        "$ref": "https://www.imatest.com/schema/25-1/common-number"
      }
    },
    "source_azimuth_angle_deg": {
      "description": "The azimuth angle of the source in degrees.",
      "type": "array",
      "items": {
        "$ref": "https://www.imatest.com/schema/25-1/common-number"
      }
    },
    "minimum": {
      "description": "The array of per-capture minimum stray light value within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "minimum_non_zero": {
      "description": "The array of per-capture minimum (of the non-zero values in the original image) stray light value within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "maximum": {
      "description": "The array of per-capture maximum stray light value within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "mean": {
      "description": "The array of per-capture mean stray light value within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "median": {
      "description": "The array of per-capture median stray light value within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "rms": {
      "description": "The array of per-capture root mean square of the stray light values within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "standard_deviation": {
      "description": "The array of per-capture standard deviation of the stray light values within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "total_count": {
      "description": "The array of per-capture counts for all of the pixels within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "source_count": {
      "description": "The array of per-capture counts for source-masked pixels within the subset.",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "saturation_count": {
      "description": "The array of per-capture counts for pixels at or above the computed saturation level.",
      "type": "array",
      "items": {
        "type": "number"
      }
    }
  },
  "required": [
    "capture_index",
    "source_field_angle_deg",
    "source_azimuth_angle_deg",
    "minimum",
    "minimum_non_zero",
    "maximum",
    "mean",
    "median",
    "rms",
    "standard_deviation",
    "total_count",
    "source_count",
    "saturation_count"
  ],
  "patternProperties": {
    "percentile_1?[0-9]{1,2}(?:p[0-9]+)?": {
      "description": "The array of per-capture percentile stray light value within the subset. The ranks are encoded within the property name, e.g., 99p9 corresponds to the 99.9th percentile.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "$comment": "Note any masked-out pixels are excluded from this summary statistic."
    },
    "level_count_at_[0-9]+(?:p[0-9]+)?": {
      "description": "The array of per-capture number of pixels of stray light worse than the user-provided threshold within the subset. The thresholds are encoded within the property name, e.g., 0p0001 corresponds to 0.0001.",
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "unevaluatedProperties": false,
  "$comment": "A subset is a combination of a channel and region of interest."
}