@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,245 @@
|
|
|
1
|
+
# sensor/responsivity-photocurrent.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
|
+
## calculateSensorResponsivityPhotocurrent
|
|
6
|
+
|
|
7
|
+
Integrate per-wavelength A/W times radiant-power contributions to steady-state current magnitude
|
|
8
|
+
with explicit electrical applicability.
|
|
9
|
+
|
|
10
|
+
A/W response converts per-bin radiant power to quasi-static detector-terminal current magnitude.
|
|
11
|
+
Electrical bias/load applicability is explicit. This is not EQE, electron rate, transimpedance
|
|
12
|
+
voltage or RAW; rapidly varying current requires a separate temporal detector-response model.
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
export function calculateSensorResponsivityPhotocurrent(
|
|
16
|
+
input:
|
|
17
|
+
CalculateSensorResponsivityPhotocurrentInput
|
|
18
|
+
): CalculationResult<SensorResponsivityPhotocurrent>;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
22
|
+
|
|
23
|
+
## CalculateSensorResponsivityPhotocurrentInput
|
|
24
|
+
|
|
25
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export interface CalculateSensorResponsivityPhotocurrentInput {
|
|
29
|
+
reduction:
|
|
30
|
+
SensorSpatioSpectralIrradianceReduction;
|
|
31
|
+
compatibility:
|
|
32
|
+
SensorResponseApplicationCompatibilityAssessment;
|
|
33
|
+
operatingRange:
|
|
34
|
+
SensorResponseOperatingRangeAssessment;
|
|
35
|
+
colorSamplingProfile:
|
|
36
|
+
SensorColorSamplingProfile;
|
|
37
|
+
spectralResponseProfile:
|
|
38
|
+
SensorSpectralResponseProfile;
|
|
39
|
+
electricalApplicabilityProfile:
|
|
40
|
+
SensorResponsivityElectricalApplicabilityProfile;
|
|
41
|
+
operatingElectricalConditions:
|
|
42
|
+
SensorResponsivityElectricalConditions;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## parseSensorResponsivityElectricalApplicabilityProfile
|
|
47
|
+
|
|
48
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
49
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
50
|
+
|
|
51
|
+
A/W response converts per-bin radiant power to quasi-static detector-terminal current magnitude.
|
|
52
|
+
Electrical bias/load applicability is explicit. This is not EQE, electron rate, transimpedance
|
|
53
|
+
voltage or RAW; rapidly varying current requires a separate temporal detector-response model.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
export function parseSensorResponsivityElectricalApplicabilityProfile(
|
|
57
|
+
value: unknown
|
|
58
|
+
): SensorResponsivityElectricalApplicabilityProfile;
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
62
|
+
|
|
63
|
+
## SensorResponsivityBiasCondition
|
|
64
|
+
|
|
65
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
export type SensorResponsivityBiasCondition =
|
|
69
|
+
| {
|
|
70
|
+
kind: "zero-bias-photovoltaic";
|
|
71
|
+
}
|
|
72
|
+
| {
|
|
73
|
+
kind: "reverse-biased";
|
|
74
|
+
magnitudeVolts: number;
|
|
75
|
+
};
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## SensorResponsivityElectricalApplicabilityProfile
|
|
79
|
+
|
|
80
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
export interface SensorResponsivityElectricalApplicabilityProfile {
|
|
84
|
+
schemaVersion: "0.1.0";
|
|
85
|
+
profileId: string;
|
|
86
|
+
responseApplicationProfileId: string;
|
|
87
|
+
spectralResponseProfileId: string;
|
|
88
|
+
colorSamplingProfileId: string;
|
|
89
|
+
channelId: string;
|
|
90
|
+
outputMeaning:
|
|
91
|
+
"detector-terminal-photocurrent-magnitude";
|
|
92
|
+
referenceConditions:
|
|
93
|
+
SensorResponsivityElectricalConditions;
|
|
94
|
+
conditionPolicy:
|
|
95
|
+
SensorResponsivityElectricalConditionPolicy;
|
|
96
|
+
scientificStatus:
|
|
97
|
+
SensorSpectralResponseScientificStatus;
|
|
98
|
+
uncertainty:
|
|
99
|
+
SensorSpectralResponseUncertainty;
|
|
100
|
+
evidence: readonly EvidenceProvenance[];
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## SensorResponsivityElectricalConditionPolicy
|
|
105
|
+
|
|
106
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
export type SensorResponsivityElectricalConditionPolicy =
|
|
110
|
+
| {
|
|
111
|
+
kind: "exact-match-required";
|
|
112
|
+
}
|
|
113
|
+
| {
|
|
114
|
+
kind: "assume-compatible";
|
|
115
|
+
limitation: string;
|
|
116
|
+
evidence: readonly EvidenceProvenance[];
|
|
117
|
+
};
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## SensorResponsivityElectricalConditions
|
|
121
|
+
|
|
122
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
export interface SensorResponsivityElectricalConditions {
|
|
126
|
+
bias: SensorResponsivityBiasCondition;
|
|
127
|
+
readoutLoad:
|
|
128
|
+
SensorResponsivityReadoutLoadCondition;
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## SensorResponsivityPhotocurrent
|
|
133
|
+
|
|
134
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
export interface SensorResponsivityPhotocurrent {
|
|
138
|
+
colorSamplingProfileId: string;
|
|
139
|
+
responseProfileId: string;
|
|
140
|
+
responseApplicationProfileId: string;
|
|
141
|
+
operatingRangeProfileId: string;
|
|
142
|
+
electricalApplicabilityProfileId:
|
|
143
|
+
string;
|
|
144
|
+
/** Engine-produced results populate the exact source color site. */
|
|
145
|
+
site?: {
|
|
146
|
+
x: number;
|
|
147
|
+
y: number;
|
|
148
|
+
};
|
|
149
|
+
channelId: string;
|
|
150
|
+
sourceResponseKind:
|
|
151
|
+
"effective-spectral-responsivity";
|
|
152
|
+
responseScope:
|
|
153
|
+
SensorSpatioSpectralIrradianceReduction["responseScope"];
|
|
154
|
+
responseReferencePlane:
|
|
155
|
+
SensorResponseApplicationCompatibilityAssessment["requiredSourcePlane"];
|
|
156
|
+
wavelengthBasis:
|
|
157
|
+
SensorSpatioSpectralIrradianceReduction["wavelengthBasis"];
|
|
158
|
+
wavelengthRangeNanometers:
|
|
159
|
+
SensorSpatioSpectralIrradianceReduction["wavelengthRangeNanometers"];
|
|
160
|
+
electricalReferenceConditions:
|
|
161
|
+
SensorResponsivityElectricalConditions;
|
|
162
|
+
operatingElectricalConditions:
|
|
163
|
+
SensorResponsivityElectricalConditions;
|
|
164
|
+
electricalConditionPolicy:
|
|
165
|
+
SensorResponsivityElectricalConditionPolicy;
|
|
166
|
+
electricalCompatibility:
|
|
167
|
+
| "exact-match"
|
|
168
|
+
| "assumed-compatible";
|
|
169
|
+
spectralNodeCount: number;
|
|
170
|
+
perWavelength:
|
|
171
|
+
readonly SensorResponsivityWavelengthCurrentContribution[];
|
|
172
|
+
photocurrentMagnitudeAmperes: number;
|
|
173
|
+
currentSignConvention:
|
|
174
|
+
"magnitude-only-no-circuit-polarity";
|
|
175
|
+
summationMethod:
|
|
176
|
+
"kahan-compensated";
|
|
177
|
+
responseApplicationPerformed: true;
|
|
178
|
+
spectralResponsivityApplied: true;
|
|
179
|
+
quantumEfficiencyApplied: false;
|
|
180
|
+
photonRateCalculated: false;
|
|
181
|
+
electronRateCalculated: false;
|
|
182
|
+
currentCalculated: true;
|
|
183
|
+
chargeCalculated: false;
|
|
184
|
+
temporalResponseModel:
|
|
185
|
+
"quasi-static-steady-state-only";
|
|
186
|
+
detectorBandwidthModeled: false;
|
|
187
|
+
transimpedanceGainApplied: false;
|
|
188
|
+
voltageCalculated: false;
|
|
189
|
+
temporalIntegrationApplied: false;
|
|
190
|
+
exposureDurationApplied: false;
|
|
191
|
+
saturationAssessed: false;
|
|
192
|
+
readoutElectronicsLinearityAssessed:
|
|
193
|
+
false;
|
|
194
|
+
shotNoiseApplied: false;
|
|
195
|
+
readNoiseApplied: false;
|
|
196
|
+
adcQuantizationApplied: false;
|
|
197
|
+
rawCodeValueProduced: false;
|
|
198
|
+
responseUncertaintyPropagated: false;
|
|
199
|
+
electricalApplicabilityUncertaintyPropagated:
|
|
200
|
+
false;
|
|
201
|
+
quadratureConvergenceErrorEstimated:
|
|
202
|
+
false;
|
|
203
|
+
componentEvidence: {
|
|
204
|
+
electricalApplicability:
|
|
205
|
+
readonly EvidenceProvenance[];
|
|
206
|
+
electricalConditionAssumption:
|
|
207
|
+
readonly EvidenceProvenance[];
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## SensorResponsivityReadoutLoadCondition
|
|
213
|
+
|
|
214
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
export type SensorResponsivityReadoutLoadCondition =
|
|
218
|
+
| {
|
|
219
|
+
kind: "virtual-ground-current-readout";
|
|
220
|
+
}
|
|
221
|
+
| {
|
|
222
|
+
kind: "finite-input-impedance";
|
|
223
|
+
inputImpedanceOhms: number;
|
|
224
|
+
};
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## SensorResponsivityWavelengthCurrentContribution
|
|
228
|
+
|
|
229
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
230
|
+
|
|
231
|
+
```ts
|
|
232
|
+
export interface SensorResponsivityWavelengthCurrentContribution {
|
|
233
|
+
spectralSampleIndex: number;
|
|
234
|
+
wavelengthNanometers: number;
|
|
235
|
+
wavelengthMeasureNanometers: number;
|
|
236
|
+
geometricApertureIncidentSpectralFluxWattsPerNanometer:
|
|
237
|
+
number;
|
|
238
|
+
radiantPowerContributionWatts: number;
|
|
239
|
+
spectralResponsivityAmperesPerWatt:
|
|
240
|
+
number;
|
|
241
|
+
responseInterpolationUsed: boolean;
|
|
242
|
+
photocurrentMagnitudeContributionAmperes:
|
|
243
|
+
number;
|
|
244
|
+
}
|
|
245
|
+
```
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# sensor/sampling-aperture.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
|
+
## NativeSensorPhysicalBoundsMm
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface NativeSensorPhysicalBoundsMm {
|
|
11
|
+
left: number;
|
|
12
|
+
right: number;
|
|
13
|
+
top: number;
|
|
14
|
+
bottom: number;
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## NativeSensorPhysicalPointMm
|
|
19
|
+
|
|
20
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
export interface NativeSensorPhysicalPointMm {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## parseSensorSamplingApertureProfile
|
|
30
|
+
|
|
31
|
+
Parses physical registration of the color-site lattice plus a first geometric
|
|
32
|
+
photosensitive-aperture model.
|
|
33
|
+
|
|
34
|
+
Site-center pitch/origin are explicit facts and are never derived from
|
|
35
|
+
NativeImageRaster. The rectangle, when resolved, is a geometric sensitive
|
|
36
|
+
region only. It does not include microlens redirection, charge diffusion,
|
|
37
|
+
electrical crosstalk, QE, throughput, spectral response, or an effective
|
|
38
|
+
radiometric collection area.
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
export function parseSensorSamplingApertureProfile(
|
|
42
|
+
value: unknown
|
|
43
|
+
): SensorSamplingApertureProfile;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
47
|
+
|
|
48
|
+
## ResolvedSensorSamplingAperture
|
|
49
|
+
|
|
50
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
export interface ResolvedSensorSamplingAperture {
|
|
54
|
+
profileId: string;
|
|
55
|
+
colorSamplingProfileId: string;
|
|
56
|
+
colorSamplingBindingId: string;
|
|
57
|
+
coordinateSystem: "native-sensor-physical";
|
|
58
|
+
site: NativeColorSamplingSiteIndex;
|
|
59
|
+
channelId: string;
|
|
60
|
+
siteGrid: {
|
|
61
|
+
widthSites: number;
|
|
62
|
+
heightSites: number;
|
|
63
|
+
};
|
|
64
|
+
lattice: {
|
|
65
|
+
pitchXMicrometers: number;
|
|
66
|
+
pitchYMicrometers: number;
|
|
67
|
+
firstSiteCenterFromImagingAreaTopLeftMicrometers: {
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
};
|
|
71
|
+
siteCenterFromImagingAreaTopLeftMicrometers: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
};
|
|
75
|
+
siteCenterFromOpticalAxisMm: NativeSensorPhysicalPointMm;
|
|
76
|
+
nominalCellAreaSquareMicrometers: number;
|
|
77
|
+
};
|
|
78
|
+
geometricSensitiveAperture: {
|
|
79
|
+
kind: "uniform-axis-aligned-rectangle";
|
|
80
|
+
widthMicrometers: number;
|
|
81
|
+
heightMicrometers: number;
|
|
82
|
+
centerOffsetFromSiteCenterMicrometers: {
|
|
83
|
+
x: number;
|
|
84
|
+
y: number;
|
|
85
|
+
};
|
|
86
|
+
centerFromOpticalAxisMm: NativeSensorPhysicalPointMm;
|
|
87
|
+
boundsFromOpticalAxisMm: NativeSensorPhysicalBoundsMm;
|
|
88
|
+
areaSquareMicrometers: number;
|
|
89
|
+
geometricSensitiveAreaFractionOfLatticeCell: number;
|
|
90
|
+
spatialWeighting:
|
|
91
|
+
"uniform-unit-area-average";
|
|
92
|
+
neighboringGeometricApertureOverlap:
|
|
93
|
+
"none-by-model";
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Hard scientific boundaries.
|
|
97
|
+
*/
|
|
98
|
+
sitePitchDerivedFromNativeImageRaster: false;
|
|
99
|
+
apertureDerivedFromSitePitch: false;
|
|
100
|
+
antiAliasingResponseIncluded: false;
|
|
101
|
+
microlensSpatialRedistributionIncluded: false;
|
|
102
|
+
chargeDiffusionIncluded: false;
|
|
103
|
+
electricalCrosstalkIncluded: false;
|
|
104
|
+
spectralResponseIncluded: false;
|
|
105
|
+
quantumEfficiencyIncluded: false;
|
|
106
|
+
opticalThroughputIncluded: false;
|
|
107
|
+
radiometricCollectionAreaEstablished: false;
|
|
108
|
+
physicalPhotodiodeGeometryEstablished: false;
|
|
109
|
+
provenance: {
|
|
110
|
+
profile: readonly EvidenceProvenance[];
|
|
111
|
+
lattice: readonly EvidenceProvenance[];
|
|
112
|
+
aperture: readonly EvidenceProvenance[];
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## resolveSensorSamplingAperture
|
|
118
|
+
|
|
119
|
+
Resolves one geometric sampling aperture in native sensor physical space.
|
|
120
|
+
|
|
121
|
+
The result provides a normalized uniform-area spatial averaging footprint for
|
|
122
|
+
future image sampling, plus its geometric physical area/fill-fraction
|
|
123
|
+
diagnostics. It deliberately does not promote that geometric area into
|
|
124
|
+
radiometric collection efficiency or physical photodiode truth.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
export function resolveSensorSamplingAperture(
|
|
128
|
+
input: ResolveSensorSamplingApertureInput
|
|
129
|
+
): ResolvedSensorSamplingAperture;
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
133
|
+
|
|
134
|
+
## ResolveSensorSamplingApertureInput
|
|
135
|
+
|
|
136
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
export interface ResolveSensorSamplingApertureInput {
|
|
140
|
+
imagingArea: SensorImagingArea;
|
|
141
|
+
nativeRaster: NativeImageRaster;
|
|
142
|
+
colorSamplingProfile: SensorColorSamplingProfile;
|
|
143
|
+
colorSamplingBindingProfile: NativeEffectiveRasterColorSamplingBindingProfile;
|
|
144
|
+
samplingApertureProfile: SensorSamplingApertureProfile;
|
|
145
|
+
site: NativeColorSamplingSiteIndex;
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## SensorGeometricSensitiveAperture
|
|
150
|
+
|
|
151
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
export type SensorGeometricSensitiveAperture =
|
|
155
|
+
| {
|
|
156
|
+
/**
|
|
157
|
+
* The physical/light-sensitive spatial aperture is known to matter but
|
|
158
|
+
* its geometry is not defensibly resolved.
|
|
159
|
+
*/
|
|
160
|
+
kind: "unresolved";
|
|
161
|
+
evidence: readonly EvidenceProvenance[];
|
|
162
|
+
}
|
|
163
|
+
| {
|
|
164
|
+
/**
|
|
165
|
+
* First geometric sensitive-region approximation.
|
|
166
|
+
*
|
|
167
|
+
* This rectangle is constrained to remain inside one regular lattice
|
|
168
|
+
* cell, so neighboring geometric sensitive regions do not overlap in
|
|
169
|
+
* schema 0.1.0.
|
|
170
|
+
*/
|
|
171
|
+
kind: "uniform-axis-aligned-rectangle";
|
|
172
|
+
widthMicrometers: number;
|
|
173
|
+
heightMicrometers: number;
|
|
174
|
+
centerOffsetFromSiteCenterMicrometers: {
|
|
175
|
+
x: number;
|
|
176
|
+
y: number;
|
|
177
|
+
};
|
|
178
|
+
evidence: readonly EvidenceProvenance[];
|
|
179
|
+
};
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## SensorSamplingApertureProfile
|
|
183
|
+
|
|
184
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
export interface SensorSamplingApertureProfile {
|
|
188
|
+
schemaVersion: "0.1.0";
|
|
189
|
+
profileId: string;
|
|
190
|
+
colorSamplingProfileId: string;
|
|
191
|
+
colorSamplingBindingId: string;
|
|
192
|
+
evidence: readonly EvidenceProvenance[];
|
|
193
|
+
siteCenterLattice: SensorSiteCenterLatticeRegistration;
|
|
194
|
+
geometricSensitiveAperture: SensorGeometricSensitiveAperture;
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## SensorSiteCenterLatticeRegistration
|
|
199
|
+
|
|
200
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
201
|
+
|
|
202
|
+
```ts
|
|
203
|
+
export interface SensorSiteCenterLatticeRegistration {
|
|
204
|
+
kind: "regular-rectangular-site-center-lattice";
|
|
205
|
+
coordinateSystem: "native-sensor-physical";
|
|
206
|
+
/** Horizontal site-center pitch in micrometres. */
|
|
207
|
+
pitchXMicrometers: number;
|
|
208
|
+
/** Vertical site-center pitch in micrometres. */
|
|
209
|
+
pitchYMicrometers: number;
|
|
210
|
+
/**
|
|
211
|
+
* First site center relative to the imaging area's physical top-left edge.
|
|
212
|
+
*
|
|
213
|
+
* +X right, +Y down. Units: micrometres.
|
|
214
|
+
*/
|
|
215
|
+
firstSiteCenterFromImagingAreaTopLeftMicrometers: {
|
|
216
|
+
x: number;
|
|
217
|
+
y: number;
|
|
218
|
+
};
|
|
219
|
+
evidence: readonly EvidenceProvenance[];
|
|
220
|
+
}
|
|
221
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# sensor/scene-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
|
+
## calculateSceneSensorEqeTemporalExposure
|
|
6
|
+
|
|
7
|
+
Compose declared scene radiance through paraxial optics and instantaneous EQE
|
|
8
|
+
at every exact local shutter midpoint. Light is never averaged before response
|
|
9
|
+
validity. No projection, renderer, PSF, charge/noise or production stage executes.
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
export function calculateSceneSensorEqeTemporalExposure(
|
|
13
|
+
input: CalculateSceneSensorEqeTemporalExposureInput
|
|
14
|
+
): CalculationResult<SceneSensorEqeTemporalExposure>;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
18
|
+
|
|
19
|
+
## CalculateSceneSensorEqeTemporalExposureInput
|
|
20
|
+
|
|
21
|
+
Declared physical scene radiance at every spatial/wavelength/local-shutter midpoint.
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
export interface CalculateSceneSensorEqeTemporalExposureInput {
|
|
25
|
+
/** One destination site, response and local shutter event; no stationarity declaration. */
|
|
26
|
+
sensor: Omit<CalculateSensorEqeTemporalExposureInput, "samples">;
|
|
27
|
+
sceneBindings: CalculateSceneToSensorIrradianceQuadratureInput["sceneBindings"];
|
|
28
|
+
optics: CalculateSceneToSensorIrradianceQuadratureInput["optics"];
|
|
29
|
+
/** Explicitly binds scene query seconds to the shutter's first-opening boundary. */
|
|
30
|
+
timeReference: "first-opening-boundary-phase";
|
|
31
|
+
samples: readonly {
|
|
32
|
+
temporalSampleIndex: number;
|
|
33
|
+
timeSecondsFromOpeningReference: number;
|
|
34
|
+
sceneSamples: CalculateSceneToSensorIrradianceQuadratureInput["samples"];
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## SceneSensorEqeTemporalExposure
|
|
40
|
+
|
|
41
|
+
Child optical and sensor envelopes retain approximation/evidence independently.
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export interface SceneSensorEqeTemporalExposure {
|
|
45
|
+
sourcePlane: "sensor-package-incident";
|
|
46
|
+
sourceTargetProjectionVerified: false;
|
|
47
|
+
sceneProviderExecutionVerified: false;
|
|
48
|
+
psfRedistributionApplied: false;
|
|
49
|
+
opticalSamples: readonly {
|
|
50
|
+
temporalSampleIndex: number;
|
|
51
|
+
timeSecondsFromOpeningReference: number;
|
|
52
|
+
optics: ReturnType<typeof calculateSceneToSensorIrradianceQuadrature>;
|
|
53
|
+
}[];
|
|
54
|
+
exposure: ReturnType<typeof calculateSensorEqeTemporalExposure>;
|
|
55
|
+
}
|
|
56
|
+
```
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# sensor/sensor-geometry.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
|
+
## calculateImagingAreaMetrics
|
|
6
|
+
|
|
7
|
+
Calculates physical imaging-area metrics independently from native raster
|
|
8
|
+
density.
|
|
9
|
+
|
|
10
|
+
Crop factor uses the diagonal ratio to a 36 × 24 mm reference frame.
|
|
11
|
+
Digital/output crops are not part of this physical imaging-area quantity.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
export function calculateImagingAreaMetrics(
|
|
15
|
+
imagingArea: SensorImagingArea
|
|
16
|
+
): CalculationResult<ImagingAreaMetrics>;
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
20
|
+
|
|
21
|
+
## calculateSensorGeometryMetrics
|
|
22
|
+
|
|
23
|
+
Calculates physical imaging-area, native-raster, and geometric sampling
|
|
24
|
+
metrics without coupling sensor size to resolution.
|
|
25
|
+
|
|
26
|
+
The supplied raster is assumed to span the supplied imaging area. Derived
|
|
27
|
+
sampling pitch is geometric sample spacing only and must not be interpreted
|
|
28
|
+
as photosite fill factor or photon-collection area.
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
export function calculateSensorGeometryMetrics(
|
|
32
|
+
input: CalculateSensorGeometryMetricsInput
|
|
33
|
+
): CalculationResult<SensorGeometryMetrics>;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
37
|
+
|
|
38
|
+
## CalculateSensorGeometryMetricsInput
|
|
39
|
+
|
|
40
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
export interface CalculateSensorGeometryMetricsInput {
|
|
44
|
+
imagingArea: SensorImagingArea;
|
|
45
|
+
nativeRaster: NativeImageRaster;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## ImagingAreaMetrics
|
|
50
|
+
|
|
51
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
export interface ImagingAreaMetrics {
|
|
55
|
+
/** Physical imaging-area diagonal in millimetres. */
|
|
56
|
+
diagonalMm: number;
|
|
57
|
+
/** Physical width divided by physical height. */
|
|
58
|
+
aspectRatio: number;
|
|
59
|
+
/**
|
|
60
|
+
* Diagonal crop factor relative to a 36 × 24 mm reference frame.
|
|
61
|
+
*
|
|
62
|
+
* This is a physical imaging-area quantity and does not include later
|
|
63
|
+
* digital/output cropping.
|
|
64
|
+
*/
|
|
65
|
+
cropFactor35Mm: number;
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## NativeImageRaster
|
|
70
|
+
|
|
71
|
+
Native effective image-sampling raster associated with an imaging area.
|
|
72
|
+
|
|
73
|
+
This alias identifies semantic role; generic active/output rasters should
|
|
74
|
+
use RasterDimensions instead.
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
export type NativeImageRaster = RasterDimensions;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## RasterDimensions
|
|
81
|
+
|
|
82
|
+
Native effective image-sampling raster associated with an imaging area.
|
|
83
|
+
|
|
84
|
+
The raster describes effective image samples. It does not imply that each
|
|
85
|
+
sample corresponds one-to-one with a physical photodiode/photosite.
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
export interface RasterDimensions {
|
|
89
|
+
/** Horizontal image-sample/pixel count. */
|
|
90
|
+
pixelWidth: number;
|
|
91
|
+
/** Vertical image-sample/pixel count. */
|
|
92
|
+
pixelHeight: number;
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## SensorGeometryMetrics
|
|
97
|
+
|
|
98
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
export interface SensorGeometryMetrics {
|
|
102
|
+
imagingArea: ImagingAreaMetrics;
|
|
103
|
+
nativeRaster: {
|
|
104
|
+
/** Exact product of native raster width and height. */
|
|
105
|
+
totalImageSamples: number;
|
|
106
|
+
/** Derived megapixels from the exact native raster. */
|
|
107
|
+
megapixels: number;
|
|
108
|
+
/** Native raster width divided by native raster height. */
|
|
109
|
+
aspectRatio: number;
|
|
110
|
+
};
|
|
111
|
+
sampling: {
|
|
112
|
+
/**
|
|
113
|
+
* Horizontal geometric sampling pitch in micrometres.
|
|
114
|
+
*
|
|
115
|
+
* This is image-sample spacing, not physical photodiode active area.
|
|
116
|
+
*/
|
|
117
|
+
pitchXMicrometers: number;
|
|
118
|
+
/**
|
|
119
|
+
* Vertical geometric sampling pitch in micrometres.
|
|
120
|
+
*
|
|
121
|
+
* This is image-sample spacing, not physical photodiode active area.
|
|
122
|
+
*/
|
|
123
|
+
pitchYMicrometers: number;
|
|
124
|
+
/** Horizontal sampling pitch divided by vertical sampling pitch. */
|
|
125
|
+
pitchAspectRatio: number;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## SensorImagingArea
|
|
131
|
+
|
|
132
|
+
Physical photosensitive imaging area used for image formation.
|
|
133
|
+
|
|
134
|
+
This is deliberately not a sensor package/die dimension.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
export interface SensorImagingArea {
|
|
138
|
+
/** Physical active imaging width in millimetres. */
|
|
139
|
+
widthMm: number;
|
|
140
|
+
/** Physical active imaging height in millimetres. */
|
|
141
|
+
heightMm: number;
|
|
142
|
+
}
|
|
143
|
+
```
|