{
  "schema_version": "camera-spectra-application-export-1",
  "profile_id": "prf-sobotka-ref-nikond50-51eb66eb3f78",
  "profile_revision": 1,
  "exports": {
    "xspd": "/application-data/prf-sobotka-ref-nikond50-51eb66eb3f78-r1.xspd",
    "siril": null,
    "metadata": "/application-data/prf-sobotka-ref-nikond50-51eb66eb3f78-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-nikond50-51eb66eb3f78-r1.estimated.siril.json",
    "siril_estimated_alternative": "/application-data/prf-sobotka-ref-nikond50-51eb66eb3f78-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.04100488843697336,
            0.026891591287827785,
            0.019332279632118848,
            0.014988907531843537,
            0.012676431502844657,
            0.010543260797393976,
            0.010617368859573267,
            0.014149785619839154,
            0.019313218900974954,
            0.016365222634249974,
            0.01982224865908876,
            0.03239086560953479,
            0.05814351203241668,
            0.09187083738664581,
            0.05406044503093662,
            0.029368981933932486,
            0.02749161976563297,
            0.07278953196586269,
            0.33057579111802143,
            0.5629970378451016,
            0.514732151703093,
            0.4384748342550323,
            0.3179327907449324,
            0.27049713412131626,
            0.1922803643556215,
            0.14719669271202374,
            0.09656164140105968,
            0.07091461024208968,
            0.04937328314286419,
            0.034174644492437935,
            0.021771795503312926,
            0.015573416118247951,
            0.009884351641536056
          ]
        },
        {
          "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.04976773331248926,
            0.05300825627858143,
            0.0646852398179162,
            0.08434884901803084,
            0.10867654270523558,
            0.13434448657977877,
            0.19392879867586688,
            0.28818751056460584,
            0.42434744407313846,
            0.4308379333616022,
            0.5407744255602644,
            0.7475955453291582,
            0.8411428171591165,
            1,
            0.8989858357536723,
            0.86255280269104,
            0.6963800858027881,
            0.5837871828386171,
            0.4023321386922281,
            0.2646313786021591,
            0.12472567676146386,
            0.04777018748066107,
            0.016954832757944686,
            0.009364745144239633,
            0.005228245701596705,
            0.003151423440909467,
            0.0021687797602884746,
            0.002571257056913372,
            0.003178787664512135,
            0.003691423108087822,
            0.0034548582116420965,
            0.003021956234043104,
            0.0018530086664113642
          ]
        },
        {
          "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.35959617330469273,
            0.4644455084122127,
            0.5658767805902177,
            0.709726296765319,
            0.8222538149669858,
            0.9150014678921389,
            0.9798477661316385,
            0.8936066073763839,
            0.8459794164417324,
            0.6196944449186009,
            0.4164806797532004,
            0.2555379075396558,
            0.1034527297092097,
            0.045771509605327776,
            0.02265399796490922,
            0.012324148356918875,
            0.005873718582371599,
            0.003772046477839203,
            0.0027694280609247795,
            0.0018092289289909555,
            0.001184764439619849,
            0.0006118237466072478,
            0.00043258378671208117,
            0.0003607113189781282,
            0.0003359500273838361,
            0.0004291457250087594,
            0.00046787839055966644,
            0.0004307573451970633,
            0.0003696278158469608,
            0.0002797759433946216,
            0.0002034137881422021,
            0.00014399379626652253,
            0.00007051332432395384
          ]
        }
      ],
      "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.03094708561281008,
            0.02080292910945168,
            0.01531991970847154,
            0.012160811771118342,
            0.010523829926889904,
            0.008951825205334508,
            0.00921507485925227,
            0.012547923096838495,
            0.01749121711786411,
            0.01513011149204243,
            0.018700234584046,
            0.031168568794080646,
            0.05704646463557863,
            0.09187083738664581,
            0.05508045342774674,
            0.030477245403137485,
            0.029047749186329172,
            0.07828308154819194,
            0.361762186506514,
            0.626732551563415,
            0.5827156434374638,
            0.5046597148973013,
            0.3719213778525624,
            0.32153432923854575,
            0.23218760978792033,
            0.18052424577889703,
            0.12024657231075356,
            0.08964677143811338,
            0.0633468538436748,
            0.0444915183014758,
            0.02875520160814915,
            0.020862500837652915,
            0.01342779845642634
          ]
        },
        {
          "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.03756055344338812,
            0.041006386932487524,
            0.05126000136514114,
            0.06843397184481748,
            0.09022203545340313,
            0.11406607351113292,
            0.1683155611149033,
            0.25556250936861274,
            0.3843146663303895,
            0.3983218629192171,
            0.5101645524153439,
            0.7193843926752277,
            0.8252721979674351,
            1,
            0.9159478326546849,
            0.8951019650567396,
            0.7357978265086063,
            0.6278465928641731,
            0.44028800083300434,
            0.29458964787787517,
            0.1411988793526006,
            0.054980781817364634,
            0.01983395530174661,
            0.011131678190322583,
            0.006313353300041303,
            0.0038649532765870818,
            0.0027007446071516854,
            0.003250457034211244,
            0.004078444550694815,
            0.004805814989774712,
            0.004563020279527297,
            0.004048280992774724,
            0.0025172947921060043
          ]
        },
        {
          "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.2713933383431643,
            0.3592880348094476,
            0.44843065631677625,
            0.5758156747341268,
            0.6826258086518373,
            0.7768880387763444,
            0.8504339102274598,
            0.7924435952205668,
            0.766170037532135,
            0.5729250528492725,
            0.3929063016539627,
            0.24589496763249896,
            0.10150079141280952,
            0.045771509605327776,
            0.02308143188877543,
            0.012789210559066757,
            0.006206193219109614,
            0.004056729230883671,
            0.00303069485912523,
            0.002014047298310686,
            0.0013412427618337914,
            0.0007041745008121154,
            0.0005060414108707365,
            0.0004287700584079637,
            0.000405675504765387,
            0.0005263107948220634,
            0.0005826410146592073,
            0.0005445423043057215,
            0.00047423946184138366,
            0.0003642366055514885,
            0.0002686597201878141,
            0.0001928973497155302,
            0.0000957916858740505
          ]
        }
      ],
      "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.04075959106647031,
      "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": 601.8499800462016,
          "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": 529.627330535846,
          "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": 458.9519368180448,
          "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.2713933383431643,
        0.3592880348094476,
        0.44843065631677625,
        0.5758156747341268,
        0.6826258086518373,
        0.7768880387763444,
        0.8504339102274598,
        0.7924435952205668,
        0.766170037532135,
        0.5729250528492725,
        0.3929063016539627,
        0.24589496763249896,
        0.10150079141280952,
        0.045771509605327776,
        0.02308143188877543,
        0.012789210559066757,
        0.006206193219109614,
        0.004056729230883671,
        0.00303069485912523,
        0.002014047298310686,
        0.0013412427618337914,
        0.0007041745008121154,
        0.0005060414108707365,
        0.0004287700584079637,
        0.000405675504765387,
        0.0005263107948220634,
        0.0005826410146592073,
        0.0005445423043057215,
        0.00047423946184138366,
        0.0003642366055514885,
        0.0002686597201878141,
        0.0001928973497155302,
        0.0000957916858740505
      ],
      "camera_id": "cam-sobotka-ref-nikond50",
      "checksum": {
        "algorithm": "sha256",
        "covers": "canonical_profile_revision",
        "value": "e7aee0571386323cb7b345fd66509eece1b4e4a55eda3c0fe6938941dfb9b073"
      },
      "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.03756055344338812,
        0.041006386932487524,
        0.05126000136514114,
        0.06843397184481748,
        0.09022203545340313,
        0.11406607351113292,
        0.1683155611149033,
        0.25556250936861274,
        0.3843146663303895,
        0.3983218629192171,
        0.5101645524153439,
        0.7193843926752277,
        0.8252721979674351,
        1,
        0.9159478326546849,
        0.8951019650567396,
        0.7357978265086063,
        0.6278465928641731,
        0.44028800083300434,
        0.29458964787787517,
        0.1411988793526006,
        0.054980781817364634,
        0.01983395530174661,
        0.011131678190322583,
        0.006313353300041303,
        0.0038649532765870818,
        0.0027007446071516854,
        0.003250457034211244,
        0.004078444550694815,
        0.004805814989774712,
        0.004563020279527297,
        0.004048280992774724,
        0.0025172947921060043
      ],
      "interpolation_method": null,
      "license_id": "lic-src-sobotka-jiang2013-mirror",
      "measurement_method": null,
      "normalization_method": "unknown",
      "optical_configuration": {
        "configuration_id": "cfg-prf-sobotka-ref-nikond50-51eb66eb3f78",
        "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_NikonD50.mat",
      "profile_id": "prf-sobotka-ref-nikond50-51eb66eb3f78",
      "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.03094708561281008,
        0.02080292910945168,
        0.01531991970847154,
        0.012160811771118342,
        0.010523829926889904,
        0.008951825205334508,
        0.00921507485925227,
        0.012547923096838495,
        0.01749121711786411,
        0.01513011149204243,
        0.018700234584046,
        0.031168568794080646,
        0.05704646463557863,
        0.09187083738664581,
        0.05508045342774674,
        0.030477245403137485,
        0.029047749186329172,
        0.07828308154819194,
        0.361762186506514,
        0.626732551563415,
        0.5827156434374638,
        0.5046597148973013,
        0.3719213778525624,
        0.32153432923854575,
        0.23218760978792033,
        0.18052424577889703,
        0.12024657231075356,
        0.08964677143811338,
        0.0633468538436748,
        0.0444915183014758,
        0.02875520160814915,
        0.020862500837652915,
        0.01342779845642634
      ],
      "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"
  }
}
