@photivra/engine 0.5.1 → 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 +218 -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 +157 -56
- 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 +101 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -7
- package/dist/index.js.map +1 -1
- package/dist/motion/camera-rotation.d.ts +76 -0
- package/dist/motion/camera-rotation.d.ts.map +1 -1
- package/dist/motion/camera-rotation.js +111 -0
- package/dist/motion/camera-rotation.js.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.d.ts +113 -0
- package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -0
- package/dist/motion/capture-rotation-inverse-mapping.js +184 -0
- package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts +104 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js +131 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -0
- package/dist/motion/capture-rotation-trajectory.d.ts +113 -0
- package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -0
- package/dist/motion/capture-rotation-trajectory.js +168 -0
- package/dist/motion/capture-rotation-trajectory.js.map +1 -0
- 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 +23 -4
- 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 +22 -2
- package/dist/optics/radial-distortion.d.ts.map +1 -1
- package/dist/optics/radial-distortion.js +101 -23
- 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 +32 -11
- 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 +212 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -0
- package/dist/sensor/capture-color-sampling-binding.js +437 -0
- package/dist/sensor/capture-color-sampling-binding.js.map +1 -0
- 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 +157 -0
- package/dist/sensor/capture-mode.d.ts.map +1 -0
- package/dist/sensor/capture-mode.js +447 -0
- package/dist/sensor/capture-mode.js.map +1 -0
- package/dist/sensor/color-sampling.d.ts +133 -0
- package/dist/sensor/color-sampling.d.ts.map +1 -0
- package/dist/sensor/color-sampling.js +245 -0
- package/dist/sensor/color-sampling.js.map +1 -0
- 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 +117 -0
- package/dist/sensor/exposure-window.d.ts.map +1 -0
- package/dist/sensor/exposure-window.js +305 -0
- package/dist/sensor/exposure-window.js.map +1 -0
- 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 +132 -0
- package/dist/sensor/optical-stack.d.ts.map +1 -0
- package/dist/sensor/optical-stack.js +303 -0
- package/dist/sensor/optical-stack.js.map +1 -0
- 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 +123 -0
- package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -0
- package/dist/sensor/readout-exposure-linkage.js +222 -0
- package/dist/sensor/readout-exposure-linkage.js.map +1 -0
- package/dist/sensor/readout-timing.d.ts +137 -0
- package/dist/sensor/readout-timing.d.ts.map +1 -0
- package/dist/sensor/readout-timing.js +243 -0
- package/dist/sensor/readout-timing.js.map +1 -0
- 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 +154 -0
- package/dist/sensor/sampling-aperture.d.ts.map +1 -0
- package/dist/sensor/sampling-aperture.js +388 -0
- package/dist/sensor/sampling-aperture.js.map +1 -0
- 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 +171 -0
- package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -0
- package/dist/sensor/spatial-sample-reduction.js +345 -0
- package/dist/sensor/spatial-sample-reduction.js.map +1 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts +179 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -0
- package/dist/sensor/spatial-sampling-quadrature.js +224 -0
- package/dist/sensor/spatial-sampling-quadrature.js.map +1 -0
- 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 +150 -23
- package/docs/AUTOMATION_COORDINATION.md +190 -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 +105 -9
- package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
- package/docs/MOTION_AND_SIGNAL.md +145 -1
- 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 +5604 -331
- 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 +18 -4
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# sensor/dark-current.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
|
+
## calculateSensorDarkCurrentCharge
|
|
6
|
+
|
|
7
|
+
Evaluate the declared temperature-dependent dark electron rate and integrate over the exact
|
|
8
|
+
photo-signal local exposure event.
|
|
9
|
+
|
|
10
|
+
Dark current is an independently declared pre-compensation thermal electron rate. Exact-temperature
|
|
11
|
+
or sampled linear interpolation is supported only within declared applicability; no universal
|
|
12
|
+
doubling-temperature law is inferred. Population means remain approximations and do not model
|
|
13
|
+
hot-pixel/DCNU structure.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
export function calculateSensorDarkCurrentCharge(
|
|
17
|
+
input: Omit<CalculateSensorDarkCurrentChargeInput, "exposure"> & { exposure: SensorEqeExposureIntegration }
|
|
18
|
+
): CalculationResult<SensorDarkCurrentCharge>;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
export function calculateSensorDarkCurrentCharge(
|
|
23
|
+
input: Omit<CalculateSensorDarkCurrentChargeInput, "exposure"> & { exposure: SensorEqeTemporalPhotoSignal }
|
|
24
|
+
): CalculationResult<SensorTemporalDarkCurrentCharge>;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export function calculateSensorDarkCurrentCharge(
|
|
29
|
+
input: CalculateSensorDarkCurrentChargeInput<SensorEqePhotoExposure>
|
|
30
|
+
): CalculationResult<SensorPhotoDarkCurrentCharge>;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
export function calculateSensorDarkCurrentCharge(
|
|
35
|
+
input:
|
|
36
|
+
CalculateSensorDarkCurrentChargeInput<SensorEqePhotoExposure>
|
|
37
|
+
): CalculationResult<SensorPhotoDarkCurrentCharge>;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
41
|
+
|
|
42
|
+
## CalculateSensorDarkCurrentChargeInput
|
|
43
|
+
|
|
44
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
export interface CalculateSensorDarkCurrentChargeInput<Exposure extends SensorEqePhotoExposure = SensorEqeExposureIntegration> {
|
|
48
|
+
exposure:
|
|
49
|
+
Exposure;
|
|
50
|
+
darkCurrentProfile:
|
|
51
|
+
SensorDarkCurrentProfile;
|
|
52
|
+
operatingTemperatureC: number;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## parseSensorDarkCurrentProfile
|
|
57
|
+
|
|
58
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
59
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
60
|
+
|
|
61
|
+
Dark current is an independently declared pre-compensation thermal electron rate. Exact-temperature
|
|
62
|
+
or sampled linear interpolation is supported only within declared applicability; no universal
|
|
63
|
+
doubling-temperature law is inferred. Population means remain approximations and do not model
|
|
64
|
+
hot-pixel/DCNU structure.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
export function parseSensorDarkCurrentProfile(
|
|
68
|
+
value: unknown
|
|
69
|
+
): SensorDarkCurrentProfile;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
73
|
+
|
|
74
|
+
## SensorDarkCurrentCharge
|
|
75
|
+
|
|
76
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
export interface SensorDarkCurrentCharge {
|
|
80
|
+
darkCurrentProfileId: string;
|
|
81
|
+
colorSamplingProfileId: string;
|
|
82
|
+
channelId: string;
|
|
83
|
+
site: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
};
|
|
87
|
+
bindingId: string;
|
|
88
|
+
stationarityProfileId: string;
|
|
89
|
+
temporalIntegrationId?: never;
|
|
90
|
+
timeReference:
|
|
91
|
+
"first-opening-boundary-phase";
|
|
92
|
+
startOffsetSecondsFromOpeningReference:
|
|
93
|
+
number;
|
|
94
|
+
endOffsetSecondsFromOpeningReference:
|
|
95
|
+
number;
|
|
96
|
+
operatingTemperatureC: number;
|
|
97
|
+
temperatureModel:
|
|
98
|
+
SensorDarkCurrentTemperatureModel["kind"];
|
|
99
|
+
temperatureInterpolationUsed:
|
|
100
|
+
boolean;
|
|
101
|
+
darkCurrentElectronsPerSecond:
|
|
102
|
+
number;
|
|
103
|
+
localExposureDurationSeconds:
|
|
104
|
+
number;
|
|
105
|
+
expectedDarkElectronCount:
|
|
106
|
+
number;
|
|
107
|
+
countMeaning:
|
|
108
|
+
"expected-thermally-generated-electrons";
|
|
109
|
+
expectationValueOnly: true;
|
|
110
|
+
integerDarkElectronCountSampled:
|
|
111
|
+
false;
|
|
112
|
+
darkShotNoiseApplied: false;
|
|
113
|
+
darkCurrentCompensationApplied:
|
|
114
|
+
false;
|
|
115
|
+
spatialDarkCurrentNonuniformityModeled:
|
|
116
|
+
boolean;
|
|
117
|
+
photoSignalIncluded: false;
|
|
118
|
+
otherChargeIncluded: false;
|
|
119
|
+
physicalFullWellAssessmentAuthorized:
|
|
120
|
+
false;
|
|
121
|
+
saturationAssessed: false;
|
|
122
|
+
componentEvidence: {
|
|
123
|
+
darkCurrent:
|
|
124
|
+
readonly EvidenceProvenance[];
|
|
125
|
+
siteApproximation:
|
|
126
|
+
readonly EvidenceProvenance[];
|
|
127
|
+
exposure:
|
|
128
|
+
SensorEqeExposureIntegration["componentEvidence"];
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## SensorDarkCurrentProfile
|
|
134
|
+
|
|
135
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
export interface SensorDarkCurrentProfile {
|
|
139
|
+
schemaVersion: "0.1.0";
|
|
140
|
+
profileId: string;
|
|
141
|
+
colorSamplingProfileId: string;
|
|
142
|
+
channelId: string;
|
|
143
|
+
scientificStatus:
|
|
144
|
+
SensorSpectralResponseScientificStatus;
|
|
145
|
+
uncertainty:
|
|
146
|
+
SensorSpectralResponseUncertainty;
|
|
147
|
+
evidence: readonly EvidenceProvenance[];
|
|
148
|
+
chargeMeaning:
|
|
149
|
+
"pre-compensation-thermally-generated-electrons";
|
|
150
|
+
siteApplicability:
|
|
151
|
+
SensorDarkCurrentSiteApplicability;
|
|
152
|
+
temperatureModel:
|
|
153
|
+
SensorDarkCurrentTemperatureModel;
|
|
154
|
+
darkCurrentCompensationIncluded: false;
|
|
155
|
+
spatialDarkCurrentNonuniformityModeled:
|
|
156
|
+
boolean;
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## SensorDarkCurrentSiteApplicability
|
|
161
|
+
|
|
162
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
export type SensorDarkCurrentSiteApplicability =
|
|
166
|
+
| {
|
|
167
|
+
kind: "exact-site";
|
|
168
|
+
site: {
|
|
169
|
+
x: number;
|
|
170
|
+
y: number;
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
| {
|
|
174
|
+
kind:
|
|
175
|
+
"uniform-site-mean-approximation";
|
|
176
|
+
limitation: string;
|
|
177
|
+
evidence:
|
|
178
|
+
readonly EvidenceProvenance[];
|
|
179
|
+
};
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## SensorDarkCurrentTemperatureModel
|
|
183
|
+
|
|
184
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
export type SensorDarkCurrentTemperatureModel =
|
|
188
|
+
| {
|
|
189
|
+
kind:
|
|
190
|
+
"fixed-reference-temperature";
|
|
191
|
+
referenceTemperatureC: number;
|
|
192
|
+
darkCurrentElectronsPerSecond:
|
|
193
|
+
number;
|
|
194
|
+
}
|
|
195
|
+
| {
|
|
196
|
+
kind:
|
|
197
|
+
"piecewise-linear-temperature-table";
|
|
198
|
+
interpolation: "piecewise-linear";
|
|
199
|
+
outsideRangeBehavior:
|
|
200
|
+
"fail-closed";
|
|
201
|
+
samples: readonly {
|
|
202
|
+
temperatureC: number;
|
|
203
|
+
darkCurrentElectronsPerSecond:
|
|
204
|
+
number;
|
|
205
|
+
}[];
|
|
206
|
+
};
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## SensorPhotoDarkCurrentCharge
|
|
210
|
+
|
|
211
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
export type SensorPhotoDarkCurrentCharge = SensorDarkCurrentCharge | SensorTemporalDarkCurrentCharge;
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## SensorTemporalDarkCurrentCharge
|
|
218
|
+
|
|
219
|
+
Dark charge shares the exact temporal photo event, without a stationarity ID.
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
export type SensorTemporalDarkCurrentCharge = Omit<SensorDarkCurrentCharge, "stationarityProfileId" | "temporalIntegrationId" | "componentEvidence"> & {
|
|
223
|
+
stationarityProfileId?: never;
|
|
224
|
+
temporalIntegrationId: string;
|
|
225
|
+
componentEvidence: Omit<SensorDarkCurrentCharge["componentEvidence"], "exposure"> & { exposure: SensorEqeTemporalPhotoSignal["componentEvidence"] };
|
|
226
|
+
};
|
|
227
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# sensor/environment-photo-signal.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
|
+
## calculateEnvironmentSensorPhotoSignal
|
|
6
|
+
|
|
7
|
+
Generate, evaluate and integrate one site's actual local midpoint environment support.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export function calculateEnvironmentSensorPhotoSignal(input: CalculateEnvironmentSensorPhotoSignalInput): CalculationResult<EnvironmentSensorPhotoSignal>;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
14
|
+
|
|
15
|
+
## CalculateEnvironmentSensorPhotoSignalInput
|
|
16
|
+
|
|
17
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
export interface CalculateEnvironmentSensorPhotoSignalInput {
|
|
21
|
+
temporalIntegrationId: string;
|
|
22
|
+
sensor: Omit<CalculateSensorEqeTemporalExposureInput, "samples">;
|
|
23
|
+
sceneBindings: CalculateSceneToSensorIrradianceQuadratureInput["sceneBindings"];
|
|
24
|
+
optics: Omit<CalculateSceneRadianceToSensorIrradianceInput,
|
|
25
|
+
"sceneRadianceRequest" | "sceneRadianceResult" | "imagePointMm" | "fieldThroughput">;
|
|
26
|
+
motion: Pick<CalculateSensorEnvironmentRadianceQueryInput,
|
|
27
|
+
"angularVelocityRadPerSec" | "timeReference" | "environmentDirectionConvention">;
|
|
28
|
+
temporalSampleCount: number;
|
|
29
|
+
/** Explicit unity field throughput; spatial vignetting is not inferred or applied. */
|
|
30
|
+
fieldThroughput: { kind: "unity"; evidence: readonly EvidenceProvenance[]; limitation: string };
|
|
31
|
+
psf: { kind: "not-applied"; evidence: readonly EvidenceProvenance[]; limitation: string } | {
|
|
32
|
+
kind: "sampled-local";
|
|
33
|
+
configuration: Pick<CalculateSensorPsfIrradianceQuadratureInput, "psf" | "psfWavelengthBasis" | "spatialModel">;
|
|
34
|
+
};
|
|
35
|
+
evaluateRadiance: EnvironmentRadianceEvaluator;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## EnvironmentRadianceEvaluator
|
|
40
|
+
|
|
41
|
+
Supplied synchronous code executes locally. Invocation does not prove physical transport.
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export type EnvironmentRadianceEvaluator = (request: Readonly<SceneRadianceEvaluationRequest>) => SceneRadianceEvaluationResult;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## EnvironmentSensorPhotoSignal
|
|
48
|
+
|
|
49
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
export interface EnvironmentSensorPhotoSignal {
|
|
53
|
+
sourceTargetProjectionCalculated: true;
|
|
54
|
+
providerCallbackExecuted: true;
|
|
55
|
+
providerTransportVerified: false;
|
|
56
|
+
sceneVisibilityCalculated: false;
|
|
57
|
+
productionPlanActivated: false;
|
|
58
|
+
providerEvaluationCount: number;
|
|
59
|
+
sourcePlane: "sensor-package-incident";
|
|
60
|
+
fieldThroughputEvidence: readonly EvidenceProvenance[];
|
|
61
|
+
fieldThroughputLimitation: string;
|
|
62
|
+
psfOmission: { evidence: readonly EvidenceProvenance[]; limitation: string } | null;
|
|
63
|
+
psfRedistributionApplied: boolean;
|
|
64
|
+
photo: ReturnType<typeof createSensorEqeTemporalPhotoSignal>;
|
|
65
|
+
instants: readonly {
|
|
66
|
+
temporalSampleIndex: number;
|
|
67
|
+
timeSecondsFromOpeningReference: number;
|
|
68
|
+
psf: ReturnType<typeof calculateSensorPsfIrradianceQuadrature> | null;
|
|
69
|
+
evaluations: readonly {
|
|
70
|
+
query: ReturnType<typeof calculateSensorEnvironmentRadianceQuery>;
|
|
71
|
+
result: SceneRadianceEvaluationResult;
|
|
72
|
+
bindings: ReturnType<typeof validateSceneRadianceEvaluationBindings>;
|
|
73
|
+
optics: ReturnType<typeof calculateSceneRadianceToSensorIrradiance>;
|
|
74
|
+
}[];
|
|
75
|
+
}[];
|
|
76
|
+
}
|
|
77
|
+
```
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# sensor/eqe-electron-rate.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
|
+
## calculateSensorEqeElectronRate
|
|
6
|
+
|
|
7
|
+
Converts pre-response geometric-aperture spectral radiant power into
|
|
8
|
+
incident-photon rate and expected generated-electron rate.
|
|
9
|
+
|
|
10
|
+
This function applies response per wavelength node. It never applies one
|
|
11
|
+
broadband-average QE to total radiant power.
|
|
12
|
+
|
|
13
|
+
Temporal exposure integration remains downstream, so all outputs are rates
|
|
14
|
+
(per second), not photon/electron counts.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
export function calculateSensorEqeElectronRate(
|
|
18
|
+
input:
|
|
19
|
+
CalculateSensorEqeElectronRateInput
|
|
20
|
+
): CalculationResult<SensorEqeElectronRate>;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
24
|
+
|
|
25
|
+
## CalculateSensorEqeElectronRateInput
|
|
26
|
+
|
|
27
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
export interface CalculateSensorEqeElectronRateInput {
|
|
31
|
+
reduction:
|
|
32
|
+
SensorSpatioSpectralIrradianceReduction;
|
|
33
|
+
compatibility:
|
|
34
|
+
SensorResponseApplicationCompatibilityAssessment;
|
|
35
|
+
operatingRange:
|
|
36
|
+
SensorResponseOperatingRangeAssessment;
|
|
37
|
+
colorSamplingProfile:
|
|
38
|
+
SensorColorSamplingProfile;
|
|
39
|
+
spectralResponseProfile:
|
|
40
|
+
SensorSpectralResponseProfile;
|
|
41
|
+
airPhotonEnergyContext?:
|
|
42
|
+
SensorEqeAirPhotonEnergyContext;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## SensorEqeAirPhotonEnergyContext
|
|
47
|
+
|
|
48
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
export interface SensorEqeAirPhotonEnergyContext {
|
|
52
|
+
samples:
|
|
53
|
+
readonly SensorEqeAirRefractiveIndexSample[];
|
|
54
|
+
operatingConditions?:
|
|
55
|
+
AirRefractiveIndexReferenceConditions;
|
|
56
|
+
conditionPolicy:
|
|
57
|
+
AirRefractiveIndexConditionPolicy;
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## SensorEqeAirRefractiveIndexSample
|
|
62
|
+
|
|
63
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
export interface SensorEqeAirRefractiveIndexSample {
|
|
67
|
+
spectralSampleIndex: number;
|
|
68
|
+
refractiveIndex:
|
|
69
|
+
SourcedAirPhaseRefractiveIndex;
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## SensorEqeElectronRate
|
|
74
|
+
|
|
75
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
export interface SensorEqeElectronRate {
|
|
79
|
+
colorSamplingProfileId: string;
|
|
80
|
+
responseProfileId: string;
|
|
81
|
+
responseApplicationProfileId: string;
|
|
82
|
+
operatingRangeProfileId: string;
|
|
83
|
+
/** Engine-produced results populate the exact source color site. */
|
|
84
|
+
site?: {
|
|
85
|
+
x: number;
|
|
86
|
+
y: number;
|
|
87
|
+
};
|
|
88
|
+
channelId: string;
|
|
89
|
+
sourceResponseKind:
|
|
90
|
+
| "effective-external-quantum-efficiency"
|
|
91
|
+
| "separable-channel-filter-and-detector-eqe";
|
|
92
|
+
responseScope:
|
|
93
|
+
SensorSpatioSpectralIrradianceReduction["responseScope"];
|
|
94
|
+
responseReferencePlane:
|
|
95
|
+
SensorResponseApplicationCompatibilityAssessment["requiredSourcePlane"];
|
|
96
|
+
wavelengthBasis:
|
|
97
|
+
SensorSpatioSpectralIrradianceReduction["wavelengthBasis"];
|
|
98
|
+
wavelengthRangeNanometers:
|
|
99
|
+
SensorSpatioSpectralIrradianceReduction["wavelengthRangeNanometers"];
|
|
100
|
+
spectralNodeCount: number;
|
|
101
|
+
perWavelength:
|
|
102
|
+
readonly SensorEqeWavelengthRateContribution[];
|
|
103
|
+
incidentPhotonRatePerSecond: number;
|
|
104
|
+
expectedGeneratedElectronRatePerSecond:
|
|
105
|
+
number;
|
|
106
|
+
summationMethod:
|
|
107
|
+
"kahan-compensated";
|
|
108
|
+
responseApplicationPerformed: true;
|
|
109
|
+
quantumEfficiencyApplied: true;
|
|
110
|
+
spectralResponsivityApplied: false;
|
|
111
|
+
channelFilterTransmissionApplied:
|
|
112
|
+
boolean;
|
|
113
|
+
photonRateCalculated: true;
|
|
114
|
+
electronRateCalculated: true;
|
|
115
|
+
photonCountCalculated: false;
|
|
116
|
+
electronCountCalculated: false;
|
|
117
|
+
currentCalculated: false;
|
|
118
|
+
temporalIntegrationApplied: false;
|
|
119
|
+
exposureDurationApplied: false;
|
|
120
|
+
saturationAssessed: false;
|
|
121
|
+
shotNoiseApplied: false;
|
|
122
|
+
readNoiseApplied: false;
|
|
123
|
+
adcQuantizationApplied: false;
|
|
124
|
+
rawCodeValueProduced: false;
|
|
125
|
+
responseUncertaintyPropagated: false;
|
|
126
|
+
photonEnergyUncertaintyPropagated: false;
|
|
127
|
+
quadratureConvergenceErrorEstimated:
|
|
128
|
+
false;
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## SensorEqeWavelengthRateContribution
|
|
133
|
+
|
|
134
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
export interface SensorEqeWavelengthRateContribution {
|
|
138
|
+
spectralSampleIndex: number;
|
|
139
|
+
wavelengthNanometers: number;
|
|
140
|
+
wavelengthMeasureNanometers: number;
|
|
141
|
+
geometricApertureIncidentSpectralFluxWattsPerNanometer:
|
|
142
|
+
number;
|
|
143
|
+
radiantPowerContributionWatts: number;
|
|
144
|
+
vacuumWavelengthNanometers: number;
|
|
145
|
+
photonEnergyJoules: number;
|
|
146
|
+
wavelengthConversion:
|
|
147
|
+
| "vacuum-identity"
|
|
148
|
+
| "air-to-vacuum-via-phase-refractive-index";
|
|
149
|
+
phaseRefractiveIndexUsed?: number;
|
|
150
|
+
airConditionCompatibility?:
|
|
151
|
+
| "exact-match"
|
|
152
|
+
| "assumed-compatible";
|
|
153
|
+
airRefractiveIndexEvidence?:
|
|
154
|
+
readonly EvidenceProvenance[];
|
|
155
|
+
incidentPhotonRatePerSecond: number;
|
|
156
|
+
effectiveExternalQuantumEfficiency: number;
|
|
157
|
+
responseComposition:
|
|
158
|
+
| "direct-effective-response"
|
|
159
|
+
| "channel-filter-transmittance-times-detector-eqe";
|
|
160
|
+
channelFilterTransmittance?: number;
|
|
161
|
+
detectorExternalQuantumEfficiency?: number;
|
|
162
|
+
responseInterpolationUsed: boolean;
|
|
163
|
+
expectedGeneratedElectronRatePerSecond:
|
|
164
|
+
number;
|
|
165
|
+
}
|
|
166
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# sensor/eqe-local-exposure.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
|
+
## calculateSensorEqeLocalExposure
|
|
6
|
+
|
|
7
|
+
Compose validated irradiance reduction, response applicability/range, EQE
|
|
8
|
+
conversion and stationary local integration. The exposure value is suitable
|
|
9
|
+
for accumulated-charge photoSignal; dark/completeness/capacity/readout remain
|
|
10
|
+
explicit downstream inputs. Invalid or unsupported evidence fails closed.
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
export function calculateSensorEqeLocalExposure(
|
|
14
|
+
input: CalculateSensorEqeLocalExposureInput
|
|
15
|
+
): CalculationResult<SensorEqeLocalExposure>;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
19
|
+
|
|
20
|
+
## CalculateSensorEqeLocalExposureInput
|
|
21
|
+
|
|
22
|
+
Explicit post-optics irradiance samples and evidence; no renderer or RGB conversion.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
export interface CalculateSensorEqeLocalExposureInput {
|
|
26
|
+
/** Physical area, registered aperture/lattice, AA support and destination site. */
|
|
27
|
+
spatialSampling: Omit<CalculateSensorSpatialSamplingQuadratureInput,
|
|
28
|
+
"colorSamplingProfile" | "colorSamplingBindingProfile" | "nativeRaster">;
|
|
29
|
+
/** Explicit wavelength basis/range, channel and midpoint subdivision budget. */
|
|
30
|
+
spectralSampling: Omit<CalculateSensorSpectralQuadratureInput,
|
|
31
|
+
"colorSamplingProfile" | "spectralResponseProfile">;
|
|
32
|
+
/** One W/m²/nm value per identified pre-AA spatial/spectral node. */
|
|
33
|
+
irradianceSamples: ReduceSensorSpatioSpectralIrradianceInput["sampleValues"];
|
|
34
|
+
/** Source-plane, collection-area and reference-condition evidence. */
|
|
35
|
+
responseApplication: Omit<AssessSensorResponseApplicationCompatibilityInput, "reduction">;
|
|
36
|
+
/** Evidence-backed linear response domain; no extrapolation is authorized. */
|
|
37
|
+
operatingRangeProfile: AssessSensorResponseOperatingRangeInput["operatingRangeProfile"];
|
|
38
|
+
/** Destination CFA/channel identity shared by every composed step. */
|
|
39
|
+
colorSamplingProfile: CalculateSensorEqeElectronRateInput["colorSamplingProfile"];
|
|
40
|
+
/** Direct or separable EQE response; A/W responsivity is unsupported here. */
|
|
41
|
+
spectralResponseProfile: CalculateSensorEqeElectronRateInput["spectralResponseProfile"];
|
|
42
|
+
/** Required explicit photon-energy conversion context for air wavelengths. */
|
|
43
|
+
airPhotonEnergyContext?: CalculateSensorEqeElectronRateInput["airPhotonEnergyContext"];
|
|
44
|
+
/** Native one-to-one site binding and one opening/closing shutter event. */
|
|
45
|
+
localExposure: Omit<BindSensorRateToLocalExposureInput, "rate" | "colorSamplingProfile">;
|
|
46
|
+
/** Separate declaration authorizing a constant rate across this exact window. */
|
|
47
|
+
stationarityProfile: SensorRateTemporalStationarityProfile;
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## SensorEqeLocalExposure
|
|
52
|
+
|
|
53
|
+
Child envelopes retain separate provenance, validity and unpropagated uncertainty.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
export interface SensorEqeLocalExposure {
|
|
57
|
+
upstreamOrigin: "declared-spatio-spectral-irradiance-samples";
|
|
58
|
+
upstreamSceneAndOpticsVerified: false;
|
|
59
|
+
spatialQuadrature: ReturnType<typeof calculateSensorSpatialSamplingQuadrature>;
|
|
60
|
+
spectralQuadrature: ReturnType<typeof calculateSensorSpectralQuadrature>;
|
|
61
|
+
reduction: ReturnType<typeof reduceSensorSpatioSpectralIrradiance>;
|
|
62
|
+
compatibility: ReturnType<typeof assessSensorResponseApplicationCompatibility>;
|
|
63
|
+
operatingRange: ReturnType<typeof assessSensorResponseOperatingRange>;
|
|
64
|
+
electronRate: ReturnType<typeof calculateSensorEqeElectronRate>;
|
|
65
|
+
exposureBinding: ReturnType<typeof bindSensorRateToLocalExposure>;
|
|
66
|
+
exposure: CalculationResult<SensorEqeExposureIntegration>;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# sensor/eqe-temporal-exposure.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
|
+
## calculateSensorEqeTemporalExposure
|
|
6
|
+
|
|
7
|
+
Evaluate response validity and EQE independently at each declared shutter
|
|
8
|
+
midpoint, then sum rates times seconds. This is quadrature, not a stationarity
|
|
9
|
+
claim or convergence proof. Shared profile/geometry state prevents combining
|
|
10
|
+
rates from different sites or shutter events. No renderer executes here.
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
export function calculateSensorEqeTemporalExposure(
|
|
14
|
+
input: CalculateSensorEqeTemporalExposureInput
|
|
15
|
+
): CalculationResult<SensorEqeTemporalExposure>;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
19
|
+
|
|
20
|
+
## CalculateSensorEqeTemporalExposureInput
|
|
21
|
+
|
|
22
|
+
Shared response/site/shutter state, with separately evaluated physical light at each time.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
export interface CalculateSensorEqeTemporalExposureInput
|
|
26
|
+
extends Omit<CalculateSensorEqeLocalExposureInput, "irradianceSamples" | "stationarityProfile"> {
|
|
27
|
+
/** Complete uniform-midpoint coverage; array order is not temporal identity. */
|
|
28
|
+
samples: readonly {
|
|
29
|
+
temporalSampleIndex: number;
|
|
30
|
+
/** Seconds on the shutter's first-opening-boundary-phase reference. */
|
|
31
|
+
timeSecondsFromOpeningReference: number;
|
|
32
|
+
/** Complete W/m²/nm Cartesian irradiance coverage for this instant. */
|
|
33
|
+
irradianceSamples: CalculateSensorEqeLocalExposureInput["irradianceSamples"];
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## SensorEqeTemporalExposure
|
|
39
|
+
|
|
40
|
+
Nonstationary photo expectation, deliberately distinct from stationary RAW producer inputs.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
export interface SensorEqeTemporalExposure {
|
|
44
|
+
kind: "eqe-temporal-quadrature-expected-counts";
|
|
45
|
+
colorSamplingProfileId: string;
|
|
46
|
+
channelId: string;
|
|
47
|
+
site: { x: number; y: number };
|
|
48
|
+
bindingId: string;
|
|
49
|
+
timeReference: "first-opening-boundary-phase";
|
|
50
|
+
startOffsetSecondsFromOpeningReference: number;
|
|
51
|
+
endOffsetSecondsFromOpeningReference: number;
|
|
52
|
+
localExposureDurationSeconds: number;
|
|
53
|
+
expectedIncidentPhotonCount: number;
|
|
54
|
+
expectedGeneratedElectronCount: number;
|
|
55
|
+
integrationMethod: "uniform-midpoint-rate-quadrature";
|
|
56
|
+
timeStationarityEstablished: false;
|
|
57
|
+
timeVaryingSignalIntegrated: true;
|
|
58
|
+
temporalIntegrationApplied: true;
|
|
59
|
+
upstreamSceneAndOpticsVerified: false;
|
|
60
|
+
accumulatedSignalCompleteness: "photo-signal-only";
|
|
61
|
+
physicalFullWellAssessmentAuthorized: false;
|
|
62
|
+
shotNoiseApplied: false;
|
|
63
|
+
rawCodeValueProduced: false;
|
|
64
|
+
/** Canonical order, seconds-valued integration measures and independent child evidence. */
|
|
65
|
+
samples: readonly {
|
|
66
|
+
temporalSampleIndex: number;
|
|
67
|
+
timeSecondsFromOpeningReference: number;
|
|
68
|
+
integrationMeasureSeconds: number;
|
|
69
|
+
timeAverageWeight: number;
|
|
70
|
+
stages: ReturnType<typeof calculateSensorEqeLocalRate>;
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
```
|