@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,312 @@
|
|
|
1
|
+
# motion/extended-object-projection.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
|
+
## calculateCaptureExtendedObjectTemporalProjection
|
|
6
|
+
|
|
7
|
+
Evaluates extended-object projection at deterministic midpoint nodes inside
|
|
8
|
+
each point's authoritative #12 local exposure window.
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
export function calculateCaptureExtendedObjectTemporalProjection(
|
|
12
|
+
input:
|
|
13
|
+
CalculateCaptureExtendedObjectTemporalProjectionInput
|
|
14
|
+
): CalculationResult<CaptureExtendedObjectTemporalProjection>;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
18
|
+
|
|
19
|
+
## CalculateCaptureExtendedObjectTemporalProjectionInput
|
|
20
|
+
|
|
21
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
export interface CalculateCaptureExtendedObjectTemporalProjectionInput {
|
|
25
|
+
objectId: string;
|
|
26
|
+
timing:
|
|
27
|
+
ResolvedCaptureModeTiming;
|
|
28
|
+
focalLengthMm: number;
|
|
29
|
+
focusDistanceM?: number;
|
|
30
|
+
objectTranslationVelocityMps:
|
|
31
|
+
Vector3;
|
|
32
|
+
cameraTranslationVelocityMps:
|
|
33
|
+
Vector3;
|
|
34
|
+
temporalSampleCount: number;
|
|
35
|
+
points:
|
|
36
|
+
readonly CaptureExtendedObjectMetricPoint[];
|
|
37
|
+
frontoparallelPlane?:
|
|
38
|
+
ExtendedObjectFrontoparallelPlaneDeclaration;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## calculateExtendedObjectProjectionTrajectory
|
|
43
|
+
|
|
44
|
+
Evaluates multiple explicit metric points on one rigidly translating object
|
|
45
|
+
at deterministic physical times.
|
|
46
|
+
|
|
47
|
+
This is geometry only. It does not synthesize a blur kernel, visibility,
|
|
48
|
+
radiance integration, deformation, camera rotation or a universal scale.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
export function calculateExtendedObjectProjectionTrajectory(
|
|
52
|
+
input:
|
|
53
|
+
CalculateExtendedObjectProjectionTrajectoryInput
|
|
54
|
+
): CalculationResult<ExtendedObjectProjectionTrajectory>;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
58
|
+
|
|
59
|
+
## CalculateExtendedObjectProjectionTrajectoryInput
|
|
60
|
+
|
|
61
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
export interface CalculateExtendedObjectProjectionTrajectoryInput {
|
|
65
|
+
objectId: string;
|
|
66
|
+
focalLengthMm: number;
|
|
67
|
+
focusDistanceM?: number;
|
|
68
|
+
objectTranslationVelocityMps:
|
|
69
|
+
Vector3;
|
|
70
|
+
cameraTranslationVelocityMps:
|
|
71
|
+
Vector3;
|
|
72
|
+
sampleTimesSecondsFromReference:
|
|
73
|
+
readonly number[];
|
|
74
|
+
points:
|
|
75
|
+
readonly ExtendedObjectMetricPoint[];
|
|
76
|
+
frontoparallelPlane?:
|
|
77
|
+
ExtendedObjectFrontoparallelPlaneDeclaration;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## CaptureExtendedObjectMetricPoint
|
|
82
|
+
|
|
83
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
export interface CaptureExtendedObjectMetricPoint
|
|
87
|
+
extends ExtendedObjectMetricPoint {
|
|
88
|
+
/**
|
|
89
|
+
* Native destination point selecting the authoritative #12 local exposure
|
|
90
|
+
* window for this object point.
|
|
91
|
+
*/
|
|
92
|
+
destinationPointNative:
|
|
93
|
+
RasterPoint;
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## CaptureExtendedObjectPointTrajectory
|
|
98
|
+
|
|
99
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
export interface CaptureExtendedObjectPointTrajectory {
|
|
103
|
+
pointId: string;
|
|
104
|
+
destinationPointNative:
|
|
105
|
+
RasterPoint;
|
|
106
|
+
referencePositionCameraM:
|
|
107
|
+
Vector3;
|
|
108
|
+
referenceImagePointMm: {
|
|
109
|
+
x: number;
|
|
110
|
+
y: number;
|
|
111
|
+
};
|
|
112
|
+
localExposureWindow: {
|
|
113
|
+
startSecondsFromCaptureReference:
|
|
114
|
+
number;
|
|
115
|
+
endSecondsFromCaptureReference:
|
|
116
|
+
number;
|
|
117
|
+
durationSeconds: number;
|
|
118
|
+
};
|
|
119
|
+
nodes:
|
|
120
|
+
readonly CaptureExtendedObjectTemporalNode[];
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## CaptureExtendedObjectTemporalNode
|
|
125
|
+
|
|
126
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
export interface CaptureExtendedObjectTemporalNode
|
|
130
|
+
extends ExtendedObjectProjectionNode {
|
|
131
|
+
localExposurePhase: number;
|
|
132
|
+
normalizedTimeWeight: number;
|
|
133
|
+
timeMeasureSeconds: number;
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## CaptureExtendedObjectTemporalProjection
|
|
138
|
+
|
|
139
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
export interface CaptureExtendedObjectTemporalProjection {
|
|
143
|
+
objectId: string;
|
|
144
|
+
timeReference:
|
|
145
|
+
"first-opening-boundary-phase";
|
|
146
|
+
timingProfileIdentity: {
|
|
147
|
+
profileId: string;
|
|
148
|
+
profileVersion: string;
|
|
149
|
+
captureModeId: string;
|
|
150
|
+
};
|
|
151
|
+
projectionDistanceMm: number;
|
|
152
|
+
temporalSampleCount: number;
|
|
153
|
+
objectTranslationVelocityMps:
|
|
154
|
+
Vector3;
|
|
155
|
+
cameraTranslationVelocityMps:
|
|
156
|
+
Vector3;
|
|
157
|
+
relativeTranslationVelocityMps:
|
|
158
|
+
Vector3;
|
|
159
|
+
rigidTranslationOnly: true;
|
|
160
|
+
pointTrajectories:
|
|
161
|
+
readonly CaptureExtendedObjectPointTrajectory[];
|
|
162
|
+
planarMagnificationDiagnosticAvailable:
|
|
163
|
+
boolean;
|
|
164
|
+
metricSceneDepthRequired: true;
|
|
165
|
+
oneGlobalHomographyAuthorized:
|
|
166
|
+
false;
|
|
167
|
+
oneGlobalScaleAuthorizedForArbitrary3dGeometry:
|
|
168
|
+
false;
|
|
169
|
+
cameraRotationComposed: false;
|
|
170
|
+
visibilityOcclusionModeled: false;
|
|
171
|
+
deformationModeled: false;
|
|
172
|
+
accelerationModeled: false;
|
|
173
|
+
blurKernelCalculated: false;
|
|
174
|
+
radianceIntegrated: false;
|
|
175
|
+
sensorReadoutTimingUsedAsExposureTiming:
|
|
176
|
+
false;
|
|
177
|
+
timeVaryingDefocusMayBeRequired:
|
|
178
|
+
boolean;
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## ExtendedObjectFrontoparallelPlaneDeclaration
|
|
183
|
+
|
|
184
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
export interface ExtendedObjectFrontoparallelPlaneDeclaration {
|
|
188
|
+
kind: "fronto-parallel-planar-patch";
|
|
189
|
+
referenceDepthM: number;
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## ExtendedObjectMetricPoint
|
|
194
|
+
|
|
195
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
export interface ExtendedObjectMetricPoint {
|
|
199
|
+
pointId: string;
|
|
200
|
+
/**
|
|
201
|
+
* Metric camera-space point at the common reference phase.
|
|
202
|
+
*
|
|
203
|
+
* +X right, +Y up, +Z forward/away from the camera.
|
|
204
|
+
*/
|
|
205
|
+
positionCameraM: Vector3;
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## ExtendedObjectPlanarMagnificationDiagnostic
|
|
210
|
+
|
|
211
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
export interface ExtendedObjectPlanarMagnificationDiagnostic {
|
|
215
|
+
geometry:
|
|
216
|
+
"declared-fronto-parallel-planar-patch";
|
|
217
|
+
referenceDepthM: number;
|
|
218
|
+
uniformScaleAuthorizedWithinDeclaredPatch:
|
|
219
|
+
true;
|
|
220
|
+
scaleByTime:
|
|
221
|
+
readonly {
|
|
222
|
+
sampleIndex: number;
|
|
223
|
+
timeSecondsFromReference:
|
|
224
|
+
number;
|
|
225
|
+
scaleFromReference: number;
|
|
226
|
+
}[];
|
|
227
|
+
lateralRigidTranslationDoesNotChangePatchScale:
|
|
228
|
+
true;
|
|
229
|
+
notAuthorizedForArbitrary3dGeometry:
|
|
230
|
+
true;
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## ExtendedObjectPointProjectionTrajectory
|
|
235
|
+
|
|
236
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
export interface ExtendedObjectPointProjectionTrajectory {
|
|
240
|
+
pointId: string;
|
|
241
|
+
referencePositionCameraM:
|
|
242
|
+
Vector3;
|
|
243
|
+
referenceImagePointMm: {
|
|
244
|
+
x: number;
|
|
245
|
+
y: number;
|
|
246
|
+
};
|
|
247
|
+
nodes:
|
|
248
|
+
readonly ExtendedObjectProjectionNode[];
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## ExtendedObjectProjectionNode
|
|
253
|
+
|
|
254
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
255
|
+
|
|
256
|
+
```ts
|
|
257
|
+
export interface ExtendedObjectProjectionNode {
|
|
258
|
+
sampleIndex: number;
|
|
259
|
+
timeSecondsFromReference: number;
|
|
260
|
+
relativePositionCameraM:
|
|
261
|
+
Vector3;
|
|
262
|
+
mappedImagePointMm: {
|
|
263
|
+
x: number;
|
|
264
|
+
y: number;
|
|
265
|
+
};
|
|
266
|
+
deltaFromReferenceImagePlaneMm: {
|
|
267
|
+
x: number;
|
|
268
|
+
y: number;
|
|
269
|
+
distance: number;
|
|
270
|
+
};
|
|
271
|
+
depthM: number;
|
|
272
|
+
planarMagnificationScaleFromReference:
|
|
273
|
+
number | null;
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## ExtendedObjectProjectionTrajectory
|
|
278
|
+
|
|
279
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
280
|
+
|
|
281
|
+
```ts
|
|
282
|
+
export interface ExtendedObjectProjectionTrajectory {
|
|
283
|
+
objectId: string;
|
|
284
|
+
timeReference:
|
|
285
|
+
"caller-declared-common-reference-phase";
|
|
286
|
+
projectionDistanceMm: number;
|
|
287
|
+
objectTranslationVelocityMps:
|
|
288
|
+
Vector3;
|
|
289
|
+
cameraTranslationVelocityMps:
|
|
290
|
+
Vector3;
|
|
291
|
+
relativeTranslationVelocityMps:
|
|
292
|
+
Vector3;
|
|
293
|
+
rigidTranslationOnly: true;
|
|
294
|
+
pointTrajectories:
|
|
295
|
+
readonly ExtendedObjectPointProjectionTrajectory[];
|
|
296
|
+
planarMagnificationDiagnostic:
|
|
297
|
+
ExtendedObjectPlanarMagnificationDiagnostic | null;
|
|
298
|
+
metricSceneDepthRequired: true;
|
|
299
|
+
oneGlobalHomographyAuthorized:
|
|
300
|
+
false;
|
|
301
|
+
oneGlobalScaleAuthorizedForArbitrary3dGeometry:
|
|
302
|
+
false;
|
|
303
|
+
cameraRotationComposed: false;
|
|
304
|
+
visibilityOcclusionModeled: false;
|
|
305
|
+
deformationModeled: false;
|
|
306
|
+
accelerationModeled: false;
|
|
307
|
+
blurKernelCalculated: false;
|
|
308
|
+
radianceIntegrated: false;
|
|
309
|
+
timeVaryingDefocusMayBeRequired:
|
|
310
|
+
boolean;
|
|
311
|
+
}
|
|
312
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# motion/projected-motion.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
|
+
## calculateProjectedMotionBlur
|
|
6
|
+
|
|
7
|
+
Calculates sensor-plane motion during an exposure using ideal rectilinear
|
|
8
|
+
projection and constant linear object velocity.
|
|
9
|
+
|
|
10
|
+
Without focusDistanceM, nominal focal length is the backwards-compatible
|
|
11
|
+
pinhole projection distance. With focusDistanceM, the selected thin-lens
|
|
12
|
+
sensor-plane image distance is used.
|
|
13
|
+
|
|
14
|
+
The calculation projects the object's shutter-open and shutter-close
|
|
15
|
+
positions onto the image plane and measures the displacement between them.
|
|
16
|
+
It therefore handles lateral and depth-direction motion without relying on a
|
|
17
|
+
generic "subject speed" category.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
export function calculateProjectedMotionBlur(
|
|
21
|
+
input: CalculateProjectedMotionBlurInput
|
|
22
|
+
): CalculationResult<ProjectedMotionBlur>;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
26
|
+
|
|
27
|
+
## CalculateProjectedMotionBlurInput
|
|
28
|
+
|
|
29
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
export interface CalculateProjectedMotionBlurInput {
|
|
33
|
+
/** Lens focal length in millimetres. */
|
|
34
|
+
focalLengthMm: number;
|
|
35
|
+
/** Shutter-open duration in seconds. */
|
|
36
|
+
shutterSeconds: number;
|
|
37
|
+
/** Object position at shutter open, in camera-relative metres. +z is away from the camera. */
|
|
38
|
+
positionM: Vector3;
|
|
39
|
+
/** Constant world-space velocity during the exposure, in metres per second. */
|
|
40
|
+
velocityMps: Vector3;
|
|
41
|
+
/** Optional focus distance in metres for focus-aware sensor-plane projection. */
|
|
42
|
+
focusDistanceM?: number;
|
|
43
|
+
/** Optional sensor pixel pitch in micrometres for pixel-domain blur reporting. */
|
|
44
|
+
pixelPitchMicrometers?: number;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## ProjectedMotionBlur
|
|
49
|
+
|
|
50
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
export interface ProjectedMotionBlur {
|
|
54
|
+
deltaXMm: number;
|
|
55
|
+
deltaYMm: number;
|
|
56
|
+
distanceMm: number;
|
|
57
|
+
projectionDistanceMm: number;
|
|
58
|
+
distancePixels?: number;
|
|
59
|
+
}
|
|
60
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# optics/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
|
+
## ApertureVertex
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface ApertureVertex {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## calculateIdealApertureGeometry
|
|
17
|
+
|
|
18
|
+
Calculates ideal regular-polygon aperture geometry and the corresponding
|
|
19
|
+
straight-edge diffraction-ray directions.
|
|
20
|
+
|
|
21
|
+
This models only geometry/symmetry. It does not calculate diffraction
|
|
22
|
+
intensity, wavelength-dependent star length, blade curvature, lens
|
|
23
|
+
aberrations, coatings, or sensor blooming.
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
export function calculateIdealApertureGeometry(
|
|
27
|
+
input: CalculateIdealApertureInput
|
|
28
|
+
): CalculationResult<IdealApertureGeometry>;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
32
|
+
|
|
33
|
+
## CalculateIdealApertureInput
|
|
34
|
+
|
|
35
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
export interface CalculateIdealApertureInput {
|
|
39
|
+
/** Number of straight diaphragm blades/sides. Must be from 3 through 1024. */
|
|
40
|
+
bladeCount: number;
|
|
41
|
+
/**
|
|
42
|
+
* Rotation of the first blade edge in degrees, measured counter-clockwise
|
|
43
|
+
* in image coordinates before the diffraction-normal offset is applied.
|
|
44
|
+
*/
|
|
45
|
+
firstBladeEdgeAngleDegrees?: number;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## IdealApertureGeometry
|
|
50
|
+
|
|
51
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
export interface IdealApertureGeometry {
|
|
55
|
+
bladeCount: number;
|
|
56
|
+
/** Number of diffraction ray directions for the ideal straight-edged polygon. */
|
|
57
|
+
sunstarRayCount: number;
|
|
58
|
+
/**
|
|
59
|
+
* Diffraction-ray directions in degrees, normalized to [0, 360).
|
|
60
|
+
*
|
|
61
|
+
* Each ray is perpendicular to a blade edge. Parallel opposite edges overlap
|
|
62
|
+
* for even blade counts; odd blade counts therefore produce twice as many
|
|
63
|
+
* visible ray directions.
|
|
64
|
+
*/
|
|
65
|
+
sunstarRayAnglesDegrees: readonly number[];
|
|
66
|
+
/** Unit-circumradius regular-polygon vertices. */
|
|
67
|
+
normalizedVertices: readonly ApertureVertex[];
|
|
68
|
+
}
|
|
69
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# optics/circle-of-confusion.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
|
+
## EquivalentViewingCircleOfConfusion
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface EquivalentViewingCircleOfConfusion {
|
|
11
|
+
circleOfConfusionMm: number;
|
|
12
|
+
sensorDiagonalMm: number;
|
|
13
|
+
referenceSensorDiagonalMm: number;
|
|
14
|
+
scaleFactor: number;
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## estimateEquivalentViewingCircleOfConfusion
|
|
19
|
+
|
|
20
|
+
Estimates a circle-of-confusion criterion for equivalent final viewing by
|
|
21
|
+
scaling a caller-supplied reference criterion in proportion to sensor
|
|
22
|
+
diagonal.
|
|
23
|
+
|
|
24
|
+
This is a viewing/acceptability convention, not a physical blur threshold.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
export function estimateEquivalentViewingCircleOfConfusion(
|
|
28
|
+
input: EstimateEquivalentViewingCircleOfConfusionInput
|
|
29
|
+
): CalculationResult<EquivalentViewingCircleOfConfusion>;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
33
|
+
|
|
34
|
+
## EstimateEquivalentViewingCircleOfConfusionInput
|
|
35
|
+
|
|
36
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
export interface EstimateEquivalentViewingCircleOfConfusionInput {
|
|
40
|
+
sensorWidthMm: number;
|
|
41
|
+
sensorHeightMm: number;
|
|
42
|
+
referenceSensorWidthMm: number;
|
|
43
|
+
referenceSensorHeightMm: number;
|
|
44
|
+
referenceCircleOfConfusionMm: number;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# optics/complex-pupil-psf.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
|
+
## calculateLensComplexPupilPsf
|
|
6
|
+
|
|
7
|
+
Evaluate a declared complex pupil with explicit amplitude/phase and sampling support; normalize PSF
|
|
8
|
+
shape and retain pupil throughput as a separate quantity.
|
|
9
|
+
|
|
10
|
+
Complex pupil evaluation sums declared amplitude and phase on a bounded regular pupil grid. PSF
|
|
11
|
+
shape is normalized separately from pupil throughput; coherent phase, pupil energy and
|
|
12
|
+
spectral/field applicability cannot be replaced by a scalar blur radius. Numeric profiles require
|
|
13
|
+
owned or reusable-data provenance.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
export function calculateLensComplexPupilPsf(
|
|
17
|
+
input:
|
|
18
|
+
CalculateLensComplexPupilPsfInput
|
|
19
|
+
): CalculationResult<LensComplexPupilPsf>;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
23
|
+
|
|
24
|
+
## CalculateLensComplexPupilPsfInput
|
|
25
|
+
|
|
26
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export interface CalculateLensComplexPupilPsfInput {
|
|
30
|
+
profile:
|
|
31
|
+
LensComplexPupilProfile;
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## LENS_COMPLEX_PUPIL_PROFILE_SCHEMA_VERSION
|
|
36
|
+
|
|
37
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
LENS_COMPLEX_PUPIL_PROFILE_SCHEMA_VERSION =
|
|
41
|
+
"0.1.0" as const
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## LensComplexPupilGrid
|
|
45
|
+
|
|
46
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
export interface LensComplexPupilGrid {
|
|
50
|
+
widthSamples: number;
|
|
51
|
+
heightSamples: number;
|
|
52
|
+
pupilSamplePitchMmX: number;
|
|
53
|
+
pupilSamplePitchMmY: number;
|
|
54
|
+
centerSampleX: number;
|
|
55
|
+
centerSampleY: number;
|
|
56
|
+
relativeAmplitude:
|
|
57
|
+
readonly number[];
|
|
58
|
+
opticalPathDifferenceMicrometers:
|
|
59
|
+
readonly number[];
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## LensComplexPupilProfile
|
|
64
|
+
|
|
65
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
export interface LensComplexPupilProfile {
|
|
69
|
+
schemaVersion:
|
|
70
|
+
typeof LENS_COMPLEX_PUPIL_PROFILE_SCHEMA_VERSION;
|
|
71
|
+
profileId: string;
|
|
72
|
+
profileVersion: string;
|
|
73
|
+
scientificStatus:
|
|
74
|
+
LensPsfScientificStatus;
|
|
75
|
+
opticalDomain:
|
|
76
|
+
"lens-primary-optical-path-only";
|
|
77
|
+
representation:
|
|
78
|
+
"complex-pupil-amplitude-plus-opd";
|
|
79
|
+
pupilCoordinateSystem:
|
|
80
|
+
"pupil-plane-metric-aligned-to-image-plane";
|
|
81
|
+
imageFieldAxes:
|
|
82
|
+
"+X right, +Y up";
|
|
83
|
+
amplitudeMeaning:
|
|
84
|
+
"relative-complex-pupil-amplitude-shape";
|
|
85
|
+
wavefrontMeaning:
|
|
86
|
+
"optical-path-difference-micrometers";
|
|
87
|
+
throughputOwnership:
|
|
88
|
+
"separate-relative-pupil-throughput-factor";
|
|
89
|
+
kernelEnergyNormalization:
|
|
90
|
+
"unit-energy-shape";
|
|
91
|
+
propagationModel:
|
|
92
|
+
"scalar-fraunhofer-discrete-reference";
|
|
93
|
+
context: {
|
|
94
|
+
focalLengthMm: number;
|
|
95
|
+
focus: FocusPlane;
|
|
96
|
+
apertureFNumber: number;
|
|
97
|
+
fieldPointMm: {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
};
|
|
101
|
+
wavelengthNm: number;
|
|
102
|
+
signedDefocusImagePlaneMicrometers:
|
|
103
|
+
number;
|
|
104
|
+
};
|
|
105
|
+
responseIncludes: {
|
|
106
|
+
diffraction: true;
|
|
107
|
+
aberration: boolean;
|
|
108
|
+
defocus: boolean;
|
|
109
|
+
pupilClippingShape:
|
|
110
|
+
boolean;
|
|
111
|
+
};
|
|
112
|
+
relativePupilThroughputFactor:
|
|
113
|
+
number;
|
|
114
|
+
grid: LensComplexPupilGrid;
|
|
115
|
+
sensorOpticalStackIncluded:
|
|
116
|
+
false;
|
|
117
|
+
sensorSamplingIncluded:
|
|
118
|
+
false;
|
|
119
|
+
reconstructionIncluded:
|
|
120
|
+
false;
|
|
121
|
+
strayLightIncluded: false;
|
|
122
|
+
evidence:
|
|
123
|
+
readonly EvidenceProvenance[];
|
|
124
|
+
uncertainty:
|
|
125
|
+
LensPsfUncertainty;
|
|
126
|
+
limitations: readonly string[];
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## LensComplexPupilPsf
|
|
131
|
+
|
|
132
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
export interface LensComplexPupilPsf {
|
|
136
|
+
profileId: string;
|
|
137
|
+
profileVersion: string;
|
|
138
|
+
scientificStatus:
|
|
139
|
+
LensPsfScientificStatus;
|
|
140
|
+
context:
|
|
141
|
+
LensComplexPupilProfile["context"];
|
|
142
|
+
kernel: LensPsfKernel;
|
|
143
|
+
relativePupilThroughputFactor:
|
|
144
|
+
number;
|
|
145
|
+
throughputOwnership:
|
|
146
|
+
"separate-relative-pupil-throughput-factor";
|
|
147
|
+
diffractionAndAberrationJointlyEvaluated:
|
|
148
|
+
true;
|
|
149
|
+
pupilClippingShapeIncluded:
|
|
150
|
+
boolean;
|
|
151
|
+
pupilClippingThroughputAppliedToKernel:
|
|
152
|
+
false;
|
|
153
|
+
scalarFraunhoferReference:
|
|
154
|
+
true;
|
|
155
|
+
full2dOrientationPreserved:
|
|
156
|
+
true;
|
|
157
|
+
geometricDistortionModified:
|
|
158
|
+
false;
|
|
159
|
+
lateralChromaticPositionShiftApplied:
|
|
160
|
+
false;
|
|
161
|
+
sensorOpticalStackIncluded:
|
|
162
|
+
false;
|
|
163
|
+
sensorSamplingIncluded: false;
|
|
164
|
+
reconstructionIncluded: false;
|
|
165
|
+
strayLightIncluded: false;
|
|
166
|
+
scalarSharpnessScoreProduced:
|
|
167
|
+
false;
|
|
168
|
+
componentEvidence: {
|
|
169
|
+
pupilProfile:
|
|
170
|
+
readonly EvidenceProvenance[];
|
|
171
|
+
};
|
|
172
|
+
uncertainty:
|
|
173
|
+
LensPsfUncertainty;
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## parseLensComplexPupilProfile
|
|
178
|
+
|
|
179
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
180
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
181
|
+
|
|
182
|
+
Complex pupil evaluation sums declared amplitude and phase on a bounded regular pupil grid. PSF
|
|
183
|
+
shape is normalized separately from pupil throughput; coherent phase, pupil energy and
|
|
184
|
+
spectral/field applicability cannot be replaced by a scalar blur radius. Numeric profiles require
|
|
185
|
+
owned or reusable-data provenance.
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
export function parseLensComplexPupilProfile(
|
|
189
|
+
value: unknown
|
|
190
|
+
): LensComplexPupilProfile;
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|