{
  "schema_version": "camera-spectra-application-export-1",
  "profile_id": "prf-sobotka-ref-nikond300s-db32cff16c91",
  "profile_revision": 1,
  "exports": {
    "xspd": "/application-data/prf-sobotka-ref-nikond300s-db32cff16c91-r1.xspd",
    "siril": null,
    "metadata": "/application-data/prf-sobotka-ref-nikond300s-db32cff16c91-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-nikond300s-db32cff16c91-r1.estimated.siril.json",
    "siril_estimated_alternative": "/application-data/prf-sobotka-ref-nikond300s-db32cff16c91-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.004558367927232054,
            0.02870273444133787,
            0.06688008625784297,
            0.06984636873076795,
            0.05822572034542218,
            0.04560194475974815,
            0.043075260502005115,
            0.04834397022065084,
            0.05570910560578727,
            0.04823605937505208,
            0.0520616975647491,
            0.0654147637606499,
            0.103677632141939,
            0.12891396175241404,
            0.06752370695049371,
            0.03549335301720134,
            0.041081072083971854,
            0.11597566860006518,
            0.49816220704970016,
            0.7522460949621219,
            0.6884479773952957,
            0.5986919014459493,
            0.47574345109643146,
            0.3922323083328168,
            0.2993290643075621,
            0.22044023311800384,
            0.1390538453675413,
            0.03468616861898161,
            0.006730053728889639,
            0.008208701657080502,
            0.003170784100662397,
            0.0009456371347482862,
            0.0003785349345214667
          ]
        },
        {
          "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.0030891085209491117,
            0.015651959548950777,
            0.050287014573346,
            0.07857590624279653,
            0.10229522968911496,
            0.12279995044905753,
            0.18301656041221578,
            0.29267879183970796,
            0.3892946916306126,
            0.3976777523231316,
            0.5532100183089455,
            0.781900012567222,
            0.9119864860498846,
            0.9951421086654888,
            0.8869140559593209,
            0.827340224183533,
            0.6886609863792738,
            0.5477226383994311,
            0.38522845015692775,
            0.24463135226253963,
            0.1313957522239215,
            0.06364706997191671,
            0.03299083037516794,
            0.020896990617643635,
            0.014855705791886565,
            0.010424877926676568,
            0.007222727127111778,
            0.0023039654925009435,
            0.0006899403772189899,
            0.0012797385280821718,
            0.0006989883830679859,
            0.00026670408431999655,
            0.00011211493253844964
          ]
        },
        {
          "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.014459677786542875,
            0.139056917423804,
            0.4738946943900037,
            0.7115364761822832,
            0.8403650795680125,
            0.9252551328790509,
            1,
            0.9736860761012543,
            0.9325647077718889,
            0.7330417035233455,
            0.5625395092061578,
            0.39015601642249587,
            0.23130671897630045,
            0.15331192816607742,
            0.09258311609696969,
            0.05210957034007524,
            0.02374107731127416,
            0.012387763798918634,
            0.007564685533667331,
            0.0026324095319453823,
            0.0017849751533157083,
            0.0009140626584779292,
            0.0007535589313393291,
            0.0016175892881083284,
            0.002757436121929059,
            0.003999421962580631,
            0.0037864014677933596,
            0.001133971403159616,
            0.00027434689313638827,
            0.0003970206508398614,
            0.00018845502222300954,
            0.00005658215639062395,
            0.0000262564946020471
          ]
        }
      ],
      "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.0018960030295174888,
        "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.003457071759874932,
            0.022312393297047154,
            0.05325803538688973,
            0.0569444384871626,
            0.04857430255513375,
            0.03890764143736725,
            0.037568579228166095,
            0.043080347578710904,
            0.05069982384013554,
            0.04481330020647126,
            0.04935456815229378,
            0.06325356103533515,
            0.10221801440984436,
            0.1295432688757297,
            0.06913358258888909,
            0.0370125276665911,
            0.0436183087911407,
            0.12533742483914273,
            0.547819891179263,
            0.8414939162446214,
            0.783179670484001,
            0.6924242119223544,
            0.5592468352222024,
            0.4685143962704048,
            0.36321844015985466,
            0.2716709773825299,
            0.1740066979747237,
            0.044062604125242204,
            0.008676937535977355,
            0.010738969015058605,
            0.004208271382561254,
            0.0012729809193379618,
            0.0005167464354942517
          ]
        },
        {
          "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.002342783645691122,
            0.012167226716305301,
            0.040044619430110735,
            0.06406146720187249,
            0.08533890877412971,
            0.10477308513420477,
            0.15961997837697856,
            0.26081234172169426,
            0.35428987905922465,
            0.3694591293564179,
            0.524443935336593,
            0.7560672442296799,
            0.899147153023387,
            1,
            0.9080595379910786,
            0.8627517643215113,
            0.7311938572319389,
            0.591935755592161,
            0.4236286989612399,
            0.2736548531527937,
            0.1494760465693707,
            0.07361177286686607,
            0.03878144288932192,
            0.02496107723687605,
            0.018026536439703957,
            0.012847640085363701,
            0.009038246259492172,
            0.0029267781209693132,
            0.0008895277508676778,
            0.0016742078071014942,
            0.0009276988643261025,
            0.00035902694381733486,
            0.00015305058125787555
          ]
        },
        {
          "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.01096623715565281,
            0.1080974580514672,
            0.37737242601899884,
            0.5801023852151372,
            0.7010672841751292,
            0.7894289407568792,
            0.8721613935780448,
            0.867672522540878,
            0.8487098453551647,
            0.6810261524150327,
            0.5332883068390782,
            0.3772658644519789,
            0.22805028476194436,
            0.15406033653994672,
            0.09479044904509291,
            0.05433994677740054,
            0.02520736652346344,
            0.013387725484267178,
            0.00831874667972462,
            0.002944723304024504,
            0.002030590978980016,
            0.0010571699974822077,
            0.0008858250103783842,
            0.00193218114018411,
            0.003345988634162209,
            0.004928895502291577,
            0.004738158911577747,
            0.0014405088545704756,
            0.000353710527557206,
            0.0005193991261736337,
            0.0002501179051438282,
            0.0000761687573526113,
            0.000035843323183193446
          ]
        }
      ],
      "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.041196708471714624,
      "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": 592.6871069541953,
          "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": 531.1248931546082,
          "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": 460,
          "positive_response_centroid_nm": 469.81016073816454,
          "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.01096623715565281,
        0.1080974580514672,
        0.37737242601899884,
        0.5801023852151372,
        0.7010672841751292,
        0.7894289407568792,
        0.8721613935780448,
        0.867672522540878,
        0.8487098453551647,
        0.6810261524150327,
        0.5332883068390782,
        0.3772658644519789,
        0.22805028476194436,
        0.15406033653994672,
        0.09479044904509291,
        0.05433994677740054,
        0.02520736652346344,
        0.013387725484267178,
        0.00831874667972462,
        0.002944723304024504,
        0.002030590978980016,
        0.0010571699974822077,
        0.0008858250103783842,
        0.00193218114018411,
        0.003345988634162209,
        0.004928895502291577,
        0.004738158911577747,
        0.0014405088545704756,
        0.000353710527557206,
        0.0005193991261736337,
        0.0002501179051438282,
        0.0000761687573526113,
        0.000035843323183193446
      ],
      "camera_id": "cam-sobotka-ref-nikond300s",
      "checksum": {
        "algorithm": "sha256",
        "covers": "canonical_profile_revision",
        "value": "e42153616642e9d1a79af3b3f0b0c7a83f8ee52e761b4e42eafe551ffdd369dc"
      },
      "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.002342783645691122,
        0.012167226716305301,
        0.040044619430110735,
        0.06406146720187249,
        0.08533890877412971,
        0.10477308513420477,
        0.15961997837697856,
        0.26081234172169426,
        0.35428987905922465,
        0.3694591293564179,
        0.524443935336593,
        0.7560672442296799,
        0.899147153023387,
        1,
        0.9080595379910786,
        0.8627517643215113,
        0.7311938572319389,
        0.591935755592161,
        0.4236286989612399,
        0.2736548531527937,
        0.1494760465693707,
        0.07361177286686607,
        0.03878144288932192,
        0.02496107723687605,
        0.018026536439703957,
        0.012847640085363701,
        0.009038246259492172,
        0.0029267781209693132,
        0.0008895277508676778,
        0.0016742078071014942,
        0.0009276988643261025,
        0.00035902694381733486,
        0.00015305058125787555
      ],
      "interpolation_method": null,
      "license_id": "lic-src-sobotka-jiang2013-mirror",
      "measurement_method": null,
      "normalization_method": "unknown",
      "optical_configuration": {
        "configuration_id": "cfg-prf-sobotka-ref-nikond300s-db32cff16c91",
        "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_NikonD300s.mat",
      "profile_id": "prf-sobotka-ref-nikond300s-db32cff16c91",
      "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.003457071759874932,
        0.022312393297047154,
        0.05325803538688973,
        0.0569444384871626,
        0.04857430255513375,
        0.03890764143736725,
        0.037568579228166095,
        0.043080347578710904,
        0.05069982384013554,
        0.04481330020647126,
        0.04935456815229378,
        0.06325356103533515,
        0.10221801440984436,
        0.1295432688757297,
        0.06913358258888909,
        0.0370125276665911,
        0.0436183087911407,
        0.12533742483914273,
        0.547819891179263,
        0.8414939162446214,
        0.783179670484001,
        0.6924242119223544,
        0.5592468352222024,
        0.4685143962704048,
        0.36321844015985466,
        0.2716709773825299,
        0.1740066979747237,
        0.044062604125242204,
        0.008676937535977355,
        0.010738969015058605,
        0.004208271382561254,
        0.0012729809193379618,
        0.0005167464354942517
      ],
      "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"
  }
}
