@photivra/engine 0.6.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +674 -0
- package/CHANGELOG.md +186 -0
- package/CITATION.cff +1 -1
- package/CONTRIBUTING.md +76 -0
- package/DCO +33 -0
- package/NODE_SUPPORT.md +37 -0
- package/NOTICE +2 -0
- package/README.md +138 -71
- package/SECURITY.md +55 -0
- package/THIRD_PARTY.md +63 -0
- package/dist/camera/equivalent-focal-length.d.ts +9 -0
- package/dist/camera/equivalent-focal-length.d.ts.map +1 -1
- package/dist/camera/equivalent-focal-length.js +9 -0
- package/dist/camera/equivalent-focal-length.js.map +1 -1
- package/dist/camera/field-of-view.d.ts +13 -0
- package/dist/camera/field-of-view.d.ts.map +1 -1
- package/dist/camera/field-of-view.js +13 -0
- package/dist/camera/field-of-view.js.map +1 -1
- package/dist/camera/projected-object-size.d.ts +8 -0
- package/dist/camera/projected-object-size.d.ts.map +1 -1
- package/dist/camera/projected-object-size.js +8 -0
- package/dist/camera/projected-object-size.js.map +1 -1
- package/dist/capture/capture-export-metadata.d.ts +60 -0
- package/dist/capture/capture-export-metadata.d.ts.map +1 -0
- package/dist/capture/capture-export-metadata.js +62 -0
- package/dist/capture/capture-export-metadata.js.map +1 -0
- package/dist/capture/environment-raw-producer.d.ts +55 -0
- package/dist/capture/environment-raw-producer.d.ts.map +1 -0
- package/dist/capture/environment-raw-producer.js +88 -0
- package/dist/capture/environment-raw-producer.js.map +1 -0
- package/dist/capture/export-jpeg.d.ts +12 -0
- package/dist/capture/export-jpeg.d.ts.map +1 -0
- package/dist/capture/export-jpeg.js +126 -0
- package/dist/capture/export-jpeg.js.map +1 -0
- package/dist/capture/export-tiff.d.ts +45 -0
- package/dist/capture/export-tiff.d.ts.map +1 -0
- package/dist/capture/export-tiff.js +129 -0
- package/dist/capture/export-tiff.js.map +1 -0
- package/dist/capture/focus-control.d.ts +210 -0
- package/dist/capture/focus-control.d.ts.map +1 -0
- package/dist/capture/focus-control.js +664 -0
- package/dist/capture/focus-control.js.map +1 -0
- package/dist/capture/linear-encoding.d.ts +59 -0
- package/dist/capture/linear-encoding.d.ts.map +1 -0
- package/dist/capture/linear-encoding.js +98 -0
- package/dist/capture/linear-encoding.js.map +1 -0
- package/dist/capture/photographic-export.d.ts +135 -0
- package/dist/capture/photographic-export.d.ts.map +1 -0
- package/dist/capture/photographic-export.js +273 -0
- package/dist/capture/photographic-export.js.map +1 -0
- package/dist/capture/raw-frame-limits.d.ts +12 -0
- package/dist/capture/raw-frame-limits.d.ts.map +1 -0
- package/dist/capture/raw-frame-limits.js +13 -0
- package/dist/capture/raw-frame-limits.js.map +1 -0
- package/dist/capture/raw-frame-reconstruction.d.ts +48 -0
- package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -0
- package/dist/capture/raw-frame-reconstruction.js +146 -0
- package/dist/capture/raw-frame-reconstruction.js.map +1 -0
- package/dist/capture/release-sequence.d.ts +120 -0
- package/dist/capture/release-sequence.d.ts.map +1 -0
- package/dist/capture/release-sequence.js +446 -0
- package/dist/capture/release-sequence.js.map +1 -0
- package/dist/capture/sensor-raw-frame.d.ts +34 -0
- package/dist/capture/sensor-raw-frame.d.ts.map +1 -0
- package/dist/capture/sensor-raw-frame.js +106 -0
- package/dist/capture/sensor-raw-frame.js.map +1 -0
- package/dist/capture/sensor-raw-producer.d.ts +51 -0
- package/dist/capture/sensor-raw-producer.d.ts.map +1 -0
- package/dist/capture/sensor-raw-producer.js +235 -0
- package/dist/capture/sensor-raw-producer.js.map +1 -0
- package/dist/capture/simulated-capture.d.ts +125 -0
- package/dist/capture/simulated-capture.d.ts.map +1 -0
- package/dist/capture/simulated-capture.js +248 -0
- package/dist/capture/simulated-capture.js.map +1 -0
- package/dist/color/capture-color.d.ts +73 -0
- package/dist/color/capture-color.d.ts.map +1 -0
- package/dist/color/capture-color.js +145 -0
- package/dist/color/capture-color.js.map +1 -0
- package/dist/color/sensor-color-development.d.ts +23 -0
- package/dist/color/sensor-color-development.d.ts.map +1 -0
- package/dist/color/sensor-color-development.js +56 -0
- package/dist/color/sensor-color-development.js.map +1 -0
- package/dist/color/white-balance.d.ts +175 -0
- package/dist/color/white-balance.d.ts.map +1 -0
- package/dist/color/white-balance.js +606 -0
- package/dist/color/white-balance.js.map +1 -0
- package/dist/composition/image-formation-plan.d.ts +481 -0
- package/dist/composition/image-formation-plan.d.ts.map +1 -0
- package/dist/composition/image-formation-plan.js +2499 -0
- package/dist/composition/image-formation-plan.js.map +1 -0
- package/dist/composition/plan-consumer.d.ts +53 -0
- package/dist/composition/plan-consumer.d.ts.map +1 -0
- package/dist/composition/plan-consumer.js +119 -0
- package/dist/composition/plan-consumer.js.map +1 -0
- package/dist/core/calculation-result.d.ts.map +1 -1
- package/dist/core/calculation-result.js +6 -0
- package/dist/core/calculation-result.js.map +1 -1
- package/dist/core/canonical-json.d.ts +18 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +44 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/configuration-error.d.ts +6 -0
- package/dist/core/configuration-error.d.ts.map +1 -1
- package/dist/core/configuration-error.js +6 -0
- package/dist/core/configuration-error.js.map +1 -1
- package/dist/core/evidence-provenance.d.ts +6 -0
- package/dist/core/evidence-provenance.d.ts.map +1 -1
- package/dist/core/evidence-provenance.js +7 -0
- package/dist/core/evidence-provenance.js.map +1 -1
- package/dist/core/image-formation.d.ts +9 -3
- package/dist/core/image-formation.d.ts.map +1 -1
- package/dist/core/image-formation.js +29 -5
- package/dist/core/image-formation.js.map +1 -1
- package/dist/core/owned-data.d.ts +25 -0
- package/dist/core/owned-data.d.ts.map +1 -0
- package/dist/core/owned-data.js +34 -0
- package/dist/core/owned-data.js.map +1 -0
- package/dist/core/record-validation.d.ts +17 -0
- package/dist/core/record-validation.d.ts.map +1 -0
- package/dist/core/record-validation.js +44 -0
- package/dist/core/record-validation.js.map +1 -0
- package/dist/core/scientific-assurance.d.ts +101 -0
- package/dist/core/scientific-assurance.d.ts.map +1 -0
- package/dist/core/scientific-assurance.js +301 -0
- package/dist/core/scientific-assurance.js.map +1 -0
- package/dist/core/spectral-composition.d.ts +106 -0
- package/dist/core/spectral-composition.d.ts.map +1 -0
- package/dist/core/spectral-composition.js +334 -0
- package/dist/core/spectral-composition.js.map +1 -0
- package/dist/core/spectral.d.ts +34 -0
- package/dist/core/spectral.d.ts.map +1 -0
- package/dist/core/spectral.js +57 -0
- package/dist/core/spectral.js.map +1 -0
- package/dist/core/validation.d.ts +6 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +6 -0
- package/dist/core/validation.js.map +1 -1
- package/dist/core/version.d.ts +14 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +15 -0
- package/dist/core/version.js.map +1 -0
- package/dist/equipment/exposure-capabilities.d.ts +125 -0
- package/dist/equipment/exposure-capabilities.d.ts.map +1 -0
- package/dist/equipment/exposure-capabilities.js +391 -0
- package/dist/equipment/exposure-capabilities.js.map +1 -0
- package/dist/equipment/generic-tier-assets.d.ts +82 -0
- package/dist/equipment/generic-tier-assets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-assets.js +119 -0
- package/dist/equipment/generic-tier-assets.js.map +1 -0
- package/dist/equipment/generic-tier-presets.d.ts +57 -0
- package/dist/equipment/generic-tier-presets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-presets.js +122 -0
- package/dist/equipment/generic-tier-presets.js.map +1 -0
- package/dist/equipment/iso-capabilities.d.ts +143 -0
- package/dist/equipment/iso-capabilities.d.ts.map +1 -0
- package/dist/equipment/iso-capabilities.js +578 -0
- package/dist/equipment/iso-capabilities.js.map +1 -0
- package/dist/equipment/metering-capabilities.d.ts +58 -0
- package/dist/equipment/metering-capabilities.d.ts.map +1 -0
- package/dist/equipment/metering-capabilities.js +151 -0
- package/dist/equipment/metering-capabilities.js.map +1 -0
- package/dist/equipment/release-capabilities.d.ts +33 -0
- package/dist/equipment/release-capabilities.d.ts.map +1 -0
- package/dist/equipment/release-capabilities.js +176 -0
- package/dist/equipment/release-capabilities.js.map +1 -0
- package/dist/exposure/exposure-duration-control.d.ts +72 -0
- package/dist/exposure/exposure-duration-control.d.ts.map +1 -0
- package/dist/exposure/exposure-duration-control.js +161 -0
- package/dist/exposure/exposure-duration-control.js.map +1 -0
- package/dist/exposure/exposure-mode-resolver.d.ts +637 -0
- package/dist/exposure/exposure-mode-resolver.d.ts.map +1 -0
- package/dist/exposure/exposure-mode-resolver.js +1905 -0
- package/dist/exposure/exposure-mode-resolver.js.map +1 -0
- package/dist/exposure/exposure.d.ts +8 -0
- package/dist/exposure/exposure.d.ts.map +1 -1
- package/dist/exposure/exposure.js +8 -0
- package/dist/exposure/exposure.js.map +1 -1
- package/dist/exposure/flash.d.ts +179 -0
- package/dist/exposure/flash.d.ts.map +1 -0
- package/dist/exposure/flash.js +644 -0
- package/dist/exposure/flash.js.map +1 -0
- package/dist/exposure/metering-scene-radiance.d.ts +72 -0
- package/dist/exposure/metering-scene-radiance.d.ts.map +1 -0
- package/dist/exposure/metering-scene-radiance.js +222 -0
- package/dist/exposure/metering-scene-radiance.js.map +1 -0
- package/dist/exposure/metering-target.d.ts +67 -0
- package/dist/exposure/metering-target.d.ts.map +1 -0
- package/dist/exposure/metering-target.js +265 -0
- package/dist/exposure/metering-target.js.map +1 -0
- package/dist/exposure/metering-temporal.d.ts +76 -0
- package/dist/exposure/metering-temporal.d.ts.map +1 -0
- package/dist/exposure/metering-temporal.js +210 -0
- package/dist/exposure/metering-temporal.js.map +1 -0
- package/dist/exposure/metering.d.ts +124 -0
- package/dist/exposure/metering.d.ts.map +1 -0
- package/dist/exposure/metering.js +422 -0
- package/dist/exposure/metering.js.map +1 -0
- package/dist/exposure/program-line.d.ts +29 -0
- package/dist/exposure/program-line.d.ts.map +1 -0
- package/dist/exposure/program-line.js +126 -0
- package/dist/exposure/program-line.js.map +1 -0
- package/dist/index.d.ts +87 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -6
- package/dist/index.js.map +1 -1
- package/dist/motion/camera-rotation.d.ts +16 -0
- package/dist/motion/camera-rotation.d.ts.map +1 -1
- package/dist/motion/camera-rotation.js +16 -0
- package/dist/motion/camera-rotation.js.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.d.ts +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.js +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.js +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
- package/dist/motion/capture-rotation-trajectory.d.ts +15 -0
- package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -1
- package/dist/motion/capture-rotation-trajectory.js +15 -0
- package/dist/motion/capture-rotation-trajectory.js.map +1 -1
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +119 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +1 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js +263 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -0
- package/dist/motion/extended-object-projection.d.ts +175 -0
- package/dist/motion/extended-object-projection.d.ts.map +1 -0
- package/dist/motion/extended-object-projection.js +402 -0
- package/dist/motion/extended-object-projection.js.map +1 -0
- package/dist/motion/projected-motion.d.ts +11 -0
- package/dist/motion/projected-motion.d.ts.map +1 -1
- package/dist/motion/projected-motion.js +11 -0
- package/dist/motion/projected-motion.js.map +1 -1
- package/dist/optics/aperture.d.ts +9 -0
- package/dist/optics/aperture.d.ts.map +1 -1
- package/dist/optics/aperture.js +9 -0
- package/dist/optics/aperture.js.map +1 -1
- package/dist/optics/circle-of-confusion.d.ts +8 -0
- package/dist/optics/circle-of-confusion.d.ts.map +1 -1
- package/dist/optics/circle-of-confusion.js +8 -0
- package/dist/optics/circle-of-confusion.js.map +1 -1
- package/dist/optics/complex-pupil-psf.d.ts +128 -0
- package/dist/optics/complex-pupil-psf.d.ts.map +1 -0
- package/dist/optics/complex-pupil-psf.js +462 -0
- package/dist/optics/complex-pupil-psf.js.map +1 -0
- package/dist/optics/depth-of-field.d.ts +18 -0
- package/dist/optics/depth-of-field.d.ts.map +1 -1
- package/dist/optics/depth-of-field.js +29 -4
- package/dist/optics/depth-of-field.js.map +1 -1
- package/dist/optics/diffraction.d.ts +8 -0
- package/dist/optics/diffraction.d.ts.map +1 -1
- package/dist/optics/diffraction.js +8 -0
- package/dist/optics/diffraction.js.map +1 -1
- package/dist/optics/focus-breathing.d.ts +13 -0
- package/dist/optics/focus-breathing.d.ts.map +1 -1
- package/dist/optics/focus-breathing.js +13 -0
- package/dist/optics/focus-breathing.js.map +1 -1
- package/dist/optics/focus-state.d.ts +47 -0
- package/dist/optics/focus-state.d.ts.map +1 -0
- package/dist/optics/focus-state.js +78 -0
- package/dist/optics/focus-state.js.map +1 -0
- package/dist/optics/front-of-lens-filter.d.ts +114 -0
- package/dist/optics/front-of-lens-filter.d.ts.map +1 -0
- package/dist/optics/front-of-lens-filter.js +468 -0
- package/dist/optics/front-of-lens-filter.js.map +1 -0
- package/dist/optics/illumination-vignetting.d.ts +9 -0
- package/dist/optics/illumination-vignetting.d.ts.map +1 -1
- package/dist/optics/illumination-vignetting.js +9 -0
- package/dist/optics/illumination-vignetting.js.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.d.ts +11 -0
- package/dist/optics/lateral-chromatic-aberration.d.ts.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.js +11 -0
- package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
- package/dist/optics/lens-psf-profile.d.ts +217 -0
- package/dist/optics/lens-psf-profile.d.ts.map +1 -0
- package/dist/optics/lens-psf-profile.js +823 -0
- package/dist/optics/lens-psf-profile.js.map +1 -0
- package/dist/optics/polygon-diffraction.d.ts +67 -0
- package/dist/optics/polygon-diffraction.d.ts.map +1 -0
- package/dist/optics/polygon-diffraction.js +145 -0
- package/dist/optics/polygon-diffraction.js.map +1 -0
- package/dist/optics/profile-contract.d.ts +42 -0
- package/dist/optics/profile-contract.d.ts.map +1 -0
- package/dist/optics/profile-contract.js +92 -0
- package/dist/optics/profile-contract.js.map +1 -0
- package/dist/optics/psf-foundation.d.ts +16 -3
- package/dist/optics/psf-foundation.d.ts.map +1 -1
- package/dist/optics/psf-foundation.js +28 -15
- package/dist/optics/psf-foundation.js.map +1 -1
- package/dist/optics/radial-distortion.d.ts +18 -0
- package/dist/optics/radial-distortion.d.ts.map +1 -1
- package/dist/optics/radial-distortion.js +18 -0
- package/dist/optics/radial-distortion.js.map +1 -1
- package/dist/optics/scene-to-sensor-irradiance.d.ts +213 -0
- package/dist/optics/scene-to-sensor-irradiance.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-irradiance.js +662 -0
- package/dist/optics/scene-to-sensor-irradiance.js.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts +63 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.js +82 -0
- package/dist/optics/scene-to-sensor-quadrature.js.map +1 -0
- package/dist/optics/sensor-environment-query.d.ts +60 -0
- package/dist/optics/sensor-environment-query.d.ts.map +1 -0
- package/dist/optics/sensor-environment-query.js +50 -0
- package/dist/optics/sensor-environment-query.js.map +1 -0
- package/dist/optics/sensor-psf-quadrature.d.ts +70 -0
- package/dist/optics/sensor-psf-quadrature.d.ts.map +1 -0
- package/dist/optics/sensor-psf-quadrature.js +101 -0
- package/dist/optics/sensor-psf-quadrature.js.map +1 -0
- package/dist/optics/sensor-psf-support.d.ts +20 -0
- package/dist/optics/sensor-psf-support.d.ts.map +1 -0
- package/dist/optics/sensor-psf-support.js +13 -0
- package/dist/optics/sensor-psf-support.js.map +1 -0
- package/dist/optics/stray-light.d.ts +91 -0
- package/dist/optics/stray-light.d.ts.map +1 -0
- package/dist/optics/stray-light.js +110 -0
- package/dist/optics/stray-light.js.map +1 -0
- package/dist/optics/thin-lens.d.ts +8 -0
- package/dist/optics/thin-lens.d.ts.map +1 -1
- package/dist/optics/thin-lens.js +8 -0
- package/dist/optics/thin-lens.js.map +1 -1
- package/dist/output/capture-corrected-sdr.d.ts +49 -0
- package/dist/output/capture-corrected-sdr.d.ts.map +1 -0
- package/dist/output/capture-corrected-sdr.js +149 -0
- package/dist/output/capture-corrected-sdr.js.map +1 -0
- package/dist/output/capture-geometry.d.ts.map +1 -1
- package/dist/output/capture-geometry.js +8 -0
- package/dist/output/capture-geometry.js.map +1 -1
- package/dist/output/capture-sdr.d.ts +49 -0
- package/dist/output/capture-sdr.d.ts.map +1 -0
- package/dist/output/capture-sdr.js +90 -0
- package/dist/output/capture-sdr.js.map +1 -0
- package/dist/output/crop.d.ts +6 -0
- package/dist/output/crop.d.ts.map +1 -1
- package/dist/output/crop.js +6 -0
- package/dist/output/crop.js.map +1 -1
- package/dist/output/geometric-transforms.d.ts +137 -0
- package/dist/output/geometric-transforms.d.ts.map +1 -0
- package/dist/output/geometric-transforms.js +225 -0
- package/dist/output/geometric-transforms.js.map +1 -0
- package/dist/output/lens-corrections.d.ts +121 -0
- package/dist/output/lens-corrections.d.ts.map +1 -0
- package/dist/output/lens-corrections.js +210 -0
- package/dist/output/lens-corrections.js.map +1 -0
- package/dist/output/sdr-rendering.d.ts +81 -0
- package/dist/output/sdr-rendering.d.ts.map +1 -0
- package/dist/output/sdr-rendering.js +106 -0
- package/dist/output/sdr-rendering.js.map +1 -0
- package/dist/output/subject-framing-crop.d.ts +8 -0
- package/dist/output/subject-framing-crop.d.ts.map +1 -1
- package/dist/output/subject-framing-crop.js +8 -0
- package/dist/output/subject-framing-crop.js.map +1 -1
- package/dist/schema/camera.d.ts +6 -0
- package/dist/schema/camera.d.ts.map +1 -1
- package/dist/schema/illumination-spectral.d.ts +51 -0
- package/dist/schema/illumination-spectral.d.ts.map +1 -0
- package/dist/schema/illumination-spectral.js +132 -0
- package/dist/schema/illumination-spectral.js.map +1 -0
- package/dist/schema/illumination-temporal.d.ts +156 -0
- package/dist/schema/illumination-temporal.d.ts.map +1 -0
- package/dist/schema/illumination-temporal.js +554 -0
- package/dist/schema/illumination-temporal.js.map +1 -0
- package/dist/schema/illumination.d.ts +138 -0
- package/dist/schema/illumination.d.ts.map +1 -0
- package/dist/schema/illumination.js +483 -0
- package/dist/schema/illumination.js.map +1 -0
- package/dist/schema/scene-radiance-temporal.d.ts +107 -0
- package/dist/schema/scene-radiance-temporal.d.ts.map +1 -0
- package/dist/schema/scene-radiance-temporal.js +259 -0
- package/dist/schema/scene-radiance-temporal.js.map +1 -0
- package/dist/schema/scene-radiance.d.ts +185 -0
- package/dist/schema/scene-radiance.d.ts.map +1 -0
- package/dist/schema/scene-radiance.js +535 -0
- package/dist/schema/scene-radiance.js.map +1 -0
- package/dist/schema/scene.d.ts +7 -0
- package/dist/schema/scene.d.ts.map +1 -1
- package/dist/schema/validation.d.ts.map +1 -1
- package/dist/schema/validation.js +7 -0
- package/dist/schema/validation.js.map +1 -1
- package/dist/sensor/accumulated-charge.d.ts +199 -0
- package/dist/sensor/accumulated-charge.d.ts.map +1 -0
- package/dist/sensor/accumulated-charge.js +450 -0
- package/dist/sensor/accumulated-charge.js.map +1 -0
- package/dist/sensor/architecture.d.ts +48 -13
- package/dist/sensor/architecture.d.ts.map +1 -1
- package/dist/sensor/architecture.js +58 -16
- package/dist/sensor/architecture.js.map +1 -1
- package/dist/sensor/camera-saturation-capacity.d.ts +138 -0
- package/dist/sensor/camera-saturation-capacity.d.ts.map +1 -0
- package/dist/sensor/camera-saturation-capacity.js +356 -0
- package/dist/sensor/camera-saturation-capacity.js.map +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -1
- package/dist/sensor/capture-color-sampling-binding.js +14 -0
- package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
- package/dist/sensor/capture-mode-timing.d.ts +63 -0
- package/dist/sensor/capture-mode-timing.d.ts.map +1 -0
- package/dist/sensor/capture-mode-timing.js +270 -0
- package/dist/sensor/capture-mode-timing.js.map +1 -0
- package/dist/sensor/capture-mode.d.ts.map +1 -1
- package/dist/sensor/capture-mode.js +13 -0
- package/dist/sensor/capture-mode.js.map +1 -1
- package/dist/sensor/color-sampling.d.ts.map +1 -1
- package/dist/sensor/color-sampling.js +19 -0
- package/dist/sensor/color-sampling.js.map +1 -1
- package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
- package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
- package/dist/sensor/constant-rate-temporal-integration.js +382 -0
- package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
- package/dist/sensor/dark-current.d.ts +169 -0
- package/dist/sensor/dark-current.d.ts.map +1 -0
- package/dist/sensor/dark-current.js +427 -0
- package/dist/sensor/dark-current.js.map +1 -0
- package/dist/sensor/environment-photo-signal.d.ts +123 -0
- package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
- package/dist/sensor/environment-photo-signal.js +186 -0
- package/dist/sensor/environment-photo-signal.js.map +1 -0
- package/dist/sensor/eqe-electron-rate.d.ts +107 -0
- package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
- package/dist/sensor/eqe-electron-rate.js +561 -0
- package/dist/sensor/eqe-electron-rate.js.map +1 -0
- package/dist/sensor/eqe-local-exposure.d.ts +65 -0
- package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-local-exposure.js +84 -0
- package/dist/sensor/eqe-local-exposure.js.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.js +62 -0
- package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/exposure-window.d.ts +14 -0
- package/dist/sensor/exposure-window.d.ts.map +1 -1
- package/dist/sensor/exposure-window.js +14 -0
- package/dist/sensor/exposure-window.js.map +1 -1
- package/dist/sensor/iso-signal-chain.d.ts +148 -0
- package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
- package/dist/sensor/iso-signal-chain.js +411 -0
- package/dist/sensor/iso-signal-chain.js.map +1 -0
- package/dist/sensor/local-exposure-binding.d.ts +87 -0
- package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
- package/dist/sensor/local-exposure-binding.js +214 -0
- package/dist/sensor/local-exposure-binding.js.map +1 -0
- package/dist/sensor/optical-stack.d.ts.map +1 -1
- package/dist/sensor/optical-stack.js +17 -0
- package/dist/sensor/optical-stack.js.map +1 -1
- package/dist/sensor/photon-energy.d.ts +97 -0
- package/dist/sensor/photon-energy.d.ts.map +1 -0
- package/dist/sensor/photon-energy.js +390 -0
- package/dist/sensor/photon-energy.js.map +1 -0
- package/dist/sensor/physical-charge-capacity.d.ts +130 -0
- package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
- package/dist/sensor/physical-charge-capacity.js +345 -0
- package/dist/sensor/physical-charge-capacity.js.map +1 -0
- package/dist/sensor/pixel-pitch.d.ts +6 -0
- package/dist/sensor/pixel-pitch.d.ts.map +1 -1
- package/dist/sensor/pixel-pitch.js +6 -0
- package/dist/sensor/pixel-pitch.js.map +1 -1
- package/dist/sensor/radiometry-readiness.d.ts +10 -0
- package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
- package/dist/sensor/radiometry-readiness.js +10 -0
- package/dist/sensor/radiometry-readiness.js.map +1 -1
- package/dist/sensor/raw-readout.d.ts +314 -0
- package/dist/sensor/raw-readout.d.ts.map +1 -0
- package/dist/sensor/raw-readout.js +914 -0
- package/dist/sensor/raw-readout.js.map +1 -0
- package/dist/sensor/raw-reconstruction.d.ts +170 -0
- package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
- package/dist/sensor/raw-reconstruction.js +424 -0
- package/dist/sensor/raw-reconstruction.js.map +1 -0
- package/dist/sensor/readout-exposure-linkage.d.ts +12 -0
- package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -1
- package/dist/sensor/readout-exposure-linkage.js +12 -0
- package/dist/sensor/readout-exposure-linkage.js.map +1 -1
- package/dist/sensor/readout-timing.d.ts +13 -0
- package/dist/sensor/readout-timing.d.ts.map +1 -1
- package/dist/sensor/readout-timing.js +13 -0
- package/dist/sensor/readout-timing.js.map +1 -1
- package/dist/sensor/response-application-compatibility.d.ts +136 -0
- package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
- package/dist/sensor/response-application-compatibility.js +408 -0
- package/dist/sensor/response-application-compatibility.js.map +1 -0
- package/dist/sensor/response-operating-range.d.ts +173 -0
- package/dist/sensor/response-operating-range.d.ts.map +1 -0
- package/dist/sensor/response-operating-range.js +672 -0
- package/dist/sensor/response-operating-range.js.map +1 -0
- package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
- package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
- package/dist/sensor/responsivity-photocurrent.js +644 -0
- package/dist/sensor/responsivity-photocurrent.js.map +1 -0
- package/dist/sensor/sampling-aperture.d.ts.map +1 -1
- package/dist/sensor/sampling-aperture.js +14 -0
- package/dist/sensor/sampling-aperture.js.map +1 -1
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/sensor-geometry.d.ts +12 -0
- package/dist/sensor/sensor-geometry.d.ts.map +1 -1
- package/dist/sensor/sensor-geometry.js +12 -0
- package/dist/sensor/sensor-geometry.js.map +1 -1
- package/dist/sensor/signal-noise.d.ts +10 -0
- package/dist/sensor/signal-noise.d.ts.map +1 -1
- package/dist/sensor/signal-noise.js +10 -0
- package/dist/sensor/signal-noise.js.map +1 -1
- package/dist/sensor/spatial-sample-reduction.d.ts +44 -1
- package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -1
- package/dist/sensor/spatial-sample-reduction.js +51 -5
- package/dist/sensor/spatial-sample-reduction.js.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.d.ts +24 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.js +27 -0
- package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
- package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
- package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
- package/dist/sensor/spatio-spectral-reduction.js +373 -0
- package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
- package/dist/sensor/spectral-coverage.d.ts +24 -0
- package/dist/sensor/spectral-coverage.d.ts.map +1 -0
- package/dist/sensor/spectral-coverage.js +86 -0
- package/dist/sensor/spectral-coverage.js.map +1 -0
- package/dist/sensor/spectral-quadrature.d.ts +169 -0
- package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
- package/dist/sensor/spectral-quadrature.js +542 -0
- package/dist/sensor/spectral-quadrature.js.map +1 -0
- package/dist/sensor/spectral-response.d.ts +192 -0
- package/dist/sensor/spectral-response.d.ts.map +1 -0
- package/dist/sensor/spectral-response.js +664 -0
- package/dist/sensor/spectral-response.js.map +1 -0
- package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
- package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
- package/dist/sensor/temporal-eqe-sum.js +30 -0
- package/dist/sensor/temporal-eqe-sum.js.map +1 -0
- package/dist/sensor/temporal-photo-signal.d.ts +38 -0
- package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
- package/dist/sensor/temporal-photo-signal.js +110 -0
- package/dist/sensor/temporal-photo-signal.js.map +1 -0
- package/dist/sensor/temporal-sample-binding.d.ts +6 -0
- package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
- package/dist/sensor/temporal-sample-binding.js +32 -0
- package/dist/sensor/temporal-sample-binding.js.map +1 -0
- package/dist/simulation/poc-simulation.d.ts.map +1 -1
- package/dist/simulation/poc-simulation.js +34 -11
- package/dist/simulation/poc-simulation.js.map +1 -1
- package/dist/stabilization/camera-shake.d.ts +11 -0
- package/dist/stabilization/camera-shake.d.ts.map +1 -1
- package/dist/stabilization/camera-shake.js +11 -0
- package/dist/stabilization/camera-shake.js.map +1 -1
- package/dist/stabilization/system.d.ts +218 -0
- package/dist/stabilization/system.d.ts.map +1 -0
- package/dist/stabilization/system.js +695 -0
- package/dist/stabilization/system.js.map +1 -0
- package/docs/API_REFERENCE.md +2017 -0
- package/docs/API_STYLE.md +132 -0
- package/docs/ARCHITECTURE.md +134 -24
- package/docs/AUTOMATION_COORDINATION.md +2 -0
- package/docs/CAPTURE_COLOR.md +25 -0
- package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
- package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
- package/docs/CAPTURE_SDR.md +20 -0
- package/docs/DEVELOPERS.md +60 -0
- package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
- package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
- package/docs/EXPORT_ACCEPTANCE.md +133 -0
- package/docs/GENERIC_TIER_PRESETS.md +269 -0
- package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
- package/docs/IMAGE_FORMATION.md +80 -10
- package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
- package/docs/MOTION_AND_SIGNAL.md +5 -3
- package/docs/NUMERICAL_CORRECTNESS.md +191 -0
- package/docs/PERFORMANCE_BASELINE.md +56 -0
- package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
- package/docs/PHYSICS_FOUNDATION.md +152 -5
- package/docs/POC_API.md +2 -0
- package/docs/POC_PROJECTION_REUSE.md +124 -0
- package/docs/PROCESSED_OUTPUT.md +157 -0
- package/docs/PRODUCTION_COMPOSITION.md +373 -0
- package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
- package/docs/PROVENANCE.md +4 -0
- package/docs/PSF_FOUNDATION.md +110 -88
- package/docs/RAW_FRAME_ENVELOPE.md +56 -0
- package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
- package/docs/RELEASE_1_0.md +65 -0
- package/docs/RELEASE_AUDIT.md +38 -0
- package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
- package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
- package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
- package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
- package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
- package/docs/SDR_RENDERING.md +33 -0
- package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
- package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
- package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
- package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
- package/docs/SENSOR_RAW_FRAME.md +20 -0
- package/docs/SENSOR_RAW_PRODUCER.md +77 -0
- package/docs/SIGNAL_CONFORMANCE.md +23 -0
- package/docs/SIMULATED_CAPTURE.md +65 -0
- package/docs/STABILIZATION.md +160 -17
- package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
- package/docs/TIER_ACCEPTANCE.md +129 -0
- package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
- package/docs/USAGE.md +5050 -1047
- package/docs/V1_COMPOSITION_MAP.md +123 -0
- package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
- package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
- package/docs/api/camera-equivalent-focal-length.md +53 -0
- package/docs/api/camera-field-of-view.md +119 -0
- package/docs/api/camera-projected-object-size.md +54 -0
- package/docs/api/capture-capture-export-metadata.md +107 -0
- package/docs/api/capture-environment-raw-producer.md +56 -0
- package/docs/api/capture-focus-control.md +419 -0
- package/docs/api/capture-linear-encoding.md +99 -0
- package/docs/api/capture-photographic-export.md +172 -0
- package/docs/api/capture-raw-frame-reconstruction.md +87 -0
- package/docs/api/capture-release-sequence.md +252 -0
- package/docs/api/capture-sensor-raw-frame.md +66 -0
- package/docs/api/capture-sensor-raw-producer.md +98 -0
- package/docs/api/capture-simulated-capture.md +179 -0
- package/docs/api/color-capture-color.md +122 -0
- package/docs/api/color-white-balance.md +386 -0
- package/docs/api/composition-image-formation-plan.md +825 -0
- package/docs/api/composition-plan-consumer.md +98 -0
- package/docs/api/core-calculation-result.md +220 -0
- package/docs/api/core-configuration-error.md +19 -0
- package/docs/api/core-image-formation.md +204 -0
- package/docs/api/core-scientific-assurance.md +214 -0
- package/docs/api/core-spectral-composition.md +268 -0
- package/docs/api/core-spectral.md +78 -0
- package/docs/api/core-validation.md +34 -0
- package/docs/api/core-version.md +14 -0
- package/docs/api/equipment-exposure-capabilities.md +270 -0
- package/docs/api/equipment-generic-tier-assets.md +82 -0
- package/docs/api/equipment-generic-tier-presets.md +103 -0
- package/docs/api/equipment-iso-capabilities.md +295 -0
- package/docs/api/equipment-metering-capabilities.md +126 -0
- package/docs/api/equipment-release-capabilities.md +91 -0
- package/docs/api/exports.json +5656 -0
- package/docs/api/exposure-exposure-duration-control.md +115 -0
- package/docs/api/exposure-exposure-mode-resolver.md +966 -0
- package/docs/api/exposure-exposure.md +150 -0
- package/docs/api/exposure-flash.md +327 -0
- package/docs/api/exposure-metering-scene-radiance.md +154 -0
- package/docs/api/exposure-metering-target.md +134 -0
- package/docs/api/exposure-metering-temporal.md +77 -0
- package/docs/api/exposure-metering.md +172 -0
- package/docs/api/exposure-program-line.md +64 -0
- package/docs/api/motion-camera-rotation.md +215 -0
- package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
- package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
- package/docs/api/motion-capture-rotation-trajectory.md +132 -0
- package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
- package/docs/api/motion-extended-object-projection.md +312 -0
- package/docs/api/motion-projected-motion.md +60 -0
- package/docs/api/optics-aperture.md +69 -0
- package/docs/api/optics-circle-of-confusion.md +46 -0
- package/docs/api/optics-complex-pupil-psf.md +193 -0
- package/docs/api/optics-depth-of-field.md +92 -0
- package/docs/api/optics-diffraction.md +46 -0
- package/docs/api/optics-focus-breathing.md +119 -0
- package/docs/api/optics-focus-state.md +64 -0
- package/docs/api/optics-front-of-lens-filter.md +263 -0
- package/docs/api/optics-illumination-vignetting.md +95 -0
- package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
- package/docs/api/optics-lens-psf-profile.md +380 -0
- package/docs/api/optics-polygon-diffraction.md +68 -0
- package/docs/api/optics-profile-contract.md +47 -0
- package/docs/api/optics-psf-foundation.md +181 -0
- package/docs/api/optics-radial-distortion.md +194 -0
- package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
- package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
- package/docs/api/optics-sensor-environment-query.md +58 -0
- package/docs/api/optics-sensor-psf-quadrature.md +81 -0
- package/docs/api/optics-stray-light.md +109 -0
- package/docs/api/optics-thin-lens.md +53 -0
- package/docs/api/output-capture-corrected-sdr.md +71 -0
- package/docs/api/output-capture-geometry.md +500 -0
- package/docs/api/output-capture-sdr.md +69 -0
- package/docs/api/output-crop.md +47 -0
- package/docs/api/output-geometric-transforms.md +199 -0
- package/docs/api/output-lens-corrections.md +162 -0
- package/docs/api/output-sdr-rendering.md +122 -0
- package/docs/api/output-subject-framing-crop.md +59 -0
- package/docs/api/schema-camera.md +84 -0
- package/docs/api/schema-illumination-spectral.md +77 -0
- package/docs/api/schema-illumination-temporal.md +289 -0
- package/docs/api/schema-illumination.md +246 -0
- package/docs/api/schema-scene-radiance-temporal.md +215 -0
- package/docs/api/schema-scene-radiance.md +415 -0
- package/docs/api/schema-scene.md +105 -0
- package/docs/api/schema-validation.md +25 -0
- package/docs/api/sensor-accumulated-charge.md +273 -0
- package/docs/api/sensor-architecture.md +155 -0
- package/docs/api/sensor-camera-saturation-capacity.md +215 -0
- package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
- package/docs/api/sensor-capture-mode-timing.md +123 -0
- package/docs/api/sensor-capture-mode.md +321 -0
- package/docs/api/sensor-color-sampling.md +228 -0
- package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
- package/docs/api/sensor-dark-current.md +227 -0
- package/docs/api/sensor-environment-photo-signal.md +77 -0
- package/docs/api/sensor-eqe-electron-rate.md +166 -0
- package/docs/api/sensor-eqe-local-exposure.md +68 -0
- package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
- package/docs/api/sensor-exposure-window.md +183 -0
- package/docs/api/sensor-iso-signal-chain.md +264 -0
- package/docs/api/sensor-local-exposure-binding.md +126 -0
- package/docs/api/sensor-optical-stack.md +211 -0
- package/docs/api/sensor-photon-energy.md +149 -0
- package/docs/api/sensor-physical-charge-capacity.md +196 -0
- package/docs/api/sensor-pixel-pitch.md +41 -0
- package/docs/api/sensor-radiometry-readiness.md +240 -0
- package/docs/api/sensor-raw-readout.md +499 -0
- package/docs/api/sensor-raw-reconstruction.md +260 -0
- package/docs/api/sensor-readout-exposure-linkage.md +172 -0
- package/docs/api/sensor-readout-timing.md +209 -0
- package/docs/api/sensor-response-application-compatibility.md +256 -0
- package/docs/api/sensor-response-operating-range.md +293 -0
- package/docs/api/sensor-responsivity-photocurrent.md +245 -0
- package/docs/api/sensor-sampling-aperture.md +221 -0
- package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
- package/docs/api/sensor-sensor-geometry.md +143 -0
- package/docs/api/sensor-signal-noise.md +75 -0
- package/docs/api/sensor-spatial-sample-reduction.md +186 -0
- package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
- package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
- package/docs/api/sensor-spectral-coverage.md +33 -0
- package/docs/api/sensor-spectral-quadrature.md +183 -0
- package/docs/api/sensor-spectral-response.md +291 -0
- package/docs/api/sensor-temporal-photo-signal.md +62 -0
- package/docs/api/simulation-poc-simulation.md +364 -0
- package/docs/api/stabilization-camera-shake.md +71 -0
- package/docs/api/stabilization-system.md +442 -0
- package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
- package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
- package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
- package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
- package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
- package/docs/examples/production-capture.mjs +34 -0
- package/docs/examples/production-request.json +4613 -0
- package/docs/examples/quick-start.mjs +12 -0
- package/docs/validation/documentation-fragments.json +212 -0
- package/docs/validation/release-audit-inventory.json +1306 -0
- package/docs/validation/tier-acceptance-report-v1.json +2538 -0
- package/package.json +15 -3
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# sensor/signal-noise.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## calculatePhotoelectrons
|
|
6
|
+
|
|
7
|
+
Converts mean incident photon count to mean photoelectron count.
|
|
8
|
+
|
|
9
|
+
This is an expectation value; the stochastic shot-noise realization is not
|
|
10
|
+
generated by this deterministic calculation.
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
export function calculatePhotoelectrons(
|
|
14
|
+
input: CalculatePhotoelectronsInput
|
|
15
|
+
): CalculationResult<number>;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
19
|
+
|
|
20
|
+
## CalculatePhotoelectronsInput
|
|
21
|
+
|
|
22
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
export interface CalculatePhotoelectronsInput {
|
|
26
|
+
/** Mean photons incident on the photosite/measurement region. */
|
|
27
|
+
incidentPhotons: number;
|
|
28
|
+
/** Quantum efficiency from 0 to 1 inclusive. */
|
|
29
|
+
quantumEfficiency: number;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## calculateSignalToNoise
|
|
34
|
+
|
|
35
|
+
Calculates expected SNR from Poisson shot noise and independent RMS read
|
|
36
|
+
noise.
|
|
37
|
+
|
|
38
|
+
Variances are combined as signalElectrons + readNoiseElectrons^2.
|
|
39
|
+
Dark current, fixed-pattern noise, quantization, clipping, and downstream
|
|
40
|
+
processing are intentionally outside this primitive.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
export function calculateSignalToNoise(
|
|
44
|
+
input: CalculateSignalToNoiseInput
|
|
45
|
+
): CalculationResult<SignalToNoise>;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
49
|
+
|
|
50
|
+
## CalculateSignalToNoiseInput
|
|
51
|
+
|
|
52
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
export interface CalculateSignalToNoiseInput {
|
|
56
|
+
/** Mean signal in electrons. */
|
|
57
|
+
signalElectrons: number;
|
|
58
|
+
/** RMS read noise in electrons. */
|
|
59
|
+
readNoiseElectrons: number;
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## SignalToNoise
|
|
64
|
+
|
|
65
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
export interface SignalToNoise {
|
|
69
|
+
shotNoiseStdElectrons: number;
|
|
70
|
+
combinedNoiseStdElectrons: number;
|
|
71
|
+
snrLinear: number;
|
|
72
|
+
/** Null when the signal is zero because -Infinity dB is not JSON-safe. */
|
|
73
|
+
snrDb: number | null;
|
|
74
|
+
}
|
|
75
|
+
```
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# sensor/spatial-sample-reduction.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## reduceSensorSpatialSamplingQuadrature
|
|
6
|
+
|
|
7
|
+
Reduces explicitly identified nonnegative linear scalar values over a
|
|
8
|
+
validated sensor spatial quadrature.
|
|
9
|
+
|
|
10
|
+
This function does not sample a renderer or optical model itself. Callers
|
|
11
|
+
evaluate one value at every quadrature node's preAntiAliasingSourcePointMm
|
|
12
|
+
and provide those values with exact node identity. Ordering is deliberately
|
|
13
|
+
irrelevant.
|
|
14
|
+
|
|
15
|
+
Two domains are supported:
|
|
16
|
+
|
|
17
|
+
- relative-linear: dimensionless nonnegative irradiance-like proxy for
|
|
18
|
+
deterministic renderer/science regression;
|
|
19
|
+
- radiometric-irradiance: physical sensor-plane irradiance in W/m^2.
|
|
20
|
+
|
|
21
|
+
The destination site's channelId is metadata only. No CFA spectral
|
|
22
|
+
transmittance/sensitivity is applied, so the output must not be called a
|
|
23
|
+
physically color-filtered mosaic sample or RAW value.
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
export function reduceSensorSpatialSamplingQuadrature(
|
|
27
|
+
input: ReduceSensorSpatialSamplingQuadratureInput
|
|
28
|
+
): CalculationResult<SensorSpatialSampleReduction>;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
32
|
+
|
|
33
|
+
## ReduceSensorSpatialSamplingQuadratureInput
|
|
34
|
+
|
|
35
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
export interface ReduceSensorSpatialSamplingQuadratureInput {
|
|
39
|
+
quadrature: SensorSpatialSamplingQuadrature;
|
|
40
|
+
valueDomain: SensorSpatialSampleValueDomain;
|
|
41
|
+
/**
|
|
42
|
+
* Exactly one explicitly identified value per quadrature node.
|
|
43
|
+
*
|
|
44
|
+
* Ordering is not significant; node identity is.
|
|
45
|
+
*/
|
|
46
|
+
nodeValues: readonly SensorSpatialQuadratureNodeValue[];
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## SensorSpatialQuadratureNodeIdentity
|
|
51
|
+
|
|
52
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
export interface SensorSpatialQuadratureNodeIdentity {
|
|
56
|
+
antiAliasingComponentIndex: number;
|
|
57
|
+
apertureSampleXIndex: number;
|
|
58
|
+
apertureSampleYIndex: number;
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## SensorSpatialQuadratureNodeValue
|
|
63
|
+
|
|
64
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
export interface SensorSpatialQuadratureNodeValue {
|
|
68
|
+
node: SensorSpatialQuadratureNodeIdentity;
|
|
69
|
+
/**
|
|
70
|
+
* Nonnegative finite scalar in the declared value domain.
|
|
71
|
+
*
|
|
72
|
+
* Values are evaluated at the corresponding quadrature node's
|
|
73
|
+
* preAntiAliasingSourcePointMm.
|
|
74
|
+
*/
|
|
75
|
+
value: number;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## SensorSpatialSampleReduction
|
|
80
|
+
|
|
81
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
export interface SensorSpatialSampleReduction {
|
|
85
|
+
site: {
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Semantic destination CFA/color-site label only.
|
|
91
|
+
*
|
|
92
|
+
* No spectral filter response is applied by this reducer.
|
|
93
|
+
*/
|
|
94
|
+
channelId: string;
|
|
95
|
+
outputMeaning:
|
|
96
|
+
"channel-tagged-pre-response-spatial-sample";
|
|
97
|
+
valueDomain: SensorSpatialSampleValueDomain;
|
|
98
|
+
nodeCount: number;
|
|
99
|
+
sourceValuesMatchedBy:
|
|
100
|
+
"quadrature-node-identity";
|
|
101
|
+
sourceValuesSuppliedForAllNodes: true;
|
|
102
|
+
outsideImagingAreaSourceValuesRequired: boolean;
|
|
103
|
+
normalizedSpatialWeightSum: number;
|
|
104
|
+
geometricApertureAreaSquareMicrometers: number;
|
|
105
|
+
reducedValue: SensorSpatialSampleReductionValue;
|
|
106
|
+
cfaSpectralFilteringApplied: false;
|
|
107
|
+
channelIdIsSpectralResponse: false;
|
|
108
|
+
temporalIntegrationApplied: false;
|
|
109
|
+
exposureDurationApplied: false;
|
|
110
|
+
quantumEfficiencyApplied: false;
|
|
111
|
+
microlensResponseApplied: false;
|
|
112
|
+
opticalThroughputAppliedByReducer: false;
|
|
113
|
+
photonsCalculated: false;
|
|
114
|
+
electronsCalculated: false;
|
|
115
|
+
shotNoiseApplied: false;
|
|
116
|
+
readNoiseApplied: false;
|
|
117
|
+
adcQuantizationApplied: false;
|
|
118
|
+
blackLevelApplied: false;
|
|
119
|
+
saturationApplied: false;
|
|
120
|
+
rawCodeValueProduced: false;
|
|
121
|
+
demosaicOrReconstructionApplied: false;
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## SensorSpatialSampleReductionValue
|
|
126
|
+
|
|
127
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
export type SensorSpatialSampleReductionValue =
|
|
131
|
+
| {
|
|
132
|
+
kind: "relative-linear";
|
|
133
|
+
unit: "relative";
|
|
134
|
+
semantic:
|
|
135
|
+
"nonnegative-sensor-plane-irradiance-proxy";
|
|
136
|
+
/**
|
|
137
|
+
* Dimensionless weighted spatial average in the same relative domain.
|
|
138
|
+
*/
|
|
139
|
+
normalizedSpatialAverageRelative: number;
|
|
140
|
+
/**
|
|
141
|
+
* Relative value × square micrometres.
|
|
142
|
+
*
|
|
143
|
+
* This is a geometric area-weighted diagnostic, not radiometric power.
|
|
144
|
+
*/
|
|
145
|
+
geometricAreaIntegralRelativeSquareMicrometers: number;
|
|
146
|
+
}
|
|
147
|
+
| {
|
|
148
|
+
kind: "radiometric-irradiance";
|
|
149
|
+
unit: "W/m^2";
|
|
150
|
+
semantic: "sensor-plane-irradiance";
|
|
151
|
+
/**
|
|
152
|
+
* Weighted mean irradiance over the geometric aperture after applying
|
|
153
|
+
* the declared normalized AA spatial redistribution.
|
|
154
|
+
*/
|
|
155
|
+
normalizedSpatialAverageIrradianceWattsPerSquareMeter: number;
|
|
156
|
+
/**
|
|
157
|
+
* Incident radiant flux represented by integrating the supplied
|
|
158
|
+
* irradiance over the geometric aperture under the declared normalized
|
|
159
|
+
* AA redistribution. Units: watts.
|
|
160
|
+
*
|
|
161
|
+
* This remains pre-CFA-response, pre-QE, pre-microlens-response and
|
|
162
|
+
* excludes any optical-stack throughput not already present in the
|
|
163
|
+
* caller-supplied irradiance values.
|
|
164
|
+
*/
|
|
165
|
+
geometricApertureIncidentFluxWatts: number;
|
|
166
|
+
};
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## SensorSpatialSampleValueDomain
|
|
170
|
+
|
|
171
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
export type SensorSpatialSampleValueDomain =
|
|
175
|
+
| {
|
|
176
|
+
kind: "relative-linear";
|
|
177
|
+
unit: "relative";
|
|
178
|
+
semantic:
|
|
179
|
+
"nonnegative-sensor-plane-irradiance-proxy";
|
|
180
|
+
}
|
|
181
|
+
| {
|
|
182
|
+
kind: "radiometric-irradiance";
|
|
183
|
+
unit: "W/m^2";
|
|
184
|
+
semantic: "sensor-plane-irradiance";
|
|
185
|
+
};
|
|
186
|
+
```
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# sensor/spatial-sampling-quadrature.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## calculateSensorSpatialSamplingQuadrature
|
|
6
|
+
|
|
7
|
+
Builds deterministic spatial quadrature nodes for one CFA/color-sampling site.
|
|
8
|
+
|
|
9
|
+
The quadrature composes:
|
|
10
|
+
|
|
11
|
+
1. the resolved geometric sensitive aperture from the sampling-aperture
|
|
12
|
+
foundation; and
|
|
13
|
+
2. the resolved effective AA point-splitting kernel from the optical-stack
|
|
14
|
+
foundation.
|
|
15
|
+
|
|
16
|
+
The first aperture integration uses a tensor-product uniform midpoint rule.
|
|
17
|
+
For an AA component that moves optical energy by +delta on the sensor plane,
|
|
18
|
+
a destination aperture point samples the pre-AA optical field at
|
|
19
|
+
destination - delta. This inverse-source convention prevents applying the AA
|
|
20
|
+
shift twice.
|
|
21
|
+
|
|
22
|
+
The destination sensor site's CFA channel applies to every node. The
|
|
23
|
+
pre-AA source coordinate is an optical-field location, not another CFA site;
|
|
24
|
+
therefore shifted source coordinates never reassign the destination channel.
|
|
25
|
+
|
|
26
|
+
Nodes whose pre-AA source coordinates fall outside the active imaging area
|
|
27
|
+
are retained. They are neither clamped nor dropped/renormalized. A renderer
|
|
28
|
+
or optical-field provider owns source-coverage policy.
|
|
29
|
+
|
|
30
|
+
normalized weights approximate a spatial average. Square-micrometre measures
|
|
31
|
+
approximate a geometric area integral. Neither includes radiometric
|
|
32
|
+
throughput, QE, photon conversion, microlenses, diffusion/crosstalk, or
|
|
33
|
+
temporal integration.
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
export function calculateSensorSpatialSamplingQuadrature(
|
|
37
|
+
input: CalculateSensorSpatialSamplingQuadratureInput
|
|
38
|
+
): CalculationResult<SensorSpatialSamplingQuadrature>;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
42
|
+
|
|
43
|
+
## CalculateSensorSpatialSamplingQuadratureInput
|
|
44
|
+
|
|
45
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export interface CalculateSensorSpatialSamplingQuadratureInput {
|
|
49
|
+
imagingArea: SensorImagingArea;
|
|
50
|
+
nativeRaster: NativeImageRaster;
|
|
51
|
+
colorSamplingProfile: SensorColorSamplingProfile;
|
|
52
|
+
colorSamplingBindingProfile: NativeEffectiveRasterColorSamplingBindingProfile;
|
|
53
|
+
samplingApertureProfile: SensorSamplingApertureProfile;
|
|
54
|
+
opticalStackProfile: SensorOpticalStackProfile;
|
|
55
|
+
site: NativeColorSamplingSiteIndex;
|
|
56
|
+
/** Number of midpoint cells across the geometric aperture width. */
|
|
57
|
+
spatialSampleCountX: number;
|
|
58
|
+
/** Number of midpoint cells across the geometric aperture height. */
|
|
59
|
+
spatialSampleCountY: number;
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## SensorSpatialSamplingQuadrature
|
|
64
|
+
|
|
65
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
export interface SensorSpatialSamplingQuadrature {
|
|
69
|
+
coordinateSystem: "native-sensor-physical";
|
|
70
|
+
colorSamplingProfileId?: string;
|
|
71
|
+
samplingApertureProfileId?: string;
|
|
72
|
+
opticalStackProfileId?: string;
|
|
73
|
+
site: NativeColorSamplingSiteIndex;
|
|
74
|
+
channelId: string;
|
|
75
|
+
quadratureScheme:
|
|
76
|
+
"tensor-product-uniform-midpoint";
|
|
77
|
+
outputMeaning:
|
|
78
|
+
"pre-aa-optical-field-spatial-quadrature-nodes";
|
|
79
|
+
spatialSampleCountX: number;
|
|
80
|
+
spatialSampleCountY: number;
|
|
81
|
+
antiAliasingComponentCount: number;
|
|
82
|
+
totalNodeCount: number;
|
|
83
|
+
geometricApertureAreaSquareMicrometers: number;
|
|
84
|
+
nominalSiteCellAreaSquareMicrometers?: number;
|
|
85
|
+
geometricSensitiveAreaFractionOfLatticeCell?: number;
|
|
86
|
+
normalizedSpatialWeightSum: number;
|
|
87
|
+
combinedAreaMeasureSumSquareMicrometers: number;
|
|
88
|
+
preAntiAliasingSourceOutsideImagingAreaNodeCount: number;
|
|
89
|
+
sourcePointRule:
|
|
90
|
+
"pre-aa-source-equals-destination-minus-aa-offset";
|
|
91
|
+
destinationCfaChannelAppliesToAllNodes: true;
|
|
92
|
+
cfaReassignmentBySourceCoordinate: false;
|
|
93
|
+
sourceCoveragePolicy: "not-applied";
|
|
94
|
+
nodes: readonly SensorSpatialSamplingQuadratureNode[];
|
|
95
|
+
/**
|
|
96
|
+
* Hard scientific boundaries.
|
|
97
|
+
*/
|
|
98
|
+
opticalFieldValuesIncluded: false;
|
|
99
|
+
radianceIncluded: false;
|
|
100
|
+
photonsIncluded: false;
|
|
101
|
+
electronsIncluded: false;
|
|
102
|
+
spectralResponseIncluded: false;
|
|
103
|
+
quantumEfficiencyIncluded: false;
|
|
104
|
+
opticalThroughputIncluded: false;
|
|
105
|
+
microlensResponseIncluded: false;
|
|
106
|
+
chargeDiffusionIncluded: false;
|
|
107
|
+
electricalCrosstalkIncluded: false;
|
|
108
|
+
temporalIntegrationIncluded: false;
|
|
109
|
+
rawSampleValueIncluded: false;
|
|
110
|
+
reconstructedPixelValueIncluded: false;
|
|
111
|
+
geometricAreaMeasureIsRadiometricCollectionArea: false;
|
|
112
|
+
componentEvidence: {
|
|
113
|
+
samplingApertureProfile: readonly import("../core/evidence-provenance.js").EvidenceProvenance[];
|
|
114
|
+
samplingApertureLattice: readonly import("../core/evidence-provenance.js").EvidenceProvenance[];
|
|
115
|
+
geometricSensitiveAperture: readonly import("../core/evidence-provenance.js").EvidenceProvenance[];
|
|
116
|
+
opticalStackProfile: readonly import("../core/evidence-provenance.js").EvidenceProvenance[];
|
|
117
|
+
antiAliasingResponse: readonly import("../core/evidence-provenance.js").EvidenceProvenance[];
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## SensorSpatialSamplingQuadratureNode
|
|
123
|
+
|
|
124
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
export interface SensorSpatialSamplingQuadratureNode {
|
|
128
|
+
antiAliasingComponentIndex: number;
|
|
129
|
+
apertureSampleXIndex: number;
|
|
130
|
+
apertureSampleYIndex: number;
|
|
131
|
+
/**
|
|
132
|
+
* Destination point inside the geometric sensitive aperture after the
|
|
133
|
+
* declared AA point-splitting response.
|
|
134
|
+
*
|
|
135
|
+
* Native sensor physical coordinates, millimetres from the optical axis.
|
|
136
|
+
*/
|
|
137
|
+
destinationAperturePointMm: {
|
|
138
|
+
x: number;
|
|
139
|
+
y: number;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Declared AA displacement of optical energy on the sensor plane.
|
|
143
|
+
*
|
|
144
|
+
* +X right, +Y down; micrometres.
|
|
145
|
+
*/
|
|
146
|
+
antiAliasingOffsetMicrometers: {
|
|
147
|
+
x: number;
|
|
148
|
+
y: number;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Pre-AA source point that maps to destinationAperturePointMm under the
|
|
152
|
+
* declared split component:
|
|
153
|
+
*
|
|
154
|
+
* source = destination - AA offset
|
|
155
|
+
*/
|
|
156
|
+
preAntiAliasingSourcePointMm: {
|
|
157
|
+
x: number;
|
|
158
|
+
y: number;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Whether the pre-AA source point lies inside the active physical imaging
|
|
162
|
+
* area. False is not an error; downstream source-coverage policy decides how
|
|
163
|
+
* to handle valid optical support outside the active sampling area.
|
|
164
|
+
*/
|
|
165
|
+
preAntiAliasingSourceInsideImagingArea: boolean;
|
|
166
|
+
/** Dimensionless midpoint weight for the aperture-area average. */
|
|
167
|
+
normalizedApertureWeight: number;
|
|
168
|
+
/** Dimensionless normalized weight from the AA split component. */
|
|
169
|
+
normalizedAntiAliasingWeight: number;
|
|
170
|
+
/**
|
|
171
|
+
* Dimensionless product used for a spatial average of a downstream optical
|
|
172
|
+
* field under this quadrature approximation.
|
|
173
|
+
*/
|
|
174
|
+
combinedNormalizedSpatialWeight: number;
|
|
175
|
+
/**
|
|
176
|
+
* Geometric area measure represented by this aperture midpoint before the
|
|
177
|
+
* AA component weight is applied. Units: square micrometres.
|
|
178
|
+
*/
|
|
179
|
+
apertureAreaMeasureSquareMicrometers: number;
|
|
180
|
+
/**
|
|
181
|
+
* Geometric area measure multiplied by the dimensionless AA component
|
|
182
|
+
* weight. Units remain square micrometres.
|
|
183
|
+
*
|
|
184
|
+
* This is not an effective radiometric collection area.
|
|
185
|
+
*/
|
|
186
|
+
combinedAreaMeasureSquareMicrometers: number;
|
|
187
|
+
}
|
|
188
|
+
```
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# sensor/spatio-spectral-reduction.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## reduceSensorSpatioSpectralIrradiance
|
|
6
|
+
|
|
7
|
+
Reduces explicitly supplied sensor-plane spectral irradiance E_lambda(x,y)
|
|
8
|
+
over the Cartesian product of an existing spatial quadrature and spectral
|
|
9
|
+
quadrature.
|
|
10
|
+
|
|
11
|
+
The supplied density unit is W/m^2/nm and wavelengthMeasureNanometers is
|
|
12
|
+
d-lambda in nm, so their direct product has units W/m^2. Do not convert
|
|
13
|
+
d-lambda to metres unless the spectral-density denominator is converted
|
|
14
|
+
consistently.
|
|
15
|
+
|
|
16
|
+
Spatial area integration uses the spatial quadrature's geometric area
|
|
17
|
+
measures converted from square micrometres to square metres. The result is
|
|
18
|
+
geometric-aperture incident radiant flux only; geometric area is not upgraded
|
|
19
|
+
to an effective radiometric collection area.
|
|
20
|
+
|
|
21
|
+
This reducer deliberately stops before sensor response. The spectral plan was
|
|
22
|
+
derived from a specific response channel so its support/knots are useful, but
|
|
23
|
+
QE, A/W responsivity and channel-filter transmission are not applied here.
|
|
24
|
+
Response-scope/source-plane matching therefore remains an explicit later
|
|
25
|
+
composition step.
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export function reduceSensorSpatioSpectralIrradiance(
|
|
29
|
+
input:
|
|
30
|
+
ReduceSensorSpatioSpectralIrradianceInput
|
|
31
|
+
): CalculationResult<SensorSpatioSpectralIrradianceReduction>;
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
35
|
+
|
|
36
|
+
## ReduceSensorSpatioSpectralIrradianceInput
|
|
37
|
+
|
|
38
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
export interface ReduceSensorSpatioSpectralIrradianceInput {
|
|
42
|
+
spatialQuadrature: SensorSpatialSamplingQuadrature;
|
|
43
|
+
spectralQuadrature: SensorSpectralQuadrature;
|
|
44
|
+
/**
|
|
45
|
+
* Exactly one explicitly identified E_lambda(x,y) value for every Cartesian
|
|
46
|
+
* product of spatial and spectral quadrature nodes.
|
|
47
|
+
*
|
|
48
|
+
* Ordering is not significant; node identity is.
|
|
49
|
+
*/
|
|
50
|
+
sampleValues: readonly SensorSpatioSpectralIrradianceSample[];
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## SensorSpatioSpectralIrradianceReduction
|
|
55
|
+
|
|
56
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
export interface SensorSpatioSpectralIrradianceReduction {
|
|
60
|
+
colorSamplingProfileId: string;
|
|
61
|
+
samplingApertureProfileId?: string;
|
|
62
|
+
opticalStackProfileId?: string;
|
|
63
|
+
site: {
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
};
|
|
67
|
+
channelId: string;
|
|
68
|
+
responseProfileId: string;
|
|
69
|
+
sourceResponseKind:
|
|
70
|
+
SensorSpectralQuadrature["sourceResponseKind"];
|
|
71
|
+
responseScope:
|
|
72
|
+
SensorSpectralQuadrature["responseScope"];
|
|
73
|
+
responseScientificStatus:
|
|
74
|
+
SensorSpectralQuadrature["responseScientificStatus"];
|
|
75
|
+
responseUncertainty:
|
|
76
|
+
SensorSpectralQuadrature["responseUncertainty"];
|
|
77
|
+
responseChannelBinding?:
|
|
78
|
+
SensorSpectralQuadrature["responseChannelBinding"];
|
|
79
|
+
responseReferenceConditions?:
|
|
80
|
+
SensorSpectralQuadrature["responseReferenceConditions"];
|
|
81
|
+
wavelengthBasis:
|
|
82
|
+
SensorSpectralQuadrature["wavelengthBasis"];
|
|
83
|
+
wavelengthBasisResolved: boolean;
|
|
84
|
+
wavelengthRangeNanometers:
|
|
85
|
+
SensorSpectralQuadrature["wavelengthRangeNanometers"];
|
|
86
|
+
responseDeclaredWavelengthRangeNanometers:
|
|
87
|
+
SensorSpectralQuadrature["responseDeclaredWavelengthRangeNanometers"];
|
|
88
|
+
outputMeaning:
|
|
89
|
+
"pre-response-spatio-spectral-radiometric-reduction";
|
|
90
|
+
inputValueDomain: {
|
|
91
|
+
kind: "radiometric-spectral-irradiance";
|
|
92
|
+
unit: "W/m^2/nm";
|
|
93
|
+
semantic:
|
|
94
|
+
"pre-aa-pre-response-sensor-plane-spectral-irradiance";
|
|
95
|
+
};
|
|
96
|
+
spatialNodeCount: number;
|
|
97
|
+
spectralNodeCount: number;
|
|
98
|
+
combinedSampleCount: number;
|
|
99
|
+
sourceValuesMatchedBy:
|
|
100
|
+
"spatial-node-identity-plus-spectral-sample-index-and-wavelength";
|
|
101
|
+
sourceValuesSuppliedForAllCombinedNodes: true;
|
|
102
|
+
outsideImagingAreaSourceValuesRequired: boolean;
|
|
103
|
+
geometricApertureAreaSquareMicrometers?: number;
|
|
104
|
+
nominalSiteCellAreaSquareMicrometers?: number;
|
|
105
|
+
geometricSensitiveAreaFractionOfLatticeCell?: number;
|
|
106
|
+
perWavelength:
|
|
107
|
+
readonly SensorSpatioSpectralWavelengthReduction[];
|
|
108
|
+
/**
|
|
109
|
+
* Integral over the requested wavelength interval of the spatially averaged
|
|
110
|
+
* spectral irradiance. Units: W/m^2.
|
|
111
|
+
*/
|
|
112
|
+
wavelengthIntegratedSpatialAverageIrradianceWattsPerSquareMeter:
|
|
113
|
+
number;
|
|
114
|
+
/**
|
|
115
|
+
* Integral over the requested wavelength interval and geometric aperture
|
|
116
|
+
* area. Units: W.
|
|
117
|
+
*
|
|
118
|
+
* This is pre-sensor-response incident radiant flux over the declared
|
|
119
|
+
* wavelength interval, not collected optical power or generated charge.
|
|
120
|
+
*/
|
|
121
|
+
wavelengthIntegratedGeometricApertureIncidentFluxWatts:
|
|
122
|
+
number;
|
|
123
|
+
spatialIntegrationApplied: true;
|
|
124
|
+
wavelengthIntegrationApplied: true;
|
|
125
|
+
spectralResponsePlanUsedForWavelengthSupport: true;
|
|
126
|
+
spectralResponseApplicationPerformed: false;
|
|
127
|
+
responseScopeMatchedToSourcePlane: false;
|
|
128
|
+
quantumEfficiencyApplied: false;
|
|
129
|
+
spectralResponsivityApplied: false;
|
|
130
|
+
channelFilterTransmissionApplied: false;
|
|
131
|
+
opticalTransmissionAppliedByReducer: false;
|
|
132
|
+
radiometricCollectionAreaEstablished: false;
|
|
133
|
+
temporalIntegrationApplied: false;
|
|
134
|
+
exposureDurationApplied: false;
|
|
135
|
+
photonsCalculated: false;
|
|
136
|
+
electronsCalculated: false;
|
|
137
|
+
currentCalculated: false;
|
|
138
|
+
shotNoiseApplied: false;
|
|
139
|
+
readNoiseApplied: false;
|
|
140
|
+
adcQuantizationApplied: false;
|
|
141
|
+
rawCodeValueProduced: false;
|
|
142
|
+
demosaicOrReconstructionApplied: false;
|
|
143
|
+
convergenceErrorEstimated: false;
|
|
144
|
+
componentEvidence: {
|
|
145
|
+
spatial:
|
|
146
|
+
SensorSpatialSamplingQuadrature["componentEvidence"];
|
|
147
|
+
spectral:
|
|
148
|
+
SensorSpectralQuadrature["componentEvidence"];
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## SensorSpatioSpectralIrradianceSample
|
|
154
|
+
|
|
155
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
156
|
+
|
|
157
|
+
```ts
|
|
158
|
+
export interface SensorSpatioSpectralIrradianceSample {
|
|
159
|
+
node: SensorSpatioSpectralNodeIdentity;
|
|
160
|
+
/**
|
|
161
|
+
* Spectral irradiance evaluated at the spatial quadrature node's
|
|
162
|
+
* preAntiAliasingSourcePointMm and this spectral node's wavelength.
|
|
163
|
+
*
|
|
164
|
+
* Units: W/m^2/nm.
|
|
165
|
+
*/
|
|
166
|
+
spectralIrradianceWattsPerSquareMeterPerNanometer: number;
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## SensorSpatioSpectralNodeIdentity
|
|
171
|
+
|
|
172
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
export interface SensorSpatioSpectralNodeIdentity {
|
|
176
|
+
spatialNode: SensorSpatialQuadratureNodeIdentity;
|
|
177
|
+
spectralSampleIndex: number;
|
|
178
|
+
wavelengthNanometers: number;
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## SensorSpatioSpectralWavelengthReduction
|
|
183
|
+
|
|
184
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
export interface SensorSpatioSpectralWavelengthReduction {
|
|
188
|
+
spectralSampleIndex: number;
|
|
189
|
+
wavelengthNanometers: number;
|
|
190
|
+
wavelengthMeasureNanometers: number;
|
|
191
|
+
normalizedWavelengthWeight: number;
|
|
192
|
+
/**
|
|
193
|
+
* Spatially reduced spectral irradiance at this wavelength.
|
|
194
|
+
* Units: W/m^2/nm.
|
|
195
|
+
*/
|
|
196
|
+
normalizedSpatialAverageSpectralIrradianceWattsPerSquareMeterPerNanometer:
|
|
197
|
+
number;
|
|
198
|
+
/**
|
|
199
|
+
* Spectral radiant flux density incident over the geometric sensitive
|
|
200
|
+
* aperture after the declared normalized AA redistribution.
|
|
201
|
+
* Units: W/nm.
|
|
202
|
+
*
|
|
203
|
+
* This uses geometric area, not an established radiometric collection area.
|
|
204
|
+
*/
|
|
205
|
+
geometricApertureIncidentSpectralFluxWattsPerNanometer: number;
|
|
206
|
+
/**
|
|
207
|
+
* Contribution to the wavelength-integrated spatial average.
|
|
208
|
+
* Units: W/m^2.
|
|
209
|
+
*/
|
|
210
|
+
wavelengthIntegratedSpatialAverageContributionWattsPerSquareMeter: number;
|
|
211
|
+
/**
|
|
212
|
+
* Contribution to wavelength-integrated geometric-aperture incident flux.
|
|
213
|
+
* Units: W.
|
|
214
|
+
*/
|
|
215
|
+
wavelengthIntegratedGeometricApertureIncidentFluxContributionWatts: number;
|
|
216
|
+
}
|
|
217
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# sensor/spectral-coverage.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## createSensorSpectralCoverageParticipant
|
|
6
|
+
|
|
7
|
+
Adapts one parsed sensor response channel into the shared continuous
|
|
8
|
+
spectral-coverage contract.
|
|
9
|
+
|
|
10
|
+
This exposes support and interpolation knots only. It does not apply QE or
|
|
11
|
+
A/W responsivity and does not establish scene/optics coverage.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
export function createSensorSpectralCoverageParticipant(
|
|
15
|
+
input:
|
|
16
|
+
CreateSensorSpectralCoverageParticipantInput
|
|
17
|
+
): SpectralCoverageParticipant;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
21
|
+
|
|
22
|
+
## CreateSensorSpectralCoverageParticipantInput
|
|
23
|
+
|
|
24
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
export interface CreateSensorSpectralCoverageParticipantInput {
|
|
28
|
+
spectralResponseProfile:
|
|
29
|
+
SensorSpectralResponseProfile;
|
|
30
|
+
channelId: string;
|
|
31
|
+
participantId?: string;
|
|
32
|
+
}
|
|
33
|
+
```
|