@photivra/engine 0.6.0 → 1.0.1

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.
Files changed (750) hide show
  1. package/AGENTS.md +674 -0
  2. package/CHANGELOG.md +191 -0
  3. package/CITATION.cff +1 -1
  4. package/CONTRIBUTING.md +76 -0
  5. package/DCO +33 -0
  6. package/NODE_SUPPORT.md +37 -0
  7. package/NOTICE +2 -0
  8. package/README.md +139 -72
  9. package/SECURITY.md +55 -0
  10. package/THIRD_PARTY.md +63 -0
  11. package/dist/camera/equivalent-focal-length.d.ts +9 -0
  12. package/dist/camera/equivalent-focal-length.d.ts.map +1 -1
  13. package/dist/camera/equivalent-focal-length.js +9 -0
  14. package/dist/camera/equivalent-focal-length.js.map +1 -1
  15. package/dist/camera/field-of-view.d.ts +13 -0
  16. package/dist/camera/field-of-view.d.ts.map +1 -1
  17. package/dist/camera/field-of-view.js +13 -0
  18. package/dist/camera/field-of-view.js.map +1 -1
  19. package/dist/camera/projected-object-size.d.ts +8 -0
  20. package/dist/camera/projected-object-size.d.ts.map +1 -1
  21. package/dist/camera/projected-object-size.js +8 -0
  22. package/dist/camera/projected-object-size.js.map +1 -1
  23. package/dist/capture/capture-export-metadata.d.ts +60 -0
  24. package/dist/capture/capture-export-metadata.d.ts.map +1 -0
  25. package/dist/capture/capture-export-metadata.js +62 -0
  26. package/dist/capture/capture-export-metadata.js.map +1 -0
  27. package/dist/capture/environment-raw-producer.d.ts +55 -0
  28. package/dist/capture/environment-raw-producer.d.ts.map +1 -0
  29. package/dist/capture/environment-raw-producer.js +88 -0
  30. package/dist/capture/environment-raw-producer.js.map +1 -0
  31. package/dist/capture/export-jpeg.d.ts +12 -0
  32. package/dist/capture/export-jpeg.d.ts.map +1 -0
  33. package/dist/capture/export-jpeg.js +126 -0
  34. package/dist/capture/export-jpeg.js.map +1 -0
  35. package/dist/capture/export-tiff.d.ts +45 -0
  36. package/dist/capture/export-tiff.d.ts.map +1 -0
  37. package/dist/capture/export-tiff.js +129 -0
  38. package/dist/capture/export-tiff.js.map +1 -0
  39. package/dist/capture/focus-control.d.ts +210 -0
  40. package/dist/capture/focus-control.d.ts.map +1 -0
  41. package/dist/capture/focus-control.js +664 -0
  42. package/dist/capture/focus-control.js.map +1 -0
  43. package/dist/capture/linear-encoding.d.ts +59 -0
  44. package/dist/capture/linear-encoding.d.ts.map +1 -0
  45. package/dist/capture/linear-encoding.js +98 -0
  46. package/dist/capture/linear-encoding.js.map +1 -0
  47. package/dist/capture/photographic-export.d.ts +135 -0
  48. package/dist/capture/photographic-export.d.ts.map +1 -0
  49. package/dist/capture/photographic-export.js +273 -0
  50. package/dist/capture/photographic-export.js.map +1 -0
  51. package/dist/capture/raw-frame-limits.d.ts +12 -0
  52. package/dist/capture/raw-frame-limits.d.ts.map +1 -0
  53. package/dist/capture/raw-frame-limits.js +13 -0
  54. package/dist/capture/raw-frame-limits.js.map +1 -0
  55. package/dist/capture/raw-frame-reconstruction.d.ts +48 -0
  56. package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -0
  57. package/dist/capture/raw-frame-reconstruction.js +146 -0
  58. package/dist/capture/raw-frame-reconstruction.js.map +1 -0
  59. package/dist/capture/release-sequence.d.ts +120 -0
  60. package/dist/capture/release-sequence.d.ts.map +1 -0
  61. package/dist/capture/release-sequence.js +446 -0
  62. package/dist/capture/release-sequence.js.map +1 -0
  63. package/dist/capture/sensor-raw-frame.d.ts +34 -0
  64. package/dist/capture/sensor-raw-frame.d.ts.map +1 -0
  65. package/dist/capture/sensor-raw-frame.js +106 -0
  66. package/dist/capture/sensor-raw-frame.js.map +1 -0
  67. package/dist/capture/sensor-raw-producer.d.ts +51 -0
  68. package/dist/capture/sensor-raw-producer.d.ts.map +1 -0
  69. package/dist/capture/sensor-raw-producer.js +235 -0
  70. package/dist/capture/sensor-raw-producer.js.map +1 -0
  71. package/dist/capture/simulated-capture.d.ts +125 -0
  72. package/dist/capture/simulated-capture.d.ts.map +1 -0
  73. package/dist/capture/simulated-capture.js +248 -0
  74. package/dist/capture/simulated-capture.js.map +1 -0
  75. package/dist/color/capture-color.d.ts +73 -0
  76. package/dist/color/capture-color.d.ts.map +1 -0
  77. package/dist/color/capture-color.js +145 -0
  78. package/dist/color/capture-color.js.map +1 -0
  79. package/dist/color/sensor-color-development.d.ts +23 -0
  80. package/dist/color/sensor-color-development.d.ts.map +1 -0
  81. package/dist/color/sensor-color-development.js +56 -0
  82. package/dist/color/sensor-color-development.js.map +1 -0
  83. package/dist/color/white-balance.d.ts +175 -0
  84. package/dist/color/white-balance.d.ts.map +1 -0
  85. package/dist/color/white-balance.js +606 -0
  86. package/dist/color/white-balance.js.map +1 -0
  87. package/dist/composition/image-formation-plan.d.ts +481 -0
  88. package/dist/composition/image-formation-plan.d.ts.map +1 -0
  89. package/dist/composition/image-formation-plan.js +2499 -0
  90. package/dist/composition/image-formation-plan.js.map +1 -0
  91. package/dist/composition/plan-consumer.d.ts +53 -0
  92. package/dist/composition/plan-consumer.d.ts.map +1 -0
  93. package/dist/composition/plan-consumer.js +119 -0
  94. package/dist/composition/plan-consumer.js.map +1 -0
  95. package/dist/core/calculation-result.d.ts.map +1 -1
  96. package/dist/core/calculation-result.js +6 -0
  97. package/dist/core/calculation-result.js.map +1 -1
  98. package/dist/core/canonical-json.d.ts +18 -0
  99. package/dist/core/canonical-json.d.ts.map +1 -0
  100. package/dist/core/canonical-json.js +44 -0
  101. package/dist/core/canonical-json.js.map +1 -0
  102. package/dist/core/configuration-error.d.ts +6 -0
  103. package/dist/core/configuration-error.d.ts.map +1 -1
  104. package/dist/core/configuration-error.js +6 -0
  105. package/dist/core/configuration-error.js.map +1 -1
  106. package/dist/core/evidence-provenance.d.ts +6 -0
  107. package/dist/core/evidence-provenance.d.ts.map +1 -1
  108. package/dist/core/evidence-provenance.js +7 -0
  109. package/dist/core/evidence-provenance.js.map +1 -1
  110. package/dist/core/image-formation.d.ts +9 -3
  111. package/dist/core/image-formation.d.ts.map +1 -1
  112. package/dist/core/image-formation.js +29 -5
  113. package/dist/core/image-formation.js.map +1 -1
  114. package/dist/core/owned-data.d.ts +25 -0
  115. package/dist/core/owned-data.d.ts.map +1 -0
  116. package/dist/core/owned-data.js +34 -0
  117. package/dist/core/owned-data.js.map +1 -0
  118. package/dist/core/record-validation.d.ts +17 -0
  119. package/dist/core/record-validation.d.ts.map +1 -0
  120. package/dist/core/record-validation.js +44 -0
  121. package/dist/core/record-validation.js.map +1 -0
  122. package/dist/core/scientific-assurance.d.ts +101 -0
  123. package/dist/core/scientific-assurance.d.ts.map +1 -0
  124. package/dist/core/scientific-assurance.js +301 -0
  125. package/dist/core/scientific-assurance.js.map +1 -0
  126. package/dist/core/spectral-composition.d.ts +106 -0
  127. package/dist/core/spectral-composition.d.ts.map +1 -0
  128. package/dist/core/spectral-composition.js +334 -0
  129. package/dist/core/spectral-composition.js.map +1 -0
  130. package/dist/core/spectral.d.ts +34 -0
  131. package/dist/core/spectral.d.ts.map +1 -0
  132. package/dist/core/spectral.js +57 -0
  133. package/dist/core/spectral.js.map +1 -0
  134. package/dist/core/validation.d.ts +6 -0
  135. package/dist/core/validation.d.ts.map +1 -1
  136. package/dist/core/validation.js +6 -0
  137. package/dist/core/validation.js.map +1 -1
  138. package/dist/core/version.d.ts +9 -0
  139. package/dist/core/version.d.ts.map +1 -0
  140. package/dist/core/version.js +10 -0
  141. package/dist/core/version.js.map +1 -0
  142. package/dist/equipment/exposure-capabilities.d.ts +125 -0
  143. package/dist/equipment/exposure-capabilities.d.ts.map +1 -0
  144. package/dist/equipment/exposure-capabilities.js +391 -0
  145. package/dist/equipment/exposure-capabilities.js.map +1 -0
  146. package/dist/equipment/generic-tier-assets.d.ts +82 -0
  147. package/dist/equipment/generic-tier-assets.d.ts.map +1 -0
  148. package/dist/equipment/generic-tier-assets.js +119 -0
  149. package/dist/equipment/generic-tier-assets.js.map +1 -0
  150. package/dist/equipment/generic-tier-presets.d.ts +57 -0
  151. package/dist/equipment/generic-tier-presets.d.ts.map +1 -0
  152. package/dist/equipment/generic-tier-presets.js +122 -0
  153. package/dist/equipment/generic-tier-presets.js.map +1 -0
  154. package/dist/equipment/iso-capabilities.d.ts +143 -0
  155. package/dist/equipment/iso-capabilities.d.ts.map +1 -0
  156. package/dist/equipment/iso-capabilities.js +578 -0
  157. package/dist/equipment/iso-capabilities.js.map +1 -0
  158. package/dist/equipment/metering-capabilities.d.ts +58 -0
  159. package/dist/equipment/metering-capabilities.d.ts.map +1 -0
  160. package/dist/equipment/metering-capabilities.js +151 -0
  161. package/dist/equipment/metering-capabilities.js.map +1 -0
  162. package/dist/equipment/release-capabilities.d.ts +33 -0
  163. package/dist/equipment/release-capabilities.d.ts.map +1 -0
  164. package/dist/equipment/release-capabilities.js +176 -0
  165. package/dist/equipment/release-capabilities.js.map +1 -0
  166. package/dist/exposure/exposure-duration-control.d.ts +72 -0
  167. package/dist/exposure/exposure-duration-control.d.ts.map +1 -0
  168. package/dist/exposure/exposure-duration-control.js +161 -0
  169. package/dist/exposure/exposure-duration-control.js.map +1 -0
  170. package/dist/exposure/exposure-mode-resolver.d.ts +637 -0
  171. package/dist/exposure/exposure-mode-resolver.d.ts.map +1 -0
  172. package/dist/exposure/exposure-mode-resolver.js +1905 -0
  173. package/dist/exposure/exposure-mode-resolver.js.map +1 -0
  174. package/dist/exposure/exposure.d.ts +8 -0
  175. package/dist/exposure/exposure.d.ts.map +1 -1
  176. package/dist/exposure/exposure.js +8 -0
  177. package/dist/exposure/exposure.js.map +1 -1
  178. package/dist/exposure/flash.d.ts +179 -0
  179. package/dist/exposure/flash.d.ts.map +1 -0
  180. package/dist/exposure/flash.js +644 -0
  181. package/dist/exposure/flash.js.map +1 -0
  182. package/dist/exposure/metering-scene-radiance.d.ts +72 -0
  183. package/dist/exposure/metering-scene-radiance.d.ts.map +1 -0
  184. package/dist/exposure/metering-scene-radiance.js +222 -0
  185. package/dist/exposure/metering-scene-radiance.js.map +1 -0
  186. package/dist/exposure/metering-target.d.ts +67 -0
  187. package/dist/exposure/metering-target.d.ts.map +1 -0
  188. package/dist/exposure/metering-target.js +265 -0
  189. package/dist/exposure/metering-target.js.map +1 -0
  190. package/dist/exposure/metering-temporal.d.ts +76 -0
  191. package/dist/exposure/metering-temporal.d.ts.map +1 -0
  192. package/dist/exposure/metering-temporal.js +210 -0
  193. package/dist/exposure/metering-temporal.js.map +1 -0
  194. package/dist/exposure/metering.d.ts +124 -0
  195. package/dist/exposure/metering.d.ts.map +1 -0
  196. package/dist/exposure/metering.js +422 -0
  197. package/dist/exposure/metering.js.map +1 -0
  198. package/dist/exposure/program-line.d.ts +29 -0
  199. package/dist/exposure/program-line.d.ts.map +1 -0
  200. package/dist/exposure/program-line.js +126 -0
  201. package/dist/exposure/program-line.js.map +1 -0
  202. package/dist/index.d.ts +87 -6
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +85 -6
  205. package/dist/index.js.map +1 -1
  206. package/dist/motion/camera-rotation.d.ts +16 -0
  207. package/dist/motion/camera-rotation.d.ts.map +1 -1
  208. package/dist/motion/camera-rotation.js +16 -0
  209. package/dist/motion/camera-rotation.js.map +1 -1
  210. package/dist/motion/capture-rotation-inverse-mapping.d.ts +13 -0
  211. package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -1
  212. package/dist/motion/capture-rotation-inverse-mapping.js +13 -0
  213. package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
  214. package/dist/motion/capture-rotation-temporal-quadrature.d.ts +15 -0
  215. package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -1
  216. package/dist/motion/capture-rotation-temporal-quadrature.js +15 -0
  217. package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
  218. package/dist/motion/capture-rotation-trajectory.d.ts +15 -0
  219. package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -1
  220. package/dist/motion/capture-rotation-trajectory.js +15 -0
  221. package/dist/motion/capture-rotation-trajectory.js.map +1 -1
  222. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +119 -0
  223. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +1 -0
  224. package/dist/motion/capture-translation-parallax-temporal-quadrature.js +263 -0
  225. package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -0
  226. package/dist/motion/extended-object-projection.d.ts +175 -0
  227. package/dist/motion/extended-object-projection.d.ts.map +1 -0
  228. package/dist/motion/extended-object-projection.js +402 -0
  229. package/dist/motion/extended-object-projection.js.map +1 -0
  230. package/dist/motion/projected-motion.d.ts +11 -0
  231. package/dist/motion/projected-motion.d.ts.map +1 -1
  232. package/dist/motion/projected-motion.js +11 -0
  233. package/dist/motion/projected-motion.js.map +1 -1
  234. package/dist/optics/aperture.d.ts +9 -0
  235. package/dist/optics/aperture.d.ts.map +1 -1
  236. package/dist/optics/aperture.js +9 -0
  237. package/dist/optics/aperture.js.map +1 -1
  238. package/dist/optics/circle-of-confusion.d.ts +8 -0
  239. package/dist/optics/circle-of-confusion.d.ts.map +1 -1
  240. package/dist/optics/circle-of-confusion.js +8 -0
  241. package/dist/optics/circle-of-confusion.js.map +1 -1
  242. package/dist/optics/complex-pupil-psf.d.ts +128 -0
  243. package/dist/optics/complex-pupil-psf.d.ts.map +1 -0
  244. package/dist/optics/complex-pupil-psf.js +462 -0
  245. package/dist/optics/complex-pupil-psf.js.map +1 -0
  246. package/dist/optics/depth-of-field.d.ts +18 -0
  247. package/dist/optics/depth-of-field.d.ts.map +1 -1
  248. package/dist/optics/depth-of-field.js +29 -4
  249. package/dist/optics/depth-of-field.js.map +1 -1
  250. package/dist/optics/diffraction.d.ts +8 -0
  251. package/dist/optics/diffraction.d.ts.map +1 -1
  252. package/dist/optics/diffraction.js +8 -0
  253. package/dist/optics/diffraction.js.map +1 -1
  254. package/dist/optics/focus-breathing.d.ts +13 -0
  255. package/dist/optics/focus-breathing.d.ts.map +1 -1
  256. package/dist/optics/focus-breathing.js +13 -0
  257. package/dist/optics/focus-breathing.js.map +1 -1
  258. package/dist/optics/focus-state.d.ts +47 -0
  259. package/dist/optics/focus-state.d.ts.map +1 -0
  260. package/dist/optics/focus-state.js +78 -0
  261. package/dist/optics/focus-state.js.map +1 -0
  262. package/dist/optics/front-of-lens-filter.d.ts +114 -0
  263. package/dist/optics/front-of-lens-filter.d.ts.map +1 -0
  264. package/dist/optics/front-of-lens-filter.js +468 -0
  265. package/dist/optics/front-of-lens-filter.js.map +1 -0
  266. package/dist/optics/illumination-vignetting.d.ts +9 -0
  267. package/dist/optics/illumination-vignetting.d.ts.map +1 -1
  268. package/dist/optics/illumination-vignetting.js +9 -0
  269. package/dist/optics/illumination-vignetting.js.map +1 -1
  270. package/dist/optics/lateral-chromatic-aberration.d.ts +11 -0
  271. package/dist/optics/lateral-chromatic-aberration.d.ts.map +1 -1
  272. package/dist/optics/lateral-chromatic-aberration.js +11 -0
  273. package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
  274. package/dist/optics/lens-psf-profile.d.ts +217 -0
  275. package/dist/optics/lens-psf-profile.d.ts.map +1 -0
  276. package/dist/optics/lens-psf-profile.js +823 -0
  277. package/dist/optics/lens-psf-profile.js.map +1 -0
  278. package/dist/optics/polygon-diffraction.d.ts +67 -0
  279. package/dist/optics/polygon-diffraction.d.ts.map +1 -0
  280. package/dist/optics/polygon-diffraction.js +145 -0
  281. package/dist/optics/polygon-diffraction.js.map +1 -0
  282. package/dist/optics/profile-contract.d.ts +42 -0
  283. package/dist/optics/profile-contract.d.ts.map +1 -0
  284. package/dist/optics/profile-contract.js +92 -0
  285. package/dist/optics/profile-contract.js.map +1 -0
  286. package/dist/optics/psf-foundation.d.ts +16 -3
  287. package/dist/optics/psf-foundation.d.ts.map +1 -1
  288. package/dist/optics/psf-foundation.js +28 -15
  289. package/dist/optics/psf-foundation.js.map +1 -1
  290. package/dist/optics/radial-distortion.d.ts +18 -0
  291. package/dist/optics/radial-distortion.d.ts.map +1 -1
  292. package/dist/optics/radial-distortion.js +18 -0
  293. package/dist/optics/radial-distortion.js.map +1 -1
  294. package/dist/optics/scene-to-sensor-irradiance.d.ts +213 -0
  295. package/dist/optics/scene-to-sensor-irradiance.d.ts.map +1 -0
  296. package/dist/optics/scene-to-sensor-irradiance.js +662 -0
  297. package/dist/optics/scene-to-sensor-irradiance.js.map +1 -0
  298. package/dist/optics/scene-to-sensor-quadrature.d.ts +63 -0
  299. package/dist/optics/scene-to-sensor-quadrature.d.ts.map +1 -0
  300. package/dist/optics/scene-to-sensor-quadrature.js +82 -0
  301. package/dist/optics/scene-to-sensor-quadrature.js.map +1 -0
  302. package/dist/optics/sensor-environment-query.d.ts +60 -0
  303. package/dist/optics/sensor-environment-query.d.ts.map +1 -0
  304. package/dist/optics/sensor-environment-query.js +50 -0
  305. package/dist/optics/sensor-environment-query.js.map +1 -0
  306. package/dist/optics/sensor-psf-quadrature.d.ts +70 -0
  307. package/dist/optics/sensor-psf-quadrature.d.ts.map +1 -0
  308. package/dist/optics/sensor-psf-quadrature.js +101 -0
  309. package/dist/optics/sensor-psf-quadrature.js.map +1 -0
  310. package/dist/optics/sensor-psf-support.d.ts +20 -0
  311. package/dist/optics/sensor-psf-support.d.ts.map +1 -0
  312. package/dist/optics/sensor-psf-support.js +13 -0
  313. package/dist/optics/sensor-psf-support.js.map +1 -0
  314. package/dist/optics/stray-light.d.ts +91 -0
  315. package/dist/optics/stray-light.d.ts.map +1 -0
  316. package/dist/optics/stray-light.js +110 -0
  317. package/dist/optics/stray-light.js.map +1 -0
  318. package/dist/optics/thin-lens.d.ts +8 -0
  319. package/dist/optics/thin-lens.d.ts.map +1 -1
  320. package/dist/optics/thin-lens.js +8 -0
  321. package/dist/optics/thin-lens.js.map +1 -1
  322. package/dist/output/capture-corrected-sdr.d.ts +49 -0
  323. package/dist/output/capture-corrected-sdr.d.ts.map +1 -0
  324. package/dist/output/capture-corrected-sdr.js +149 -0
  325. package/dist/output/capture-corrected-sdr.js.map +1 -0
  326. package/dist/output/capture-geometry.d.ts.map +1 -1
  327. package/dist/output/capture-geometry.js +8 -0
  328. package/dist/output/capture-geometry.js.map +1 -1
  329. package/dist/output/capture-sdr.d.ts +49 -0
  330. package/dist/output/capture-sdr.d.ts.map +1 -0
  331. package/dist/output/capture-sdr.js +90 -0
  332. package/dist/output/capture-sdr.js.map +1 -0
  333. package/dist/output/crop.d.ts +6 -0
  334. package/dist/output/crop.d.ts.map +1 -1
  335. package/dist/output/crop.js +6 -0
  336. package/dist/output/crop.js.map +1 -1
  337. package/dist/output/geometric-transforms.d.ts +137 -0
  338. package/dist/output/geometric-transforms.d.ts.map +1 -0
  339. package/dist/output/geometric-transforms.js +225 -0
  340. package/dist/output/geometric-transforms.js.map +1 -0
  341. package/dist/output/lens-corrections.d.ts +121 -0
  342. package/dist/output/lens-corrections.d.ts.map +1 -0
  343. package/dist/output/lens-corrections.js +210 -0
  344. package/dist/output/lens-corrections.js.map +1 -0
  345. package/dist/output/sdr-rendering.d.ts +81 -0
  346. package/dist/output/sdr-rendering.d.ts.map +1 -0
  347. package/dist/output/sdr-rendering.js +106 -0
  348. package/dist/output/sdr-rendering.js.map +1 -0
  349. package/dist/output/subject-framing-crop.d.ts +8 -0
  350. package/dist/output/subject-framing-crop.d.ts.map +1 -1
  351. package/dist/output/subject-framing-crop.js +8 -0
  352. package/dist/output/subject-framing-crop.js.map +1 -1
  353. package/dist/schema/camera.d.ts +6 -0
  354. package/dist/schema/camera.d.ts.map +1 -1
  355. package/dist/schema/illumination-spectral.d.ts +51 -0
  356. package/dist/schema/illumination-spectral.d.ts.map +1 -0
  357. package/dist/schema/illumination-spectral.js +132 -0
  358. package/dist/schema/illumination-spectral.js.map +1 -0
  359. package/dist/schema/illumination-temporal.d.ts +156 -0
  360. package/dist/schema/illumination-temporal.d.ts.map +1 -0
  361. package/dist/schema/illumination-temporal.js +554 -0
  362. package/dist/schema/illumination-temporal.js.map +1 -0
  363. package/dist/schema/illumination.d.ts +138 -0
  364. package/dist/schema/illumination.d.ts.map +1 -0
  365. package/dist/schema/illumination.js +483 -0
  366. package/dist/schema/illumination.js.map +1 -0
  367. package/dist/schema/scene-radiance-temporal.d.ts +107 -0
  368. package/dist/schema/scene-radiance-temporal.d.ts.map +1 -0
  369. package/dist/schema/scene-radiance-temporal.js +259 -0
  370. package/dist/schema/scene-radiance-temporal.js.map +1 -0
  371. package/dist/schema/scene-radiance.d.ts +185 -0
  372. package/dist/schema/scene-radiance.d.ts.map +1 -0
  373. package/dist/schema/scene-radiance.js +535 -0
  374. package/dist/schema/scene-radiance.js.map +1 -0
  375. package/dist/schema/scene.d.ts +7 -0
  376. package/dist/schema/scene.d.ts.map +1 -1
  377. package/dist/schema/validation.d.ts.map +1 -1
  378. package/dist/schema/validation.js +7 -0
  379. package/dist/schema/validation.js.map +1 -1
  380. package/dist/sensor/accumulated-charge.d.ts +199 -0
  381. package/dist/sensor/accumulated-charge.d.ts.map +1 -0
  382. package/dist/sensor/accumulated-charge.js +450 -0
  383. package/dist/sensor/accumulated-charge.js.map +1 -0
  384. package/dist/sensor/architecture.d.ts +48 -13
  385. package/dist/sensor/architecture.d.ts.map +1 -1
  386. package/dist/sensor/architecture.js +58 -16
  387. package/dist/sensor/architecture.js.map +1 -1
  388. package/dist/sensor/camera-saturation-capacity.d.ts +138 -0
  389. package/dist/sensor/camera-saturation-capacity.d.ts.map +1 -0
  390. package/dist/sensor/camera-saturation-capacity.js +356 -0
  391. package/dist/sensor/camera-saturation-capacity.js.map +1 -0
  392. package/dist/sensor/capture-color-sampling-binding.d.ts +1 -0
  393. package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -1
  394. package/dist/sensor/capture-color-sampling-binding.js +14 -0
  395. package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
  396. package/dist/sensor/capture-mode-timing.d.ts +63 -0
  397. package/dist/sensor/capture-mode-timing.d.ts.map +1 -0
  398. package/dist/sensor/capture-mode-timing.js +270 -0
  399. package/dist/sensor/capture-mode-timing.js.map +1 -0
  400. package/dist/sensor/capture-mode.d.ts.map +1 -1
  401. package/dist/sensor/capture-mode.js +13 -0
  402. package/dist/sensor/capture-mode.js.map +1 -1
  403. package/dist/sensor/color-sampling.d.ts.map +1 -1
  404. package/dist/sensor/color-sampling.js +19 -0
  405. package/dist/sensor/color-sampling.js.map +1 -1
  406. package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
  407. package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
  408. package/dist/sensor/constant-rate-temporal-integration.js +382 -0
  409. package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
  410. package/dist/sensor/dark-current.d.ts +169 -0
  411. package/dist/sensor/dark-current.d.ts.map +1 -0
  412. package/dist/sensor/dark-current.js +427 -0
  413. package/dist/sensor/dark-current.js.map +1 -0
  414. package/dist/sensor/environment-photo-signal.d.ts +123 -0
  415. package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
  416. package/dist/sensor/environment-photo-signal.js +186 -0
  417. package/dist/sensor/environment-photo-signal.js.map +1 -0
  418. package/dist/sensor/eqe-electron-rate.d.ts +107 -0
  419. package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
  420. package/dist/sensor/eqe-electron-rate.js +561 -0
  421. package/dist/sensor/eqe-electron-rate.js.map +1 -0
  422. package/dist/sensor/eqe-local-exposure.d.ts +65 -0
  423. package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
  424. package/dist/sensor/eqe-local-exposure.js +84 -0
  425. package/dist/sensor/eqe-local-exposure.js.map +1 -0
  426. package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
  427. package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
  428. package/dist/sensor/eqe-temporal-exposure.js +62 -0
  429. package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
  430. package/dist/sensor/exposure-window.d.ts +14 -0
  431. package/dist/sensor/exposure-window.d.ts.map +1 -1
  432. package/dist/sensor/exposure-window.js +14 -0
  433. package/dist/sensor/exposure-window.js.map +1 -1
  434. package/dist/sensor/iso-signal-chain.d.ts +148 -0
  435. package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
  436. package/dist/sensor/iso-signal-chain.js +411 -0
  437. package/dist/sensor/iso-signal-chain.js.map +1 -0
  438. package/dist/sensor/local-exposure-binding.d.ts +87 -0
  439. package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
  440. package/dist/sensor/local-exposure-binding.js +214 -0
  441. package/dist/sensor/local-exposure-binding.js.map +1 -0
  442. package/dist/sensor/optical-stack.d.ts.map +1 -1
  443. package/dist/sensor/optical-stack.js +17 -0
  444. package/dist/sensor/optical-stack.js.map +1 -1
  445. package/dist/sensor/photon-energy.d.ts +97 -0
  446. package/dist/sensor/photon-energy.d.ts.map +1 -0
  447. package/dist/sensor/photon-energy.js +390 -0
  448. package/dist/sensor/photon-energy.js.map +1 -0
  449. package/dist/sensor/physical-charge-capacity.d.ts +130 -0
  450. package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
  451. package/dist/sensor/physical-charge-capacity.js +345 -0
  452. package/dist/sensor/physical-charge-capacity.js.map +1 -0
  453. package/dist/sensor/pixel-pitch.d.ts +6 -0
  454. package/dist/sensor/pixel-pitch.d.ts.map +1 -1
  455. package/dist/sensor/pixel-pitch.js +6 -0
  456. package/dist/sensor/pixel-pitch.js.map +1 -1
  457. package/dist/sensor/radiometry-readiness.d.ts +10 -0
  458. package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
  459. package/dist/sensor/radiometry-readiness.js +10 -0
  460. package/dist/sensor/radiometry-readiness.js.map +1 -1
  461. package/dist/sensor/raw-readout.d.ts +314 -0
  462. package/dist/sensor/raw-readout.d.ts.map +1 -0
  463. package/dist/sensor/raw-readout.js +914 -0
  464. package/dist/sensor/raw-readout.js.map +1 -0
  465. package/dist/sensor/raw-reconstruction.d.ts +170 -0
  466. package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
  467. package/dist/sensor/raw-reconstruction.js +424 -0
  468. package/dist/sensor/raw-reconstruction.js.map +1 -0
  469. package/dist/sensor/readout-exposure-linkage.d.ts +12 -0
  470. package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -1
  471. package/dist/sensor/readout-exposure-linkage.js +12 -0
  472. package/dist/sensor/readout-exposure-linkage.js.map +1 -1
  473. package/dist/sensor/readout-timing.d.ts +13 -0
  474. package/dist/sensor/readout-timing.d.ts.map +1 -1
  475. package/dist/sensor/readout-timing.js +13 -0
  476. package/dist/sensor/readout-timing.js.map +1 -1
  477. package/dist/sensor/response-application-compatibility.d.ts +136 -0
  478. package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
  479. package/dist/sensor/response-application-compatibility.js +408 -0
  480. package/dist/sensor/response-application-compatibility.js.map +1 -0
  481. package/dist/sensor/response-operating-range.d.ts +173 -0
  482. package/dist/sensor/response-operating-range.d.ts.map +1 -0
  483. package/dist/sensor/response-operating-range.js +672 -0
  484. package/dist/sensor/response-operating-range.js.map +1 -0
  485. package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
  486. package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
  487. package/dist/sensor/responsivity-photocurrent.js +644 -0
  488. package/dist/sensor/responsivity-photocurrent.js.map +1 -0
  489. package/dist/sensor/sampling-aperture.d.ts.map +1 -1
  490. package/dist/sensor/sampling-aperture.js +14 -0
  491. package/dist/sensor/sampling-aperture.js.map +1 -1
  492. package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
  493. package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
  494. package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
  495. package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
  496. package/dist/sensor/sensor-geometry.d.ts +12 -0
  497. package/dist/sensor/sensor-geometry.d.ts.map +1 -1
  498. package/dist/sensor/sensor-geometry.js +12 -0
  499. package/dist/sensor/sensor-geometry.js.map +1 -1
  500. package/dist/sensor/signal-noise.d.ts +10 -0
  501. package/dist/sensor/signal-noise.d.ts.map +1 -1
  502. package/dist/sensor/signal-noise.js +10 -0
  503. package/dist/sensor/signal-noise.js.map +1 -1
  504. package/dist/sensor/spatial-sample-reduction.d.ts +44 -1
  505. package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -1
  506. package/dist/sensor/spatial-sample-reduction.js +51 -5
  507. package/dist/sensor/spatial-sample-reduction.js.map +1 -1
  508. package/dist/sensor/spatial-sampling-quadrature.d.ts +24 -0
  509. package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -1
  510. package/dist/sensor/spatial-sampling-quadrature.js +27 -0
  511. package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
  512. package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
  513. package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
  514. package/dist/sensor/spatio-spectral-reduction.js +373 -0
  515. package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
  516. package/dist/sensor/spectral-coverage.d.ts +24 -0
  517. package/dist/sensor/spectral-coverage.d.ts.map +1 -0
  518. package/dist/sensor/spectral-coverage.js +86 -0
  519. package/dist/sensor/spectral-coverage.js.map +1 -0
  520. package/dist/sensor/spectral-quadrature.d.ts +169 -0
  521. package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
  522. package/dist/sensor/spectral-quadrature.js +542 -0
  523. package/dist/sensor/spectral-quadrature.js.map +1 -0
  524. package/dist/sensor/spectral-response.d.ts +192 -0
  525. package/dist/sensor/spectral-response.d.ts.map +1 -0
  526. package/dist/sensor/spectral-response.js +664 -0
  527. package/dist/sensor/spectral-response.js.map +1 -0
  528. package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
  529. package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
  530. package/dist/sensor/temporal-eqe-sum.js +30 -0
  531. package/dist/sensor/temporal-eqe-sum.js.map +1 -0
  532. package/dist/sensor/temporal-photo-signal.d.ts +38 -0
  533. package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
  534. package/dist/sensor/temporal-photo-signal.js +110 -0
  535. package/dist/sensor/temporal-photo-signal.js.map +1 -0
  536. package/dist/sensor/temporal-sample-binding.d.ts +6 -0
  537. package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
  538. package/dist/sensor/temporal-sample-binding.js +32 -0
  539. package/dist/sensor/temporal-sample-binding.js.map +1 -0
  540. package/dist/simulation/poc-simulation.d.ts.map +1 -1
  541. package/dist/simulation/poc-simulation.js +34 -11
  542. package/dist/simulation/poc-simulation.js.map +1 -1
  543. package/dist/stabilization/camera-shake.d.ts +11 -0
  544. package/dist/stabilization/camera-shake.d.ts.map +1 -1
  545. package/dist/stabilization/camera-shake.js +11 -0
  546. package/dist/stabilization/camera-shake.js.map +1 -1
  547. package/dist/stabilization/system.d.ts +218 -0
  548. package/dist/stabilization/system.d.ts.map +1 -0
  549. package/dist/stabilization/system.js +695 -0
  550. package/dist/stabilization/system.js.map +1 -0
  551. package/docs/API_REFERENCE.md +2017 -0
  552. package/docs/API_STYLE.md +139 -3
  553. package/docs/ARCHITECTURE.md +134 -24
  554. package/docs/AUTOMATION_COORDINATION.md +2 -0
  555. package/docs/CAPTURE_COLOR.md +25 -0
  556. package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
  557. package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
  558. package/docs/CAPTURE_SDR.md +20 -0
  559. package/docs/DEVELOPERS.md +60 -0
  560. package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
  561. package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
  562. package/docs/EXPORT_ACCEPTANCE.md +133 -0
  563. package/docs/GENERIC_TIER_PRESETS.md +269 -0
  564. package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
  565. package/docs/IMAGE_FORMATION.md +80 -10
  566. package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
  567. package/docs/MOTION_AND_SIGNAL.md +5 -3
  568. package/docs/NUMERICAL_CORRECTNESS.md +191 -0
  569. package/docs/PERFORMANCE_BASELINE.md +56 -0
  570. package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
  571. package/docs/PHYSICS_FOUNDATION.md +152 -5
  572. package/docs/POC_API.md +2 -0
  573. package/docs/POC_PROJECTION_REUSE.md +124 -0
  574. package/docs/PROCESSED_OUTPUT.md +157 -0
  575. package/docs/PRODUCTION_COMPOSITION.md +373 -0
  576. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
  577. package/docs/PROVENANCE.md +4 -0
  578. package/docs/PSF_FOUNDATION.md +110 -88
  579. package/docs/RAW_FRAME_ENVELOPE.md +56 -0
  580. package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
  581. package/docs/RELEASE_1_0.md +66 -0
  582. package/docs/RELEASE_1_0_1.md +61 -0
  583. package/docs/RELEASE_AUDIT.md +39 -0
  584. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
  585. package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
  586. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
  587. package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
  588. package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
  589. package/docs/SDR_RENDERING.md +33 -0
  590. package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
  591. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
  592. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
  593. package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
  594. package/docs/SENSOR_RAW_FRAME.md +20 -0
  595. package/docs/SENSOR_RAW_PRODUCER.md +77 -0
  596. package/docs/SIGNAL_CONFORMANCE.md +23 -0
  597. package/docs/SIMULATED_CAPTURE.md +65 -0
  598. package/docs/STABILIZATION.md +160 -17
  599. package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
  600. package/docs/TIER_ACCEPTANCE.md +129 -0
  601. package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
  602. package/docs/USAGE.md +5050 -1047
  603. package/docs/V1_COMPOSITION_MAP.md +123 -0
  604. package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
  605. package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
  606. package/docs/api/camera-equivalent-focal-length.md +53 -0
  607. package/docs/api/camera-field-of-view.md +119 -0
  608. package/docs/api/camera-projected-object-size.md +54 -0
  609. package/docs/api/capture-capture-export-metadata.md +107 -0
  610. package/docs/api/capture-environment-raw-producer.md +56 -0
  611. package/docs/api/capture-focus-control.md +419 -0
  612. package/docs/api/capture-linear-encoding.md +99 -0
  613. package/docs/api/capture-photographic-export.md +172 -0
  614. package/docs/api/capture-raw-frame-reconstruction.md +87 -0
  615. package/docs/api/capture-release-sequence.md +252 -0
  616. package/docs/api/capture-sensor-raw-frame.md +66 -0
  617. package/docs/api/capture-sensor-raw-producer.md +98 -0
  618. package/docs/api/capture-simulated-capture.md +179 -0
  619. package/docs/api/color-capture-color.md +122 -0
  620. package/docs/api/color-white-balance.md +386 -0
  621. package/docs/api/composition-image-formation-plan.md +825 -0
  622. package/docs/api/composition-plan-consumer.md +98 -0
  623. package/docs/api/core-calculation-result.md +220 -0
  624. package/docs/api/core-configuration-error.md +19 -0
  625. package/docs/api/core-image-formation.md +204 -0
  626. package/docs/api/core-scientific-assurance.md +214 -0
  627. package/docs/api/core-spectral-composition.md +268 -0
  628. package/docs/api/core-spectral.md +78 -0
  629. package/docs/api/core-validation.md +34 -0
  630. package/docs/api/core-version.md +14 -0
  631. package/docs/api/equipment-exposure-capabilities.md +270 -0
  632. package/docs/api/equipment-generic-tier-assets.md +82 -0
  633. package/docs/api/equipment-generic-tier-presets.md +103 -0
  634. package/docs/api/equipment-iso-capabilities.md +295 -0
  635. package/docs/api/equipment-metering-capabilities.md +126 -0
  636. package/docs/api/equipment-release-capabilities.md +91 -0
  637. package/docs/api/exports.json +5656 -0
  638. package/docs/api/exposure-exposure-duration-control.md +115 -0
  639. package/docs/api/exposure-exposure-mode-resolver.md +966 -0
  640. package/docs/api/exposure-exposure.md +150 -0
  641. package/docs/api/exposure-flash.md +327 -0
  642. package/docs/api/exposure-metering-scene-radiance.md +154 -0
  643. package/docs/api/exposure-metering-target.md +134 -0
  644. package/docs/api/exposure-metering-temporal.md +77 -0
  645. package/docs/api/exposure-metering.md +172 -0
  646. package/docs/api/exposure-program-line.md +64 -0
  647. package/docs/api/motion-camera-rotation.md +215 -0
  648. package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
  649. package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
  650. package/docs/api/motion-capture-rotation-trajectory.md +132 -0
  651. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
  652. package/docs/api/motion-extended-object-projection.md +312 -0
  653. package/docs/api/motion-projected-motion.md +60 -0
  654. package/docs/api/optics-aperture.md +69 -0
  655. package/docs/api/optics-circle-of-confusion.md +46 -0
  656. package/docs/api/optics-complex-pupil-psf.md +193 -0
  657. package/docs/api/optics-depth-of-field.md +92 -0
  658. package/docs/api/optics-diffraction.md +46 -0
  659. package/docs/api/optics-focus-breathing.md +119 -0
  660. package/docs/api/optics-focus-state.md +64 -0
  661. package/docs/api/optics-front-of-lens-filter.md +263 -0
  662. package/docs/api/optics-illumination-vignetting.md +95 -0
  663. package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
  664. package/docs/api/optics-lens-psf-profile.md +380 -0
  665. package/docs/api/optics-polygon-diffraction.md +68 -0
  666. package/docs/api/optics-profile-contract.md +47 -0
  667. package/docs/api/optics-psf-foundation.md +181 -0
  668. package/docs/api/optics-radial-distortion.md +194 -0
  669. package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
  670. package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
  671. package/docs/api/optics-sensor-environment-query.md +58 -0
  672. package/docs/api/optics-sensor-psf-quadrature.md +81 -0
  673. package/docs/api/optics-stray-light.md +109 -0
  674. package/docs/api/optics-thin-lens.md +53 -0
  675. package/docs/api/output-capture-corrected-sdr.md +71 -0
  676. package/docs/api/output-capture-geometry.md +500 -0
  677. package/docs/api/output-capture-sdr.md +69 -0
  678. package/docs/api/output-crop.md +47 -0
  679. package/docs/api/output-geometric-transforms.md +199 -0
  680. package/docs/api/output-lens-corrections.md +162 -0
  681. package/docs/api/output-sdr-rendering.md +122 -0
  682. package/docs/api/output-subject-framing-crop.md +59 -0
  683. package/docs/api/schema-camera.md +84 -0
  684. package/docs/api/schema-illumination-spectral.md +77 -0
  685. package/docs/api/schema-illumination-temporal.md +289 -0
  686. package/docs/api/schema-illumination.md +246 -0
  687. package/docs/api/schema-scene-radiance-temporal.md +215 -0
  688. package/docs/api/schema-scene-radiance.md +415 -0
  689. package/docs/api/schema-scene.md +105 -0
  690. package/docs/api/schema-validation.md +25 -0
  691. package/docs/api/sensor-accumulated-charge.md +273 -0
  692. package/docs/api/sensor-architecture.md +155 -0
  693. package/docs/api/sensor-camera-saturation-capacity.md +215 -0
  694. package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
  695. package/docs/api/sensor-capture-mode-timing.md +123 -0
  696. package/docs/api/sensor-capture-mode.md +321 -0
  697. package/docs/api/sensor-color-sampling.md +228 -0
  698. package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
  699. package/docs/api/sensor-dark-current.md +227 -0
  700. package/docs/api/sensor-environment-photo-signal.md +77 -0
  701. package/docs/api/sensor-eqe-electron-rate.md +166 -0
  702. package/docs/api/sensor-eqe-local-exposure.md +68 -0
  703. package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
  704. package/docs/api/sensor-exposure-window.md +183 -0
  705. package/docs/api/sensor-iso-signal-chain.md +264 -0
  706. package/docs/api/sensor-local-exposure-binding.md +126 -0
  707. package/docs/api/sensor-optical-stack.md +211 -0
  708. package/docs/api/sensor-photon-energy.md +149 -0
  709. package/docs/api/sensor-physical-charge-capacity.md +196 -0
  710. package/docs/api/sensor-pixel-pitch.md +41 -0
  711. package/docs/api/sensor-radiometry-readiness.md +240 -0
  712. package/docs/api/sensor-raw-readout.md +499 -0
  713. package/docs/api/sensor-raw-reconstruction.md +260 -0
  714. package/docs/api/sensor-readout-exposure-linkage.md +172 -0
  715. package/docs/api/sensor-readout-timing.md +209 -0
  716. package/docs/api/sensor-response-application-compatibility.md +256 -0
  717. package/docs/api/sensor-response-operating-range.md +293 -0
  718. package/docs/api/sensor-responsivity-photocurrent.md +245 -0
  719. package/docs/api/sensor-sampling-aperture.md +221 -0
  720. package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
  721. package/docs/api/sensor-sensor-geometry.md +143 -0
  722. package/docs/api/sensor-signal-noise.md +75 -0
  723. package/docs/api/sensor-spatial-sample-reduction.md +186 -0
  724. package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
  725. package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
  726. package/docs/api/sensor-spectral-coverage.md +33 -0
  727. package/docs/api/sensor-spectral-quadrature.md +183 -0
  728. package/docs/api/sensor-spectral-response.md +291 -0
  729. package/docs/api/sensor-temporal-photo-signal.md +62 -0
  730. package/docs/api/simulation-poc-simulation.md +364 -0
  731. package/docs/api/stabilization-camera-shake.md +71 -0
  732. package/docs/api/stabilization-system.md +442 -0
  733. package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
  734. package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
  735. package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
  736. package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
  737. package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
  738. package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
  739. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
  740. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
  741. package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
  742. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
  743. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
  744. package/docs/examples/production-capture.mjs +34 -0
  745. package/docs/examples/production-request.json +4613 -0
  746. package/docs/examples/quick-start.mjs +12 -0
  747. package/docs/validation/documentation-fragments.json +212 -0
  748. package/docs/validation/release-audit-inventory.json +1306 -0
  749. package/docs/validation/tier-acceptance-report-v1.json +2538 -0
  750. package/package.json +15 -3
