@photivra/engine 0.6.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +674 -0
- package/CHANGELOG.md +186 -0
- package/CITATION.cff +1 -1
- package/CONTRIBUTING.md +76 -0
- package/DCO +33 -0
- package/NODE_SUPPORT.md +37 -0
- package/NOTICE +2 -0
- package/README.md +138 -71
- package/SECURITY.md +55 -0
- package/THIRD_PARTY.md +63 -0
- package/dist/camera/equivalent-focal-length.d.ts +9 -0
- package/dist/camera/equivalent-focal-length.d.ts.map +1 -1
- package/dist/camera/equivalent-focal-length.js +9 -0
- package/dist/camera/equivalent-focal-length.js.map +1 -1
- package/dist/camera/field-of-view.d.ts +13 -0
- package/dist/camera/field-of-view.d.ts.map +1 -1
- package/dist/camera/field-of-view.js +13 -0
- package/dist/camera/field-of-view.js.map +1 -1
- package/dist/camera/projected-object-size.d.ts +8 -0
- package/dist/camera/projected-object-size.d.ts.map +1 -1
- package/dist/camera/projected-object-size.js +8 -0
- package/dist/camera/projected-object-size.js.map +1 -1
- package/dist/capture/capture-export-metadata.d.ts +60 -0
- package/dist/capture/capture-export-metadata.d.ts.map +1 -0
- package/dist/capture/capture-export-metadata.js +62 -0
- package/dist/capture/capture-export-metadata.js.map +1 -0
- package/dist/capture/environment-raw-producer.d.ts +55 -0
- package/dist/capture/environment-raw-producer.d.ts.map +1 -0
- package/dist/capture/environment-raw-producer.js +88 -0
- package/dist/capture/environment-raw-producer.js.map +1 -0
- package/dist/capture/export-jpeg.d.ts +12 -0
- package/dist/capture/export-jpeg.d.ts.map +1 -0
- package/dist/capture/export-jpeg.js +126 -0
- package/dist/capture/export-jpeg.js.map +1 -0
- package/dist/capture/export-tiff.d.ts +45 -0
- package/dist/capture/export-tiff.d.ts.map +1 -0
- package/dist/capture/export-tiff.js +129 -0
- package/dist/capture/export-tiff.js.map +1 -0
- package/dist/capture/focus-control.d.ts +210 -0
- package/dist/capture/focus-control.d.ts.map +1 -0
- package/dist/capture/focus-control.js +664 -0
- package/dist/capture/focus-control.js.map +1 -0
- package/dist/capture/linear-encoding.d.ts +59 -0
- package/dist/capture/linear-encoding.d.ts.map +1 -0
- package/dist/capture/linear-encoding.js +98 -0
- package/dist/capture/linear-encoding.js.map +1 -0
- package/dist/capture/photographic-export.d.ts +135 -0
- package/dist/capture/photographic-export.d.ts.map +1 -0
- package/dist/capture/photographic-export.js +273 -0
- package/dist/capture/photographic-export.js.map +1 -0
- package/dist/capture/raw-frame-limits.d.ts +12 -0
- package/dist/capture/raw-frame-limits.d.ts.map +1 -0
- package/dist/capture/raw-frame-limits.js +13 -0
- package/dist/capture/raw-frame-limits.js.map +1 -0
- package/dist/capture/raw-frame-reconstruction.d.ts +48 -0
- package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -0
- package/dist/capture/raw-frame-reconstruction.js +146 -0
- package/dist/capture/raw-frame-reconstruction.js.map +1 -0
- package/dist/capture/release-sequence.d.ts +120 -0
- package/dist/capture/release-sequence.d.ts.map +1 -0
- package/dist/capture/release-sequence.js +446 -0
- package/dist/capture/release-sequence.js.map +1 -0
- package/dist/capture/sensor-raw-frame.d.ts +34 -0
- package/dist/capture/sensor-raw-frame.d.ts.map +1 -0
- package/dist/capture/sensor-raw-frame.js +106 -0
- package/dist/capture/sensor-raw-frame.js.map +1 -0
- package/dist/capture/sensor-raw-producer.d.ts +51 -0
- package/dist/capture/sensor-raw-producer.d.ts.map +1 -0
- package/dist/capture/sensor-raw-producer.js +235 -0
- package/dist/capture/sensor-raw-producer.js.map +1 -0
- package/dist/capture/simulated-capture.d.ts +125 -0
- package/dist/capture/simulated-capture.d.ts.map +1 -0
- package/dist/capture/simulated-capture.js +248 -0
- package/dist/capture/simulated-capture.js.map +1 -0
- package/dist/color/capture-color.d.ts +73 -0
- package/dist/color/capture-color.d.ts.map +1 -0
- package/dist/color/capture-color.js +145 -0
- package/dist/color/capture-color.js.map +1 -0
- package/dist/color/sensor-color-development.d.ts +23 -0
- package/dist/color/sensor-color-development.d.ts.map +1 -0
- package/dist/color/sensor-color-development.js +56 -0
- package/dist/color/sensor-color-development.js.map +1 -0
- package/dist/color/white-balance.d.ts +175 -0
- package/dist/color/white-balance.d.ts.map +1 -0
- package/dist/color/white-balance.js +606 -0
- package/dist/color/white-balance.js.map +1 -0
- package/dist/composition/image-formation-plan.d.ts +481 -0
- package/dist/composition/image-formation-plan.d.ts.map +1 -0
- package/dist/composition/image-formation-plan.js +2499 -0
- package/dist/composition/image-formation-plan.js.map +1 -0
- package/dist/composition/plan-consumer.d.ts +53 -0
- package/dist/composition/plan-consumer.d.ts.map +1 -0
- package/dist/composition/plan-consumer.js +119 -0
- package/dist/composition/plan-consumer.js.map +1 -0
- package/dist/core/calculation-result.d.ts.map +1 -1
- package/dist/core/calculation-result.js +6 -0
- package/dist/core/calculation-result.js.map +1 -1
- package/dist/core/canonical-json.d.ts +18 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +44 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/configuration-error.d.ts +6 -0
- package/dist/core/configuration-error.d.ts.map +1 -1
- package/dist/core/configuration-error.js +6 -0
- package/dist/core/configuration-error.js.map +1 -1
- package/dist/core/evidence-provenance.d.ts +6 -0
- package/dist/core/evidence-provenance.d.ts.map +1 -1
- package/dist/core/evidence-provenance.js +7 -0
- package/dist/core/evidence-provenance.js.map +1 -1
- package/dist/core/image-formation.d.ts +9 -3
- package/dist/core/image-formation.d.ts.map +1 -1
- package/dist/core/image-formation.js +29 -5
- package/dist/core/image-formation.js.map +1 -1
- package/dist/core/owned-data.d.ts +25 -0
- package/dist/core/owned-data.d.ts.map +1 -0
- package/dist/core/owned-data.js +34 -0
- package/dist/core/owned-data.js.map +1 -0
- package/dist/core/record-validation.d.ts +17 -0
- package/dist/core/record-validation.d.ts.map +1 -0
- package/dist/core/record-validation.js +44 -0
- package/dist/core/record-validation.js.map +1 -0
- package/dist/core/scientific-assurance.d.ts +101 -0
- package/dist/core/scientific-assurance.d.ts.map +1 -0
- package/dist/core/scientific-assurance.js +301 -0
- package/dist/core/scientific-assurance.js.map +1 -0
- package/dist/core/spectral-composition.d.ts +106 -0
- package/dist/core/spectral-composition.d.ts.map +1 -0
- package/dist/core/spectral-composition.js +334 -0
- package/dist/core/spectral-composition.js.map +1 -0
- package/dist/core/spectral.d.ts +34 -0
- package/dist/core/spectral.d.ts.map +1 -0
- package/dist/core/spectral.js +57 -0
- package/dist/core/spectral.js.map +1 -0
- package/dist/core/validation.d.ts +6 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +6 -0
- package/dist/core/validation.js.map +1 -1
- package/dist/core/version.d.ts +14 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +15 -0
- package/dist/core/version.js.map +1 -0
- package/dist/equipment/exposure-capabilities.d.ts +125 -0
- package/dist/equipment/exposure-capabilities.d.ts.map +1 -0
- package/dist/equipment/exposure-capabilities.js +391 -0
- package/dist/equipment/exposure-capabilities.js.map +1 -0
- package/dist/equipment/generic-tier-assets.d.ts +82 -0
- package/dist/equipment/generic-tier-assets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-assets.js +119 -0
- package/dist/equipment/generic-tier-assets.js.map +1 -0
- package/dist/equipment/generic-tier-presets.d.ts +57 -0
- package/dist/equipment/generic-tier-presets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-presets.js +122 -0
- package/dist/equipment/generic-tier-presets.js.map +1 -0
- package/dist/equipment/iso-capabilities.d.ts +143 -0
- package/dist/equipment/iso-capabilities.d.ts.map +1 -0
- package/dist/equipment/iso-capabilities.js +578 -0
- package/dist/equipment/iso-capabilities.js.map +1 -0
- package/dist/equipment/metering-capabilities.d.ts +58 -0
- package/dist/equipment/metering-capabilities.d.ts.map +1 -0
- package/dist/equipment/metering-capabilities.js +151 -0
- package/dist/equipment/metering-capabilities.js.map +1 -0
- package/dist/equipment/release-capabilities.d.ts +33 -0
- package/dist/equipment/release-capabilities.d.ts.map +1 -0
- package/dist/equipment/release-capabilities.js +176 -0
- package/dist/equipment/release-capabilities.js.map +1 -0
- package/dist/exposure/exposure-duration-control.d.ts +72 -0
- package/dist/exposure/exposure-duration-control.d.ts.map +1 -0
- package/dist/exposure/exposure-duration-control.js +161 -0
- package/dist/exposure/exposure-duration-control.js.map +1 -0
- package/dist/exposure/exposure-mode-resolver.d.ts +637 -0
- package/dist/exposure/exposure-mode-resolver.d.ts.map +1 -0
- package/dist/exposure/exposure-mode-resolver.js +1905 -0
- package/dist/exposure/exposure-mode-resolver.js.map +1 -0
- package/dist/exposure/exposure.d.ts +8 -0
- package/dist/exposure/exposure.d.ts.map +1 -1
- package/dist/exposure/exposure.js +8 -0
- package/dist/exposure/exposure.js.map +1 -1
- package/dist/exposure/flash.d.ts +179 -0
- package/dist/exposure/flash.d.ts.map +1 -0
- package/dist/exposure/flash.js +644 -0
- package/dist/exposure/flash.js.map +1 -0
- package/dist/exposure/metering-scene-radiance.d.ts +72 -0
- package/dist/exposure/metering-scene-radiance.d.ts.map +1 -0
- package/dist/exposure/metering-scene-radiance.js +222 -0
- package/dist/exposure/metering-scene-radiance.js.map +1 -0
- package/dist/exposure/metering-target.d.ts +67 -0
- package/dist/exposure/metering-target.d.ts.map +1 -0
- package/dist/exposure/metering-target.js +265 -0
- package/dist/exposure/metering-target.js.map +1 -0
- package/dist/exposure/metering-temporal.d.ts +76 -0
- package/dist/exposure/metering-temporal.d.ts.map +1 -0
- package/dist/exposure/metering-temporal.js +210 -0
- package/dist/exposure/metering-temporal.js.map +1 -0
- package/dist/exposure/metering.d.ts +124 -0
- package/dist/exposure/metering.d.ts.map +1 -0
- package/dist/exposure/metering.js +422 -0
- package/dist/exposure/metering.js.map +1 -0
- package/dist/exposure/program-line.d.ts +29 -0
- package/dist/exposure/program-line.d.ts.map +1 -0
- package/dist/exposure/program-line.js +126 -0
- package/dist/exposure/program-line.js.map +1 -0
- package/dist/index.d.ts +87 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -6
- package/dist/index.js.map +1 -1
- package/dist/motion/camera-rotation.d.ts +16 -0
- package/dist/motion/camera-rotation.d.ts.map +1 -1
- package/dist/motion/camera-rotation.js +16 -0
- package/dist/motion/camera-rotation.js.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.d.ts +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.js +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.js +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
- package/dist/motion/capture-rotation-trajectory.d.ts +15 -0
- package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -1
- package/dist/motion/capture-rotation-trajectory.js +15 -0
- package/dist/motion/capture-rotation-trajectory.js.map +1 -1
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +119 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +1 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js +263 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -0
- package/dist/motion/extended-object-projection.d.ts +175 -0
- package/dist/motion/extended-object-projection.d.ts.map +1 -0
- package/dist/motion/extended-object-projection.js +402 -0
- package/dist/motion/extended-object-projection.js.map +1 -0
- package/dist/motion/projected-motion.d.ts +11 -0
- package/dist/motion/projected-motion.d.ts.map +1 -1
- package/dist/motion/projected-motion.js +11 -0
- package/dist/motion/projected-motion.js.map +1 -1
- package/dist/optics/aperture.d.ts +9 -0
- package/dist/optics/aperture.d.ts.map +1 -1
- package/dist/optics/aperture.js +9 -0
- package/dist/optics/aperture.js.map +1 -1
- package/dist/optics/circle-of-confusion.d.ts +8 -0
- package/dist/optics/circle-of-confusion.d.ts.map +1 -1
- package/dist/optics/circle-of-confusion.js +8 -0
- package/dist/optics/circle-of-confusion.js.map +1 -1
- package/dist/optics/complex-pupil-psf.d.ts +128 -0
- package/dist/optics/complex-pupil-psf.d.ts.map +1 -0
- package/dist/optics/complex-pupil-psf.js +462 -0
- package/dist/optics/complex-pupil-psf.js.map +1 -0
- package/dist/optics/depth-of-field.d.ts +18 -0
- package/dist/optics/depth-of-field.d.ts.map +1 -1
- package/dist/optics/depth-of-field.js +29 -4
- package/dist/optics/depth-of-field.js.map +1 -1
- package/dist/optics/diffraction.d.ts +8 -0
- package/dist/optics/diffraction.d.ts.map +1 -1
- package/dist/optics/diffraction.js +8 -0
- package/dist/optics/diffraction.js.map +1 -1
- package/dist/optics/focus-breathing.d.ts +13 -0
- package/dist/optics/focus-breathing.d.ts.map +1 -1
- package/dist/optics/focus-breathing.js +13 -0
- package/dist/optics/focus-breathing.js.map +1 -1
- package/dist/optics/focus-state.d.ts +47 -0
- package/dist/optics/focus-state.d.ts.map +1 -0
- package/dist/optics/focus-state.js +78 -0
- package/dist/optics/focus-state.js.map +1 -0
- package/dist/optics/front-of-lens-filter.d.ts +114 -0
- package/dist/optics/front-of-lens-filter.d.ts.map +1 -0
- package/dist/optics/front-of-lens-filter.js +468 -0
- package/dist/optics/front-of-lens-filter.js.map +1 -0
- package/dist/optics/illumination-vignetting.d.ts +9 -0
- package/dist/optics/illumination-vignetting.d.ts.map +1 -1
- package/dist/optics/illumination-vignetting.js +9 -0
- package/dist/optics/illumination-vignetting.js.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.d.ts +11 -0
- package/dist/optics/lateral-chromatic-aberration.d.ts.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.js +11 -0
- package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
- package/dist/optics/lens-psf-profile.d.ts +217 -0
- package/dist/optics/lens-psf-profile.d.ts.map +1 -0
- package/dist/optics/lens-psf-profile.js +823 -0
- package/dist/optics/lens-psf-profile.js.map +1 -0
- package/dist/optics/polygon-diffraction.d.ts +67 -0
- package/dist/optics/polygon-diffraction.d.ts.map +1 -0
- package/dist/optics/polygon-diffraction.js +145 -0
- package/dist/optics/polygon-diffraction.js.map +1 -0
- package/dist/optics/profile-contract.d.ts +42 -0
- package/dist/optics/profile-contract.d.ts.map +1 -0
- package/dist/optics/profile-contract.js +92 -0
- package/dist/optics/profile-contract.js.map +1 -0
- package/dist/optics/psf-foundation.d.ts +16 -3
- package/dist/optics/psf-foundation.d.ts.map +1 -1
- package/dist/optics/psf-foundation.js +28 -15
- package/dist/optics/psf-foundation.js.map +1 -1
- package/dist/optics/radial-distortion.d.ts +18 -0
- package/dist/optics/radial-distortion.d.ts.map +1 -1
- package/dist/optics/radial-distortion.js +18 -0
- package/dist/optics/radial-distortion.js.map +1 -1
- package/dist/optics/scene-to-sensor-irradiance.d.ts +213 -0
- package/dist/optics/scene-to-sensor-irradiance.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-irradiance.js +662 -0
- package/dist/optics/scene-to-sensor-irradiance.js.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts +63 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.js +82 -0
- package/dist/optics/scene-to-sensor-quadrature.js.map +1 -0
- package/dist/optics/sensor-environment-query.d.ts +60 -0
- package/dist/optics/sensor-environment-query.d.ts.map +1 -0
- package/dist/optics/sensor-environment-query.js +50 -0
- package/dist/optics/sensor-environment-query.js.map +1 -0
- package/dist/optics/sensor-psf-quadrature.d.ts +70 -0
- package/dist/optics/sensor-psf-quadrature.d.ts.map +1 -0
- package/dist/optics/sensor-psf-quadrature.js +101 -0
- package/dist/optics/sensor-psf-quadrature.js.map +1 -0
- package/dist/optics/sensor-psf-support.d.ts +20 -0
- package/dist/optics/sensor-psf-support.d.ts.map +1 -0
- package/dist/optics/sensor-psf-support.js +13 -0
- package/dist/optics/sensor-psf-support.js.map +1 -0
- package/dist/optics/stray-light.d.ts +91 -0
- package/dist/optics/stray-light.d.ts.map +1 -0
- package/dist/optics/stray-light.js +110 -0
- package/dist/optics/stray-light.js.map +1 -0
- package/dist/optics/thin-lens.d.ts +8 -0
- package/dist/optics/thin-lens.d.ts.map +1 -1
- package/dist/optics/thin-lens.js +8 -0
- package/dist/optics/thin-lens.js.map +1 -1
- package/dist/output/capture-corrected-sdr.d.ts +49 -0
- package/dist/output/capture-corrected-sdr.d.ts.map +1 -0
- package/dist/output/capture-corrected-sdr.js +149 -0
- package/dist/output/capture-corrected-sdr.js.map +1 -0
- package/dist/output/capture-geometry.d.ts.map +1 -1
- package/dist/output/capture-geometry.js +8 -0
- package/dist/output/capture-geometry.js.map +1 -1
- package/dist/output/capture-sdr.d.ts +49 -0
- package/dist/output/capture-sdr.d.ts.map +1 -0
- package/dist/output/capture-sdr.js +90 -0
- package/dist/output/capture-sdr.js.map +1 -0
- package/dist/output/crop.d.ts +6 -0
- package/dist/output/crop.d.ts.map +1 -1
- package/dist/output/crop.js +6 -0
- package/dist/output/crop.js.map +1 -1
- package/dist/output/geometric-transforms.d.ts +137 -0
- package/dist/output/geometric-transforms.d.ts.map +1 -0
- package/dist/output/geometric-transforms.js +225 -0
- package/dist/output/geometric-transforms.js.map +1 -0
- package/dist/output/lens-corrections.d.ts +121 -0
- package/dist/output/lens-corrections.d.ts.map +1 -0
- package/dist/output/lens-corrections.js +210 -0
- package/dist/output/lens-corrections.js.map +1 -0
- package/dist/output/sdr-rendering.d.ts +81 -0
- package/dist/output/sdr-rendering.d.ts.map +1 -0
- package/dist/output/sdr-rendering.js +106 -0
- package/dist/output/sdr-rendering.js.map +1 -0
- package/dist/output/subject-framing-crop.d.ts +8 -0
- package/dist/output/subject-framing-crop.d.ts.map +1 -1
- package/dist/output/subject-framing-crop.js +8 -0
- package/dist/output/subject-framing-crop.js.map +1 -1
- package/dist/schema/camera.d.ts +6 -0
- package/dist/schema/camera.d.ts.map +1 -1
- package/dist/schema/illumination-spectral.d.ts +51 -0
- package/dist/schema/illumination-spectral.d.ts.map +1 -0
- package/dist/schema/illumination-spectral.js +132 -0
- package/dist/schema/illumination-spectral.js.map +1 -0
- package/dist/schema/illumination-temporal.d.ts +156 -0
- package/dist/schema/illumination-temporal.d.ts.map +1 -0
- package/dist/schema/illumination-temporal.js +554 -0
- package/dist/schema/illumination-temporal.js.map +1 -0
- package/dist/schema/illumination.d.ts +138 -0
- package/dist/schema/illumination.d.ts.map +1 -0
- package/dist/schema/illumination.js +483 -0
- package/dist/schema/illumination.js.map +1 -0
- package/dist/schema/scene-radiance-temporal.d.ts +107 -0
- package/dist/schema/scene-radiance-temporal.d.ts.map +1 -0
- package/dist/schema/scene-radiance-temporal.js +259 -0
- package/dist/schema/scene-radiance-temporal.js.map +1 -0
- package/dist/schema/scene-radiance.d.ts +185 -0
- package/dist/schema/scene-radiance.d.ts.map +1 -0
- package/dist/schema/scene-radiance.js +535 -0
- package/dist/schema/scene-radiance.js.map +1 -0
- package/dist/schema/scene.d.ts +7 -0
- package/dist/schema/scene.d.ts.map +1 -1
- package/dist/schema/validation.d.ts.map +1 -1
- package/dist/schema/validation.js +7 -0
- package/dist/schema/validation.js.map +1 -1
- package/dist/sensor/accumulated-charge.d.ts +199 -0
- package/dist/sensor/accumulated-charge.d.ts.map +1 -0
- package/dist/sensor/accumulated-charge.js +450 -0
- package/dist/sensor/accumulated-charge.js.map +1 -0
- package/dist/sensor/architecture.d.ts +48 -13
- package/dist/sensor/architecture.d.ts.map +1 -1
- package/dist/sensor/architecture.js +58 -16
- package/dist/sensor/architecture.js.map +1 -1
- package/dist/sensor/camera-saturation-capacity.d.ts +138 -0
- package/dist/sensor/camera-saturation-capacity.d.ts.map +1 -0
- package/dist/sensor/camera-saturation-capacity.js +356 -0
- package/dist/sensor/camera-saturation-capacity.js.map +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -1
- package/dist/sensor/capture-color-sampling-binding.js +14 -0
- package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
- package/dist/sensor/capture-mode-timing.d.ts +63 -0
- package/dist/sensor/capture-mode-timing.d.ts.map +1 -0
- package/dist/sensor/capture-mode-timing.js +270 -0
- package/dist/sensor/capture-mode-timing.js.map +1 -0
- package/dist/sensor/capture-mode.d.ts.map +1 -1
- package/dist/sensor/capture-mode.js +13 -0
- package/dist/sensor/capture-mode.js.map +1 -1
- package/dist/sensor/color-sampling.d.ts.map +1 -1
- package/dist/sensor/color-sampling.js +19 -0
- package/dist/sensor/color-sampling.js.map +1 -1
- package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
- package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
- package/dist/sensor/constant-rate-temporal-integration.js +382 -0
- package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
- package/dist/sensor/dark-current.d.ts +169 -0
- package/dist/sensor/dark-current.d.ts.map +1 -0
- package/dist/sensor/dark-current.js +427 -0
- package/dist/sensor/dark-current.js.map +1 -0
- package/dist/sensor/environment-photo-signal.d.ts +123 -0
- package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
- package/dist/sensor/environment-photo-signal.js +186 -0
- package/dist/sensor/environment-photo-signal.js.map +1 -0
- package/dist/sensor/eqe-electron-rate.d.ts +107 -0
- package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
- package/dist/sensor/eqe-electron-rate.js +561 -0
- package/dist/sensor/eqe-electron-rate.js.map +1 -0
- package/dist/sensor/eqe-local-exposure.d.ts +65 -0
- package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-local-exposure.js +84 -0
- package/dist/sensor/eqe-local-exposure.js.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.js +62 -0
- package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/exposure-window.d.ts +14 -0
- package/dist/sensor/exposure-window.d.ts.map +1 -1
- package/dist/sensor/exposure-window.js +14 -0
- package/dist/sensor/exposure-window.js.map +1 -1
- package/dist/sensor/iso-signal-chain.d.ts +148 -0
- package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
- package/dist/sensor/iso-signal-chain.js +411 -0
- package/dist/sensor/iso-signal-chain.js.map +1 -0
- package/dist/sensor/local-exposure-binding.d.ts +87 -0
- package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
- package/dist/sensor/local-exposure-binding.js +214 -0
- package/dist/sensor/local-exposure-binding.js.map +1 -0
- package/dist/sensor/optical-stack.d.ts.map +1 -1
- package/dist/sensor/optical-stack.js +17 -0
- package/dist/sensor/optical-stack.js.map +1 -1
- package/dist/sensor/photon-energy.d.ts +97 -0
- package/dist/sensor/photon-energy.d.ts.map +1 -0
- package/dist/sensor/photon-energy.js +390 -0
- package/dist/sensor/photon-energy.js.map +1 -0
- package/dist/sensor/physical-charge-capacity.d.ts +130 -0
- package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
- package/dist/sensor/physical-charge-capacity.js +345 -0
- package/dist/sensor/physical-charge-capacity.js.map +1 -0
- package/dist/sensor/pixel-pitch.d.ts +6 -0
- package/dist/sensor/pixel-pitch.d.ts.map +1 -1
- package/dist/sensor/pixel-pitch.js +6 -0
- package/dist/sensor/pixel-pitch.js.map +1 -1
- package/dist/sensor/radiometry-readiness.d.ts +10 -0
- package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
- package/dist/sensor/radiometry-readiness.js +10 -0
- package/dist/sensor/radiometry-readiness.js.map +1 -1
- package/dist/sensor/raw-readout.d.ts +314 -0
- package/dist/sensor/raw-readout.d.ts.map +1 -0
- package/dist/sensor/raw-readout.js +914 -0
- package/dist/sensor/raw-readout.js.map +1 -0
- package/dist/sensor/raw-reconstruction.d.ts +170 -0
- package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
- package/dist/sensor/raw-reconstruction.js +424 -0
- package/dist/sensor/raw-reconstruction.js.map +1 -0
- package/dist/sensor/readout-exposure-linkage.d.ts +12 -0
- package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -1
- package/dist/sensor/readout-exposure-linkage.js +12 -0
- package/dist/sensor/readout-exposure-linkage.js.map +1 -1
- package/dist/sensor/readout-timing.d.ts +13 -0
- package/dist/sensor/readout-timing.d.ts.map +1 -1
- package/dist/sensor/readout-timing.js +13 -0
- package/dist/sensor/readout-timing.js.map +1 -1
- package/dist/sensor/response-application-compatibility.d.ts +136 -0
- package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
- package/dist/sensor/response-application-compatibility.js +408 -0
- package/dist/sensor/response-application-compatibility.js.map +1 -0
- package/dist/sensor/response-operating-range.d.ts +173 -0
- package/dist/sensor/response-operating-range.d.ts.map +1 -0
- package/dist/sensor/response-operating-range.js +672 -0
- package/dist/sensor/response-operating-range.js.map +1 -0
- package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
- package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
- package/dist/sensor/responsivity-photocurrent.js +644 -0
- package/dist/sensor/responsivity-photocurrent.js.map +1 -0
- package/dist/sensor/sampling-aperture.d.ts.map +1 -1
- package/dist/sensor/sampling-aperture.js +14 -0
- package/dist/sensor/sampling-aperture.js.map +1 -1
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/sensor-geometry.d.ts +12 -0
- package/dist/sensor/sensor-geometry.d.ts.map +1 -1
- package/dist/sensor/sensor-geometry.js +12 -0
- package/dist/sensor/sensor-geometry.js.map +1 -1
- package/dist/sensor/signal-noise.d.ts +10 -0
- package/dist/sensor/signal-noise.d.ts.map +1 -1
- package/dist/sensor/signal-noise.js +10 -0
- package/dist/sensor/signal-noise.js.map +1 -1
- package/dist/sensor/spatial-sample-reduction.d.ts +44 -1
- package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -1
- package/dist/sensor/spatial-sample-reduction.js +51 -5
- package/dist/sensor/spatial-sample-reduction.js.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.d.ts +24 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.js +27 -0
- package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
- package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
- package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
- package/dist/sensor/spatio-spectral-reduction.js +373 -0
- package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
- package/dist/sensor/spectral-coverage.d.ts +24 -0
- package/dist/sensor/spectral-coverage.d.ts.map +1 -0
- package/dist/sensor/spectral-coverage.js +86 -0
- package/dist/sensor/spectral-coverage.js.map +1 -0
- package/dist/sensor/spectral-quadrature.d.ts +169 -0
- package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
- package/dist/sensor/spectral-quadrature.js +542 -0
- package/dist/sensor/spectral-quadrature.js.map +1 -0
- package/dist/sensor/spectral-response.d.ts +192 -0
- package/dist/sensor/spectral-response.d.ts.map +1 -0
- package/dist/sensor/spectral-response.js +664 -0
- package/dist/sensor/spectral-response.js.map +1 -0
- package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
- package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
- package/dist/sensor/temporal-eqe-sum.js +30 -0
- package/dist/sensor/temporal-eqe-sum.js.map +1 -0
- package/dist/sensor/temporal-photo-signal.d.ts +38 -0
- package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
- package/dist/sensor/temporal-photo-signal.js +110 -0
- package/dist/sensor/temporal-photo-signal.js.map +1 -0
- package/dist/sensor/temporal-sample-binding.d.ts +6 -0
- package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
- package/dist/sensor/temporal-sample-binding.js +32 -0
- package/dist/sensor/temporal-sample-binding.js.map +1 -0
- package/dist/simulation/poc-simulation.d.ts.map +1 -1
- package/dist/simulation/poc-simulation.js +34 -11
- package/dist/simulation/poc-simulation.js.map +1 -1
- package/dist/stabilization/camera-shake.d.ts +11 -0
- package/dist/stabilization/camera-shake.d.ts.map +1 -1
- package/dist/stabilization/camera-shake.js +11 -0
- package/dist/stabilization/camera-shake.js.map +1 -1
- package/dist/stabilization/system.d.ts +218 -0
- package/dist/stabilization/system.d.ts.map +1 -0
- package/dist/stabilization/system.js +695 -0
- package/dist/stabilization/system.js.map +1 -0
- package/docs/API_REFERENCE.md +2017 -0
- package/docs/API_STYLE.md +132 -0
- package/docs/ARCHITECTURE.md +134 -24
- package/docs/AUTOMATION_COORDINATION.md +2 -0
- package/docs/CAPTURE_COLOR.md +25 -0
- package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
- package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
- package/docs/CAPTURE_SDR.md +20 -0
- package/docs/DEVELOPERS.md +60 -0
- package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
- package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
- package/docs/EXPORT_ACCEPTANCE.md +133 -0
- package/docs/GENERIC_TIER_PRESETS.md +269 -0
- package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
- package/docs/IMAGE_FORMATION.md +80 -10
- package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
- package/docs/MOTION_AND_SIGNAL.md +5 -3
- package/docs/NUMERICAL_CORRECTNESS.md +191 -0
- package/docs/PERFORMANCE_BASELINE.md +56 -0
- package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
- package/docs/PHYSICS_FOUNDATION.md +152 -5
- package/docs/POC_API.md +2 -0
- package/docs/POC_PROJECTION_REUSE.md +124 -0
- package/docs/PROCESSED_OUTPUT.md +157 -0
- package/docs/PRODUCTION_COMPOSITION.md +373 -0
- package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
- package/docs/PROVENANCE.md +4 -0
- package/docs/PSF_FOUNDATION.md +110 -88
- package/docs/RAW_FRAME_ENVELOPE.md +56 -0
- package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
- package/docs/RELEASE_1_0.md +65 -0
- package/docs/RELEASE_AUDIT.md +38 -0
- package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
- package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
- package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
- package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
- package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
- package/docs/SDR_RENDERING.md +33 -0
- package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
- package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
- package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
- package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
- package/docs/SENSOR_RAW_FRAME.md +20 -0
- package/docs/SENSOR_RAW_PRODUCER.md +77 -0
- package/docs/SIGNAL_CONFORMANCE.md +23 -0
- package/docs/SIMULATED_CAPTURE.md +65 -0
- package/docs/STABILIZATION.md +160 -17
- package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
- package/docs/TIER_ACCEPTANCE.md +129 -0
- package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
- package/docs/USAGE.md +5050 -1047
- package/docs/V1_COMPOSITION_MAP.md +123 -0
- package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
- package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
- package/docs/api/camera-equivalent-focal-length.md +53 -0
- package/docs/api/camera-field-of-view.md +119 -0
- package/docs/api/camera-projected-object-size.md +54 -0
- package/docs/api/capture-capture-export-metadata.md +107 -0
- package/docs/api/capture-environment-raw-producer.md +56 -0
- package/docs/api/capture-focus-control.md +419 -0
- package/docs/api/capture-linear-encoding.md +99 -0
- package/docs/api/capture-photographic-export.md +172 -0
- package/docs/api/capture-raw-frame-reconstruction.md +87 -0
- package/docs/api/capture-release-sequence.md +252 -0
- package/docs/api/capture-sensor-raw-frame.md +66 -0
- package/docs/api/capture-sensor-raw-producer.md +98 -0
- package/docs/api/capture-simulated-capture.md +179 -0
- package/docs/api/color-capture-color.md +122 -0
- package/docs/api/color-white-balance.md +386 -0
- package/docs/api/composition-image-formation-plan.md +825 -0
- package/docs/api/composition-plan-consumer.md +98 -0
- package/docs/api/core-calculation-result.md +220 -0
- package/docs/api/core-configuration-error.md +19 -0
- package/docs/api/core-image-formation.md +204 -0
- package/docs/api/core-scientific-assurance.md +214 -0
- package/docs/api/core-spectral-composition.md +268 -0
- package/docs/api/core-spectral.md +78 -0
- package/docs/api/core-validation.md +34 -0
- package/docs/api/core-version.md +14 -0
- package/docs/api/equipment-exposure-capabilities.md +270 -0
- package/docs/api/equipment-generic-tier-assets.md +82 -0
- package/docs/api/equipment-generic-tier-presets.md +103 -0
- package/docs/api/equipment-iso-capabilities.md +295 -0
- package/docs/api/equipment-metering-capabilities.md +126 -0
- package/docs/api/equipment-release-capabilities.md +91 -0
- package/docs/api/exports.json +5656 -0
- package/docs/api/exposure-exposure-duration-control.md +115 -0
- package/docs/api/exposure-exposure-mode-resolver.md +966 -0
- package/docs/api/exposure-exposure.md +150 -0
- package/docs/api/exposure-flash.md +327 -0
- package/docs/api/exposure-metering-scene-radiance.md +154 -0
- package/docs/api/exposure-metering-target.md +134 -0
- package/docs/api/exposure-metering-temporal.md +77 -0
- package/docs/api/exposure-metering.md +172 -0
- package/docs/api/exposure-program-line.md +64 -0
- package/docs/api/motion-camera-rotation.md +215 -0
- package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
- package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
- package/docs/api/motion-capture-rotation-trajectory.md +132 -0
- package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
- package/docs/api/motion-extended-object-projection.md +312 -0
- package/docs/api/motion-projected-motion.md +60 -0
- package/docs/api/optics-aperture.md +69 -0
- package/docs/api/optics-circle-of-confusion.md +46 -0
- package/docs/api/optics-complex-pupil-psf.md +193 -0
- package/docs/api/optics-depth-of-field.md +92 -0
- package/docs/api/optics-diffraction.md +46 -0
- package/docs/api/optics-focus-breathing.md +119 -0
- package/docs/api/optics-focus-state.md +64 -0
- package/docs/api/optics-front-of-lens-filter.md +263 -0
- package/docs/api/optics-illumination-vignetting.md +95 -0
- package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
- package/docs/api/optics-lens-psf-profile.md +380 -0
- package/docs/api/optics-polygon-diffraction.md +68 -0
- package/docs/api/optics-profile-contract.md +47 -0
- package/docs/api/optics-psf-foundation.md +181 -0
- package/docs/api/optics-radial-distortion.md +194 -0
- package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
- package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
- package/docs/api/optics-sensor-environment-query.md +58 -0
- package/docs/api/optics-sensor-psf-quadrature.md +81 -0
- package/docs/api/optics-stray-light.md +109 -0
- package/docs/api/optics-thin-lens.md +53 -0
- package/docs/api/output-capture-corrected-sdr.md +71 -0
- package/docs/api/output-capture-geometry.md +500 -0
- package/docs/api/output-capture-sdr.md +69 -0
- package/docs/api/output-crop.md +47 -0
- package/docs/api/output-geometric-transforms.md +199 -0
- package/docs/api/output-lens-corrections.md +162 -0
- package/docs/api/output-sdr-rendering.md +122 -0
- package/docs/api/output-subject-framing-crop.md +59 -0
- package/docs/api/schema-camera.md +84 -0
- package/docs/api/schema-illumination-spectral.md +77 -0
- package/docs/api/schema-illumination-temporal.md +289 -0
- package/docs/api/schema-illumination.md +246 -0
- package/docs/api/schema-scene-radiance-temporal.md +215 -0
- package/docs/api/schema-scene-radiance.md +415 -0
- package/docs/api/schema-scene.md +105 -0
- package/docs/api/schema-validation.md +25 -0
- package/docs/api/sensor-accumulated-charge.md +273 -0
- package/docs/api/sensor-architecture.md +155 -0
- package/docs/api/sensor-camera-saturation-capacity.md +215 -0
- package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
- package/docs/api/sensor-capture-mode-timing.md +123 -0
- package/docs/api/sensor-capture-mode.md +321 -0
- package/docs/api/sensor-color-sampling.md +228 -0
- package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
- package/docs/api/sensor-dark-current.md +227 -0
- package/docs/api/sensor-environment-photo-signal.md +77 -0
- package/docs/api/sensor-eqe-electron-rate.md +166 -0
- package/docs/api/sensor-eqe-local-exposure.md +68 -0
- package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
- package/docs/api/sensor-exposure-window.md +183 -0
- package/docs/api/sensor-iso-signal-chain.md +264 -0
- package/docs/api/sensor-local-exposure-binding.md +126 -0
- package/docs/api/sensor-optical-stack.md +211 -0
- package/docs/api/sensor-photon-energy.md +149 -0
- package/docs/api/sensor-physical-charge-capacity.md +196 -0
- package/docs/api/sensor-pixel-pitch.md +41 -0
- package/docs/api/sensor-radiometry-readiness.md +240 -0
- package/docs/api/sensor-raw-readout.md +499 -0
- package/docs/api/sensor-raw-reconstruction.md +260 -0
- package/docs/api/sensor-readout-exposure-linkage.md +172 -0
- package/docs/api/sensor-readout-timing.md +209 -0
- package/docs/api/sensor-response-application-compatibility.md +256 -0
- package/docs/api/sensor-response-operating-range.md +293 -0
- package/docs/api/sensor-responsivity-photocurrent.md +245 -0
- package/docs/api/sensor-sampling-aperture.md +221 -0
- package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
- package/docs/api/sensor-sensor-geometry.md +143 -0
- package/docs/api/sensor-signal-noise.md +75 -0
- package/docs/api/sensor-spatial-sample-reduction.md +186 -0
- package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
- package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
- package/docs/api/sensor-spectral-coverage.md +33 -0
- package/docs/api/sensor-spectral-quadrature.md +183 -0
- package/docs/api/sensor-spectral-response.md +291 -0
- package/docs/api/sensor-temporal-photo-signal.md +62 -0
- package/docs/api/simulation-poc-simulation.md +364 -0
- package/docs/api/stabilization-camera-shake.md +71 -0
- package/docs/api/stabilization-system.md +442 -0
- package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
- package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
- package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
- package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
- package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
- package/docs/examples/production-capture.mjs +34 -0
- package/docs/examples/production-request.json +4613 -0
- package/docs/examples/quick-start.mjs +12 -0
- package/docs/validation/documentation-fragments.json +212 -0
- package/docs/validation/release-audit-inventory.json +1306 -0
- package/docs/validation/tier-acceptance-report-v1.json +2538 -0
- package/package.json +15 -3
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# sensor/capture-mode.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
|
+
## CaptureModeAcquisition
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export type CaptureModeAcquisition =
|
|
11
|
+
| SingleFrameCaptureAcquisition
|
|
12
|
+
| FixedMultiFrameCaptureAcquisition
|
|
13
|
+
| VariableMultiFrameCaptureAcquisition;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## CaptureModeDefinition
|
|
17
|
+
|
|
18
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
export interface CaptureModeDefinition {
|
|
22
|
+
modeId: string;
|
|
23
|
+
/**
|
|
24
|
+
* Evidence supporting the existence/overall acquisition behavior of this
|
|
25
|
+
* mode. Field-level facts below retain their own evidence when needed.
|
|
26
|
+
*/
|
|
27
|
+
evidence: readonly EvidenceProvenance[];
|
|
28
|
+
acquisition: CaptureModeAcquisition;
|
|
29
|
+
perFrameSampling: CaptureModePerFrameSampling;
|
|
30
|
+
/**
|
|
31
|
+
* Optional ordered sensor-displacement sequence for fixed multi-frame modes.
|
|
32
|
+
* The whole sequence is one evidence-backed fact because published mode
|
|
33
|
+
* documentation commonly describes the sequence as a unit.
|
|
34
|
+
*/
|
|
35
|
+
interFrameSensorOffsetsNativeSamples?: SourcedCaptureModeFact<
|
|
36
|
+
readonly CaptureModeSensorOffsetNativeSamples[]
|
|
37
|
+
>;
|
|
38
|
+
/**
|
|
39
|
+
* Ordered reconstruction/combination stages owned by later reconstruction
|
|
40
|
+
* work. These labels reserve semantics; they do not implement algorithms.
|
|
41
|
+
*/
|
|
42
|
+
reconstructionStages?: readonly SourcedCaptureModeFact<CaptureModeReconstructionStage>[];
|
|
43
|
+
/**
|
|
44
|
+
* Image raster produced by the capture-mode/reconstruction pipeline before
|
|
45
|
+
* final output crop/resampling.
|
|
46
|
+
*
|
|
47
|
+
* This raster does not redefine physical sensor geometry or field of view.
|
|
48
|
+
*/
|
|
49
|
+
processedImageRaster: SourcedCaptureModeFact<RasterDimensions>;
|
|
50
|
+
/**
|
|
51
|
+
* Explicit downstream scientific/model dependencies for this mode.
|
|
52
|
+
*/
|
|
53
|
+
dependencies?: readonly CaptureModeDependency[];
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## CaptureModeDependency
|
|
58
|
+
|
|
59
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
export type CaptureModeDependency =
|
|
63
|
+
| "color-sampling-model"
|
|
64
|
+
| "mode-specific-readout-timing"
|
|
65
|
+
| "radiometric-calibration"
|
|
66
|
+
| "inter-frame-registration";
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## CaptureModePerFrameSampling
|
|
70
|
+
|
|
71
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
export type CaptureModePerFrameSampling =
|
|
75
|
+
| NativeEffectiveCaptureSampling
|
|
76
|
+
| GroupedNativeCaptureSampling
|
|
77
|
+
| DeclaredEffectiveCaptureSampling;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## CaptureModeProfile
|
|
81
|
+
|
|
82
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
export interface CaptureModeProfile {
|
|
86
|
+
schemaVersion: "0.1.0";
|
|
87
|
+
modes: readonly CaptureModeDefinition[];
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## CaptureModeReconstructionStage
|
|
92
|
+
|
|
93
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
export type CaptureModeReconstructionStage =
|
|
97
|
+
| "remosaic"
|
|
98
|
+
| "pixel-shift-combination"
|
|
99
|
+
| "multi-frame-computational-combination";
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## CaptureModeSampleCombinationDomain
|
|
103
|
+
|
|
104
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
export type CaptureModeSampleCombinationDomain =
|
|
108
|
+
| "charge-domain"
|
|
109
|
+
| "pre-conversion-analog"
|
|
110
|
+
| "post-conversion-digital";
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## CaptureModeSensorOffsetNativeSamples
|
|
114
|
+
|
|
115
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
export interface CaptureModeSensorOffsetNativeSamples {
|
|
119
|
+
/**
|
|
120
|
+
* Horizontal sensor displacement in units of the native effective sampling
|
|
121
|
+
* pitch. This is not a claim about physical photodiode pitch.
|
|
122
|
+
*/
|
|
123
|
+
x: number;
|
|
124
|
+
/**
|
|
125
|
+
* Vertical sensor displacement in units of the native effective sampling
|
|
126
|
+
* pitch. This is not a claim about physical photodiode pitch.
|
|
127
|
+
*/
|
|
128
|
+
y: number;
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## DeclaredEffectiveCaptureSampling
|
|
133
|
+
|
|
134
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
export interface DeclaredEffectiveCaptureSampling {
|
|
138
|
+
kind: "declared-effective-raster";
|
|
139
|
+
/**
|
|
140
|
+
* Per-frame effective sampling raster for a mode whose sampling relationship
|
|
141
|
+
* to the native grid is not safely expressible as simple integer grouping.
|
|
142
|
+
*/
|
|
143
|
+
raster: SourcedCaptureModeFact<RasterDimensions>;
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## FixedMultiFrameCaptureAcquisition
|
|
148
|
+
|
|
149
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
export interface FixedMultiFrameCaptureAcquisition {
|
|
153
|
+
kind: "fixed-multi-frame";
|
|
154
|
+
frameCount: SourcedCaptureModeFact<number>;
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## GroupedNativeCaptureSampling
|
|
159
|
+
|
|
160
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
161
|
+
|
|
162
|
+
```ts
|
|
163
|
+
export interface GroupedNativeCaptureSampling {
|
|
164
|
+
kind: "grouped-native-samples";
|
|
165
|
+
groupWidthSamples: SourcedCaptureModeFact<number>;
|
|
166
|
+
groupHeightSamples: SourcedCaptureModeFact<number>;
|
|
167
|
+
/**
|
|
168
|
+
* Omitted means unknown/unasserted. Do not infer where combination occurs
|
|
169
|
+
* from the word "binning" or from the raster ratio.
|
|
170
|
+
*/
|
|
171
|
+
combinationDomain?: SourcedCaptureModeFact<CaptureModeSampleCombinationDomain>;
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## NativeEffectiveCaptureSampling
|
|
176
|
+
|
|
177
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
export interface NativeEffectiveCaptureSampling {
|
|
181
|
+
kind: "native-effective-raster";
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## parseCaptureModeProfile
|
|
186
|
+
|
|
187
|
+
Parses a capture-mode profile without inferring sensor physics from output
|
|
188
|
+
resolution or marketing mode names.
|
|
189
|
+
|
|
190
|
+
The profile is intentionally orthogonal: acquisition frame sequence,
|
|
191
|
+
per-frame sampling, optional inter-frame sensor shift, reconstruction stages,
|
|
192
|
+
processed raster and downstream dependencies are independent axes.
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
export function parseCaptureModeProfile(
|
|
196
|
+
value: unknown
|
|
197
|
+
): CaptureModeProfile;
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
201
|
+
|
|
202
|
+
## resolveCaptureMode
|
|
203
|
+
|
|
204
|
+
Resolves one capture mode against the selected sensor's native effective
|
|
205
|
+
image-sampling raster.
|
|
206
|
+
|
|
207
|
+
Resolution changes do not mutate physical sensor geometry. The returned
|
|
208
|
+
processed raster is pre-output geometry and must not be used to infer crop
|
|
209
|
+
factor, field of view or physical photosite count.
|
|
210
|
+
|
|
211
|
+
```ts
|
|
212
|
+
export function resolveCaptureMode(
|
|
213
|
+
input: ResolveCaptureModeInput
|
|
214
|
+
): ResolvedCaptureMode;
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
218
|
+
|
|
219
|
+
## ResolveCaptureModeInput
|
|
220
|
+
|
|
221
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
222
|
+
|
|
223
|
+
```ts
|
|
224
|
+
export interface ResolveCaptureModeInput {
|
|
225
|
+
nativeRaster: NativeImageRaster;
|
|
226
|
+
profile: CaptureModeProfile;
|
|
227
|
+
modeId: string;
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## ResolvedCaptureMode
|
|
232
|
+
|
|
233
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
234
|
+
|
|
235
|
+
```ts
|
|
236
|
+
export interface ResolvedCaptureMode {
|
|
237
|
+
modeId: string;
|
|
238
|
+
modeEvidence: readonly EvidenceProvenance[];
|
|
239
|
+
nativeRaster: NativeImageRaster;
|
|
240
|
+
nativeRasterSemantic:
|
|
241
|
+
"effective-image-sampling-grid-not-photosite-count";
|
|
242
|
+
acquisition:
|
|
243
|
+
| {
|
|
244
|
+
kind: "single-frame";
|
|
245
|
+
frameCount: 1;
|
|
246
|
+
}
|
|
247
|
+
| {
|
|
248
|
+
kind: "fixed-multi-frame";
|
|
249
|
+
frameCount: SourcedCaptureModeFact<number>;
|
|
250
|
+
}
|
|
251
|
+
| {
|
|
252
|
+
kind: "variable-multi-frame";
|
|
253
|
+
evidence: readonly EvidenceProvenance[];
|
|
254
|
+
minimumFrameCount?: SourcedCaptureModeFact<number>;
|
|
255
|
+
maximumFrameCount?: SourcedCaptureModeFact<number>;
|
|
256
|
+
};
|
|
257
|
+
perFrameSampling:
|
|
258
|
+
| {
|
|
259
|
+
kind: "native-effective-raster";
|
|
260
|
+
raster: NativeImageRaster;
|
|
261
|
+
}
|
|
262
|
+
| {
|
|
263
|
+
kind: "grouped-native-samples";
|
|
264
|
+
raster: RasterDimensions;
|
|
265
|
+
groupWidthSamples: SourcedCaptureModeFact<number>;
|
|
266
|
+
groupHeightSamples: SourcedCaptureModeFact<number>;
|
|
267
|
+
combinationDomain?: SourcedCaptureModeFact<CaptureModeSampleCombinationDomain>;
|
|
268
|
+
}
|
|
269
|
+
| {
|
|
270
|
+
kind: "declared-effective-raster";
|
|
271
|
+
raster: SourcedCaptureModeFact<RasterDimensions>;
|
|
272
|
+
};
|
|
273
|
+
interFrameSensorOffsetsNativeSamples?: SourcedCaptureModeFact<
|
|
274
|
+
readonly CaptureModeSensorOffsetNativeSamples[]
|
|
275
|
+
>;
|
|
276
|
+
reconstructionStages: readonly SourcedCaptureModeFact<CaptureModeReconstructionStage>[];
|
|
277
|
+
processedImageRaster: SourcedCaptureModeFact<RasterDimensions>;
|
|
278
|
+
processedImageMegapixels: number;
|
|
279
|
+
dependencies: readonly CaptureModeDependency[];
|
|
280
|
+
physicalSensorGeometryMutation: false;
|
|
281
|
+
photositeCountInference:
|
|
282
|
+
"not-permitted-from-native-or-processed-raster";
|
|
283
|
+
finalOutputRasterOwnership:
|
|
284
|
+
"downstream-capture-output-geometry";
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## SingleFrameCaptureAcquisition
|
|
289
|
+
|
|
290
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
291
|
+
|
|
292
|
+
```ts
|
|
293
|
+
export interface SingleFrameCaptureAcquisition {
|
|
294
|
+
kind: "single-frame";
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## SourcedCaptureModeFact
|
|
299
|
+
|
|
300
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
301
|
+
|
|
302
|
+
```ts
|
|
303
|
+
export type SourcedCaptureModeFact<T> = EvidenceBackedFact<T>;
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## VariableMultiFrameCaptureAcquisition
|
|
307
|
+
|
|
308
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
309
|
+
|
|
310
|
+
```ts
|
|
311
|
+
export interface VariableMultiFrameCaptureAcquisition {
|
|
312
|
+
kind: "variable-multi-frame";
|
|
313
|
+
/**
|
|
314
|
+
* Evidence that the mode is variable/multi-frame, even when exact count
|
|
315
|
+
* bounds are not published.
|
|
316
|
+
*/
|
|
317
|
+
evidence: readonly EvidenceProvenance[];
|
|
318
|
+
minimumFrameCount?: SourcedCaptureModeFact<number>;
|
|
319
|
+
maximumFrameCount?: SourcedCaptureModeFact<number>;
|
|
320
|
+
}
|
|
321
|
+
```
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# sensor/color-sampling.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
|
+
## LayeredColorSamplingLayout
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface LayeredColorSamplingLayout {
|
|
11
|
+
kind: "layered";
|
|
12
|
+
/**
|
|
13
|
+
* Semantic layer/channel identifiers only. They do not define spectral
|
|
14
|
+
* response, depth ordering, spatial sampling density, or registration.
|
|
15
|
+
*/
|
|
16
|
+
layerChannelIds: readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* The first layered representation is deliberately structural only because
|
|
19
|
+
* real layered sensors may use unequal per-layer spatial sampling.
|
|
20
|
+
*/
|
|
21
|
+
spatialSamplingRelationship: "not-resolved";
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## MonochromeColorSamplingLayout
|
|
26
|
+
|
|
27
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
export interface MonochromeColorSamplingLayout {
|
|
31
|
+
kind: "monochrome";
|
|
32
|
+
/**
|
|
33
|
+
* Semantic measurement-channel identifier only. It is not a spectral
|
|
34
|
+
* response curve, wavelength, colorimetric primary, or calibration.
|
|
35
|
+
*/
|
|
36
|
+
channelId: string;
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## NativeColorSamplingSiteCoordinateSystem
|
|
41
|
+
|
|
42
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
export type NativeColorSamplingSiteCoordinateSystem =
|
|
46
|
+
"native-sensor-color-sampling-site-index";
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## NativeColorSamplingSiteIndex
|
|
50
|
+
|
|
51
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
export interface NativeColorSamplingSiteIndex {
|
|
55
|
+
/**
|
|
56
|
+
* Zero-based integer site index from the native sensor's left edge.
|
|
57
|
+
*
|
|
58
|
+
* This is an abstract color-sampling-site lattice index. It is not a
|
|
59
|
+
* NativeImageRaster coordinate and does not assert one site = one physical
|
|
60
|
+
* photodiode.
|
|
61
|
+
*/
|
|
62
|
+
x: number;
|
|
63
|
+
/**
|
|
64
|
+
* Zero-based integer site index from the native sensor's top edge.
|
|
65
|
+
*
|
|
66
|
+
* +Y points downward in native sensor-facing coordinates.
|
|
67
|
+
*/
|
|
68
|
+
y: number;
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## parseSensorColorSamplingProfile
|
|
73
|
+
|
|
74
|
+
Parses an exact color-sampling topology declaration without binding it to
|
|
75
|
+
NativeImageRaster, physical photodiodes, spectral response, or a
|
|
76
|
+
manufacturer-specific family enum.
|
|
77
|
+
|
|
78
|
+
Periodic mosaics use an abstract native sensor color-sampling-site lattice
|
|
79
|
+
with zero-based integer indices, top-left origin, +X right and +Y down.
|
|
80
|
+
The repeat phase is anchored to the sensor lattice, so later active crops or
|
|
81
|
+
orientation transforms must preserve the original native site indices.
|
|
82
|
+
|
|
83
|
+
Layered layouts are structural-only in this first contract because real
|
|
84
|
+
layered sensors may use unequal spatial sampling density/registration across
|
|
85
|
+
layers. No per-site layered resolver is exposed until that relationship is
|
|
86
|
+
modeled explicitly.
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
export function parseSensorColorSamplingProfile(
|
|
90
|
+
value: unknown
|
|
91
|
+
): SensorColorSamplingProfile;
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
95
|
+
|
|
96
|
+
## PeriodicMosaicColorSamplingLayout
|
|
97
|
+
|
|
98
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
export interface PeriodicMosaicColorSamplingLayout {
|
|
102
|
+
kind: "periodic-mosaic";
|
|
103
|
+
/**
|
|
104
|
+
* Number of color-sampling sites in one horizontal repeat period.
|
|
105
|
+
*/
|
|
106
|
+
repeatWidthSites: number;
|
|
107
|
+
/**
|
|
108
|
+
* Number of color-sampling sites in one vertical repeat period.
|
|
109
|
+
*/
|
|
110
|
+
repeatHeightSites: number;
|
|
111
|
+
/**
|
|
112
|
+
* Row-major semantic channel IDs for one repeating tile.
|
|
113
|
+
*
|
|
114
|
+
* Length must equal repeatWidthSites × repeatHeightSites.
|
|
115
|
+
*/
|
|
116
|
+
siteChannelIds: readonly string[];
|
|
117
|
+
/**
|
|
118
|
+
* The repeat tile is anchored at native sensor sampling-site index (0, 0).
|
|
119
|
+
*
|
|
120
|
+
* Active crops and physical orientation must not silently reset this phase.
|
|
121
|
+
*/
|
|
122
|
+
anchor: "native-sensor-top-left-site";
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## resolveColorSamplingSite
|
|
127
|
+
|
|
128
|
+
Resolves the semantic measurement-channel assignment at one abstract native
|
|
129
|
+
sensor color-sampling-site index for monochrome or periodic-mosaic layouts.
|
|
130
|
+
|
|
131
|
+
This API intentionally has no NativeImageRaster input. A later explicit
|
|
132
|
+
binding must establish how a selected capture mode's effective raster maps
|
|
133
|
+
to this color-sampling-site lattice before RAW/CFA sampling can be simulated.
|
|
134
|
+
|
|
135
|
+
Layered layouts fail closed because their per-layer spatial relationship is
|
|
136
|
+
not resolved by the first structural contract.
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
export function resolveColorSamplingSite(
|
|
140
|
+
input: ResolveColorSamplingSiteInput
|
|
141
|
+
): ResolvedColorSamplingSite;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
145
|
+
|
|
146
|
+
## ResolveColorSamplingSiteInput
|
|
147
|
+
|
|
148
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
export interface ResolveColorSamplingSiteInput {
|
|
152
|
+
profile: SensorColorSamplingProfile;
|
|
153
|
+
site: NativeColorSamplingSiteIndex;
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## ResolvedColorSamplingSite
|
|
158
|
+
|
|
159
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
export interface ResolvedColorSamplingSite {
|
|
163
|
+
profileId: string;
|
|
164
|
+
coordinateSystem: NativeColorSamplingSiteCoordinateSystem;
|
|
165
|
+
site: NativeColorSamplingSiteIndex;
|
|
166
|
+
mapping:
|
|
167
|
+
| {
|
|
168
|
+
kind: "monochrome";
|
|
169
|
+
channelId: string;
|
|
170
|
+
}
|
|
171
|
+
| {
|
|
172
|
+
kind: "periodic-mosaic";
|
|
173
|
+
channelId: string;
|
|
174
|
+
repeatCoordinate: {
|
|
175
|
+
x: number;
|
|
176
|
+
y: number;
|
|
177
|
+
};
|
|
178
|
+
repeatWidthSites: number;
|
|
179
|
+
repeatHeightSites: number;
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Explicit scientific boundaries for downstream consumers.
|
|
183
|
+
*/
|
|
184
|
+
spectralResponseEstablished: false;
|
|
185
|
+
nativeImageRasterBindingEstablished: false;
|
|
186
|
+
physicalPhotodiodeBindingEstablished: false;
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## SensorColorSamplingLayout
|
|
191
|
+
|
|
192
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
export type SensorColorSamplingLayout =
|
|
196
|
+
| MonochromeColorSamplingLayout
|
|
197
|
+
| PeriodicMosaicColorSamplingLayout
|
|
198
|
+
| LayeredColorSamplingLayout;
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## SensorColorSamplingProfile
|
|
202
|
+
|
|
203
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
export interface SensorColorSamplingProfile {
|
|
207
|
+
schemaVersion: "0.1.0";
|
|
208
|
+
profileId: string;
|
|
209
|
+
/**
|
|
210
|
+
* Evidence supporting this exact topology declaration.
|
|
211
|
+
*
|
|
212
|
+
* Descriptive architecture-family metadata remains a separate contract.
|
|
213
|
+
*/
|
|
214
|
+
evidence: readonly EvidenceProvenance[];
|
|
215
|
+
coordinateSystem: SensorColorSamplingProfileCoordinateSystem;
|
|
216
|
+
layout: SensorColorSamplingLayout;
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## SensorColorSamplingProfileCoordinateSystem
|
|
221
|
+
|
|
222
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
export type SensorColorSamplingProfileCoordinateSystem =
|
|
226
|
+
| NativeColorSamplingSiteCoordinateSystem
|
|
227
|
+
| "native-sensor-layered-spatial-relationship-not-resolved";
|
|
228
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# sensor/constant-rate-temporal-integration.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
|
+
## IntegrateStationarySensorRateInput
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface IntegrateStationarySensorRateInput {
|
|
11
|
+
rate:
|
|
12
|
+
SensorInstantaneousRateResult;
|
|
13
|
+
exposureBinding:
|
|
14
|
+
SensorRateLocalExposureBinding;
|
|
15
|
+
stationarityProfile:
|
|
16
|
+
SensorRateTemporalStationarityProfile;
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## integrateStationarySensorRateOverLocalExposure
|
|
21
|
+
|
|
22
|
+
Integrates one explicitly stationary response-rate result over its exact
|
|
23
|
+
bound local exposure window.
|
|
24
|
+
|
|
25
|
+
This function is intentionally limited to the constant-rate approximation.
|
|
26
|
+
It does not sample or integrate a time-varying signal.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export function integrateStationarySensorRateOverLocalExposure(
|
|
30
|
+
input:
|
|
31
|
+
IntegrateStationarySensorRateInput
|
|
32
|
+
): CalculationResult<SensorStationaryRateExposureIntegration>;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
36
|
+
|
|
37
|
+
## parseSensorRateTemporalStationarityProfile
|
|
38
|
+
|
|
39
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
40
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
41
|
+
|
|
42
|
+
Rate times duration is allowed only by explicit stationarity bound to the exact site and local
|
|
43
|
+
shutter interval. EQE integrates to expected photons/electrons; A/W integrates current magnitude to
|
|
44
|
+
coulombs without an implicit carrier mapping. Counts remain fractional expectations before
|
|
45
|
+
stochastic sampling.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export function parseSensorRateTemporalStationarityProfile(
|
|
49
|
+
value: unknown
|
|
50
|
+
): SensorRateTemporalStationarityProfile;
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
54
|
+
|
|
55
|
+
## SensorEqeExposureIntegration
|
|
56
|
+
|
|
57
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
export interface SensorEqeExposureIntegration
|
|
61
|
+
extends SensorTemporalIntegrationCommon {
|
|
62
|
+
kind: "eqe-expected-counts";
|
|
63
|
+
incidentPhotonRatePerSecond: number;
|
|
64
|
+
expectedGeneratedElectronRatePerSecond:
|
|
65
|
+
number;
|
|
66
|
+
expectedIncidentPhotonCount: number;
|
|
67
|
+
expectedGeneratedElectronCount:
|
|
68
|
+
number;
|
|
69
|
+
countsAreExpectationValues: true;
|
|
70
|
+
integerPhotonCountSampled: false;
|
|
71
|
+
integerElectronCountSampled: false;
|
|
72
|
+
chargeCalculated: false;
|
|
73
|
+
currentCalculated: false;
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## SensorRateStationarityStatus
|
|
78
|
+
|
|
79
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
export type SensorRateStationarityStatus =
|
|
83
|
+
| "established"
|
|
84
|
+
| "approximation";
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## SensorRateTemporalStationarityProfile
|
|
88
|
+
|
|
89
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
export interface SensorRateTemporalStationarityProfile {
|
|
93
|
+
schemaVersion: "0.1.0";
|
|
94
|
+
profileId: string;
|
|
95
|
+
rateDomain:
|
|
96
|
+
SensorRateLocalExposureBinding["rateDomain"];
|
|
97
|
+
colorSamplingProfileId: string;
|
|
98
|
+
channelId: string;
|
|
99
|
+
site: {
|
|
100
|
+
x: number;
|
|
101
|
+
y: number;
|
|
102
|
+
};
|
|
103
|
+
bindingId: string;
|
|
104
|
+
localExposureWindow: {
|
|
105
|
+
timeReference:
|
|
106
|
+
"first-opening-boundary-phase";
|
|
107
|
+
startOffsetSecondsFromOpeningReference:
|
|
108
|
+
number;
|
|
109
|
+
endOffsetSecondsFromOpeningReference:
|
|
110
|
+
number;
|
|
111
|
+
};
|
|
112
|
+
stationarityMeaning:
|
|
113
|
+
"reported-rate-constant-through-bound-local-exposure";
|
|
114
|
+
status:
|
|
115
|
+
SensorRateStationarityStatus;
|
|
116
|
+
evidence: readonly EvidenceProvenance[];
|
|
117
|
+
limitation?: string;
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## SensorResponsivityExposureIntegration
|
|
122
|
+
|
|
123
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
export interface SensorResponsivityExposureIntegration
|
|
127
|
+
extends SensorTemporalIntegrationCommon {
|
|
128
|
+
kind:
|
|
129
|
+
"responsivity-photocurrent-charge";
|
|
130
|
+
photocurrentMagnitudeAmperes: number;
|
|
131
|
+
photochargeMagnitudeCoulombs:
|
|
132
|
+
number;
|
|
133
|
+
currentSignConvention:
|
|
134
|
+
"magnitude-only-no-circuit-polarity";
|
|
135
|
+
chargeSignConvention:
|
|
136
|
+
"magnitude-only-no-carrier-or-circuit-polarity";
|
|
137
|
+
carrierCountInferred: false;
|
|
138
|
+
electronCountCalculated: false;
|
|
139
|
+
photonCountCalculated: false;
|
|
140
|
+
detectorBandwidthModeled: false;
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## SensorStationaryRateExposureIntegration
|
|
145
|
+
|
|
146
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
export type SensorStationaryRateExposureIntegration =
|
|
150
|
+
| SensorEqeExposureIntegration
|
|
151
|
+
| SensorResponsivityExposureIntegration;
|
|
152
|
+
```
|