{
  "schema_version": "camera-spectra-application-export-1",
  "profile_id": "prf-sobotka-ref-nikond80-54b72ed06cd7",
  "profile_revision": 1,
  "exports": {
    "xspd": "/application-data/prf-sobotka-ref-nikond80-54b72ed06cd7-r1.xspd",
    "siril": null,
    "metadata": "/application-data/prf-sobotka-ref-nikond80-54b72ed06cd7-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-sobotka-ref-nikond80-54b72ed06cd7-r1.estimated.siril.json",
    "siril_estimated_alternative": "/application-data/prf-sobotka-ref-nikond80-54b72ed06cd7-r1.alternative-estimate.siril.json",
    "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.0009353829158983061,
            0.005842951863040651,
            0.03907483443010047,
            0.03643744863206552,
            0.028600000324730403,
            0.024123025801683896,
            0.01935528927982127,
            0.02186877480029223,
            0.02444796525966208,
            0.022222287418164587,
            0.022824327740432547,
            0.03116772907509897,
            0.05423392634750295,
            0.06473670867118156,
            0.02866057011585516,
            0.015506116770364653,
            0.01836494292588616,
            0.07175763636763152,
            0.42509115825630434,
            0.6890230277077595,
            0.6064024524043065,
            0.3311347547238395,
            0.4158010790153988,
            0.3428728140698972,
            0.2664237273167549,
            0.20131225982894116,
            0.10740022908620557,
            0.043359595105429034,
            0.012746818443700238,
            0.002699160566664027,
            0.0006406288634298519,
            0.00022746743865554534,
            0.0000982628056370893
          ]
        },
        {
          "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.0017663769583213323,
            0.004953728667043465,
            0.04104806298970558,
            0.06444946820836012,
            0.08192983724561226,
            0.11130258065875495,
            0.15641193830794184,
            0.25683965864299413,
            0.33755896749800746,
            0.375926434364561,
            0.5239320971253503,
            0.7459199680717822,
            0.8867695900835045,
            1,
            0.8682708392005372,
            0.825175724805211,
            0.6464087893560149,
            0.5198948057104078,
            0.3444217874394261,
            0.21907660570375112,
            0.09978113762872041,
            0.028357519345053293,
            0.02268963868136277,
            0.01565462445024941,
            0.011101790532634433,
            0.008004417290339473,
            0.005150775999380808,
            0.0028856240747062944,
            0.0013976612040459842,
            0.0004620624755662953,
            0.00016986999996149705,
            0.00008459937574316013,
            0.00004974304944280733
          ]
        },
        {
          "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.004711361682686677,
            0.044858609300350634,
            0.3063385729279493,
            0.5945674442951943,
            0.5100360233180062,
            0.7174293056653015,
            0.9275141724881146,
            0.9171060236457617,
            0.8394123651263988,
            0.6293255377716592,
            0.38672617219277367,
            0.2124833902233786,
            0.08232651956464827,
            0.033214829536904605,
            0.014917307625687276,
            0.0061745015659916275,
            0.0020939483755313426,
            0.0011205497061410202,
            0.0009458340855736837,
            0.00038062659874214734,
            0.0007572092686215287,
            0.0005428540293820269,
            0.00030058002423937635,
            0.00025388471982745736,
            0.0006134398897609524,
            0.00034976619454799344,
            0.0002886657694112875,
            0.00018309684230273206,
            0.00008485916472168274,
            0.000037448232875055656,
            0.00002204913720127788,
            0.000010314409811079733,
            0.000011386857043073587
          ]
        }
      ],
      "interpretation": "energy_response",
      "basis": "The source quantity is not established; energy response is the explicit primary assumption, with a photon-response alternative for sensitivity comparison. Numeric values and profile naming cannot prove source units or optical scope.",
      "metadata": {
        "status": "estimated",
        "original_response_unit": "unknown",
        "original_response_scale": "unknown",
        "original_response_scope": "unknown",
        "source_attribution": "Sobotka (depositor); Sobotka Jiang 2013 camera spectral sensitivity mirror; src-sobotka-jiang2013-mirror; Sobotka, camera-spectral-sensitivity, pinned revision ae75f609f5831dc1b9287f9f89a04c1d93ed4efa, 2013.; https://github.com/sobotka/camera-spectral-sensitivity",
        "source_positive_peak": 1,
        "input_scale_hint": "normalized_or_fractional",
        "normalization": "one shared positive maximum across all channels",
        "normalization_divisor": 0.0018867924528301887,
        "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": null,
        "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": {
      "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.0007059493704892876,
            0.004520019365748428,
            0.030964963133287168,
            0.02956245832412863,
            0.023743396496002597,
            0.02048181435992029,
            0.016798930318335445,
            0.019393064445542164,
            0.022141553442712826,
            0.02054513365075594,
            0.02153238466078542,
            0.029991588355283913,
            0.053210644718304785,
            0.06473670867118156,
            0.029201335589739218,
            0.016091253252265205,
            0.01940446799716274,
            0.07717330703688674,
            0.46519409771444625,
            0.7670256346180718,
            0.6864933423444979,
            0.3811173592104568,
            0.48640880941424014,
            0.40756579785667024,
            0.3217192178919304,
            0.2468923941298335,
            0.13374368150357674,
            0.05481307305780651,
            0.016354408569275777,
            0.0035140014924493934,
            0.0008461135932092384,
            0.0003047205310291268,
            0.00013348909445038546
          ]
        },
        {
          "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.0013331146855255337,
            0.0038321297235619257,
            0.03252865368995537,
            0.052289191187914814,
            0.06801722337371584,
            0.09450219112535797,
            0.13575375777670423,
            0.22776347087208915,
            0.30571378188498793,
            0.34755462799742437,
            0.4942755633258021,
            0.7177720447483187,
            0.8700380883838157,
            1,
            0.8846533078646982,
            0.856314431401634,
            0.6829979661120158,
            0.5591321495376084,
            0.3769144088959757,
            0.24387773087776068,
            0.112959778447608,
            0.0326378996235519,
            0.026542596193292297,
            0.018608327176711563,
            0.013405935737520825,
            0.009816738186265392,
            0.0064141738860213834,
            0.003647864396326825,
            0.001793225695757112,
            0.0006015530342278184,
            0.00022435660372273193,
            0.00011333123920310131,
            0.00006757546339400241
          ]
        },
        {
          "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.0035557446661786244,
            0.03470194304366747,
            0.24275886911271455,
            0.4823849076357236,
            0.42342613256589196,
            0.6091380897158221,
            0.8050123006500618,
            0.813282700214166,
            0.7602225193597574,
            0.5818292707700246,
            0.3648360115026167,
            0.20446514908287372,
            0.08077318900682472,
            0.033214829536904605,
            0.015198766260134207,
            0.006407501625085651,
            0.0022124737552783997,
            0.0012051194952837389,
            0.001035063716288182,
            0.00042371640237333385,
            0.0008572180399489004,
            0.0006247942602321442,
            0.0003516219151479497,
            0.0003017874971533927,
            0.0007407576027302068,
            0.0004289585404833882,
            0.0003594705807763203,
            0.00023146204592986884,
            0.00010887590945423446,
            0.00004875335978073284,
            0.00002912150196395192,
            0.000013817416916729452,
            0.000015468937869835818
          ]
        }
      ],
      "interpretation": "photon_response",
      "basis": "Alternative photon-response source-quantity assumption applied to the same numeric samples; this is a sensitivity comparison, not a probability or claim that the source measured this quantity.",
      "metadata": {
        "status": "estimated",
        "original_response_unit": "unknown",
        "original_response_scale": "unknown",
        "original_response_scope": "unknown",
        "source_attribution": "Sobotka (depositor); Sobotka Jiang 2013 camera spectral sensitivity mirror; src-sobotka-jiang2013-mirror; Sobotka, camera-spectral-sensitivity, pinned revision ae75f609f5831dc1b9287f9f89a04c1d93ed4efa, 2013.; https://github.com/sobotka/camera-spectral-sensitivity",
        "source_positive_peak": 1,
        "input_scale_hint": "normalized_or_fractional",
        "normalization": "one shared positive maximum across all channels",
        "normalization_divisor": 1,
        "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": null,
        "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": []
        }
      }
    },
    "diagnostics": {
      "source_family_prior": "none",
      "primary_basis": "energy_response_assumption",
      "interpretation_difference_rms": 0.03401296253920726,
      "comparison_sample_count": 99,
      "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": 590,
          "positive_response_centroid_nm": 600.0171115637404,
          "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": 530.9955442462972,
          "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": 466.42060626250463,
          "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.0035557446661786244,
        0.03470194304366747,
        0.24275886911271455,
        0.4823849076357236,
        0.42342613256589196,
        0.6091380897158221,
        0.8050123006500618,
        0.813282700214166,
        0.7602225193597574,
        0.5818292707700246,
        0.3648360115026167,
        0.20446514908287372,
        0.08077318900682472,
        0.033214829536904605,
        0.015198766260134207,
        0.006407501625085651,
        0.0022124737552783997,
        0.0012051194952837389,
        0.001035063716288182,
        0.00042371640237333385,
        0.0008572180399489004,
        0.0006247942602321442,
        0.0003516219151479497,
        0.0003017874971533927,
        0.0007407576027302068,
        0.0004289585404833882,
        0.0003594705807763203,
        0.00023146204592986884,
        0.00010887590945423446,
        0.00004875335978073284,
        0.00002912150196395192,
        0.000013817416916729452,
        0.000015468937869835818
      ],
      "camera_id": "cam-sobotka-ref-nikond80",
      "checksum": {
        "algorithm": "sha256",
        "covers": "canonical_profile_revision",
        "value": "c17bad74ec4162c4e216158a5f71a0b3c91ddd4061179afcacc98806168f01b5"
      },
      "citation": "Sobotka, camera-spectral-sensitivity, pinned revision ae75f609f5831dc1b9287f9f89a04c1d93ed4efa, 2013.",
      "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-sobotka-jiang2013-mirror",
          "kind": "source_artifact",
          "order": 0,
          "revision": "ae75f609f5831dc1b9287f9f89a04c1d93ed4efa",
          "uri": "https://github.com/sobotka/camera-spectral-sensitivity"
        }
      ],
      "documented_gaps": null,
      "estimation_method": null,
      "green": [
        0.0013331146855255337,
        0.0038321297235619257,
        0.03252865368995537,
        0.052289191187914814,
        0.06801722337371584,
        0.09450219112535797,
        0.13575375777670423,
        0.22776347087208915,
        0.30571378188498793,
        0.34755462799742437,
        0.4942755633258021,
        0.7177720447483187,
        0.8700380883838157,
        1,
        0.8846533078646982,
        0.856314431401634,
        0.6829979661120158,
        0.5591321495376084,
        0.3769144088959757,
        0.24387773087776068,
        0.112959778447608,
        0.0326378996235519,
        0.026542596193292297,
        0.018608327176711563,
        0.013405935737520825,
        0.009816738186265392,
        0.0064141738860213834,
        0.003647864396326825,
        0.001793225695757112,
        0.0006015530342278184,
        0.00022435660372273193,
        0.00011333123920310131,
        0.00006757546339400241
      ],
      "interpolation_method": null,
      "license_id": "lic-src-sobotka-jiang2013-mirror",
      "measurement_method": null,
      "normalization_method": "unknown",
      "optical_configuration": {
        "configuration_id": "cfg-prf-sobotka-ref-nikond80-54b72ed06cd7",
        "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-sobotka-jiang2013-mirror"
        ],
        "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=cmf_NikonD80.mat",
      "profile_id": "prf-sobotka-ref-nikond80-54b72ed06cd7",
      "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.0007059493704892876,
        0.004520019365748428,
        0.030964963133287168,
        0.02956245832412863,
        0.023743396496002597,
        0.02048181435992029,
        0.016798930318335445,
        0.019393064445542164,
        0.022141553442712826,
        0.02054513365075594,
        0.02153238466078542,
        0.029991588355283913,
        0.053210644718304785,
        0.06473670867118156,
        0.029201335589739218,
        0.016091253252265205,
        0.01940446799716274,
        0.07717330703688674,
        0.46519409771444625,
        0.7670256346180718,
        0.6864933423444979,
        0.3811173592104568,
        0.48640880941424014,
        0.40756579785667024,
        0.3217192178919304,
        0.2468923941298335,
        0.13374368150357674,
        0.05481307305780651,
        0.016354408569275777,
        0.0035140014924493934,
        0.0008461135932092384,
        0.0003047205310291268,
        0.00013348909445038546
      ],
      "redistribution_allowed": null,
      "response_scale": "unknown",
      "response_scope": "unknown",
      "response_unit": "unknown",
      "retrieved_date": "2026-09-23",
      "rights_evidence_source_ids": [
        "src-sobotka-jiang2013-mirror"
      ],
      "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": "Sobotka (depositor)",
      "source_id": "src-sobotka-jiang2013-mirror",
      "source_uri": "https://github.com/sobotka/camera-spectral-sensitivity",
      "uncertainty": null,
      "updated_at": "2026-09-23T00:00:00Z",
      "validation_reason": "Mirror copy of an upstream measurement; the depositor's authority to apply the upstream license is not independently re-verified.",
      "validation_status": "unverified",
      "version_date": "2026-09-23",
      "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": [
        "Sobotka (depositor)",
        "Jiang et al. (upstream)"
      ],
      "citation_text": "Sobotka, camera-spectral-sensitivity, pinned revision ae75f609f5831dc1b9287f9f89a04c1d93ed4efa, 2013.",
      "data_acquisition_method": "MATLAB v5 (.mat) mirror; parsed via stdlib-only parse_matlab_v5_bytes. Float32 re-encode of the Jiang float64 curves (max |diff| ~4.9e-6, worst at green[14]@540nm).",
      "doi": null,
      "known_limitations": [
        "source_category=mirror",
        "permission_status is 'unknown' on the canonical License record (no independent operational clearance granted)."
      ],
      "license_id": "lic-src-sobotka-jiang2013-mirror",
      "measurement_method": null,
      "normalization_method": null,
      "organization": "sobotka/camera-spectral-sensitivity",
      "original_wavelength_coverage": {
        "maximum": 720,
        "minimum": 400,
        "unit": "nm"
      },
      "publication": "Jiang et al., WACV 2013",
      "record_version": 1,
      "repository": "https://github.com/sobotka/camera-spectral-sensitivity",
      "retrieved_date": "2026-09-23",
      "rights_notes": "Mirror designation. Upstream Jiang 2013 license is CC BY-NC-SA 4.0; the Sobotka mirror-depositor's authority to apply that license is not independently re-verified.",
      "schema_version": "0.1.0-draft",
      "source_id": "src-sobotka-jiang2013-mirror",
      "title": "Sobotka Jiang 2013 camera spectral sensitivity mirror",
      "url": "https://github.com/sobotka/camera-spectral-sensitivity",
      "version": "ae75f609f5831dc1b9287f9f89a04c1d93ed4efa",
      "year": 2013
    },
    "license": {
      "attribution_required": null,
      "commercial_api_allowed": null,
      "commercial_use_allowed": null,
      "derivatives_allowed": null,
      "evidence_revision": "ae75f609f5831dc1b9287f9f89a04c1d93ed4efa",
      "evidence_url": "https://www.gujinwei.org/research/camspec/db.html",
      "license_id": "lic-src-sobotka-jiang2013-mirror",
      "license_name": null,
      "license_url": null,
      "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-23",
      "rights_holder": "sobotka/camera-spectral-sensitivity",
      "schema_version": "0.1.0-draft",
      "share_alike_required": null
    },
    "dataset_version": "recovered-2026-10-01-siril-source-review-v2"
  }
}
