{
  "schema_version": "camera-spectra-application-export-1",
  "profile_id": "prf-jiang-intake-point-grey-grasshopper2-14s5c",
  "profile_revision": 1,
  "exports": {
    "xspd": "/application-data/prf-jiang-intake-point-grey-grasshopper2-14s5c-r1.xspd",
    "siril": null,
    "metadata": "/application-data/prf-jiang-intake-point-grey-grasshopper2-14s5c-r1.metadata.json",
    "xspd_reason": null,
    "siril_reason": "The source does not establish a sensor-only response. A Siril sensor export would misrepresent its physical scope; use CSV or source JSON.",
    "siril_estimated": "/application-data/prf-jiang-intake-point-grey-grasshopper2-14s5c-r1.estimated.siril.json",
    "siril_estimated_alternative": null,
    "siril_estimated_reason": null,
    "siril_estimated_note": "Estimated relative photon response. Assumes the source values describe energy response. Source optics remain unseparated; calibration accuracy is unverified.",
    "notes": []
  },
  "siril_assessment": null,
  "siril_estimate": {
    "primary": {
      "channels": [
        {
          "channel": "red",
          "wavelengths": [
            400,
            410,
            420,
            430,
            440,
            450,
            460,
            470,
            480,
            490,
            500,
            510,
            520,
            530,
            540,
            550,
            560,
            570,
            580,
            590,
            600,
            610,
            620,
            630,
            640,
            650,
            660,
            670,
            680,
            690,
            700,
            710,
            720
          ],
          "values": [
            0.021934749468447867,
            0.01620566199644425,
            0.01081957888462883,
            0.008539213573401776,
            0.006736297260728601,
            0.00421414976174875,
            0.0037000040117142054,
            0.004502649865266152,
            0.006125536566774983,
            0.0039029025980352426,
            0.00549289124242789,
            0.011333761249515252,
            0.027912388790653324,
            0.04599630922293096,
            0.025588533332144676,
            0.010959091456142846,
            0.012127662775303886,
            0.04956567915154356,
            0.24802180989178055,
            0.4485623444185836,
            0.46652191064575227,
            0.4576034150868076,
            0.4174224218589248,
            0.43214312777437097,
            0.37986169615276605,
            0.37739615060592313,
            0.3234323011071116,
            0.21152421788038986,
            0.07202442897967949,
            0.030587314959682272,
            0.014150834723105755,
            0.005091777850478326,
            0.005021058713666127
          ]
        },
        {
          "channel": "green",
          "wavelengths": [
            400,
            410,
            420,
            430,
            440,
            450,
            460,
            470,
            480,
            490,
            500,
            510,
            520,
            530,
            540,
            550,
            560,
            570,
            580,
            590,
            600,
            610,
            620,
            630,
            640,
            650,
            660,
            670,
            680,
            690,
            700,
            710,
            720
          ],
          "values": [
            0.02014933606129899,
            0.026081866366864416,
            0.031161801985607498,
            0.04341169237429107,
            0.05345230801212266,
            0.06740999273433984,
            0.09093854053837205,
            0.13938572973508176,
            0.19366968213851113,
            0.20692831230458245,
            0.25684117623460506,
            0.3558162383178489,
            0.4101642179780343,
            0.4778424698232045,
            0.45575970723401227,
            0.44420179651856145,
            0.3763768776255237,
            0.3242380030390495,
            0.24766386815017094,
            0.17987064601517788,
            0.09582948877388642,
            0.04003812443811339,
            0.015330118785563522,
            0.0082507907216055,
            0.00468555682593172,
            0.002692492848347945,
            0.00281533593243787,
            0.004322960357677254,
            0.0032432703494203073,
            0.00242020031826266,
            0.0016616405618692296,
            0.0007469275071942465,
            0.0007365535140387709
          ]
        },
        {
          "channel": "blue",
          "wavelengths": [
            400,
            410,
            420,
            430,
            440,
            450,
            460,
            470,
            480,
            490,
            500,
            510,
            520,
            530,
            540,
            550,
            560,
            570,
            580,
            590,
            600,
            610,
            620,
            630,
            640,
            650,
            660,
            670,
            680,
            690,
            700,
            710,
            720
          ],
          "values": [
            0.25872347253981626,
            0.44794556201669855,
            0.5354812242223483,
            0.7283276469616863,
            0.8274889951385317,
            0.9536660381647745,
            1,
            0.9815896460217025,
            0.9523069864002889,
            0.8199174241847418,
            0.654559313194528,
            0.48794243898064704,
            0.2653544503797242,
            0.13321616100144498,
            0.05284816850388319,
            0.012734019701163762,
            0,
            0,
            0,
            0,
            0.00001105233949800083,
            0.00002456938193952571,
            0.00019779886300254806,
            0.0004610102769929464,
            0.0004714679363742127,
            0.0012609681809344824,
            0.0015847973051005908,
            0.0014456691150098585,
            0.0005081128070436262,
            0.0002175686337438654,
            0.00013538561170045103,
            0.000040649230965687415,
            0.0000400846583133862
          ]
        }
      ],
      "interpretation": "energy_response",
      "basis": "Documented source-quantity evidence (https://www.gujinwei.org/research/camspec/supp.pdf): Jiang supplementary materials section 1 defines camera signal divided by spectrometer-measured illuminant radiance and exposure time. This documents an energy-response source convention for the original 28-camera dataset. The derived relative photon model divides sensitivity by wavelength; exact optics and calibration accuracy remain unverified.",
      "metadata": {
        "status": "estimated",
        "original_response_unit": "unknown",
        "original_response_scale": "unknown",
        "original_response_scope": "unknown",
        "source_attribution": "Jun Jiang; Jiang et al. WACV 2013 camera spectral sensitivity database; src-jiang-wacv2013-original; Jiang et al. WACV 2013 camera spectral sensitivity database; https://www.gujinwei.org/research/camspec/db.html",
        "source_positive_peak": 1,
        "input_scale_hint": "normalized_or_fractional",
        "normalization": "one shared positive maximum across all channels",
        "normalization_divisor": 0.0021675652173913044,
        "method_version": "camera-spectra-siril-estimate-v1",
        "uncertainty": "unknown",
        "effective_camera_detection_model": true,
        "optical_transmission_separated": false,
        "interchannel_scale_comparability": "unknown; channel ratios inherit original possibly incomparable scales",
        "quantity_evidence_uri": "https://www.gujinwei.org/research/camspec/supp.pdf",
        "retained_channel_intervals_nm": [
          {
            "channel": "red",
            "minimum": 400,
            "maximum": 720
          },
          {
            "channel": "green",
            "minimum": 400,
            "maximum": 720
          },
          {
            "channel": "blue",
            "minimum": 400,
            "maximum": 720
          }
        ],
        "repairs": {
          "conflicting_duplicate_groups_merged": 0,
          "identical_duplicate_samples_removed": 0,
          "negative_samples_floored": 0,
          "negative_magnitude_total": 0,
          "bounded_nulls_interpolated": 0,
          "trimmed_null_samples": 0,
          "documented_gap_samples_omitted": 0,
          "partial_channels": []
        }
      }
    },
    "alternative": null,
    "diagnostics": {
      "source_family_prior": "documented-source-quantity",
      "primary_basis": "documented_source_quantity",
      "interpretation_difference_rms": null,
      "comparison_sample_count": 0,
      "comparison_limitations": "sampled-assumption difference only; not uncertainty bounds and excludes optics, gain, and measurement-error uncertainty",
      "observed_channel_diagnostics": [
        {
          "channel": "red",
          "positive_peak_wavelength_nm": 600,
          "positive_response_centroid_nm": 619.7603348588165,
          "observed_nir_to_visible_mean_ratio": null,
          "note": "descriptive numeric summary only; does not identify optical filtering or physical units"
        },
        {
          "channel": "green",
          "positive_peak_wavelength_nm": 530,
          "positive_response_centroid_nm": 533.6153784609561,
          "observed_nir_to_visible_mean_ratio": null,
          "note": "descriptive numeric summary only; does not identify optical filtering or physical units"
        },
        {
          "channel": "blue",
          "positive_peak_wavelength_nm": 470,
          "positive_response_centroid_nm": 465.4372768390492,
          "observed_nir_to_visible_mean_ratio": null,
          "note": "descriptive numeric summary only; does not identify optical filtering or physical units"
        }
      ]
    }
  },
  "transformations": {
    "xspd": "Longest uninterrupted native run per channel; no interpolation, padding, rescaling or default replacement. Repeated identical wavelength/value pairs removed.",
    "siril": "Source scales and channel grids retained. Pairs sorted by wavelength and repeated identical wavelength/value pairs removed.",
    "siril_estimated": "Derived relative photon-response model with documented source-quantity assumptions, numeric repairs and shared RGB normalization. Original samples and unknown source metadata are preserved separately."
  },
  "compatibility": "Format validation does not establish calibration accuracy or a complete optical response.",
  "original": {
    "profile": {
      "attribution_required": null,
      "blue": [
        0.22432,
        0.39809,
        0.48749,
        0.67884,
        0.7892,
        0.93021,
        0.99708,
        1,
        0.99081,
        0.87084,
        0.7094,
        0.5394,
        0.29909,
        0.15304,
        0.061858,
        0.015181,
        0,
        0,
        0,
        0,
        0.000014374,
        0.000032486,
        0.00026582,
        0.00062954,
        0.00065404,
        0.0017766,
        0.0022672,
        0.0020995,
        0.00074893,
        0.0003254,
        0.00020542,
        0.000062558,
        0.000062558
      ],
      "camera_id": "cam-jiang-intake-point-grey-grasshopper2-14s5c",
      "checksum": {
        "algorithm": "sha256",
        "covers": "canonical_profile_revision",
        "value": "5952342516e8f8d711e4e35f4118a2bbfd6d5c06ab6e91d0577311c80a1707b7"
      },
      "citation": "Jiang et al. WACV 2013 camera spectral sensitivity database",
      "commercial_api_allowed": null,
      "confidence_grade": "unassessed",
      "confidence_reason": "Canonical release: no claim about the per-leaf measurement precision is asserted; the upstream 'as is' wording (where present) is preserved.",
      "created_at": "2026-09-23T00:00:00Z",
      "derivatives_allowed": null,
      "derived_from": [
        {
          "checksum": null,
          "id": "src-jiang-wacv2013-original",
          "kind": "source_artifact",
          "order": 0,
          "revision": null,
          "uri": "https://www.gujinwei.org/research/camspec/db.html"
        }
      ],
      "documented_gaps": null,
      "estimation_method": null,
      "green": [
        0.01747,
        0.023179,
        0.028369,
        0.040462,
        0.050979,
        0.065752,
        0.090673,
        0.142,
        0.2015,
        0.21978,
        0.27836,
        0.39334,
        0.46231,
        0.54895,
        0.53346,
        0.52956,
        0.45686,
        0.4006,
        0.31136,
        0.23003,
        0.12463,
        0.052939,
        0.020602,
        0.011267,
        0.0065,
        0.0037935,
        0.0040276,
        0.0062781,
        0.0047804,
        0.0036197,
        0.0025212,
        0.0011495,
        0.0011495
      ],
      "interpolation_method": null,
      "license_id": "lic-src-jiang-wacv2013-original",
      "measurement_method": null,
      "normalization_method": "unknown",
      "optical_configuration": {
        "configuration_id": "cfg-prf-jiang-intake-point-grey-grasshopper2-14s5c",
        "configuration_type": "unknown",
        "description": "Canonical release: the optical configuration is honestly unknown; lens, body serial, filter stack, and hot-mirror / IR-cut filter state are not documented per leaf in the inspected source.",
        "evidence_source_ids": [
          "src-jiang-wacv2013-original"
        ],
        "external_filters": null,
        "geometry": null,
        "internal_optical_stack": null,
        "lens": null,
        "modifier_or_vendor": null,
        "name": "unknown",
        "removed_components": null,
        "replacement_components": null
      },
      "original_normalization_method": "unknown",
      "original_wavelength_unit": "nm",
      "processing_notes": "source_column=database:Point Grey Grasshopper2 14S5C",
      "profile_id": "prf-jiang-intake-point-grey-grasshopper2-14s5c",
      "profile_revision": 1,
      "profile_type": "measured",
      "provenance_tier": "community_unverified",
      "quality_grade": "unassessed",
      "quality_reason": "Canonical release: no per-leaf scientific-quality assessment is asserted; the source-side claim is preserved verbatim.",
      "red": [
        0.019018,
        0.014402,
        0.0098499,
        0.007959,
        0.0064246,
        0.0041105,
        0.0036892,
        0.0045871,
        0.0063732,
        0.0041453,
        0.0059531,
        0.012529,
        0.031461,
        0.052841,
        0.029951,
        0.013065,
        0.014721,
        0.061239,
        0.31181,
        0.57365,
        0.60673,
        0.60505,
        0.56097,
        0.59012,
        0.52696,
        0.53172,
        0.4627,
        0.30719,
        0.10616,
        0.045747,
        0.021471,
        0.0078361,
        0.0078361
      ],
      "redistribution_allowed": null,
      "response_scale": "unknown",
      "response_scope": "unknown",
      "response_unit": "unknown",
      "retrieved_date": "2026-09-29",
      "rights_evidence_source_ids": [
        "src-jiang-wacv2013-original"
      ],
      "sample_count": 33,
      "sample_identifiers": null,
      "sampling_interval": 10,
      "schema_version": "0.1.0-draft",
      "scientific_notes": "Canonical release: native grid and native R/G/B samples are preserved verbatim; sparse cells (wavelengths absent in the upstream CSV / JSON) are preserved as null; the parser never invents a value.",
      "source_author": "Jun Jiang",
      "source_id": "src-jiang-wacv2013-original",
      "source_uri": "https://www.gujinwei.org/research/camspec/db.html",
      "uncertainty": null,
      "updated_at": "2026-09-23T00:00:00Z",
      "validation_reason": "Source catalog entry recorded as 'measured' by the private intake; the canonical contract does not assert a per-record validation pass.",
      "validation_status": "unverified",
      "version_date": "2026-09-29",
      "wavelength_max": 720,
      "wavelength_min": 400,
      "wavelength_unit": "nm",
      "wavelengths": [
        400,
        410,
        420,
        430,
        440,
        450,
        460,
        470,
        480,
        490,
        500,
        510,
        520,
        530,
        540,
        550,
        560,
        570,
        580,
        590,
        600,
        610,
        620,
        630,
        640,
        650,
        660,
        670,
        680,
        690,
        700,
        710,
        720
      ]
    },
    "source": {
      "authors": [
        "Jun Jiang",
        "Dengyu Liu",
        "Jinwei Gu",
        "Sabine Süsstrunk"
      ],
      "citation_text": "Jiang et al. WACV 2013 camera spectral sensitivity database",
      "data_acquisition_method": null,
      "doi": null,
      "known_limitations": [
        "source_category=measured",
        "permission_status is 'unknown' on the canonical License record (no independent operational clearance granted)."
      ],
      "license_id": "lic-src-jiang-wacv2013-original",
      "measurement_method": null,
      "normalization_method": null,
      "organization": null,
      "original_wavelength_coverage": {
        "maximum": 720,
        "minimum": 400,
        "unit": "nm"
      },
      "publication": null,
      "record_version": 1,
      "repository": "https://www.gujinwei.org/research/camspec/db.html",
      "retrieved_date": "2026-09-29",
      "rights_notes": "Operational redistribution permission is unknown; retain source terms.",
      "schema_version": "0.1.0-draft",
      "source_id": "src-jiang-wacv2013-original",
      "title": "Jiang et al. WACV 2013 camera spectral sensitivity database",
      "url": "https://www.gujinwei.org/research/camspec/db.html",
      "version": null,
      "year": 2013
    },
    "license": {
      "attribution_required": null,
      "commercial_api_allowed": null,
      "commercial_use_allowed": null,
      "derivatives_allowed": null,
      "evidence_revision": null,
      "evidence_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
      "license_id": "lic-src-jiang-wacv2013-original",
      "license_name": "CC BY-NC-SA 4.0",
      "license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
      "notes": "Canonical release: observed upstream license text is preserved verbatim on license_name/license_url when available; the operational permission_status is the literal 'unknown' because the owner-updated policy (2026-09-23) revoked the prior bespoke grants. Downstream redistribution requires a fresh per-source review and a new authorization ID.",
      "permission_status": "unknown",
      "record_version": 1,
      "redistribution_allowed": null,
      "reviewed_date": "2026-09-29",
      "rights_holder": null,
      "schema_version": "0.1.0-draft",
      "share_alike_required": null
    },
    "dataset_version": "recovered-2026-10-01-siril-source-review-v2"
  }
}