@@ -0,0 +1,2538 @@
1
+ {
2
+ "reportVersion": "1.0.0",
3
+ "sceneId": "photivra:tier-matched-reference-v1",
4
+ "scientificStatus": "approximation",
5
+ "presetVersion": "1.0.0",
6
+ "catalogSha256": "118805a23640593d77920e17d8ff2d43c1b31816acf018c6ed97e8e43f29e885",
7
+ "baseFixtureId": "basic-reference-scene",
8
+ "seedUint32": 12345,
9
+ "matchedOptics": {
10
+ "focalLengthMm": 50,
11
+ "aperture": 4,
12
+ "focusDistanceM": 5,
13
+ "wavelengthNm": 550
14
+ },
15
+ "sensorGeometry": {
16
+ "widthMm": 36,
17
+ "heightMm": 24
18
+ },
19
+ "sampledCorrectionRaster": {
20
+ "width": 9,
21
+ "height": 9,
22
+ "centerMm": {
23
+ "x": 0,
24
+ "y": 0
25
+ },
26
+ "pitchMm": 3
27
+ },
28
+ "limitations": [
29
+ "Owned synthetic regression evidence, not measured calibration or universal tier rank.",
30
+ "Discrete 550 nm pupil slices are not a continuous spectral or field-dependent optical model.",
31
+ "Representative RGB field maps do not establish LoCA or spectral sensor primaries.",
32
+ "Correction targets are sampled; interpolation/gain diagnostics are not measured MTF or restored photons.",
33
+ "No separate browser approximation exists; ordinary browser-safe APIs and same immutable consumer results are reused."
34
+ ],
35
+ "tiers": [
36
+ {
37
+ "tier": "consumer",
38
+ "selection": {
39
+ "schemaVersion": "0.1.0",
40
+ "presetVersion": "1.0.0",
41
+ "bodyTier": "consumer",
42
+ "lensTier": "consumer",
43
+ "bodyPresetId": "photivra-consumer:body",
44
+ "lensPresetId": "photivra-consumer:lens",
45
+ "profileReferences": [
46
+ {
47
+ "profileId": "photivra-consumer-body:exposure",
48
+ "profileVersion": "1.0.0"
49
+ },
50
+ {
51
+ "profileId": "photivra-consumer-body:iso",
52
+ "profileVersion": "1.0.0"
53
+ },
54
+ {
55
+ "profileId": "photivra-consumer-body:signal-chain",
56
+ "profileVersion": "1.0.0"
57
+ },
58
+ {
59
+ "profileId": "photivra-consumer-body:release",
60
+ "profileVersion": "1.0.0"
61
+ },
62
+ {
63
+ "profileId": "photivra-consumer-body:focus",
64
+ "profileVersion": "1.0.0"
65
+ },
66
+ {
67
+ "profileId": "photivra-consumer-body:stabilization",
68
+ "profileVersion": "1.0.0"
69
+ },
70
+ {
71
+ "profileId": "photivra-consumer-body:white-balance",
72
+ "profileVersion": "1.0.0"
73
+ },
74
+ {
75
+ "profileId": "photivra-consumer-body:metering-capabilities",
76
+ "profileVersion": "1.0.0"
77
+ },
78
+ {
79
+ "profileId": "photivra-consumer-body:flash-sync",
80
+ "profileVersion": "1.0.0"
81
+ },
82
+ {
83
+ "profileId": "photivra-consumer-body:readout:red",
84
+ "profileVersion": "1.0.0"
85
+ },
86
+ {
87
+ "profileId": "photivra-consumer-body:readout:green",
88
+ "profileVersion": "1.0.0"
89
+ },
90
+ {
91
+ "profileId": "photivra-consumer-body:readout:blue",
92
+ "profileVersion": "1.0.0"
93
+ },
94
+ {
95
+ "profileId": "photivra-consumer-body:data-readout",
96
+ "profileVersion": "1.0.0"
97
+ },
98
+ {
99
+ "profileId": "photivra-consumer-body:meter:multi-zone-uniform",
100
+ "profileVersion": "1.0.0"
101
+ },
102
+ {
103
+ "profileId": "photivra-consumer-prime:exposure",
104
+ "profileVersion": "1.0.0"
105
+ },
106
+ {
107
+ "profileId": "photivra-consumer-prime:radial",
108
+ "profileVersion": "1.0.0"
109
+ },
110
+ {
111
+ "profileId": "photivra-consumer-prime:lateral-ca",
112
+ "profileVersion": "1.0.0"
113
+ },
114
+ {
115
+ "profileId": "photivra-consumer-prime:vignetting",
116
+ "profileVersion": "1.0.0"
117
+ },
118
+ {
119
+ "profileId": "photivra-consumer-prime:breathing",
120
+ "profileVersion": "1.0.0"
121
+ },
122
+ {
123
+ "profileId": "photivra-consumer-prime:transmission",
124
+ "profileVersion": "1.0.0"
125
+ },
126
+ {
127
+ "profileId": "photivra-consumer-prime:pupil",
128
+ "profileVersion": "1.0.0"
129
+ },
130
+ {
131
+ "profileId": "photivra-consumer-prime:stray",
132
+ "profileVersion": "1.0.0"
133
+ },
134
+ {
135
+ "profileId": "photivra-consumer-prime:correction",
136
+ "profileVersion": "1.0.0"
137
+ }
138
+ ],
139
+ "sensorFormatSelectedByTier": false,
140
+ "scientificTierMultiplierApplied": false
141
+ },
142
+ "tradeoffs": [
143
+ "Limited continuous AF; heavier digital correction and edge pupil clipping in matched reference."
144
+ ],
145
+ "physical": {
146
+ "pupilResponses": [
147
+ {
148
+ "profileId": "photivra-consumer-prime:pupil:0:0",
149
+ "profileVersion": "1.0.0",
150
+ "fieldPointMm": {
151
+ "x": 0,
152
+ "y": 0
153
+ },
154
+ "signedDefocusImagePlaneMicrometers": -20,
155
+ "energy": 1,
156
+ "peakFraction": 0.348826827303,
157
+ "outerSampleEnergyFraction": 0.211129388217,
158
+ "centroidMicrometers": {
159
+ "x": 6.93889390391e-17,
160
+ "y": -4.16333634234e-17
161
+ },
162
+ "covarianceSquareMicrometers": {
163
+ "xx": 2.92160895017,
164
+ "yy": 2.92160895017,
165
+ "xy": -5.55111512313e-17
166
+ },
167
+ "textureContrastAt100CyclesPerMm": {
168
+ "horizontal": 0.566050625937,
169
+ "vertical": 0.566050625937,
170
+ "diagonal": 0.624830588668
171
+ },
172
+ "relativePupilThroughputFactor": 1
173
+ },
174
+ {
175
+ "profileId": "photivra-consumer-prime:pupil:0:1",
176
+ "profileVersion": "1.0.0",
177
+ "fieldPointMm": {
178
+ "x": 0,
179
+ "y": 0
180
+ },
181
+ "signedDefocusImagePlaneMicrometers": 0,
182
+ "energy": 1,
183
+ "peakFraction": 0.52,
184
+ "outerSampleEnergyFraction": 0.137866167677,
185
+ "centroidMicrometers": {
186
+ "x": -3.46944695195e-18,
187
+ "y": -1.73472347598e-17
188
+ },
189
+ "covarianceSquareMicrometers": {
190
+ "xx": 1.74340515381,
191
+ "yy": 1.74340515381,
192
+ "xy": 8.32667268469e-17
193
+ },
194
+ "textureContrastAt100CyclesPerMm": {
195
+ "horizontal": 0.741291160077,
196
+ "vertical": 0.741291160077,
197
+ "diagonal": 0.762322936678
198
+ },
199
+ "relativePupilThroughputFactor": 1
200
+ },
201
+ {
202
+ "profileId": "photivra-consumer-prime:pupil:0:2",
203
+ "profileVersion": "1.0.0",
204
+ "fieldPointMm": {
205
+ "x": 0,
206
+ "y": 0
207
+ },
208
+ "signedDefocusImagePlaneMicrometers": 20,
209
+ "energy": 1,
210
+ "peakFraction": 0.348826827303,
211
+ "outerSampleEnergyFraction": 0.211129388217,
212
+ "centroidMicrometers": {
213
+ "x": -8.32667268469e-17,
214
+ "y": 6.93889390391e-17
215
+ },
216
+ "covarianceSquareMicrometers": {
217
+ "xx": 2.92160895017,
218
+ "yy": 2.92160895017,
219
+ "xy": -2.22044604925e-16
220
+ },
221
+ "textureContrastAt100CyclesPerMm": {
222
+ "horizontal": 0.566050625937,
223
+ "vertical": 0.566050625937,
224
+ "diagonal": 0.624830588668
225
+ },
226
+ "relativePupilThroughputFactor": 1
227
+ },
228
+ {
229
+ "profileId": "photivra-consumer-prime:pupil:1:0",
230
+ "profileVersion": "1.0.0",
231
+ "fieldPointMm": {
232
+ "x": 10,
233
+ "y": 6
234
+ },
235
+ "signedDefocusImagePlaneMicrometers": -20,
236
+ "energy": 1,
237
+ "peakFraction": 0.330317663079,
238
+ "outerSampleEnergyFraction": 0.234011144201,
239
+ "centroidMicrometers": {
240
+ "x": 0.246549226338,
241
+ "y": -5.55111512313e-17
242
+ },
243
+ "covarianceSquareMicrometers": {
244
+ "xx": 3.31742358385,
245
+ "yy": 2.64880969602,
246
+ "xy": 1.36862313892e-17
247
+ },
248
+ "textureContrastAt100CyclesPerMm": {
249
+ "horizontal": 0.518951629321,
250
+ "vertical": 0.601538903664,
251
+ "diagonal": 0.613935352365
252
+ },
253
+ "relativePupilThroughputFactor": 0.85
254
+ },
255
+ {
256
+ "profileId": "photivra-consumer-prime:pupil:1:1",
257
+ "profileVersion": "1.0.0",
258
+ "fieldPointMm": {
259
+ "x": 10,
260
+ "y": 6
261
+ },
262
+ "signedDefocusImagePlaneMicrometers": 0,
263
+ "energy": 1,
264
+ "peakFraction": 0.48,
265
+ "outerSampleEnergyFraction": 0.149355014983,
266
+ "centroidMicrometers": {
267
+ "x": 1.38777878078e-17,
268
+ "y": 3.46944695195e-18
269
+ },
270
+ "covarianceSquareMicrometers": {
271
+ "xx": 2.40495558329,
272
+ "yy": 1.37242224996,
273
+ "xy": 1.38777878078e-17
274
+ },
275
+ "textureContrastAt100CyclesPerMm": {
276
+ "horizontal": 0.648081364518,
277
+ "vertical": 0.791382815649,
278
+ "diagonal": 0.742516514735
279
+ },
280
+ "relativePupilThroughputFactor": 0.85
281
+ },
282
+ {
283
+ "profileId": "photivra-consumer-prime:pupil:1:2",
284
+ "profileVersion": "1.0.0",
285
+ "fieldPointMm": {
286
+ "x": 10,
287
+ "y": 6
288
+ },
289
+ "signedDefocusImagePlaneMicrometers": 20,
290
+ "energy": 1,
291
+ "peakFraction": 0.330317663079,
292
+ "outerSampleEnergyFraction": 0.234011144201,
293
+ "centroidMicrometers": {
294
+ "x": -0.246549226338,
295
+ "y": -6.93889390391e-17
296
+ },
297
+ "covarianceSquareMicrometers": {
298
+ "xx": 3.31742358385,
299
+ "yy": 2.64880969602,
300
+ "xy": -1.00374516083e-16
301
+ },
302
+ "textureContrastAt100CyclesPerMm": {
303
+ "horizontal": 0.518951629321,
304
+ "vertical": 0.601538903664,
305
+ "diagonal": 0.613935352365
306
+ },
307
+ "relativePupilThroughputFactor": 0.85
308
+ },
309
+ {
310
+ "profileId": "photivra-consumer-prime:pupil:2:0",
311
+ "profileVersion": "1.0.0",
312
+ "fieldPointMm": {
313
+ "x": 18,
314
+ "y": 12
315
+ },
316
+ "signedDefocusImagePlaneMicrometers": -20,
317
+ "energy": 1,
318
+ "peakFraction": 0.226182739151,
319
+ "outerSampleEnergyFraction": 0.236050697007,
320
+ "centroidMicrometers": {
321
+ "x": 0.893838140213,
322
+ "y": 8.32667268469e-17
323
+ },
324
+ "covarianceSquareMicrometers": {
325
+ "xx": 2.61780052735,
326
+ "yy": 3.03343052032,
327
+ "xy": -1.85449278729e-16
328
+ },
329
+ "textureContrastAt100CyclesPerMm": {
330
+ "horizontal": 0.612526603767,
331
+ "vertical": 0.558114117674,
332
+ "diagonal": 0.616112169188
333
+ },
334
+ "relativePupilThroughputFactor": 0.65
335
+ },
336
+ {
337
+ "profileId": "photivra-consumer-prime:pupil:2:1",
338
+ "profileVersion": "1.0.0",
339
+ "fieldPointMm": {
340
+ "x": 18,
341
+ "y": 12
342
+ },
343
+ "signedDefocusImagePlaneMicrometers": 0,
344
+ "energy": 1,
345
+ "peakFraction": 0.28,
346
+ "outerSampleEnergyFraction": 0.125957556986,
347
+ "centroidMicrometers": {
348
+ "x": -1.38777878078e-17,
349
+ "y": -4.16333634234e-17
350
+ },
351
+ "covarianceSquareMicrometers": {
352
+ "xx": 2.20154292846,
353
+ "yy": 2.35272385707,
354
+ "xy": -5.77778983316e-34
355
+ },
356
+ "textureContrastAt100CyclesPerMm": {
357
+ "horizontal": 0.647800534553,
358
+ "vertical": 0.642370541113,
359
+ "diagonal": 0.672577865783
360
+ },
361
+ "relativePupilThroughputFactor": 0.65
362
+ },
363
+ {
364
+ "profileId": "photivra-consumer-prime:pupil:2:2",
365
+ "profileVersion": "1.0.0",
366
+ "fieldPointMm": {
367
+ "x": 18,
368
+ "y": 12
369
+ },
370
+ "signedDefocusImagePlaneMicrometers": 20,
371
+ "energy": 1,
372
+ "peakFraction": 0.226182739151,
373
+ "outerSampleEnergyFraction": 0.236050697007,
374
+ "centroidMicrometers": {
375
+ "x": -0.893838140213,
376
+ "y": -9.02056207508e-17
377
+ },
378
+ "covarianceSquareMicrometers": {
379
+ "xx": 2.61780052735,
380
+ "yy": 3.03343052032,
381
+ "xy": -9.45070120965e-17
382
+ },
383
+ "textureContrastAt100CyclesPerMm": {
384
+ "horizontal": 0.612526603767,
385
+ "vertical": 0.558114117674,
386
+ "diagonal": 0.616112169188
387
+ },
388
+ "relativePupilThroughputFactor": 0.65
389
+ }
390
+ ],
391
+ "cornerCaSeparationMm": 0.346132922445,
392
+ "cornerIllumination": 0.5,
393
+ "breathingProjectionScale": 1.03,
394
+ "flare": [
395
+ {
396
+ "sourceAngleDegrees": 0,
397
+ "ghost": 0.516942703244,
398
+ "veil": 0.019098593171,
399
+ "primaryOnlyMeter": 1,
400
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.981259327312
401
+ },
402
+ {
403
+ "sourceAngleDegrees": 50,
404
+ "ghost": 6.47230101907,
405
+ "veil": 0.019098593171,
406
+ "primaryOnlyMeter": 1,
407
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.981259327312
408
+ }
409
+ ],
410
+ "sampledEdgeRow": [
411
+ 0.179230769231,
412
+ 0.172692307692,
413
+ 0.202307692308,
414
+ 0.188076923077,
415
+ 0.81,
416
+ 0.782307692308,
417
+ 0.779230769231,
418
+ 0.720769230769,
419
+ 0.686923076923
420
+ ],
421
+ "sampledCornerEdgeRow": [
422
+ 0.148461538462,
423
+ 0.141923076923,
424
+ 0.171538461538,
425
+ 0.157307692308,
426
+ 0.179230769231,
427
+ 0.157307692308,
428
+ 0.656153846154,
429
+ 0.597692307692,
430
+ 0.563846153846
431
+ ]
432
+ },
433
+ "correctionCosts": {
434
+ "maximumPrincipalStretch": 1,
435
+ "maximumOutputMagnification": 1.13690020245,
436
+ "minimumJacobianDeterminant": 0.844025714736,
437
+ "cornerGain": 1.74110112659,
438
+ "cornerGainOnlyVarianceRatio": 3.03143313302,
439
+ "shiftedJointCrop": {
440
+ "x": 0,
441
+ "y": 0,
442
+ "width": 7,
443
+ "height": 9
444
+ },
445
+ "shiftedRetainedFraction": 0.777777777778,
446
+ "retainedSampleRayEnvelopeDegrees": {
447
+ "minX": -6.74400441197,
448
+ "maxX": 13.1275127909,
449
+ "minY": -13.1275127909,
450
+ "maxY": 13.1275127909
451
+ },
452
+ "capturedPixelEdgeFovDegrees": {
453
+ "horizontal": 29.9305800862,
454
+ "vertical": 29.9305800862
455
+ }
456
+ },
457
+ "corrected": {
458
+ "maximumResidualDisplacementMm": 0.027547875148,
459
+ "maximumResidualCaMm": 0.0542494535009,
460
+ "sampledEdgeRow": [
461
+ 0.204306202921,
462
+ 0.186652961016,
463
+ 0.208620500569,
464
+ 0.190259473726,
465
+ 0.81,
466
+ 0.788410192745,
467
+ 0.804097281602,
468
+ 0.776855159226,
469
+ 0.787999564269
470
+ ],
471
+ "sampledCornerEdgeRow": [
472
+ 0.197818137106,
473
+ 0.184345519202,
474
+ 0.202207136465,
475
+ 0.184905204822,
476
+ 0.204306202921,
477
+ 0.233023512079,
478
+ 0.757542747517,
479
+ 0.761159676584,
480
+ 0.771283773777
481
+ ],
482
+ "captureId": "photivra:tier-matched-reference-v1:edge",
483
+ "noiseRealizationId": "owned-alternating-12345",
484
+ "clippingEvents": 0
485
+ },
486
+ "body": {
487
+ "stabilization": [
488
+ {
489
+ "timeSecondsFromCaptureReference": 0,
490
+ "disturbanceAngularDisplacementRad": {
491
+ "pitch": 0,
492
+ "yaw": 0,
493
+ "roll": 0
494
+ },
495
+ "appliedCorrectionAngularDisplacementRad": {
496
+ "pitch": 0,
497
+ "yaw": 0,
498
+ "roll": 0
499
+ },
500
+ "residualAngularDisplacementRad": {
501
+ "pitch": 0,
502
+ "yaw": 0,
503
+ "roll": 0
504
+ },
505
+ "axes": [
506
+ {
507
+ "axis": "pitch",
508
+ "disturbanceAngleRad": 0,
509
+ "delayedMeasuredAngleRad": 0,
510
+ "requestedCorrectionAngleRad": 0,
511
+ "appliedCorrectionAngleRad": 0,
512
+ "residualAngleRad": 0,
513
+ "correctionGain": 0.35,
514
+ "latencySeconds": 0.001,
515
+ "maximumCorrectionAngleRad": 0.005,
516
+ "bypassedForDeclaredPan": false,
517
+ "correctionLimitReached": false
518
+ },
519
+ {
520
+ "axis": "yaw",
521
+ "disturbanceAngleRad": 0,
522
+ "delayedMeasuredAngleRad": 0,
523
+ "requestedCorrectionAngleRad": 0,
524
+ "appliedCorrectionAngleRad": 0,
525
+ "residualAngleRad": 0,
526
+ "correctionGain": 0.35,
527
+ "latencySeconds": 0.001,
528
+ "maximumCorrectionAngleRad": 0.005,
529
+ "bypassedForDeclaredPan": false,
530
+ "correctionLimitReached": false
531
+ },
532
+ {
533
+ "axis": "roll",
534
+ "disturbanceAngleRad": 0,
535
+ "delayedMeasuredAngleRad": 0,
536
+ "requestedCorrectionAngleRad": 0,
537
+ "appliedCorrectionAngleRad": 0,
538
+ "residualAngleRad": 0,
539
+ "correctionGain": 0.35,
540
+ "latencySeconds": 0.001,
541
+ "maximumCorrectionAngleRad": 0.005,
542
+ "bypassedForDeclaredPan": false,
543
+ "correctionLimitReached": false
544
+ }
545
+ ]
546
+ },
547
+ {
548
+ "timeSecondsFromCaptureReference": 0.0005,
549
+ "disturbanceAngularDisplacementRad": {
550
+ "pitch": 0.00025,
551
+ "yaw": 0.000125,
552
+ "roll": 0.0000625
553
+ },
554
+ "appliedCorrectionAngularDisplacementRad": {
555
+ "pitch": 0,
556
+ "yaw": 0,
557
+ "roll": 0
558
+ },
559
+ "residualAngularDisplacementRad": {
560
+ "pitch": 0.00025,
561
+ "yaw": 0.000125,
562
+ "roll": 0.0000625
563
+ },
564
+ "axes": [
565
+ {
566
+ "axis": "pitch",
567
+ "disturbanceAngleRad": 0.00025,
568
+ "delayedMeasuredAngleRad": 0,
569
+ "requestedCorrectionAngleRad": 0,
570
+ "appliedCorrectionAngleRad": 0,
571
+ "residualAngleRad": 0.00025,
572
+ "correctionGain": 0.35,
573
+ "latencySeconds": 0.001,
574
+ "maximumCorrectionAngleRad": 0.005,
575
+ "bypassedForDeclaredPan": false,
576
+ "correctionLimitReached": false
577
+ },
578
+ {
579
+ "axis": "yaw",
580
+ "disturbanceAngleRad": 0.000125,
581
+ "delayedMeasuredAngleRad": 0,
582
+ "requestedCorrectionAngleRad": 0,
583
+ "appliedCorrectionAngleRad": 0,
584
+ "residualAngleRad": 0.000125,
585
+ "correctionGain": 0.35,
586
+ "latencySeconds": 0.001,
587
+ "maximumCorrectionAngleRad": 0.005,
588
+ "bypassedForDeclaredPan": false,
589
+ "correctionLimitReached": false
590
+ },
591
+ {
592
+ "axis": "roll",
593
+ "disturbanceAngleRad": 0.0000625,
594
+ "delayedMeasuredAngleRad": 0,
595
+ "requestedCorrectionAngleRad": 0,
596
+ "appliedCorrectionAngleRad": 0,
597
+ "residualAngleRad": 0.0000625,
598
+ "correctionGain": 0.35,
599
+ "latencySeconds": 0.001,
600
+ "maximumCorrectionAngleRad": 0.005,
601
+ "bypassedForDeclaredPan": false,
602
+ "correctionLimitReached": false
603
+ }
604
+ ]
605
+ },
606
+ {
607
+ "timeSecondsFromCaptureReference": 0.008,
608
+ "disturbanceAngularDisplacementRad": {
609
+ "pitch": 0.004,
610
+ "yaw": 0.002,
611
+ "roll": 0.001
612
+ },
613
+ "appliedCorrectionAngularDisplacementRad": {
614
+ "pitch": 0.001225,
615
+ "yaw": 0.0006125,
616
+ "roll": 0.00030625
617
+ },
618
+ "residualAngularDisplacementRad": {
619
+ "pitch": 0.002775,
620
+ "yaw": 0.0013875,
621
+ "roll": 0.00069375
622
+ },
623
+ "axes": [
624
+ {
625
+ "axis": "pitch",
626
+ "disturbanceAngleRad": 0.004,
627
+ "delayedMeasuredAngleRad": 0.0035,
628
+ "requestedCorrectionAngleRad": 0.001225,
629
+ "appliedCorrectionAngleRad": 0.001225,
630
+ "residualAngleRad": 0.002775,
631
+ "correctionGain": 0.35,
632
+ "latencySeconds": 0.001,
633
+ "maximumCorrectionAngleRad": 0.005,
634
+ "bypassedForDeclaredPan": false,
635
+ "correctionLimitReached": false
636
+ },
637
+ {
638
+ "axis": "yaw",
639
+ "disturbanceAngleRad": 0.002,
640
+ "delayedMeasuredAngleRad": 0.00175,
641
+ "requestedCorrectionAngleRad": 0.0006125,
642
+ "appliedCorrectionAngleRad": 0.0006125,
643
+ "residualAngleRad": 0.0013875,
644
+ "correctionGain": 0.35,
645
+ "latencySeconds": 0.001,
646
+ "maximumCorrectionAngleRad": 0.005,
647
+ "bypassedForDeclaredPan": false,
648
+ "correctionLimitReached": false
649
+ },
650
+ {
651
+ "axis": "roll",
652
+ "disturbanceAngleRad": 0.001,
653
+ "delayedMeasuredAngleRad": 0.000875,
654
+ "requestedCorrectionAngleRad": 0.00030625,
655
+ "appliedCorrectionAngleRad": 0.00030625,
656
+ "residualAngleRad": 0.00069375,
657
+ "correctionGain": 0.35,
658
+ "latencySeconds": 0.001,
659
+ "maximumCorrectionAngleRad": 0.005,
660
+ "bypassedForDeclaredPan": false,
661
+ "correctionLimitReached": false
662
+ }
663
+ ]
664
+ }
665
+ ],
666
+ "saturatedStabilization": [
667
+ {
668
+ "timeSecondsFromCaptureReference": 0,
669
+ "disturbanceAngularDisplacementRad": {
670
+ "pitch": 0,
671
+ "yaw": 0,
672
+ "roll": 0
673
+ },
674
+ "appliedCorrectionAngularDisplacementRad": {
675
+ "pitch": 0,
676
+ "yaw": 0,
677
+ "roll": 0
678
+ },
679
+ "residualAngularDisplacementRad": {
680
+ "pitch": 0,
681
+ "yaw": 0,
682
+ "roll": 0
683
+ },
684
+ "axes": [
685
+ {
686
+ "axis": "pitch",
687
+ "disturbanceAngleRad": 0,
688
+ "delayedMeasuredAngleRad": 0,
689
+ "requestedCorrectionAngleRad": 0,
690
+ "appliedCorrectionAngleRad": 0,
691
+ "residualAngleRad": 0,
692
+ "correctionGain": 0.35,
693
+ "latencySeconds": 0.001,
694
+ "maximumCorrectionAngleRad": 0.005,
695
+ "bypassedForDeclaredPan": false,
696
+ "correctionLimitReached": false
697
+ },
698
+ {
699
+ "axis": "yaw",
700
+ "disturbanceAngleRad": 0,
701
+ "delayedMeasuredAngleRad": 0,
702
+ "requestedCorrectionAngleRad": 0,
703
+ "appliedCorrectionAngleRad": 0,
704
+ "residualAngleRad": 0,
705
+ "correctionGain": 0.35,
706
+ "latencySeconds": 0.001,
707
+ "maximumCorrectionAngleRad": 0.005,
708
+ "bypassedForDeclaredPan": false,
709
+ "correctionLimitReached": false
710
+ },
711
+ {
712
+ "axis": "roll",
713
+ "disturbanceAngleRad": 0,
714
+ "delayedMeasuredAngleRad": 0,
715
+ "requestedCorrectionAngleRad": 0,
716
+ "appliedCorrectionAngleRad": 0,
717
+ "residualAngleRad": 0,
718
+ "correctionGain": 0.35,
719
+ "latencySeconds": 0.001,
720
+ "maximumCorrectionAngleRad": 0.005,
721
+ "bypassedForDeclaredPan": false,
722
+ "correctionLimitReached": false
723
+ }
724
+ ]
725
+ },
726
+ {
727
+ "timeSecondsFromCaptureReference": 0.0005,
728
+ "disturbanceAngularDisplacementRad": {
729
+ "pitch": 0.005,
730
+ "yaw": 0.0025,
731
+ "roll": 0.00125
732
+ },
733
+ "appliedCorrectionAngularDisplacementRad": {
734
+ "pitch": 0,
735
+ "yaw": 0,
736
+ "roll": 0
737
+ },
738
+ "residualAngularDisplacementRad": {
739
+ "pitch": 0.005,
740
+ "yaw": 0.0025,
741
+ "roll": 0.00125
742
+ },
743
+ "axes": [
744
+ {
745
+ "axis": "pitch",
746
+ "disturbanceAngleRad": 0.005,
747
+ "delayedMeasuredAngleRad": 0,
748
+ "requestedCorrectionAngleRad": 0,
749
+ "appliedCorrectionAngleRad": 0,
750
+ "residualAngleRad": 0.005,
751
+ "correctionGain": 0.35,
752
+ "latencySeconds": 0.001,
753
+ "maximumCorrectionAngleRad": 0.005,
754
+ "bypassedForDeclaredPan": false,
755
+ "correctionLimitReached": false
756
+ },
757
+ {
758
+ "axis": "yaw",
759
+ "disturbanceAngleRad": 0.0025,
760
+ "delayedMeasuredAngleRad": 0,
761
+ "requestedCorrectionAngleRad": 0,
762
+ "appliedCorrectionAngleRad": 0,
763
+ "residualAngleRad": 0.0025,
764
+ "correctionGain": 0.35,
765
+ "latencySeconds": 0.001,
766
+ "maximumCorrectionAngleRad": 0.005,
767
+ "bypassedForDeclaredPan": false,
768
+ "correctionLimitReached": false
769
+ },
770
+ {
771
+ "axis": "roll",
772
+ "disturbanceAngleRad": 0.00125,
773
+ "delayedMeasuredAngleRad": 0,
774
+ "requestedCorrectionAngleRad": 0,
775
+ "appliedCorrectionAngleRad": 0,
776
+ "residualAngleRad": 0.00125,
777
+ "correctionGain": 0.35,
778
+ "latencySeconds": 0.001,
779
+ "maximumCorrectionAngleRad": 0.005,
780
+ "bypassedForDeclaredPan": false,
781
+ "correctionLimitReached": false
782
+ }
783
+ ]
784
+ },
785
+ {
786
+ "timeSecondsFromCaptureReference": 0.008,
787
+ "disturbanceAngularDisplacementRad": {
788
+ "pitch": 0.08,
789
+ "yaw": 0.04,
790
+ "roll": 0.02
791
+ },
792
+ "appliedCorrectionAngularDisplacementRad": {
793
+ "pitch": 0.005,
794
+ "yaw": 0.005,
795
+ "roll": 0.005
796
+ },
797
+ "residualAngularDisplacementRad": {
798
+ "pitch": 0.075,
799
+ "yaw": 0.035,
800
+ "roll": 0.015
801
+ },
802
+ "axes": [
803
+ {
804
+ "axis": "pitch",
805
+ "disturbanceAngleRad": 0.08,
806
+ "delayedMeasuredAngleRad": 0.07,
807
+ "requestedCorrectionAngleRad": 0.0245,
808
+ "appliedCorrectionAngleRad": 0.005,
809
+ "residualAngleRad": 0.075,
810
+ "correctionGain": 0.35,
811
+ "latencySeconds": 0.001,
812
+ "maximumCorrectionAngleRad": 0.005,
813
+ "bypassedForDeclaredPan": false,
814
+ "correctionLimitReached": true
815
+ },
816
+ {
817
+ "axis": "yaw",
818
+ "disturbanceAngleRad": 0.04,
819
+ "delayedMeasuredAngleRad": 0.035,
820
+ "requestedCorrectionAngleRad": 0.01225,
821
+ "appliedCorrectionAngleRad": 0.005,
822
+ "residualAngleRad": 0.035,
823
+ "correctionGain": 0.35,
824
+ "latencySeconds": 0.001,
825
+ "maximumCorrectionAngleRad": 0.005,
826
+ "bypassedForDeclaredPan": false,
827
+ "correctionLimitReached": true
828
+ },
829
+ {
830
+ "axis": "roll",
831
+ "disturbanceAngleRad": 0.02,
832
+ "delayedMeasuredAngleRad": 0.0175,
833
+ "requestedCorrectionAngleRad": 0.006125,
834
+ "appliedCorrectionAngleRad": 0.005,
835
+ "residualAngleRad": 0.015,
836
+ "correctionGain": 0.35,
837
+ "latencySeconds": 0.001,
838
+ "maximumCorrectionAngleRad": 0.005,
839
+ "bypassedForDeclaredPan": false,
840
+ "correctionLimitReached": true
841
+ }
842
+ ]
843
+ }
844
+ ],
845
+ "flash": {
846
+ "frontStartSeconds": 0.002,
847
+ "rearStartSeconds": 0.006,
848
+ "dataReadoutSeconds": {
849
+ "value": 0.03,
850
+ "unit": "s",
851
+ "evidence": [
852
+ {
853
+ "sourceOrigin": "photivra",
854
+ "sourceReference": "photivra:generic-tier-assets-v1",
855
+ "reuseStatus": "photivra-owned"
856
+ }
857
+ ]
858
+ },
859
+ "wholeFrameOpenInterval": {
860
+ "startSecondsFromCaptureReference": 0.002,
861
+ "endSecondsFromCaptureReference": 0.008,
862
+ "durationSeconds": 0.006
863
+ }
864
+ }
865
+ }
866
+ },
867
+ {
868
+ "tier": "prosumer",
869
+ "selection": {
870
+ "schemaVersion": "0.1.0",
871
+ "presetVersion": "1.0.0",
872
+ "bodyTier": "prosumer",
873
+ "lensTier": "prosumer",
874
+ "bodyPresetId": "photivra-prosumer:body",
875
+ "lensPresetId": "photivra-prosumer:lens",
876
+ "profileReferences": [
877
+ {
878
+ "profileId": "photivra-prosumer-body:exposure",
879
+ "profileVersion": "1.0.0"
880
+ },
881
+ {
882
+ "profileId": "photivra-prosumer-body:iso",
883
+ "profileVersion": "1.0.0"
884
+ },
885
+ {
886
+ "profileId": "photivra-prosumer-body:signal-chain",
887
+ "profileVersion": "1.0.0"
888
+ },
889
+ {
890
+ "profileId": "photivra-prosumer-body:release",
891
+ "profileVersion": "1.0.0"
892
+ },
893
+ {
894
+ "profileId": "photivra-prosumer-body:focus",
895
+ "profileVersion": "1.0.0"
896
+ },
897
+ {
898
+ "profileId": "photivra-prosumer-body:stabilization",
899
+ "profileVersion": "1.0.0"
900
+ },
901
+ {
902
+ "profileId": "photivra-prosumer-body:white-balance",
903
+ "profileVersion": "1.0.0"
904
+ },
905
+ {
906
+ "profileId": "photivra-prosumer-body:metering-capabilities",
907
+ "profileVersion": "1.0.0"
908
+ },
909
+ {
910
+ "profileId": "photivra-prosumer-body:flash-sync",
911
+ "profileVersion": "1.0.0"
912
+ },
913
+ {
914
+ "profileId": "photivra-prosumer-body:readout:red",
915
+ "profileVersion": "1.0.0"
916
+ },
917
+ {
918
+ "profileId": "photivra-prosumer-body:readout:green",
919
+ "profileVersion": "1.0.0"
920
+ },
921
+ {
922
+ "profileId": "photivra-prosumer-body:readout:blue",
923
+ "profileVersion": "1.0.0"
924
+ },
925
+ {
926
+ "profileId": "photivra-prosumer-body:data-readout",
927
+ "profileVersion": "1.0.0"
928
+ },
929
+ {
930
+ "profileId": "photivra-prosumer-body:meter:multi-zone-uniform",
931
+ "profileVersion": "1.0.0"
932
+ },
933
+ {
934
+ "profileId": "photivra-prosumer-body:meter:highlight-weighted",
935
+ "profileVersion": "1.0.0"
936
+ },
937
+ {
938
+ "profileId": "photivra-prosumer-prime:exposure",
939
+ "profileVersion": "1.0.0"
940
+ },
941
+ {
942
+ "profileId": "photivra-prosumer-prime:radial",
943
+ "profileVersion": "1.0.0"
944
+ },
945
+ {
946
+ "profileId": "photivra-prosumer-prime:lateral-ca",
947
+ "profileVersion": "1.0.0"
948
+ },
949
+ {
950
+ "profileId": "photivra-prosumer-prime:vignetting",
951
+ "profileVersion": "1.0.0"
952
+ },
953
+ {
954
+ "profileId": "photivra-prosumer-prime:breathing",
955
+ "profileVersion": "1.0.0"
956
+ },
957
+ {
958
+ "profileId": "photivra-prosumer-prime:transmission",
959
+ "profileVersion": "1.0.0"
960
+ },
961
+ {
962
+ "profileId": "photivra-prosumer-prime:pupil",
963
+ "profileVersion": "1.0.0"
964
+ },
965
+ {
966
+ "profileId": "photivra-prosumer-prime:stray",
967
+ "profileVersion": "1.0.0"
968
+ },
969
+ {
970
+ "profileId": "photivra-prosumer-prime:correction",
971
+ "profileVersion": "1.0.0"
972
+ }
973
+ ],
974
+ "sensorFormatSelectedByTier": false,
975
+ "scientificTierMultiplierApplied": false
976
+ },
977
+ "tradeoffs": [
978
+ "Lower matched-reference peripheral gain/noise amplification than Professional; not universally inferior."
979
+ ],
980
+ "physical": {
981
+ "pupilResponses": [
982
+ {
983
+ "profileId": "photivra-prosumer-prime:pupil:0:0",
984
+ "profileVersion": "1.0.0",
985
+ "fieldPointMm": {
986
+ "x": 0,
987
+ "y": 0
988
+ },
989
+ "signedDefocusImagePlaneMicrometers": -20,
990
+ "energy": 1,
991
+ "peakFraction": 0.429549295085,
992
+ "outerSampleEnergyFraction": 0.171835539304,
993
+ "centroidMicrometers": {
994
+ "x": 6.24500451352e-17,
995
+ "y": 1.11022302463e-16
996
+ },
997
+ "covarianceSquareMicrometers": {
998
+ "xx": 2.34214896967,
999
+ "yy": 2.34214896967,
1000
+ "xy": -6.93334779979e-33
1001
+ },
1002
+ "textureContrastAt100CyclesPerMm": {
1003
+ "horizontal": 0.650887604807,
1004
+ "vertical": 0.650887604807,
1005
+ "diagonal": 0.692127432369
1006
+ },
1007
+ "relativePupilThroughputFactor": 1
1008
+ },
1009
+ {
1010
+ "profileId": "photivra-prosumer-prime:pupil:0:1",
1011
+ "profileVersion": "1.0.0",
1012
+ "fieldPointMm": {
1013
+ "x": 0,
1014
+ "y": 0
1015
+ },
1016
+ "signedDefocusImagePlaneMicrometers": 0,
1017
+ "energy": 1,
1018
+ "peakFraction": 0.52,
1019
+ "outerSampleEnergyFraction": 0.137866167677,
1020
+ "centroidMicrometers": {
1021
+ "x": -3.46944695195e-18,
1022
+ "y": -1.73472347598e-17
1023
+ },
1024
+ "covarianceSquareMicrometers": {
1025
+ "xx": 1.74340515381,
1026
+ "yy": 1.74340515381,
1027
+ "xy": 8.32667268469e-17
1028
+ },
1029
+ "textureContrastAt100CyclesPerMm": {
1030
+ "horizontal": 0.741291160077,
1031
+ "vertical": 0.741291160077,
1032
+ "diagonal": 0.762322936678
1033
+ },
1034
+ "relativePupilThroughputFactor": 1
1035
+ },
1036
+ {
1037
+ "profileId": "photivra-prosumer-prime:pupil:0:2",
1038
+ "profileVersion": "1.0.0",
1039
+ "fieldPointMm": {
1040
+ "x": 0,
1041
+ "y": 0
1042
+ },
1043
+ "signedDefocusImagePlaneMicrometers": 20,
1044
+ "energy": 1,
1045
+ "peakFraction": 0.429549295085,
1046
+ "outerSampleEnergyFraction": 0.171835539304,
1047
+ "centroidMicrometers": {
1048
+ "x": -4.16333634234e-17,
1049
+ "y": -6.93889390391e-18
1050
+ },
1051
+ "covarianceSquareMicrometers": {
1052
+ "xx": 2.34214896967,
1053
+ "yy": 2.34214896967,
1054
+ "xy": -5.55111512313e-17
1055
+ },
1056
+ "textureContrastAt100CyclesPerMm": {
1057
+ "horizontal": 0.650887604807,
1058
+ "vertical": 0.650887604807,
1059
+ "diagonal": 0.692127432369
1060
+ },
1061
+ "relativePupilThroughputFactor": 1
1062
+ },
1063
+ {
1064
+ "profileId": "photivra-prosumer-prime:pupil:1:0",
1065
+ "profileVersion": "1.0.0",
1066
+ "fieldPointMm": {
1067
+ "x": 10,
1068
+ "y": 6
1069
+ },
1070
+ "signedDefocusImagePlaneMicrometers": -20,
1071
+ "energy": 1,
1072
+ "peakFraction": 0.429549295085,
1073
+ "outerSampleEnergyFraction": 0.171835539304,
1074
+ "centroidMicrometers": {
1075
+ "x": 6.24500451352e-17,
1076
+ "y": 1.11022302463e-16
1077
+ },
1078
+ "covarianceSquareMicrometers": {
1079
+ "xx": 2.34214896967,
1080
+ "yy": 2.34214896967,
1081
+ "xy": -6.93334779979e-33
1082
+ },
1083
+ "textureContrastAt100CyclesPerMm": {
1084
+ "horizontal": 0.650887604807,
1085
+ "vertical": 0.650887604807,
1086
+ "diagonal": 0.692127432369
1087
+ },
1088
+ "relativePupilThroughputFactor": 0.95
1089
+ },
1090
+ {
1091
+ "profileId": "photivra-prosumer-prime:pupil:1:1",
1092
+ "profileVersion": "1.0.0",
1093
+ "fieldPointMm": {
1094
+ "x": 10,
1095
+ "y": 6
1096
+ },
1097
+ "signedDefocusImagePlaneMicrometers": 0,
1098
+ "energy": 1,
1099
+ "peakFraction": 0.52,
1100
+ "outerSampleEnergyFraction": 0.137866167677,
1101
+ "centroidMicrometers": {
1102
+ "x": -3.46944695195e-18,
1103
+ "y": -1.73472347598e-17
1104
+ },
1105
+ "covarianceSquareMicrometers": {
1106
+ "xx": 1.74340515381,
1107
+ "yy": 1.74340515381,
1108
+ "xy": 8.32667268469e-17
1109
+ },
1110
+ "textureContrastAt100CyclesPerMm": {
1111
+ "horizontal": 0.741291160077,
1112
+ "vertical": 0.741291160077,
1113
+ "diagonal": 0.762322936678
1114
+ },
1115
+ "relativePupilThroughputFactor": 0.95
1116
+ },
1117
+ {
1118
+ "profileId": "photivra-prosumer-prime:pupil:1:2",
1119
+ "profileVersion": "1.0.0",
1120
+ "fieldPointMm": {
1121
+ "x": 10,
1122
+ "y": 6
1123
+ },
1124
+ "signedDefocusImagePlaneMicrometers": 20,
1125
+ "energy": 1,
1126
+ "peakFraction": 0.429549295085,
1127
+ "outerSampleEnergyFraction": 0.171835539304,
1128
+ "centroidMicrometers": {
1129
+ "x": -4.16333634234e-17,
1130
+ "y": -6.93889390391e-18
1131
+ },
1132
+ "covarianceSquareMicrometers": {
1133
+ "xx": 2.34214896967,
1134
+ "yy": 2.34214896967,
1135
+ "xy": -5.55111512313e-17
1136
+ },
1137
+ "textureContrastAt100CyclesPerMm": {
1138
+ "horizontal": 0.650887604807,
1139
+ "vertical": 0.650887604807,
1140
+ "diagonal": 0.692127432369
1141
+ },
1142
+ "relativePupilThroughputFactor": 0.95
1143
+ },
1144
+ {
1145
+ "profileId": "photivra-prosumer-prime:pupil:2:0",
1146
+ "profileVersion": "1.0.0",
1147
+ "fieldPointMm": {
1148
+ "x": 18,
1149
+ "y": 12
1150
+ },
1151
+ "signedDefocusImagePlaneMicrometers": -20,
1152
+ "energy": 1,
1153
+ "peakFraction": 0.401139134407,
1154
+ "outerSampleEnergyFraction": 0.189688639721,
1155
+ "centroidMicrometers": {
1156
+ "x": 0.182932767938,
1157
+ "y": 2.08166817117e-17
1158
+ },
1159
+ "covarianceSquareMicrometers": {
1160
+ "xx": 2.86297650989,
1161
+ "yy": 2.02106138381,
1162
+ "xy": -3.8080532048e-18
1163
+ },
1164
+ "textureContrastAt100CyclesPerMm": {
1165
+ "horizontal": 0.582634788288,
1166
+ "vertical": 0.693445630773,
1167
+ "diagonal": 0.676824353111
1168
+ },
1169
+ "relativePupilThroughputFactor": 0.85
1170
+ },
1171
+ {
1172
+ "profileId": "photivra-prosumer-prime:pupil:2:1",
1173
+ "profileVersion": "1.0.0",
1174
+ "fieldPointMm": {
1175
+ "x": 18,
1176
+ "y": 12
1177
+ },
1178
+ "signedDefocusImagePlaneMicrometers": 0,
1179
+ "energy": 1,
1180
+ "peakFraction": 0.48,
1181
+ "outerSampleEnergyFraction": 0.149355014983,
1182
+ "centroidMicrometers": {
1183
+ "x": 1.38777878078e-17,
1184
+ "y": 3.46944695195e-18
1185
+ },
1186
+ "covarianceSquareMicrometers": {
1187
+ "xx": 2.40495558329,
1188
+ "yy": 1.37242224996,
1189
+ "xy": 1.38777878078e-17
1190
+ },
1191
+ "textureContrastAt100CyclesPerMm": {
1192
+ "horizontal": 0.648081364518,
1193
+ "vertical": 0.791382815649,
1194
+ "diagonal": 0.742516514735
1195
+ },
1196
+ "relativePupilThroughputFactor": 0.85
1197
+ },
1198
+ {
1199
+ "profileId": "photivra-prosumer-prime:pupil:2:2",
1200
+ "profileVersion": "1.0.0",
1201
+ "fieldPointMm": {
1202
+ "x": 18,
1203
+ "y": 12
1204
+ },
1205
+ "signedDefocusImagePlaneMicrometers": 20,
1206
+ "energy": 1,
1207
+ "peakFraction": 0.401139134407,
1208
+ "outerSampleEnergyFraction": 0.189688639721,
1209
+ "centroidMicrometers": {
1210
+ "x": -0.182932767938,
1211
+ "y": -2.77555756156e-17
1212
+ },
1213
+ "covarianceSquareMicrometers": {
1214
+ "xx": 2.86297650989,
1215
+ "yy": 2.02106138381,
1216
+ "xy": -5.07740427307e-18
1217
+ },
1218
+ "textureContrastAt100CyclesPerMm": {
1219
+ "horizontal": 0.582634788288,
1220
+ "vertical": 0.693445630773,
1221
+ "diagonal": 0.676824353111
1222
+ },
1223
+ "relativePupilThroughputFactor": 0.85
1224
+ }
1225
+ ],
1226
+ "cornerCaSeparationMm": 0.173066461222,
1227
+ "cornerIllumination": 0.75,
1228
+ "breathingProjectionScale": 1.015,
1229
+ "flare": [
1230
+ {
1231
+ "sourceAngleDegrees": 0,
1232
+ "ghost": 0.258471351622,
1233
+ "veil": 0.00954929658551,
1234
+ "primaryOnlyMeter": 1,
1235
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.990541029925
1236
+ },
1237
+ {
1238
+ "sourceAngleDegrees": 50,
1239
+ "ghost": 3.23615050954,
1240
+ "veil": 0.00954929658551,
1241
+ "primaryOnlyMeter": 1,
1242
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.990541029925
1243
+ }
1244
+ ],
1245
+ "sampledEdgeRow": [
1246
+ 0.194615384615,
1247
+ 0.181346153846,
1248
+ 0.206153846154,
1249
+ 0.189038461538,
1250
+ 0.81,
1251
+ 0.786153846154,
1252
+ 0.794615384615,
1253
+ 0.755384615385,
1254
+ 0.748461538462
1255
+ ],
1256
+ "sampledCornerEdgeRow": [
1257
+ 0.179230769231,
1258
+ 0.165961538462,
1259
+ 0.190769230769,
1260
+ 0.173653846154,
1261
+ 0.194615384615,
1262
+ 0.173653846154,
1263
+ 0.733076923077,
1264
+ 0.693846153846,
1265
+ 0.686923076923
1266
+ ]
1267
+ },
1268
+ "correctionCosts": {
1269
+ "maximumPrincipalStretch": 1,
1270
+ "maximumOutputMagnification": 1.05441670908,
1271
+ "minimumJacobianDeterminant": 0.932019432255,
1272
+ "cornerGain": 1.18840163864,
1273
+ "cornerGainOnlyVarianceRatio": 1.41229845473,
1274
+ "shiftedJointCrop": {
1275
+ "x": 0,
1276
+ "y": 0,
1277
+ "width": 7,
1278
+ "height": 9
1279
+ },
1280
+ "shiftedRetainedFraction": 0.777777777778,
1281
+ "retainedSampleRayEnvelopeDegrees": {
1282
+ "minX": -6.76207684731,
1283
+ "maxX": 13.266478131,
1284
+ "minY": -13.266478131,
1285
+ "maxY": 13.266478131
1286
+ },
1287
+ "capturedPixelEdgeFovDegrees": {
1288
+ "horizontal": 29.9305800862,
1289
+ "vertical": 29.9305800862
1290
+ }
1291
+ },
1292
+ "corrected": {
1293
+ "maximumResidualDisplacementMm": 0.0104541610413,
1294
+ "maximumResidualCaMm": 0.0207534037013,
1295
+ "sampledEdgeRow": [
1296
+ 0.20376161224,
1297
+ 0.186554192162,
1298
+ 0.208503160561,
1299
+ 0.189885274588,
1300
+ 0.81,
1301
+ 0.78844185395,
1302
+ 0.803894546244,
1303
+ 0.776223833433,
1304
+ 0.785507502828
1305
+ ],
1306
+ "sampledCornerEdgeRow": [
1307
+ 0.196488818442,
1308
+ 0.181494010175,
1309
+ 0.201838447306,
1310
+ 0.183857762615,
1311
+ 0.20376161224,
1312
+ 0.203349590016,
1313
+ 0.768236434451,
1314
+ 0.75314525568,
1315
+ 0.760453249594
1316
+ ],
1317
+ "captureId": "photivra:tier-matched-reference-v1:edge",
1318
+ "noiseRealizationId": "owned-alternating-12345",
1319
+ "clippingEvents": 0
1320
+ },
1321
+ "body": {
1322
+ "stabilization": [
1323
+ {
1324
+ "timeSecondsFromCaptureReference": 0,
1325
+ "disturbanceAngularDisplacementRad": {
1326
+ "pitch": 0,
1327
+ "yaw": 0,
1328
+ "roll": 0
1329
+ },
1330
+ "appliedCorrectionAngularDisplacementRad": {
1331
+ "pitch": 0,
1332
+ "yaw": 0,
1333
+ "roll": 0
1334
+ },
1335
+ "residualAngularDisplacementRad": {
1336
+ "pitch": 0,
1337
+ "yaw": 0,
1338
+ "roll": 0
1339
+ },
1340
+ "axes": [
1341
+ {
1342
+ "axis": "pitch",
1343
+ "disturbanceAngleRad": 0,
1344
+ "delayedMeasuredAngleRad": 0,
1345
+ "requestedCorrectionAngleRad": 0,
1346
+ "appliedCorrectionAngleRad": 0,
1347
+ "residualAngleRad": 0,
1348
+ "correctionGain": 0.65,
1349
+ "latencySeconds": 0.001,
1350
+ "maximumCorrectionAngleRad": 0.01,
1351
+ "bypassedForDeclaredPan": false,
1352
+ "correctionLimitReached": false
1353
+ },
1354
+ {
1355
+ "axis": "yaw",
1356
+ "disturbanceAngleRad": 0,
1357
+ "delayedMeasuredAngleRad": 0,
1358
+ "requestedCorrectionAngleRad": 0,
1359
+ "appliedCorrectionAngleRad": 0,
1360
+ "residualAngleRad": 0,
1361
+ "correctionGain": 0.65,
1362
+ "latencySeconds": 0.001,
1363
+ "maximumCorrectionAngleRad": 0.01,
1364
+ "bypassedForDeclaredPan": false,
1365
+ "correctionLimitReached": false
1366
+ },
1367
+ {
1368
+ "axis": "roll",
1369
+ "disturbanceAngleRad": 0,
1370
+ "delayedMeasuredAngleRad": 0,
1371
+ "requestedCorrectionAngleRad": 0,
1372
+ "appliedCorrectionAngleRad": 0,
1373
+ "residualAngleRad": 0,
1374
+ "correctionGain": 0.65,
1375
+ "latencySeconds": 0.001,
1376
+ "maximumCorrectionAngleRad": 0.01,
1377
+ "bypassedForDeclaredPan": false,
1378
+ "correctionLimitReached": false
1379
+ }
1380
+ ]
1381
+ },
1382
+ {
1383
+ "timeSecondsFromCaptureReference": 0.0005,
1384
+ "disturbanceAngularDisplacementRad": {
1385
+ "pitch": 0.00025,
1386
+ "yaw": 0.000125,
1387
+ "roll": 0.0000625
1388
+ },
1389
+ "appliedCorrectionAngularDisplacementRad": {
1390
+ "pitch": 0,
1391
+ "yaw": 0,
1392
+ "roll": 0
1393
+ },
1394
+ "residualAngularDisplacementRad": {
1395
+ "pitch": 0.00025,
1396
+ "yaw": 0.000125,
1397
+ "roll": 0.0000625
1398
+ },
1399
+ "axes": [
1400
+ {
1401
+ "axis": "pitch",
1402
+ "disturbanceAngleRad": 0.00025,
1403
+ "delayedMeasuredAngleRad": 0,
1404
+ "requestedCorrectionAngleRad": 0,
1405
+ "appliedCorrectionAngleRad": 0,
1406
+ "residualAngleRad": 0.00025,
1407
+ "correctionGain": 0.65,
1408
+ "latencySeconds": 0.001,
1409
+ "maximumCorrectionAngleRad": 0.01,
1410
+ "bypassedForDeclaredPan": false,
1411
+ "correctionLimitReached": false
1412
+ },
1413
+ {
1414
+ "axis": "yaw",
1415
+ "disturbanceAngleRad": 0.000125,
1416
+ "delayedMeasuredAngleRad": 0,
1417
+ "requestedCorrectionAngleRad": 0,
1418
+ "appliedCorrectionAngleRad": 0,
1419
+ "residualAngleRad": 0.000125,
1420
+ "correctionGain": 0.65,
1421
+ "latencySeconds": 0.001,
1422
+ "maximumCorrectionAngleRad": 0.01,
1423
+ "bypassedForDeclaredPan": false,
1424
+ "correctionLimitReached": false
1425
+ },
1426
+ {
1427
+ "axis": "roll",
1428
+ "disturbanceAngleRad": 0.0000625,
1429
+ "delayedMeasuredAngleRad": 0,
1430
+ "requestedCorrectionAngleRad": 0,
1431
+ "appliedCorrectionAngleRad": 0,
1432
+ "residualAngleRad": 0.0000625,
1433
+ "correctionGain": 0.65,
1434
+ "latencySeconds": 0.001,
1435
+ "maximumCorrectionAngleRad": 0.01,
1436
+ "bypassedForDeclaredPan": false,
1437
+ "correctionLimitReached": false
1438
+ }
1439
+ ]
1440
+ },
1441
+ {
1442
+ "timeSecondsFromCaptureReference": 0.008,
1443
+ "disturbanceAngularDisplacementRad": {
1444
+ "pitch": 0.004,
1445
+ "yaw": 0.002,
1446
+ "roll": 0.001
1447
+ },
1448
+ "appliedCorrectionAngularDisplacementRad": {
1449
+ "pitch": 0.002275,
1450
+ "yaw": 0.0011375,
1451
+ "roll": 0.00056875
1452
+ },
1453
+ "residualAngularDisplacementRad": {
1454
+ "pitch": 0.001725,
1455
+ "yaw": 0.0008625,
1456
+ "roll": 0.00043125
1457
+ },
1458
+ "axes": [
1459
+ {
1460
+ "axis": "pitch",
1461
+ "disturbanceAngleRad": 0.004,
1462
+ "delayedMeasuredAngleRad": 0.0035,
1463
+ "requestedCorrectionAngleRad": 0.002275,
1464
+ "appliedCorrectionAngleRad": 0.002275,
1465
+ "residualAngleRad": 0.001725,
1466
+ "correctionGain": 0.65,
1467
+ "latencySeconds": 0.001,
1468
+ "maximumCorrectionAngleRad": 0.01,
1469
+ "bypassedForDeclaredPan": false,
1470
+ "correctionLimitReached": false
1471
+ },
1472
+ {
1473
+ "axis": "yaw",
1474
+ "disturbanceAngleRad": 0.002,
1475
+ "delayedMeasuredAngleRad": 0.00175,
1476
+ "requestedCorrectionAngleRad": 0.0011375,
1477
+ "appliedCorrectionAngleRad": 0.0011375,
1478
+ "residualAngleRad": 0.0008625,
1479
+ "correctionGain": 0.65,
1480
+ "latencySeconds": 0.001,
1481
+ "maximumCorrectionAngleRad": 0.01,
1482
+ "bypassedForDeclaredPan": false,
1483
+ "correctionLimitReached": false
1484
+ },
1485
+ {
1486
+ "axis": "roll",
1487
+ "disturbanceAngleRad": 0.001,
1488
+ "delayedMeasuredAngleRad": 0.000875,
1489
+ "requestedCorrectionAngleRad": 0.00056875,
1490
+ "appliedCorrectionAngleRad": 0.00056875,
1491
+ "residualAngleRad": 0.00043125,
1492
+ "correctionGain": 0.65,
1493
+ "latencySeconds": 0.001,
1494
+ "maximumCorrectionAngleRad": 0.01,
1495
+ "bypassedForDeclaredPan": false,
1496
+ "correctionLimitReached": false
1497
+ }
1498
+ ]
1499
+ }
1500
+ ],
1501
+ "saturatedStabilization": [
1502
+ {
1503
+ "timeSecondsFromCaptureReference": 0,
1504
+ "disturbanceAngularDisplacementRad": {
1505
+ "pitch": 0,
1506
+ "yaw": 0,
1507
+ "roll": 0
1508
+ },
1509
+ "appliedCorrectionAngularDisplacementRad": {
1510
+ "pitch": 0,
1511
+ "yaw": 0,
1512
+ "roll": 0
1513
+ },
1514
+ "residualAngularDisplacementRad": {
1515
+ "pitch": 0,
1516
+ "yaw": 0,
1517
+ "roll": 0
1518
+ },
1519
+ "axes": [
1520
+ {
1521
+ "axis": "pitch",
1522
+ "disturbanceAngleRad": 0,
1523
+ "delayedMeasuredAngleRad": 0,
1524
+ "requestedCorrectionAngleRad": 0,
1525
+ "appliedCorrectionAngleRad": 0,
1526
+ "residualAngleRad": 0,
1527
+ "correctionGain": 0.65,
1528
+ "latencySeconds": 0.001,
1529
+ "maximumCorrectionAngleRad": 0.01,
1530
+ "bypassedForDeclaredPan": false,
1531
+ "correctionLimitReached": false
1532
+ },
1533
+ {
1534
+ "axis": "yaw",
1535
+ "disturbanceAngleRad": 0,
1536
+ "delayedMeasuredAngleRad": 0,
1537
+ "requestedCorrectionAngleRad": 0,
1538
+ "appliedCorrectionAngleRad": 0,
1539
+ "residualAngleRad": 0,
1540
+ "correctionGain": 0.65,
1541
+ "latencySeconds": 0.001,
1542
+ "maximumCorrectionAngleRad": 0.01,
1543
+ "bypassedForDeclaredPan": false,
1544
+ "correctionLimitReached": false
1545
+ },
1546
+ {
1547
+ "axis": "roll",
1548
+ "disturbanceAngleRad": 0,
1549
+ "delayedMeasuredAngleRad": 0,
1550
+ "requestedCorrectionAngleRad": 0,
1551
+ "appliedCorrectionAngleRad": 0,
1552
+ "residualAngleRad": 0,
1553
+ "correctionGain": 0.65,
1554
+ "latencySeconds": 0.001,
1555
+ "maximumCorrectionAngleRad": 0.01,
1556
+ "bypassedForDeclaredPan": false,
1557
+ "correctionLimitReached": false
1558
+ }
1559
+ ]
1560
+ },
1561
+ {
1562
+ "timeSecondsFromCaptureReference": 0.0005,
1563
+ "disturbanceAngularDisplacementRad": {
1564
+ "pitch": 0.005,
1565
+ "yaw": 0.0025,
1566
+ "roll": 0.00125
1567
+ },
1568
+ "appliedCorrectionAngularDisplacementRad": {
1569
+ "pitch": 0,
1570
+ "yaw": 0,
1571
+ "roll": 0
1572
+ },
1573
+ "residualAngularDisplacementRad": {
1574
+ "pitch": 0.005,
1575
+ "yaw": 0.0025,
1576
+ "roll": 0.00125
1577
+ },
1578
+ "axes": [
1579
+ {
1580
+ "axis": "pitch",
1581
+ "disturbanceAngleRad": 0.005,
1582
+ "delayedMeasuredAngleRad": 0,
1583
+ "requestedCorrectionAngleRad": 0,
1584
+ "appliedCorrectionAngleRad": 0,
1585
+ "residualAngleRad": 0.005,
1586
+ "correctionGain": 0.65,
1587
+ "latencySeconds": 0.001,
1588
+ "maximumCorrectionAngleRad": 0.01,
1589
+ "bypassedForDeclaredPan": false,
1590
+ "correctionLimitReached": false
1591
+ },
1592
+ {
1593
+ "axis": "yaw",
1594
+ "disturbanceAngleRad": 0.0025,
1595
+ "delayedMeasuredAngleRad": 0,
1596
+ "requestedCorrectionAngleRad": 0,
1597
+ "appliedCorrectionAngleRad": 0,
1598
+ "residualAngleRad": 0.0025,
1599
+ "correctionGain": 0.65,
1600
+ "latencySeconds": 0.001,
1601
+ "maximumCorrectionAngleRad": 0.01,
1602
+ "bypassedForDeclaredPan": false,
1603
+ "correctionLimitReached": false
1604
+ },
1605
+ {
1606
+ "axis": "roll",
1607
+ "disturbanceAngleRad": 0.00125,
1608
+ "delayedMeasuredAngleRad": 0,
1609
+ "requestedCorrectionAngleRad": 0,
1610
+ "appliedCorrectionAngleRad": 0,
1611
+ "residualAngleRad": 0.00125,
1612
+ "correctionGain": 0.65,
1613
+ "latencySeconds": 0.001,
1614
+ "maximumCorrectionAngleRad": 0.01,
1615
+ "bypassedForDeclaredPan": false,
1616
+ "correctionLimitReached": false
1617
+ }
1618
+ ]
1619
+ },
1620
+ {
1621
+ "timeSecondsFromCaptureReference": 0.008,
1622
+ "disturbanceAngularDisplacementRad": {
1623
+ "pitch": 0.08,
1624
+ "yaw": 0.04,
1625
+ "roll": 0.02
1626
+ },
1627
+ "appliedCorrectionAngularDisplacementRad": {
1628
+ "pitch": 0.01,
1629
+ "yaw": 0.01,
1630
+ "roll": 0.01
1631
+ },
1632
+ "residualAngularDisplacementRad": {
1633
+ "pitch": 0.07,
1634
+ "yaw": 0.03,
1635
+ "roll": 0.01
1636
+ },
1637
+ "axes": [
1638
+ {
1639
+ "axis": "pitch",
1640
+ "disturbanceAngleRad": 0.08,
1641
+ "delayedMeasuredAngleRad": 0.07,
1642
+ "requestedCorrectionAngleRad": 0.0455,
1643
+ "appliedCorrectionAngleRad": 0.01,
1644
+ "residualAngleRad": 0.07,
1645
+ "correctionGain": 0.65,
1646
+ "latencySeconds": 0.001,
1647
+ "maximumCorrectionAngleRad": 0.01,
1648
+ "bypassedForDeclaredPan": false,
1649
+ "correctionLimitReached": true
1650
+ },
1651
+ {
1652
+ "axis": "yaw",
1653
+ "disturbanceAngleRad": 0.04,
1654
+ "delayedMeasuredAngleRad": 0.035,
1655
+ "requestedCorrectionAngleRad": 0.02275,
1656
+ "appliedCorrectionAngleRad": 0.01,
1657
+ "residualAngleRad": 0.03,
1658
+ "correctionGain": 0.65,
1659
+ "latencySeconds": 0.001,
1660
+ "maximumCorrectionAngleRad": 0.01,
1661
+ "bypassedForDeclaredPan": false,
1662
+ "correctionLimitReached": true
1663
+ },
1664
+ {
1665
+ "axis": "roll",
1666
+ "disturbanceAngleRad": 0.02,
1667
+ "delayedMeasuredAngleRad": 0.0175,
1668
+ "requestedCorrectionAngleRad": 0.011375,
1669
+ "appliedCorrectionAngleRad": 0.01,
1670
+ "residualAngleRad": 0.01,
1671
+ "correctionGain": 0.65,
1672
+ "latencySeconds": 0.001,
1673
+ "maximumCorrectionAngleRad": 0.01,
1674
+ "bypassedForDeclaredPan": false,
1675
+ "correctionLimitReached": true
1676
+ }
1677
+ ]
1678
+ }
1679
+ ],
1680
+ "flash": {
1681
+ "frontStartSeconds": 0.002,
1682
+ "rearStartSeconds": 0.006,
1683
+ "dataReadoutSeconds": {
1684
+ "value": 0.015,
1685
+ "unit": "s",
1686
+ "evidence": [
1687
+ {
1688
+ "sourceOrigin": "photivra",
1689
+ "sourceReference": "photivra:generic-tier-assets-v1",
1690
+ "reuseStatus": "photivra-owned"
1691
+ }
1692
+ ]
1693
+ },
1694
+ "wholeFrameOpenInterval": {
1695
+ "startSecondsFromCaptureReference": 0.002,
1696
+ "endSecondsFromCaptureReference": 0.008,
1697
+ "durationSeconds": 0.006
1698
+ }
1699
+ }
1700
+ }
1701
+ },
1702
+ {
1703
+ "tier": "professional",
1704
+ "selection": {
1705
+ "schemaVersion": "0.1.0",
1706
+ "presetVersion": "1.0.0",
1707
+ "bodyTier": "professional",
1708
+ "lensTier": "professional",
1709
+ "bodyPresetId": "photivra-professional:body",
1710
+ "lensPresetId": "photivra-professional:lens",
1711
+ "profileReferences": [
1712
+ {
1713
+ "profileId": "photivra-professional-body:exposure",
1714
+ "profileVersion": "1.0.0"
1715
+ },
1716
+ {
1717
+ "profileId": "photivra-professional-body:iso",
1718
+ "profileVersion": "1.0.0"
1719
+ },
1720
+ {
1721
+ "profileId": "photivra-professional-body:signal-chain",
1722
+ "profileVersion": "1.0.0"
1723
+ },
1724
+ {
1725
+ "profileId": "photivra-professional-body:release",
1726
+ "profileVersion": "1.0.0"
1727
+ },
1728
+ {
1729
+ "profileId": "photivra-professional-body:focus",
1730
+ "profileVersion": "1.0.0"
1731
+ },
1732
+ {
1733
+ "profileId": "photivra-professional-body:stabilization",
1734
+ "profileVersion": "1.0.0"
1735
+ },
1736
+ {
1737
+ "profileId": "photivra-professional-body:white-balance",
1738
+ "profileVersion": "1.0.0"
1739
+ },
1740
+ {
1741
+ "profileId": "photivra-professional-body:metering-capabilities",
1742
+ "profileVersion": "1.0.0"
1743
+ },
1744
+ {
1745
+ "profileId": "photivra-professional-body:flash-sync",
1746
+ "profileVersion": "1.0.0"
1747
+ },
1748
+ {
1749
+ "profileId": "photivra-professional-body:readout:red",
1750
+ "profileVersion": "1.0.0"
1751
+ },
1752
+ {
1753
+ "profileId": "photivra-professional-body:readout:green",
1754
+ "profileVersion": "1.0.0"
1755
+ },
1756
+ {
1757
+ "profileId": "photivra-professional-body:readout:blue",
1758
+ "profileVersion": "1.0.0"
1759
+ },
1760
+ {
1761
+ "profileId": "photivra-professional-body:data-readout",
1762
+ "profileVersion": "1.0.0"
1763
+ },
1764
+ {
1765
+ "profileId": "photivra-professional-body:meter:multi-zone-uniform",
1766
+ "profileVersion": "1.0.0"
1767
+ },
1768
+ {
1769
+ "profileId": "photivra-professional-body:meter:highlight-weighted",
1770
+ "profileVersion": "1.0.0"
1771
+ },
1772
+ {
1773
+ "profileId": "photivra-professional-prime:exposure",
1774
+ "profileVersion": "1.0.0"
1775
+ },
1776
+ {
1777
+ "profileId": "photivra-professional-prime:radial",
1778
+ "profileVersion": "1.0.0"
1779
+ },
1780
+ {
1781
+ "profileId": "photivra-professional-prime:lateral-ca",
1782
+ "profileVersion": "1.0.0"
1783
+ },
1784
+ {
1785
+ "profileId": "photivra-professional-prime:vignetting",
1786
+ "profileVersion": "1.0.0"
1787
+ },
1788
+ {
1789
+ "profileId": "photivra-professional-prime:breathing",
1790
+ "profileVersion": "1.0.0"
1791
+ },
1792
+ {
1793
+ "profileId": "photivra-professional-prime:transmission",
1794
+ "profileVersion": "1.0.0"
1795
+ },
1796
+ {
1797
+ "profileId": "photivra-professional-prime:pupil",
1798
+ "profileVersion": "1.0.0"
1799
+ },
1800
+ {
1801
+ "profileId": "photivra-professional-prime:stray",
1802
+ "profileVersion": "1.0.0"
1803
+ },
1804
+ {
1805
+ "profileId": "photivra-professional-prime:correction",
1806
+ "profileVersion": "1.0.0"
1807
+ }
1808
+ ],
1809
+ "sensorFormatSelectedByTier": false,
1810
+ "scientificTierMultiplierApplied": false
1811
+ },
1812
+ "tradeoffs": [
1813
+ "Less edge clipping/stray light, with greater f/4 falloff/gain cost than Prosumer and asymmetric near/far wavefront character."
1814
+ ],
1815
+ "physical": {
1816
+ "pupilResponses": [
1817
+ {
1818
+ "profileId": "photivra-professional-prime:pupil:0:0",
1819
+ "profileVersion": "1.0.0",
1820
+ "fieldPointMm": {
1821
+ "x": 0,
1822
+ "y": 0
1823
+ },
1824
+ "signedDefocusImagePlaneMicrometers": -20,
1825
+ "energy": 1,
1826
+ "peakFraction": 0.377400966063,
1827
+ "outerSampleEnergyFraction": 0.19610080132,
1828
+ "centroidMicrometers": {
1829
+ "x": 3.46944695195e-17,
1830
+ "y": 2.77555756156e-16
1831
+ },
1832
+ "covarianceSquareMicrometers": {
1833
+ "xx": 2.71088901169,
1834
+ "yy": 2.71088901169,
1835
+ "xy": -1.38777878078e-16
1836
+ },
1837
+ "textureContrastAt100CyclesPerMm": {
1838
+ "horizontal": 0.596597626407,
1839
+ "vertical": 0.596597626407,
1840
+ "diagonal": 0.649232776938
1841
+ },
1842
+ "relativePupilThroughputFactor": 1
1843
+ },
1844
+ {
1845
+ "profileId": "photivra-professional-prime:pupil:0:1",
1846
+ "profileVersion": "1.0.0",
1847
+ "fieldPointMm": {
1848
+ "x": 0,
1849
+ "y": 0
1850
+ },
1851
+ "signedDefocusImagePlaneMicrometers": 0,
1852
+ "energy": 1,
1853
+ "peakFraction": 0.52,
1854
+ "outerSampleEnergyFraction": 0.137866167677,
1855
+ "centroidMicrometers": {
1856
+ "x": -3.46944695195e-18,
1857
+ "y": -1.73472347598e-17
1858
+ },
1859
+ "covarianceSquareMicrometers": {
1860
+ "xx": 1.74340515381,
1861
+ "yy": 1.74340515381,
1862
+ "xy": 8.32667268469e-17
1863
+ },
1864
+ "textureContrastAt100CyclesPerMm": {
1865
+ "horizontal": 0.741291160077,
1866
+ "vertical": 0.741291160077,
1867
+ "diagonal": 0.762322936678
1868
+ },
1869
+ "relativePupilThroughputFactor": 1
1870
+ },
1871
+ {
1872
+ "profileId": "photivra-professional-prime:pupil:0:2",
1873
+ "profileVersion": "1.0.0",
1874
+ "fieldPointMm": {
1875
+ "x": 0,
1876
+ "y": 0
1877
+ },
1878
+ "signedDefocusImagePlaneMicrometers": 20,
1879
+ "energy": 1,
1880
+ "peakFraction": 0.452252190347,
1881
+ "outerSampleEnergyFraction": 0.162411817968,
1882
+ "centroidMicrometers": {
1883
+ "x": 1.38777878078e-17,
1884
+ "y": 1.04083408559e-16
1885
+ },
1886
+ "covarianceSquareMicrometers": {
1887
+ "xx": 2.18734189454,
1888
+ "yy": 2.18734189454,
1889
+ "xy": -2.77555756156e-17
1890
+ },
1891
+ "textureContrastAt100CyclesPerMm": {
1892
+ "horizontal": 0.673995375643,
1893
+ "vertical": 0.673995375643,
1894
+ "diagonal": 0.710210912096
1895
+ },
1896
+ "relativePupilThroughputFactor": 1
1897
+ },
1898
+ {
1899
+ "profileId": "photivra-professional-prime:pupil:1:0",
1900
+ "profileVersion": "1.0.0",
1901
+ "fieldPointMm": {
1902
+ "x": 10,
1903
+ "y": 6
1904
+ },
1905
+ "signedDefocusImagePlaneMicrometers": -20,
1906
+ "energy": 1,
1907
+ "peakFraction": 0.377400966063,
1908
+ "outerSampleEnergyFraction": 0.19610080132,
1909
+ "centroidMicrometers": {
1910
+ "x": 3.46944695195e-17,
1911
+ "y": 2.77555756156e-16
1912
+ },
1913
+ "covarianceSquareMicrometers": {
1914
+ "xx": 2.71088901169,
1915
+ "yy": 2.71088901169,
1916
+ "xy": -1.38777878078e-16
1917
+ },
1918
+ "textureContrastAt100CyclesPerMm": {
1919
+ "horizontal": 0.596597626407,
1920
+ "vertical": 0.596597626407,
1921
+ "diagonal": 0.649232776938
1922
+ },
1923
+ "relativePupilThroughputFactor": 0.98
1924
+ },
1925
+ {
1926
+ "profileId": "photivra-professional-prime:pupil:1:1",
1927
+ "profileVersion": "1.0.0",
1928
+ "fieldPointMm": {
1929
+ "x": 10,
1930
+ "y": 6
1931
+ },
1932
+ "signedDefocusImagePlaneMicrometers": 0,
1933
+ "energy": 1,
1934
+ "peakFraction": 0.52,
1935
+ "outerSampleEnergyFraction": 0.137866167677,
1936
+ "centroidMicrometers": {
1937
+ "x": -3.46944695195e-18,
1938
+ "y": -1.73472347598e-17
1939
+ },
1940
+ "covarianceSquareMicrometers": {
1941
+ "xx": 1.74340515381,
1942
+ "yy": 1.74340515381,
1943
+ "xy": 8.32667268469e-17
1944
+ },
1945
+ "textureContrastAt100CyclesPerMm": {
1946
+ "horizontal": 0.741291160077,
1947
+ "vertical": 0.741291160077,
1948
+ "diagonal": 0.762322936678
1949
+ },
1950
+ "relativePupilThroughputFactor": 0.98
1951
+ },
1952
+ {
1953
+ "profileId": "photivra-professional-prime:pupil:1:2",
1954
+ "profileVersion": "1.0.0",
1955
+ "fieldPointMm": {
1956
+ "x": 10,
1957
+ "y": 6
1958
+ },
1959
+ "signedDefocusImagePlaneMicrometers": 20,
1960
+ "energy": 1,
1961
+ "peakFraction": 0.452252190347,
1962
+ "outerSampleEnergyFraction": 0.162411817968,
1963
+ "centroidMicrometers": {
1964
+ "x": 1.38777878078e-17,
1965
+ "y": 1.04083408559e-16
1966
+ },
1967
+ "covarianceSquareMicrometers": {
1968
+ "xx": 2.18734189454,
1969
+ "yy": 2.18734189454,
1970
+ "xy": -2.77555756156e-17
1971
+ },
1972
+ "textureContrastAt100CyclesPerMm": {
1973
+ "horizontal": 0.673995375643,
1974
+ "vertical": 0.673995375643,
1975
+ "diagonal": 0.710210912096
1976
+ },
1977
+ "relativePupilThroughputFactor": 0.98
1978
+ },
1979
+ {
1980
+ "profileId": "photivra-professional-prime:pupil:2:0",
1981
+ "profileVersion": "1.0.0",
1982
+ "fieldPointMm": {
1983
+ "x": 18,
1984
+ "y": 12
1985
+ },
1986
+ "signedDefocusImagePlaneMicrometers": -20,
1987
+ "energy": 1,
1988
+ "peakFraction": 0.377400966063,
1989
+ "outerSampleEnergyFraction": 0.19610080132,
1990
+ "centroidMicrometers": {
1991
+ "x": 3.46944695195e-17,
1992
+ "y": 2.77555756156e-16
1993
+ },
1994
+ "covarianceSquareMicrometers": {
1995
+ "xx": 2.71088901169,
1996
+ "yy": 2.71088901169,
1997
+ "xy": -1.38777878078e-16
1998
+ },
1999
+ "textureContrastAt100CyclesPerMm": {
2000
+ "horizontal": 0.596597626407,
2001
+ "vertical": 0.596597626407,
2002
+ "diagonal": 0.649232776938
2003
+ },
2004
+ "relativePupilThroughputFactor": 0.95
2005
+ },
2006
+ {
2007
+ "profileId": "photivra-professional-prime:pupil:2:1",
2008
+ "profileVersion": "1.0.0",
2009
+ "fieldPointMm": {
2010
+ "x": 18,
2011
+ "y": 12
2012
+ },
2013
+ "signedDefocusImagePlaneMicrometers": 0,
2014
+ "energy": 1,
2015
+ "peakFraction": 0.52,
2016
+ "outerSampleEnergyFraction": 0.137866167677,
2017
+ "centroidMicrometers": {
2018
+ "x": -3.46944695195e-18,
2019
+ "y": -1.73472347598e-17
2020
+ },
2021
+ "covarianceSquareMicrometers": {
2022
+ "xx": 1.74340515381,
2023
+ "yy": 1.74340515381,
2024
+ "xy": 8.32667268469e-17
2025
+ },
2026
+ "textureContrastAt100CyclesPerMm": {
2027
+ "horizontal": 0.741291160077,
2028
+ "vertical": 0.741291160077,
2029
+ "diagonal": 0.762322936678
2030
+ },
2031
+ "relativePupilThroughputFactor": 0.95
2032
+ },
2033
+ {
2034
+ "profileId": "photivra-professional-prime:pupil:2:2",
2035
+ "profileVersion": "1.0.0",
2036
+ "fieldPointMm": {
2037
+ "x": 18,
2038
+ "y": 12
2039
+ },
2040
+ "signedDefocusImagePlaneMicrometers": 20,
2041
+ "energy": 1,
2042
+ "peakFraction": 0.452252190347,
2043
+ "outerSampleEnergyFraction": 0.162411817968,
2044
+ "centroidMicrometers": {
2045
+ "x": 1.38777878078e-17,
2046
+ "y": 1.04083408559e-16
2047
+ },
2048
+ "covarianceSquareMicrometers": {
2049
+ "xx": 2.18734189454,
2050
+ "yy": 2.18734189454,
2051
+ "xy": -2.77555756156e-17
2052
+ },
2053
+ "textureContrastAt100CyclesPerMm": {
2054
+ "horizontal": 0.673995375643,
2055
+ "vertical": 0.673995375643,
2056
+ "diagonal": 0.710210912096
2057
+ },
2058
+ "relativePupilThroughputFactor": 0.95
2059
+ }
2060
+ ],
2061
+ "cornerCaSeparationMm": 0.0865332306111,
2062
+ "cornerIllumination": 0.65,
2063
+ "breathingProjectionScale": 1.005,
2064
+ "flare": [
2065
+ {
2066
+ "sourceAngleDegrees": 0,
2067
+ "ghost": 0.0861571172074,
2068
+ "veil": 0.00318309886184,
2069
+ "primaryOnlyMeter": 1,
2070
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.996827001107
2071
+ },
2072
+ {
2073
+ "sourceAngleDegrees": 50,
2074
+ "ghost": 1.07871683651,
2075
+ "veil": 0.00318309886184,
2076
+ "primaryOnlyMeter": 1,
2077
+ "relativeModulationContrastForUnitMeanAfterVeil": 0.996827001107
2078
+ }
2079
+ ],
2080
+ "sampledEdgeRow": [
2081
+ 0.188461538462,
2082
+ 0.177884615385,
2083
+ 0.204615384615,
2084
+ 0.188653846154,
2085
+ 0.81,
2086
+ 0.784615384615,
2087
+ 0.788461538462,
2088
+ 0.741538461538,
2089
+ 0.723846153846
2090
+ ],
2091
+ "sampledCornerEdgeRow": [
2092
+ 0.166923076923,
2093
+ 0.156346153846,
2094
+ 0.183076923077,
2095
+ 0.167115384615,
2096
+ 0.188461538462,
2097
+ 0.167115384615,
2098
+ 0.702307692308,
2099
+ 0.655384615385,
2100
+ 0.637692307692
2101
+ ]
2102
+ },
2103
+ "correctionCosts": {
2104
+ "maximumPrincipalStretch": 1,
2105
+ "maximumOutputMagnification": 1.02178927023,
2106
+ "minimumJacobianDeterminant": 0.97170691356,
2107
+ "cornerGain": 1.41146240402,
2108
+ "cornerGainOnlyVarianceRatio": 1.99222611795,
2109
+ "shiftedJointCrop": {
2110
+ "x": 0,
2111
+ "y": 0,
2112
+ "width": 7,
2113
+ "height": 9
2114
+ },
2115
+ "shiftedRetainedFraction": 0.777777777778,
2116
+ "retainedSampleRayEnvelopeDegrees": {
2117
+ "minX": -6.76982176314,
2118
+ "maxX": 13.3259861873,
2119
+ "minY": -13.3259861873,
2120
+ "maxY": 13.3259861873
2121
+ },
2122
+ "capturedPixelEdgeFovDegrees": {
2123
+ "horizontal": 29.9305800862,
2124
+ "vertical": 29.9305800862
2125
+ }
2126
+ },
2127
+ "corrected": {
2128
+ "maximumResidualDisplacementMm": 0.004587199903,
2129
+ "maximumResidualCaMm": 0.00914058767933,
2130
+ "sampledEdgeRow": [
2131
+ 0.206305561299,
2132
+ 0.187149269161,
2133
+ 0.209106928213,
2134
+ 0.189796004011,
2135
+ 0.81,
2136
+ 0.788870899454,
2137
+ 0.805859843718,
2138
+ 0.779807431993,
2139
+ 0.793168007993
2140
+ ],
2141
+ "sampledCornerEdgeRow": [
2142
+ 0.202067884424,
2143
+ 0.18226573606,
2144
+ 0.205210565676,
2145
+ 0.184676073583,
2146
+ 0.206305561299,
2147
+ 0.192714888818,
2148
+ 0.784184258028,
2149
+ 0.76152602524,
2150
+ 0.775345002272
2151
+ ],
2152
+ "captureId": "photivra:tier-matched-reference-v1:edge",
2153
+ "noiseRealizationId": "owned-alternating-12345",
2154
+ "clippingEvents": 0
2155
+ },
2156
+ "body": {
2157
+ "stabilization": [
2158
+ {
2159
+ "timeSecondsFromCaptureReference": 0,
2160
+ "disturbanceAngularDisplacementRad": {
2161
+ "pitch": 0,
2162
+ "yaw": 0,
2163
+ "roll": 0
2164
+ },
2165
+ "appliedCorrectionAngularDisplacementRad": {
2166
+ "pitch": 0,
2167
+ "yaw": 0,
2168
+ "roll": 0
2169
+ },
2170
+ "residualAngularDisplacementRad": {
2171
+ "pitch": 0,
2172
+ "yaw": 0,
2173
+ "roll": 0
2174
+ },
2175
+ "axes": [
2176
+ {
2177
+ "axis": "pitch",
2178
+ "disturbanceAngleRad": 0,
2179
+ "delayedMeasuredAngleRad": 0,
2180
+ "requestedCorrectionAngleRad": 0,
2181
+ "appliedCorrectionAngleRad": 0,
2182
+ "residualAngleRad": 0,
2183
+ "correctionGain": 0.85,
2184
+ "latencySeconds": 0.001,
2185
+ "maximumCorrectionAngleRad": 0.02,
2186
+ "bypassedForDeclaredPan": false,
2187
+ "correctionLimitReached": false
2188
+ },
2189
+ {
2190
+ "axis": "yaw",
2191
+ "disturbanceAngleRad": 0,
2192
+ "delayedMeasuredAngleRad": 0,
2193
+ "requestedCorrectionAngleRad": 0,
2194
+ "appliedCorrectionAngleRad": 0,
2195
+ "residualAngleRad": 0,
2196
+ "correctionGain": 0.85,
2197
+ "latencySeconds": 0.001,
2198
+ "maximumCorrectionAngleRad": 0.02,
2199
+ "bypassedForDeclaredPan": false,
2200
+ "correctionLimitReached": false
2201
+ },
2202
+ {
2203
+ "axis": "roll",
2204
+ "disturbanceAngleRad": 0,
2205
+ "delayedMeasuredAngleRad": 0,
2206
+ "requestedCorrectionAngleRad": 0,
2207
+ "appliedCorrectionAngleRad": 0,
2208
+ "residualAngleRad": 0,
2209
+ "correctionGain": 0.85,
2210
+ "latencySeconds": 0.001,
2211
+ "maximumCorrectionAngleRad": 0.02,
2212
+ "bypassedForDeclaredPan": false,
2213
+ "correctionLimitReached": false
2214
+ }
2215
+ ]
2216
+ },
2217
+ {
2218
+ "timeSecondsFromCaptureReference": 0.0005,
2219
+ "disturbanceAngularDisplacementRad": {
2220
+ "pitch": 0.00025,
2221
+ "yaw": 0.000125,
2222
+ "roll": 0.0000625
2223
+ },
2224
+ "appliedCorrectionAngularDisplacementRad": {
2225
+ "pitch": 0,
2226
+ "yaw": 0,
2227
+ "roll": 0
2228
+ },
2229
+ "residualAngularDisplacementRad": {
2230
+ "pitch": 0.00025,
2231
+ "yaw": 0.000125,
2232
+ "roll": 0.0000625
2233
+ },
2234
+ "axes": [
2235
+ {
2236
+ "axis": "pitch",
2237
+ "disturbanceAngleRad": 0.00025,
2238
+ "delayedMeasuredAngleRad": 0,
2239
+ "requestedCorrectionAngleRad": 0,
2240
+ "appliedCorrectionAngleRad": 0,
2241
+ "residualAngleRad": 0.00025,
2242
+ "correctionGain": 0.85,
2243
+ "latencySeconds": 0.001,
2244
+ "maximumCorrectionAngleRad": 0.02,
2245
+ "bypassedForDeclaredPan": false,
2246
+ "correctionLimitReached": false
2247
+ },
2248
+ {
2249
+ "axis": "yaw",
2250
+ "disturbanceAngleRad": 0.000125,
2251
+ "delayedMeasuredAngleRad": 0,
2252
+ "requestedCorrectionAngleRad": 0,
2253
+ "appliedCorrectionAngleRad": 0,
2254
+ "residualAngleRad": 0.000125,
2255
+ "correctionGain": 0.85,
2256
+ "latencySeconds": 0.001,
2257
+ "maximumCorrectionAngleRad": 0.02,
2258
+ "bypassedForDeclaredPan": false,
2259
+ "correctionLimitReached": false
2260
+ },
2261
+ {
2262
+ "axis": "roll",
2263
+ "disturbanceAngleRad": 0.0000625,
2264
+ "delayedMeasuredAngleRad": 0,
2265
+ "requestedCorrectionAngleRad": 0,
2266
+ "appliedCorrectionAngleRad": 0,
2267
+ "residualAngleRad": 0.0000625,
2268
+ "correctionGain": 0.85,
2269
+ "latencySeconds": 0.001,
2270
+ "maximumCorrectionAngleRad": 0.02,
2271
+ "bypassedForDeclaredPan": false,
2272
+ "correctionLimitReached": false
2273
+ }
2274
+ ]
2275
+ },
2276
+ {
2277
+ "timeSecondsFromCaptureReference": 0.008,
2278
+ "disturbanceAngularDisplacementRad": {
2279
+ "pitch": 0.004,
2280
+ "yaw": 0.002,
2281
+ "roll": 0.001
2282
+ },
2283
+ "appliedCorrectionAngularDisplacementRad": {
2284
+ "pitch": 0.002975,
2285
+ "yaw": 0.0014875,
2286
+ "roll": 0.00074375
2287
+ },
2288
+ "residualAngularDisplacementRad": {
2289
+ "pitch": 0.001025,
2290
+ "yaw": 0.0005125,
2291
+ "roll": 0.00025625
2292
+ },
2293
+ "axes": [
2294
+ {
2295
+ "axis": "pitch",
2296
+ "disturbanceAngleRad": 0.004,
2297
+ "delayedMeasuredAngleRad": 0.0035,
2298
+ "requestedCorrectionAngleRad": 0.002975,
2299
+ "appliedCorrectionAngleRad": 0.002975,
2300
+ "residualAngleRad": 0.001025,
2301
+ "correctionGain": 0.85,
2302
+ "latencySeconds": 0.001,
2303
+ "maximumCorrectionAngleRad": 0.02,
2304
+ "bypassedForDeclaredPan": false,
2305
+ "correctionLimitReached": false
2306
+ },
2307
+ {
2308
+ "axis": "yaw",
2309
+ "disturbanceAngleRad": 0.002,
2310
+ "delayedMeasuredAngleRad": 0.00175,
2311
+ "requestedCorrectionAngleRad": 0.0014875,
2312
+ "appliedCorrectionAngleRad": 0.0014875,
2313
+ "residualAngleRad": 0.0005125,
2314
+ "correctionGain": 0.85,
2315
+ "latencySeconds": 0.001,
2316
+ "maximumCorrectionAngleRad": 0.02,
2317
+ "bypassedForDeclaredPan": false,
2318
+ "correctionLimitReached": false
2319
+ },
2320
+ {
2321
+ "axis": "roll",
2322
+ "disturbanceAngleRad": 0.001,
2323
+ "delayedMeasuredAngleRad": 0.000875,
2324
+ "requestedCorrectionAngleRad": 0.00074375,
2325
+ "appliedCorrectionAngleRad": 0.00074375,
2326
+ "residualAngleRad": 0.00025625,
2327
+ "correctionGain": 0.85,
2328
+ "latencySeconds": 0.001,
2329
+ "maximumCorrectionAngleRad": 0.02,
2330
+ "bypassedForDeclaredPan": false,
2331
+ "correctionLimitReached": false
2332
+ }
2333
+ ]
2334
+ }
2335
+ ],
2336
+ "saturatedStabilization": [
2337
+ {
2338
+ "timeSecondsFromCaptureReference": 0,
2339
+ "disturbanceAngularDisplacementRad": {
2340
+ "pitch": 0,
2341
+ "yaw": 0,
2342
+ "roll": 0
2343
+ },
2344
+ "appliedCorrectionAngularDisplacementRad": {
2345
+ "pitch": 0,
2346
+ "yaw": 0,
2347
+ "roll": 0
2348
+ },
2349
+ "residualAngularDisplacementRad": {
2350
+ "pitch": 0,
2351
+ "yaw": 0,
2352
+ "roll": 0
2353
+ },
2354
+ "axes": [
2355
+ {
2356
+ "axis": "pitch",
2357
+ "disturbanceAngleRad": 0,
2358
+ "delayedMeasuredAngleRad": 0,
2359
+ "requestedCorrectionAngleRad": 0,
2360
+ "appliedCorrectionAngleRad": 0,
2361
+ "residualAngleRad": 0,
2362
+ "correctionGain": 0.85,
2363
+ "latencySeconds": 0.001,
2364
+ "maximumCorrectionAngleRad": 0.02,
2365
+ "bypassedForDeclaredPan": false,
2366
+ "correctionLimitReached": false
2367
+ },
2368
+ {
2369
+ "axis": "yaw",
2370
+ "disturbanceAngleRad": 0,
2371
+ "delayedMeasuredAngleRad": 0,
2372
+ "requestedCorrectionAngleRad": 0,
2373
+ "appliedCorrectionAngleRad": 0,
2374
+ "residualAngleRad": 0,
2375
+ "correctionGain": 0.85,
2376
+ "latencySeconds": 0.001,
2377
+ "maximumCorrectionAngleRad": 0.02,
2378
+ "bypassedForDeclaredPan": false,
2379
+ "correctionLimitReached": false
2380
+ },
2381
+ {
2382
+ "axis": "roll",
2383
+ "disturbanceAngleRad": 0,
2384
+ "delayedMeasuredAngleRad": 0,
2385
+ "requestedCorrectionAngleRad": 0,
2386
+ "appliedCorrectionAngleRad": 0,
2387
+ "residualAngleRad": 0,
2388
+ "correctionGain": 0.85,
2389
+ "latencySeconds": 0.001,
2390
+ "maximumCorrectionAngleRad": 0.02,
2391
+ "bypassedForDeclaredPan": false,
2392
+ "correctionLimitReached": false
2393
+ }
2394
+ ]
2395
+ },
2396
+ {
2397
+ "timeSecondsFromCaptureReference": 0.0005,
2398
+ "disturbanceAngularDisplacementRad": {
2399
+ "pitch": 0.005,
2400
+ "yaw": 0.0025,
2401
+ "roll": 0.00125
2402
+ },
2403
+ "appliedCorrectionAngularDisplacementRad": {
2404
+ "pitch": 0,
2405
+ "yaw": 0,
2406
+ "roll": 0
2407
+ },
2408
+ "residualAngularDisplacementRad": {
2409
+ "pitch": 0.005,
2410
+ "yaw": 0.0025,
2411
+ "roll": 0.00125
2412
+ },
2413
+ "axes": [
2414
+ {
2415
+ "axis": "pitch",
2416
+ "disturbanceAngleRad": 0.005,
2417
+ "delayedMeasuredAngleRad": 0,
2418
+ "requestedCorrectionAngleRad": 0,
2419
+ "appliedCorrectionAngleRad": 0,
2420
+ "residualAngleRad": 0.005,
2421
+ "correctionGain": 0.85,
2422
+ "latencySeconds": 0.001,
2423
+ "maximumCorrectionAngleRad": 0.02,
2424
+ "bypassedForDeclaredPan": false,
2425
+ "correctionLimitReached": false
2426
+ },
2427
+ {
2428
+ "axis": "yaw",
2429
+ "disturbanceAngleRad": 0.0025,
2430
+ "delayedMeasuredAngleRad": 0,
2431
+ "requestedCorrectionAngleRad": 0,
2432
+ "appliedCorrectionAngleRad": 0,
2433
+ "residualAngleRad": 0.0025,
2434
+ "correctionGain": 0.85,
2435
+ "latencySeconds": 0.001,
2436
+ "maximumCorrectionAngleRad": 0.02,
2437
+ "bypassedForDeclaredPan": false,
2438
+ "correctionLimitReached": false
2439
+ },
2440
+ {
2441
+ "axis": "roll",
2442
+ "disturbanceAngleRad": 0.00125,
2443
+ "delayedMeasuredAngleRad": 0,
2444
+ "requestedCorrectionAngleRad": 0,
2445
+ "appliedCorrectionAngleRad": 0,
2446
+ "residualAngleRad": 0.00125,
2447
+ "correctionGain": 0.85,
2448
+ "latencySeconds": 0.001,
2449
+ "maximumCorrectionAngleRad": 0.02,
2450
+ "bypassedForDeclaredPan": false,
2451
+ "correctionLimitReached": false
2452
+ }
2453
+ ]
2454
+ },
2455
+ {
2456
+ "timeSecondsFromCaptureReference": 0.008,
2457
+ "disturbanceAngularDisplacementRad": {
2458
+ "pitch": 0.08,
2459
+ "yaw": 0.04,
2460
+ "roll": 0.02
2461
+ },
2462
+ "appliedCorrectionAngularDisplacementRad": {
2463
+ "pitch": 0.02,
2464
+ "yaw": 0.02,
2465
+ "roll": 0.014875
2466
+ },
2467
+ "residualAngularDisplacementRad": {
2468
+ "pitch": 0.06,
2469
+ "yaw": 0.02,
2470
+ "roll": 0.005125
2471
+ },
2472
+ "axes": [
2473
+ {
2474
+ "axis": "pitch",
2475
+ "disturbanceAngleRad": 0.08,
2476
+ "delayedMeasuredAngleRad": 0.07,
2477
+ "requestedCorrectionAngleRad": 0.0595,
2478
+ "appliedCorrectionAngleRad": 0.02,
2479
+ "residualAngleRad": 0.06,
2480
+ "correctionGain": 0.85,
2481
+ "latencySeconds": 0.001,
2482
+ "maximumCorrectionAngleRad": 0.02,
2483
+ "bypassedForDeclaredPan": false,
2484
+ "correctionLimitReached": true
2485
+ },
2486
+ {
2487
+ "axis": "yaw",
2488
+ "disturbanceAngleRad": 0.04,
2489
+ "delayedMeasuredAngleRad": 0.035,
2490
+ "requestedCorrectionAngleRad": 0.02975,
2491
+ "appliedCorrectionAngleRad": 0.02,
2492
+ "residualAngleRad": 0.02,
2493
+ "correctionGain": 0.85,
2494
+ "latencySeconds": 0.001,
2495
+ "maximumCorrectionAngleRad": 0.02,
2496
+ "bypassedForDeclaredPan": false,
2497
+ "correctionLimitReached": true
2498
+ },
2499
+ {
2500
+ "axis": "roll",
2501
+ "disturbanceAngleRad": 0.02,
2502
+ "delayedMeasuredAngleRad": 0.0175,
2503
+ "requestedCorrectionAngleRad": 0.014875,
2504
+ "appliedCorrectionAngleRad": 0.014875,
2505
+ "residualAngleRad": 0.005125,
2506
+ "correctionGain": 0.85,
2507
+ "latencySeconds": 0.001,
2508
+ "maximumCorrectionAngleRad": 0.02,
2509
+ "bypassedForDeclaredPan": false,
2510
+ "correctionLimitReached": false
2511
+ }
2512
+ ]
2513
+ }
2514
+ ],
2515
+ "flash": {
2516
+ "frontStartSeconds": 0.002,
2517
+ "rearStartSeconds": 0.006,
2518
+ "dataReadoutSeconds": {
2519
+ "value": 0.008,
2520
+ "unit": "s",
2521
+ "evidence": [
2522
+ {
2523
+ "sourceOrigin": "photivra",
2524
+ "sourceReference": "photivra:generic-tier-assets-v1",
2525
+ "reuseStatus": "photivra-owned"
2526
+ }
2527
+ ]
2528
+ },
2529
+ "wholeFrameOpenInterval": {
2530
+ "startSecondsFromCaptureReference": 0.002,
2531
+ "endSecondsFromCaptureReference": 0.008,
2532
+ "durationSeconds": 0.006
2533
+ }
2534
+ }
2535
+ }
2536
+ }
2537
+ ]
2538
+ }