@photivra/engine 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1074) hide show
  1. package/CHANGELOG.md +401 -6
  2. package/CITATION.cff +1 -1
  3. package/NODE_SUPPORT.md +64 -12
  4. package/README.md +301 -182
  5. package/SECURITY.md +37 -28
  6. package/THIRD_PARTY.md +148 -4
  7. package/dist/camera/equivalent-focal-length.d.ts +13 -14
  8. package/dist/camera/equivalent-focal-length.js +15 -13
  9. package/dist/camera/equivalent-focal-length.js.map +1 -1
  10. package/dist/camera/field-of-view.d.ts +30 -19
  11. package/dist/camera/field-of-view.js +67 -18
  12. package/dist/camera/field-of-view.js.map +1 -1
  13. package/dist/camera/lens-projection.d.ts +170 -0
  14. package/dist/camera/lens-projection.js +444 -0
  15. package/dist/camera/lens-projection.js.map +1 -0
  16. package/dist/camera/projected-object-size.d.ts +10 -11
  17. package/dist/camera/projected-object-size.js +12 -10
  18. package/dist/camera/projected-object-size.js.map +1 -1
  19. package/dist/capture/capture-export-metadata.d.ts +9 -10
  20. package/dist/capture/capture-export-metadata.js +8 -5
  21. package/dist/capture/capture-export-metadata.js.map +1 -1
  22. package/dist/capture/dng-import.d.ts +91 -0
  23. package/dist/capture/dng-import.js +343 -0
  24. package/dist/capture/dng-import.js.map +1 -0
  25. package/dist/capture/environment-raw-producer.d.ts +37 -17
  26. package/dist/capture/environment-raw-producer.js +43 -19
  27. package/dist/capture/environment-raw-producer.js.map +1 -1
  28. package/dist/capture/export-jpeg.d.ts +35 -4
  29. package/dist/capture/export-jpeg.js +133 -47
  30. package/dist/capture/export-jpeg.js.map +1 -1
  31. package/dist/capture/export-tiff.d.ts +48 -24
  32. package/dist/capture/export-tiff.js +91 -31
  33. package/dist/capture/export-tiff.js.map +1 -1
  34. package/dist/capture/focus-control.d.ts +42 -65
  35. package/dist/capture/focus-control.js +56 -75
  36. package/dist/capture/focus-control.js.map +1 -1
  37. package/dist/capture/host-yield-cadence.d.ts +25 -0
  38. package/dist/capture/host-yield-cadence.js +25 -0
  39. package/dist/capture/host-yield-cadence.js.map +1 -0
  40. package/dist/capture/linear-encoding.d.ts +14 -12
  41. package/dist/capture/linear-encoding.js +14 -13
  42. package/dist/capture/linear-encoding.js.map +1 -1
  43. package/dist/capture/lossless-jpeg.d.ts +27 -0
  44. package/dist/capture/lossless-jpeg.js +237 -0
  45. package/dist/capture/lossless-jpeg.js.map +1 -0
  46. package/dist/capture/native-environment-lean.d.ts +227 -0
  47. package/dist/capture/native-environment-lean.js +974 -0
  48. package/dist/capture/native-environment-lean.js.map +1 -0
  49. package/dist/capture/native-environment-optical-stage.d.ts +97 -0
  50. package/dist/capture/native-environment-optical-stage.js +340 -0
  51. package/dist/capture/native-environment-optical-stage.js.map +1 -0
  52. package/dist/capture/native-environment-raw.d.ts +140 -6
  53. package/dist/capture/native-environment-raw.js +435 -34
  54. package/dist/capture/native-environment-raw.js.map +1 -1
  55. package/dist/capture/native-raw-development.d.ts +118 -5
  56. package/dist/capture/native-raw-development.js +224 -59
  57. package/dist/capture/native-raw-development.js.map +1 -1
  58. package/dist/capture/native-raw-dng.d.ts +60 -0
  59. package/dist/capture/native-raw-dng.js +167 -0
  60. package/dist/capture/native-raw-dng.js.map +1 -0
  61. package/dist/capture/native-raw.d.ts +67 -10
  62. package/dist/capture/native-raw.js +90 -24
  63. package/dist/capture/native-raw.js.map +1 -1
  64. package/dist/capture/packed-sensor-raw.d.ts +160 -0
  65. package/dist/capture/packed-sensor-raw.js +221 -0
  66. package/dist/capture/packed-sensor-raw.js.map +1 -0
  67. package/dist/capture/photographic-export.d.ts +58 -35
  68. package/dist/capture/photographic-export.js +177 -70
  69. package/dist/capture/photographic-export.js.map +1 -1
  70. package/dist/capture/raw-development-kernel.d.ts +52 -0
  71. package/dist/capture/raw-development-kernel.js +88 -0
  72. package/dist/capture/raw-development-kernel.js.map +1 -0
  73. package/dist/capture/raw-frame-limits.d.ts +7 -7
  74. package/dist/capture/raw-frame-limits.js +7 -6
  75. package/dist/capture/raw-frame-limits.js.map +1 -1
  76. package/dist/capture/raw-frame-reconstruction.d.ts +8 -9
  77. package/dist/capture/raw-frame-reconstruction.js +9 -8
  78. package/dist/capture/raw-frame-reconstruction.js.map +1 -1
  79. package/dist/capture/raw-white-level.d.ts +55 -0
  80. package/dist/capture/raw-white-level.js +165 -0
  81. package/dist/capture/raw-white-level.js.map +1 -0
  82. package/dist/capture/release-sequence.d.ts +5 -7
  83. package/dist/capture/release-sequence.js +15 -13
  84. package/dist/capture/release-sequence.js.map +1 -1
  85. package/dist/capture/sensor-raw-frame.d.ts +5 -6
  86. package/dist/capture/sensor-raw-frame.js +26 -9
  87. package/dist/capture/sensor-raw-frame.js.map +1 -1
  88. package/dist/capture/sensor-raw-producer.d.ts +21 -13
  89. package/dist/capture/sensor-raw-producer.js +86 -25
  90. package/dist/capture/sensor-raw-producer.js.map +1 -1
  91. package/dist/capture/simulated-capture.d.ts +15 -16
  92. package/dist/capture/simulated-capture.js +22 -12
  93. package/dist/capture/simulated-capture.js.map +1 -1
  94. package/dist/color/camera-color-matrix.d.ts +69 -0
  95. package/dist/color/camera-color-matrix.js +132 -0
  96. package/dist/color/camera-color-matrix.js.map +1 -0
  97. package/dist/color/capture-color.d.ts +17 -10
  98. package/dist/color/capture-color.js +50 -17
  99. package/dist/color/capture-color.js.map +1 -1
  100. package/dist/color/chromatic-adaptation.d.ts +63 -0
  101. package/dist/color/chromatic-adaptation.js +91 -0
  102. package/dist/color/chromatic-adaptation.js.map +1 -0
  103. package/dist/color/color-difference.d.ts +104 -0
  104. package/dist/color/color-difference.js +205 -0
  105. package/dist/color/color-difference.js.map +1 -0
  106. package/dist/color/color-matching-functions.d.ts +168 -0
  107. package/dist/color/color-matching-functions.js +309 -0
  108. package/dist/color/color-matching-functions.js.map +1 -0
  109. package/dist/color/colorimetry-math.d.ts +52 -0
  110. package/dist/color/colorimetry-math.js +144 -0
  111. package/dist/color/colorimetry-math.js.map +1 -0
  112. package/dist/color/gamut-mapping.d.ts +54 -0
  113. package/dist/color/gamut-mapping.js +107 -0
  114. package/dist/color/gamut-mapping.js.map +1 -0
  115. package/dist/color/illuminants.d.ts +182 -0
  116. package/dist/color/illuminants.js +434 -0
  117. package/dist/color/illuminants.js.map +1 -0
  118. package/dist/color/rgb-color-spaces.d.ts +79 -0
  119. package/dist/color/rgb-color-spaces.js +115 -0
  120. package/dist/color/rgb-color-spaces.js.map +1 -0
  121. package/dist/color/sensor-color-development.d.ts +33 -11
  122. package/dist/color/sensor-color-development.js +104 -30
  123. package/dist/color/sensor-color-development.js.map +1 -1
  124. package/dist/color/srgb-icc.d.ts +9 -2
  125. package/dist/color/srgb-icc.js +16 -5
  126. package/dist/color/srgb-icc.js.map +1 -1
  127. package/dist/color/srgb-transfer.d.ts +1 -2
  128. package/dist/color/srgb-transfer.js +1 -1
  129. package/dist/color/srgb-transfer.js.map +1 -1
  130. package/dist/color/white-balance.d.ts +68 -19
  131. package/dist/color/white-balance.js +168 -35
  132. package/dist/color/white-balance.js.map +1 -1
  133. package/dist/composition/image-formation-plan.d.ts +152 -128
  134. package/dist/composition/image-formation-plan.js +292 -138
  135. package/dist/composition/image-formation-plan.js.map +1 -1
  136. package/dist/composition/plan-consumer.d.ts +6 -7
  137. package/dist/composition/plan-consumer.js +14 -11
  138. package/dist/composition/plan-consumer.js.map +1 -1
  139. package/dist/core/calculation-result.d.ts +21 -14
  140. package/dist/core/calculation-result.js +209 -11
  141. package/dist/core/calculation-result.js.map +1 -1
  142. package/dist/core/canonical-json.d.ts +13 -8
  143. package/dist/core/canonical-json.js +34 -15
  144. package/dist/core/canonical-json.js.map +1 -1
  145. package/dist/core/configuration-error.d.ts +5 -4
  146. package/dist/core/configuration-error.js +5 -3
  147. package/dist/core/configuration-error.js.map +1 -1
  148. package/dist/core/evidence-provenance.d.ts +12 -12
  149. package/dist/core/evidence-provenance.js +10 -9
  150. package/dist/core/evidence-provenance.js.map +1 -1
  151. package/dist/core/image-formation.d.ts +11 -10
  152. package/dist/core/image-formation.js +11 -9
  153. package/dist/core/image-formation.js.map +1 -1
  154. package/dist/core/owned-data.d.ts +9 -17
  155. package/dist/core/owned-data.js +9 -16
  156. package/dist/core/owned-data.js.map +1 -1
  157. package/dist/core/portable-math.d.ts +15 -0
  158. package/dist/core/portable-math.js +56 -0
  159. package/dist/core/portable-math.js.map +1 -0
  160. package/dist/core/record-validation.d.ts +48 -9
  161. package/dist/core/record-validation.js +93 -19
  162. package/dist/core/record-validation.js.map +1 -1
  163. package/dist/core/scientific-assurance.d.ts +16 -14
  164. package/dist/core/scientific-assurance.js +22 -18
  165. package/dist/core/scientific-assurance.js.map +1 -1
  166. package/dist/core/spectral-composition.d.ts +13 -14
  167. package/dist/core/spectral-composition.js +30 -27
  168. package/dist/core/spectral-composition.js.map +1 -1
  169. package/dist/core/spectral.d.ts +5 -6
  170. package/dist/core/spectral.js +9 -7
  171. package/dist/core/spectral.js.map +1 -1
  172. package/dist/core/validation.d.ts +3 -6
  173. package/dist/core/validation.js +3 -5
  174. package/dist/core/validation.js.map +1 -1
  175. package/dist/core/version.d.ts +6 -6
  176. package/dist/core/version.js +6 -5
  177. package/dist/core/version.js.map +1 -1
  178. package/dist/equipment/exposure-capabilities.d.ts +10 -10
  179. package/dist/equipment/exposure-capabilities.js +40 -30
  180. package/dist/equipment/exposure-capabilities.js.map +1 -1
  181. package/dist/equipment/generic-tier-assets.d.ts +13 -6
  182. package/dist/equipment/generic-tier-assets.js +34 -15
  183. package/dist/equipment/generic-tier-assets.js.map +1 -1
  184. package/dist/equipment/generic-tier-presets.d.ts +5 -6
  185. package/dist/equipment/generic-tier-presets.js +15 -13
  186. package/dist/equipment/generic-tier-presets.js.map +1 -1
  187. package/dist/equipment/iso-capabilities.d.ts +21 -22
  188. package/dist/equipment/iso-capabilities.js +49 -44
  189. package/dist/equipment/iso-capabilities.js.map +1 -1
  190. package/dist/equipment/metering-capabilities.d.ts +5 -6
  191. package/dist/equipment/metering-capabilities.js +22 -19
  192. package/dist/equipment/metering-capabilities.js.map +1 -1
  193. package/dist/equipment/release-capabilities.d.ts +3 -4
  194. package/dist/equipment/release-capabilities.js +18 -14
  195. package/dist/equipment/release-capabilities.js.map +1 -1
  196. package/dist/exposure/exposure-duration-control.d.ts +19 -17
  197. package/dist/exposure/exposure-duration-control.js +27 -23
  198. package/dist/exposure/exposure-duration-control.js.map +1 -1
  199. package/dist/exposure/exposure-mode-resolver.d.ts +42 -39
  200. package/dist/exposure/exposure-mode-resolver.js +127 -82
  201. package/dist/exposure/exposure-mode-resolver.js.map +1 -1
  202. package/dist/exposure/exposure.d.ts +17 -16
  203. package/dist/exposure/exposure.js +22 -15
  204. package/dist/exposure/exposure.js.map +1 -1
  205. package/dist/exposure/flash-ttl.d.ts +135 -0
  206. package/dist/exposure/flash-ttl.js +193 -0
  207. package/dist/exposure/flash-ttl.js.map +1 -0
  208. package/dist/exposure/flash.d.ts +144 -36
  209. package/dist/exposure/flash.js +259 -59
  210. package/dist/exposure/flash.js.map +1 -1
  211. package/dist/exposure/metering-scene-radiance.d.ts +10 -10
  212. package/dist/exposure/metering-scene-radiance.js +42 -23
  213. package/dist/exposure/metering-scene-radiance.js.map +1 -1
  214. package/dist/exposure/metering-target.d.ts +8 -8
  215. package/dist/exposure/metering-target.js +30 -20
  216. package/dist/exposure/metering-target.js.map +1 -1
  217. package/dist/exposure/metering-temporal.d.ts +16 -15
  218. package/dist/exposure/metering-temporal.js +41 -19
  219. package/dist/exposure/metering-temporal.js.map +1 -1
  220. package/dist/exposure/metering.d.ts +64 -17
  221. package/dist/exposure/metering.js +159 -30
  222. package/dist/exposure/metering.js.map +1 -1
  223. package/dist/exposure/program-line.d.ts +5 -5
  224. package/dist/exposure/program-line.js +20 -13
  225. package/dist/exposure/program-line.js.map +1 -1
  226. package/dist/facade/camera-preset.d.ts +8 -0
  227. package/dist/facade/camera-preset.js +102 -0
  228. package/dist/facade/camera-preset.js.map +1 -0
  229. package/dist/facade/chart-radiance-batch.d.ts +57 -0
  230. package/dist/facade/chart-radiance-batch.js +121 -0
  231. package/dist/facade/chart-radiance-batch.js.map +1 -0
  232. package/dist/facade/chart-scenes.d.ts +177 -0
  233. package/dist/facade/chart-scenes.js +232 -0
  234. package/dist/facade/chart-scenes.js.map +1 -0
  235. package/dist/facade/host-yield.d.ts +7 -0
  236. package/dist/facade/host-yield.js +23 -0
  237. package/dist/facade/host-yield.js.map +1 -0
  238. package/dist/facade/scene-radiance.d.ts +117 -0
  239. package/dist/facade/scene-radiance.js +205 -0
  240. package/dist/facade/scene-radiance.js.map +1 -0
  241. package/dist/facade/simulate-capture.d.ts +284 -0
  242. package/dist/facade/simulate-capture.js +1026 -0
  243. package/dist/facade/simulate-capture.js.map +1 -0
  244. package/dist/gpu/chart-radiance-gpu.d.ts +17 -0
  245. package/dist/gpu/chart-radiance-gpu.js +176 -0
  246. package/dist/gpu/chart-radiance-gpu.js.map +1 -0
  247. package/dist/gpu/image-kernel-accelerator.d.ts +132 -0
  248. package/dist/gpu/image-kernel-accelerator.js +720 -0
  249. package/dist/gpu/image-kernel-accelerator.js.map +1 -0
  250. package/dist/gpu/image-kernel-execution.d.ts +92 -0
  251. package/dist/gpu/image-kernel-execution.js +84 -0
  252. package/dist/gpu/image-kernel-execution.js.map +1 -0
  253. package/dist/gpu/sensor-stage-gpu.d.ts +44 -0
  254. package/dist/gpu/sensor-stage-gpu.js +317 -0
  255. package/dist/gpu/sensor-stage-gpu.js.map +1 -0
  256. package/dist/gpu/temporal-sum-gpu.d.ts +23 -0
  257. package/dist/gpu/temporal-sum-gpu.js +150 -0
  258. package/dist/gpu/temporal-sum-gpu.js.map +1 -0
  259. package/dist/gpu/webgpu-runtime.d.ts +63 -0
  260. package/dist/gpu/webgpu-runtime.js +215 -0
  261. package/dist/gpu/webgpu-runtime.js.map +1 -0
  262. package/dist/gpu/wgsl-chart-kernel.d.ts +30 -0
  263. package/dist/gpu/wgsl-chart-kernel.js +165 -0
  264. package/dist/gpu/wgsl-chart-kernel.js.map +1 -0
  265. package/dist/gpu/wgsl-kernels.d.ts +53 -0
  266. package/dist/gpu/wgsl-kernels.js +365 -0
  267. package/dist/gpu/wgsl-kernels.js.map +1 -0
  268. package/dist/gpu/wgsl-sensor-kernel.d.ts +64 -0
  269. package/dist/gpu/wgsl-sensor-kernel.js +409 -0
  270. package/dist/gpu/wgsl-sensor-kernel.js.map +1 -0
  271. package/dist/index.d.ts +89 -25
  272. package/dist/index.js +59 -15
  273. package/dist/index.js.map +1 -1
  274. package/dist/motion/camera-rotation.d.ts +92 -40
  275. package/dist/motion/camera-rotation.js +84 -47
  276. package/dist/motion/camera-rotation.js.map +1 -1
  277. package/dist/motion/capture-rotation-inverse-mapping.d.ts +37 -34
  278. package/dist/motion/capture-rotation-inverse-mapping.js +32 -24
  279. package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
  280. package/dist/motion/capture-rotation-temporal-quadrature.d.ts +39 -35
  281. package/dist/motion/capture-rotation-temporal-quadrature.js +37 -28
  282. package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
  283. package/dist/motion/capture-rotation-trajectory.d.ts +32 -28
  284. package/dist/motion/capture-rotation-trajectory.js +36 -26
  285. package/dist/motion/capture-rotation-trajectory.js.map +1 -1
  286. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +23 -21
  287. package/dist/motion/capture-translation-parallax-temporal-quadrature.js +33 -14
  288. package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -1
  289. package/dist/motion/extended-object-projection.d.ts +19 -16
  290. package/dist/motion/extended-object-projection.js +38 -18
  291. package/dist/motion/extended-object-projection.js.map +1 -1
  292. package/dist/motion/projected-motion.d.ts +18 -17
  293. package/dist/motion/projected-motion.js +25 -17
  294. package/dist/motion/projected-motion.js.map +1 -1
  295. package/dist/motion/temporal-exposure-sum.d.ts +55 -0
  296. package/dist/motion/temporal-exposure-sum.js +141 -0
  297. package/dist/motion/temporal-exposure-sum.js.map +1 -0
  298. package/dist/motion/video-sequence.d.ts +111 -0
  299. package/dist/motion/video-sequence.js +179 -0
  300. package/dist/motion/video-sequence.js.map +1 -0
  301. package/dist/optics/aperture.d.ts +14 -15
  302. package/dist/optics/aperture.js +13 -11
  303. package/dist/optics/aperture.js.map +1 -1
  304. package/dist/optics/atmospheric-haze.d.ts +83 -0
  305. package/dist/optics/atmospheric-haze.js +113 -0
  306. package/dist/optics/atmospheric-haze.js.map +1 -0
  307. package/dist/optics/brown-conrady-distortion.d.ts +116 -0
  308. package/dist/optics/brown-conrady-distortion.js +291 -0
  309. package/dist/optics/brown-conrady-distortion.js.map +1 -0
  310. package/dist/optics/circle-of-confusion.d.ts +10 -10
  311. package/dist/optics/circle-of-confusion.js +15 -11
  312. package/dist/optics/circle-of-confusion.js.map +1 -1
  313. package/dist/optics/complex-pupil-psf.d.ts +64 -33
  314. package/dist/optics/complex-pupil-psf.js +190 -98
  315. package/dist/optics/complex-pupil-psf.js.map +1 -1
  316. package/dist/optics/depth-of-field.d.ts +25 -15
  317. package/dist/optics/depth-of-field.js +67 -27
  318. package/dist/optics/depth-of-field.js.map +1 -1
  319. package/dist/optics/diffraction.d.ts +14 -13
  320. package/dist/optics/diffraction.js +14 -10
  321. package/dist/optics/diffraction.js.map +1 -1
  322. package/dist/optics/focus-breathing.d.ts +88 -27
  323. package/dist/optics/focus-breathing.js +114 -23
  324. package/dist/optics/focus-breathing.js.map +1 -1
  325. package/dist/optics/focus-state.d.ts +18 -18
  326. package/dist/optics/focus-state.js +21 -15
  327. package/dist/optics/focus-state.js.map +1 -1
  328. package/dist/optics/front-of-lens-filter.d.ts +45 -14
  329. package/dist/optics/front-of-lens-filter.js +259 -88
  330. package/dist/optics/front-of-lens-filter.js.map +1 -1
  331. package/dist/optics/illumination-vignetting.d.ts +16 -17
  332. package/dist/optics/illumination-vignetting.js +40 -17
  333. package/dist/optics/illumination-vignetting.js.map +1 -1
  334. package/dist/optics/irradiance-convolution.d.ts +59 -0
  335. package/dist/optics/irradiance-convolution.js +138 -0
  336. package/dist/optics/irradiance-convolution.js.map +1 -0
  337. package/dist/optics/lateral-chromatic-aberration.d.ts +33 -30
  338. package/dist/optics/lateral-chromatic-aberration.js +33 -23
  339. package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
  340. package/dist/optics/lens-psf-kernels.d.ts +89 -0
  341. package/dist/optics/lens-psf-kernels.js +175 -0
  342. package/dist/optics/lens-psf-kernels.js.map +1 -0
  343. package/dist/optics/lens-psf-profile.d.ts +78 -46
  344. package/dist/optics/lens-psf-profile.js +335 -124
  345. package/dist/optics/lens-psf-profile.js.map +1 -1
  346. package/dist/optics/longitudinal-chromatic-aberration.d.ts +102 -0
  347. package/dist/optics/longitudinal-chromatic-aberration.js +210 -0
  348. package/dist/optics/longitudinal-chromatic-aberration.js.map +1 -0
  349. package/dist/optics/polygon-diffraction.d.ts +80 -23
  350. package/dist/optics/polygon-diffraction.js +130 -25
  351. package/dist/optics/polygon-diffraction.js.map +1 -1
  352. package/dist/optics/profile-contract.d.ts +5 -6
  353. package/dist/optics/profile-contract.js +14 -11
  354. package/dist/optics/profile-contract.js.map +1 -1
  355. package/dist/optics/psf-foundation.d.ts +23 -23
  356. package/dist/optics/psf-foundation.js +24 -21
  357. package/dist/optics/psf-foundation.js.map +1 -1
  358. package/dist/optics/pupil-vignetting.d.ts +118 -0
  359. package/dist/optics/pupil-vignetting.js +264 -0
  360. package/dist/optics/pupil-vignetting.js.map +1 -0
  361. package/dist/optics/radial-distortion.d.ts +34 -33
  362. package/dist/optics/radial-distortion.js +37 -30
  363. package/dist/optics/radial-distortion.js.map +1 -1
  364. package/dist/optics/scene-to-sensor-irradiance.d.ts +47 -33
  365. package/dist/optics/scene-to-sensor-irradiance.js +73 -45
  366. package/dist/optics/scene-to-sensor-irradiance.js.map +1 -1
  367. package/dist/optics/scene-to-sensor-quadrature.d.ts +23 -18
  368. package/dist/optics/scene-to-sensor-quadrature.js +16 -11
  369. package/dist/optics/scene-to-sensor-quadrature.js.map +1 -1
  370. package/dist/optics/sensor-aperture-rays.d.ts +20 -4
  371. package/dist/optics/sensor-aperture-rays.js +32 -14
  372. package/dist/optics/sensor-aperture-rays.js.map +1 -1
  373. package/dist/optics/sensor-environment-query.d.ts +81 -16
  374. package/dist/optics/sensor-environment-query.js +145 -12
  375. package/dist/optics/sensor-environment-query.js.map +1 -1
  376. package/dist/optics/sensor-psf-quadrature.d.ts +12 -10
  377. package/dist/optics/sensor-psf-quadrature.js +18 -11
  378. package/dist/optics/sensor-psf-quadrature.js.map +1 -1
  379. package/dist/optics/sensor-psf-support.d.ts +8 -6
  380. package/dist/optics/sensor-psf-support.js +8 -5
  381. package/dist/optics/sensor-psf-support.js.map +1 -1
  382. package/dist/optics/stray-light.d.ts +22 -19
  383. package/dist/optics/stray-light.js +18 -12
  384. package/dist/optics/stray-light.js.map +1 -1
  385. package/dist/optics/thin-lens.d.ts +10 -9
  386. package/dist/optics/thin-lens.js +12 -8
  387. package/dist/optics/thin-lens.js.map +1 -1
  388. package/dist/optics/zernike-wavefront.d.ts +154 -0
  389. package/dist/optics/zernike-wavefront.js +352 -0
  390. package/dist/optics/zernike-wavefront.js.map +1 -0
  391. package/dist/output/capture-corrected-sdr.d.ts +16 -8
  392. package/dist/output/capture-corrected-sdr.js +16 -8
  393. package/dist/output/capture-corrected-sdr.js.map +1 -1
  394. package/dist/output/capture-geometry.d.ts +34 -36
  395. package/dist/output/capture-geometry.js +52 -32
  396. package/dist/output/capture-geometry.js.map +1 -1
  397. package/dist/output/capture-sdr.d.ts +7 -6
  398. package/dist/output/capture-sdr.js +11 -8
  399. package/dist/output/capture-sdr.js.map +1 -1
  400. package/dist/output/crop.d.ts +22 -6
  401. package/dist/output/crop.js +40 -6
  402. package/dist/output/crop.js.map +1 -1
  403. package/dist/output/geometric-transforms.d.ts +60 -23
  404. package/dist/output/geometric-transforms.js +111 -24
  405. package/dist/output/geometric-transforms.js.map +1 -1
  406. package/dist/output/lens-corrections.d.ts +27 -19
  407. package/dist/output/lens-corrections.js +29 -13
  408. package/dist/output/lens-corrections.js.map +1 -1
  409. package/dist/output/native-capture-sdr.d.ts +71 -16
  410. package/dist/output/native-capture-sdr.js +190 -33
  411. package/dist/output/native-capture-sdr.js.map +1 -1
  412. package/dist/output/png-encoder.d.ts +65 -0
  413. package/dist/output/png-encoder.js +461 -0
  414. package/dist/output/png-encoder.js.map +1 -0
  415. package/dist/output/print-contrast-reference.d.ts +10 -9
  416. package/dist/output/print-contrast-reference.js +10 -8
  417. package/dist/output/print-contrast-reference.js.map +1 -1
  418. package/dist/output/print-detail.d.ts +18 -17
  419. package/dist/output/print-detail.js +12 -10
  420. package/dist/output/print-detail.js.map +1 -1
  421. package/dist/output/print-jpeg.d.ts +26 -5
  422. package/dist/output/print-jpeg.js +117 -50
  423. package/dist/output/print-jpeg.js.map +1 -1
  424. package/dist/output/print-plan.d.ts +19 -19
  425. package/dist/output/print-plan.js +11 -10
  426. package/dist/output/print-plan.js.map +1 -1
  427. package/dist/output/print-region-statistics.d.ts +14 -15
  428. package/dist/output/print-region-statistics.js +11 -11
  429. package/dist/output/print-region-statistics.js.map +1 -1
  430. package/dist/output/sdr-rendering.d.ts +48 -10
  431. package/dist/output/sdr-rendering.js +114 -25
  432. package/dist/output/sdr-rendering.js.map +1 -1
  433. package/dist/output/subject-framing-crop.d.ts +6 -10
  434. package/dist/output/subject-framing-crop.js +23 -13
  435. package/dist/output/subject-framing-crop.js.map +1 -1
  436. package/dist/processing/demosaic.d.ts +90 -0
  437. package/dist/processing/demosaic.js +275 -0
  438. package/dist/processing/demosaic.js.map +1 -0
  439. package/dist/processing/denoise.d.ts +68 -0
  440. package/dist/processing/denoise.js +214 -0
  441. package/dist/processing/denoise.js.map +1 -0
  442. package/dist/processing/focus-stacking.d.ts +17 -0
  443. package/dist/processing/focus-stacking.js +80 -0
  444. package/dist/processing/focus-stacking.js.map +1 -0
  445. package/dist/processing/hdr.d.ts +54 -0
  446. package/dist/processing/hdr.js +172 -0
  447. package/dist/processing/hdr.js.map +1 -0
  448. package/dist/processing/image-ops.d.ts +66 -0
  449. package/dist/processing/image-ops.js +192 -0
  450. package/dist/processing/image-ops.js.map +1 -0
  451. package/dist/processing/panorama.d.ts +51 -0
  452. package/dist/processing/panorama.js +305 -0
  453. package/dist/processing/panorama.js.map +1 -0
  454. package/dist/processing/processing-task.d.ts +85 -0
  455. package/dist/processing/processing-task.js +164 -0
  456. package/dist/processing/processing-task.js.map +1 -0
  457. package/dist/processing/tone-mapping.d.ts +69 -0
  458. package/dist/processing/tone-mapping.js +310 -0
  459. package/dist/processing/tone-mapping.js.map +1 -0
  460. package/dist/schema/camera.d.ts +5 -4
  461. package/dist/schema/illumination-spectral.d.ts +13 -19
  462. package/dist/schema/illumination-spectral.js +23 -19
  463. package/dist/schema/illumination-spectral.js.map +1 -1
  464. package/dist/schema/illumination-temporal.d.ts +12 -15
  465. package/dist/schema/illumination-temporal.js +43 -28
  466. package/dist/schema/illumination-temporal.js.map +1 -1
  467. package/dist/schema/illumination.d.ts +5 -4
  468. package/dist/schema/illumination.js +55 -20
  469. package/dist/schema/illumination.js.map +1 -1
  470. package/dist/schema/scene-radiance-temporal.d.ts +9 -11
  471. package/dist/schema/scene-radiance-temporal.js +26 -23
  472. package/dist/schema/scene-radiance-temporal.js.map +1 -1
  473. package/dist/schema/scene-radiance.d.ts +17 -17
  474. package/dist/schema/scene-radiance.js +56 -34
  475. package/dist/schema/scene-radiance.js.map +1 -1
  476. package/dist/schema/scene.d.ts +14 -13
  477. package/dist/schema/validation.d.ts +0 -1
  478. package/dist/schema/validation.js +17 -15
  479. package/dist/schema/validation.js.map +1 -1
  480. package/dist/sensor/accumulated-charge.d.ts +45 -64
  481. package/dist/sensor/accumulated-charge.js +41 -47
  482. package/dist/sensor/accumulated-charge.js.map +1 -1
  483. package/dist/sensor/architecture.d.ts +22 -25
  484. package/dist/sensor/architecture.js +17 -16
  485. package/dist/sensor/architecture.js.map +1 -1
  486. package/dist/sensor/camera-saturation-capacity.d.ts +21 -28
  487. package/dist/sensor/camera-saturation-capacity.js +36 -34
  488. package/dist/sensor/camera-saturation-capacity.js.map +1 -1
  489. package/dist/sensor/capture-color-sampling-binding.d.ts +46 -51
  490. package/dist/sensor/capture-color-sampling-binding.js +39 -41
  491. package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
  492. package/dist/sensor/capture-mode-timing.d.ts +8 -9
  493. package/dist/sensor/capture-mode-timing.js +24 -21
  494. package/dist/sensor/capture-mode-timing.js.map +1 -1
  495. package/dist/sensor/capture-mode.d.ts +28 -30
  496. package/dist/sensor/capture-mode.js +33 -31
  497. package/dist/sensor/capture-mode.js.map +1 -1
  498. package/dist/sensor/color-sampling.d.ts +30 -33
  499. package/dist/sensor/color-sampling.js +32 -37
  500. package/dist/sensor/color-sampling.js.map +1 -1
  501. package/dist/sensor/constant-rate-temporal-integration.d.ts +19 -23
  502. package/dist/sensor/constant-rate-temporal-integration.js +28 -26
  503. package/dist/sensor/constant-rate-temporal-integration.js.map +1 -1
  504. package/dist/sensor/dark-current.d.ts +53 -49
  505. package/dist/sensor/dark-current.js +87 -46
  506. package/dist/sensor/dark-current.js.map +1 -1
  507. package/dist/sensor/environment-photo-signal.d.ts +71 -30
  508. package/dist/sensor/environment-photo-signal.js +127 -46
  509. package/dist/sensor/environment-photo-signal.js.map +1 -1
  510. package/dist/sensor/eqe-electron-rate.d.ts +14 -13
  511. package/dist/sensor/eqe-electron-rate.js +34 -14
  512. package/dist/sensor/eqe-electron-rate.js.map +1 -1
  513. package/dist/sensor/eqe-local-exposure.d.ts +24 -24
  514. package/dist/sensor/eqe-local-exposure.js +15 -11
  515. package/dist/sensor/eqe-local-exposure.js.map +1 -1
  516. package/dist/sensor/eqe-temporal-exposure.d.ts +11 -11
  517. package/dist/sensor/eqe-temporal-exposure.js +15 -10
  518. package/dist/sensor/eqe-temporal-exposure.js.map +1 -1
  519. package/dist/sensor/exposure-window.d.ts +48 -34
  520. package/dist/sensor/exposure-window.js +77 -36
  521. package/dist/sensor/exposure-window.js.map +1 -1
  522. package/dist/sensor/fixed-pattern-noise.d.ts +108 -0
  523. package/dist/sensor/fixed-pattern-noise.js +166 -0
  524. package/dist/sensor/fixed-pattern-noise.js.map +1 -0
  525. package/dist/sensor/iso-gain.d.ts +44 -0
  526. package/dist/sensor/iso-gain.js +119 -0
  527. package/dist/sensor/iso-gain.js.map +1 -0
  528. package/dist/sensor/iso-signal-chain.d.ts +25 -48
  529. package/dist/sensor/iso-signal-chain.js +52 -66
  530. package/dist/sensor/iso-signal-chain.js.map +1 -1
  531. package/dist/sensor/local-exposure-binding.d.ts +21 -21
  532. package/dist/sensor/local-exposure-binding.js +22 -18
  533. package/dist/sensor/local-exposure-binding.js.map +1 -1
  534. package/dist/sensor/optical-stack.d.ts +36 -40
  535. package/dist/sensor/optical-stack.js +34 -37
  536. package/dist/sensor/optical-stack.js.map +1 -1
  537. package/dist/sensor/photon-energy.d.ts +22 -28
  538. package/dist/sensor/photon-energy.js +42 -34
  539. package/dist/sensor/photon-energy.js.map +1 -1
  540. package/dist/sensor/physical-charge-capacity.d.ts +20 -30
  541. package/dist/sensor/physical-charge-capacity.js +35 -36
  542. package/dist/sensor/physical-charge-capacity.js.map +1 -1
  543. package/dist/sensor/pixel-pitch.d.ts +2 -3
  544. package/dist/sensor/pixel-pitch.js +4 -2
  545. package/dist/sensor/pixel-pitch.js.map +1 -1
  546. package/dist/sensor/radiometry-readiness.d.ts +13 -15
  547. package/dist/sensor/radiometry-readiness.js +20 -17
  548. package/dist/sensor/radiometry-readiness.js.map +1 -1
  549. package/dist/sensor/raw-readout.d.ts +173 -83
  550. package/dist/sensor/raw-readout.js +425 -160
  551. package/dist/sensor/raw-readout.js.map +1 -1
  552. package/dist/sensor/raw-reconstruction.d.ts +112 -44
  553. package/dist/sensor/raw-reconstruction.js +200 -47
  554. package/dist/sensor/raw-reconstruction.js.map +1 -1
  555. package/dist/sensor/readout-exposure-linkage.d.ts +103 -34
  556. package/dist/sensor/readout-exposure-linkage.js +125 -27
  557. package/dist/sensor/readout-exposure-linkage.js.map +1 -1
  558. package/dist/sensor/readout-timing.d.ts +43 -44
  559. package/dist/sensor/readout-timing.js +38 -30
  560. package/dist/sensor/readout-timing.js.map +1 -1
  561. package/dist/sensor/response-application-compatibility.d.ts +21 -28
  562. package/dist/sensor/response-application-compatibility.js +35 -34
  563. package/dist/sensor/response-application-compatibility.js.map +1 -1
  564. package/dist/sensor/response-operating-range.d.ts +26 -35
  565. package/dist/sensor/response-operating-range.js +40 -39
  566. package/dist/sensor/response-operating-range.js.map +1 -1
  567. package/dist/sensor/responsivity-photocurrent.d.ts +21 -29
  568. package/dist/sensor/responsivity-photocurrent.js +57 -40
  569. package/dist/sensor/responsivity-photocurrent.js.map +1 -1
  570. package/dist/sensor/sampling-aperture.d.ts +21 -25
  571. package/dist/sensor/sampling-aperture.js +29 -28
  572. package/dist/sensor/sampling-aperture.js.map +1 -1
  573. package/dist/sensor/scene-eqe-temporal-exposure.d.ts +14 -12
  574. package/dist/sensor/scene-eqe-temporal-exposure.js +13 -8
  575. package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -1
  576. package/dist/sensor/sensor-geometry.d.ts +28 -32
  577. package/dist/sensor/sensor-geometry.js +35 -20
  578. package/dist/sensor/sensor-geometry.js.map +1 -1
  579. package/dist/sensor/signal-noise.d.ts +14 -16
  580. package/dist/sensor/signal-noise.js +15 -13
  581. package/dist/sensor/signal-noise.js.map +1 -1
  582. package/dist/sensor/spatial-sample-reduction.d.ts +45 -60
  583. package/dist/sensor/spatial-sample-reduction.js +39 -48
  584. package/dist/sensor/spatial-sample-reduction.js.map +1 -1
  585. package/dist/sensor/spatial-sampling-quadrature.d.ts +46 -54
  586. package/dist/sensor/spatial-sampling-quadrature.js +31 -36
  587. package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
  588. package/dist/sensor/spatio-spectral-reduction.d.ts +32 -42
  589. package/dist/sensor/spatio-spectral-reduction.js +24 -29
  590. package/dist/sensor/spatio-spectral-reduction.js.map +1 -1
  591. package/dist/sensor/spectral-coverage.d.ts +6 -9
  592. package/dist/sensor/spectral-coverage.js +9 -6
  593. package/dist/sensor/spectral-coverage.js.map +1 -1
  594. package/dist/sensor/spectral-quadrature.d.ts +46 -60
  595. package/dist/sensor/spectral-quadrature.js +38 -48
  596. package/dist/sensor/spectral-quadrature.js.map +1 -1
  597. package/dist/sensor/spectral-response.d.ts +53 -41
  598. package/dist/sensor/spectral-response.js +80 -47
  599. package/dist/sensor/spectral-response.js.map +1 -1
  600. package/dist/sensor/stochastic-seed.d.ts +50 -0
  601. package/dist/sensor/stochastic-seed.js +123 -0
  602. package/dist/sensor/stochastic-seed.js.map +1 -0
  603. package/dist/sensor/temporal-eqe-sum.d.ts +2 -4
  604. package/dist/sensor/temporal-eqe-sum.js +5 -6
  605. package/dist/sensor/temporal-eqe-sum.js.map +1 -1
  606. package/dist/sensor/temporal-photo-signal.d.ts +5 -6
  607. package/dist/sensor/temporal-photo-signal.js +11 -10
  608. package/dist/sensor/temporal-photo-signal.js.map +1 -1
  609. package/dist/sensor/temporal-sample-binding.d.ts +1 -2
  610. package/dist/sensor/temporal-sample-binding.js +3 -3
  611. package/dist/sensor/temporal-sample-binding.js.map +1 -1
  612. package/dist/simulation/poc-simulation.d.ts +16 -16
  613. package/dist/simulation/poc-simulation.js +20 -15
  614. package/dist/simulation/poc-simulation.js.map +1 -1
  615. package/dist/stabilization/camera-shake.d.ts +42 -18
  616. package/dist/stabilization/camera-shake.js +43 -20
  617. package/dist/stabilization/camera-shake.js.map +1 -1
  618. package/dist/stabilization/system.d.ts +44 -41
  619. package/dist/stabilization/system.js +196 -108
  620. package/dist/stabilization/system.js.map +1 -1
  621. package/docs/AGENT_GUIDE.md +183 -0
  622. package/docs/API_REFERENCE.md +761 -2
  623. package/docs/QUICK_START.md +495 -0
  624. package/docs/USAGE.md +1719 -714
  625. package/docs/api/camera-equivalent-focal-length.md +6 -7
  626. package/docs/api/camera-field-of-view.md +16 -8
  627. package/docs/api/camera-lens-projection.md +246 -0
  628. package/docs/api/camera-projected-object-size.md +6 -5
  629. package/docs/api/capture-capture-export-metadata.md +10 -10
  630. package/docs/api/capture-dng-import.md +134 -0
  631. package/docs/api/capture-environment-raw-producer.md +17 -11
  632. package/docs/api/capture-export-jpeg.md +16 -0
  633. package/docs/api/capture-focus-control.md +25 -47
  634. package/docs/api/capture-linear-encoding.md +21 -12
  635. package/docs/api/capture-lossless-jpeg.md +49 -0
  636. package/docs/api/capture-native-environment-optical-stage.md +75 -0
  637. package/docs/api/capture-native-environment-raw.md +161 -4
  638. package/docs/api/capture-native-raw-development.md +69 -4
  639. package/docs/api/capture-native-raw-dng.md +84 -0
  640. package/docs/api/capture-native-raw.md +23 -8
  641. package/docs/api/capture-packed-sensor-raw.md +156 -0
  642. package/docs/api/capture-photographic-export.md +69 -31
  643. package/docs/api/capture-raw-frame-reconstruction.md +8 -8
  644. package/docs/api/capture-raw-white-level.md +37 -0
  645. package/docs/api/capture-release-sequence.md +6 -7
  646. package/docs/api/capture-sensor-raw-frame.md +6 -6
  647. package/docs/api/capture-sensor-raw-producer.md +17 -11
  648. package/docs/api/capture-simulated-capture.md +15 -15
  649. package/docs/api/color-camera-color-matrix.md +103 -0
  650. package/docs/api/color-capture-color.md +22 -11
  651. package/docs/api/color-chromatic-adaptation.md +82 -0
  652. package/docs/api/color-color-difference.md +134 -0
  653. package/docs/api/color-color-matching-functions.md +259 -0
  654. package/docs/api/color-colorimetry-math.md +54 -0
  655. package/docs/api/color-gamut-mapping.md +72 -0
  656. package/docs/api/color-illuminants.md +280 -0
  657. package/docs/api/color-rgb-color-spaces.md +151 -0
  658. package/docs/api/color-sensor-color-development.md +27 -0
  659. package/docs/api/color-srgb-icc.md +2 -4
  660. package/docs/api/color-white-balance.md +95 -19
  661. package/docs/api/composition-image-formation-plan.md +124 -95
  662. package/docs/api/composition-plan-consumer.md +7 -7
  663. package/docs/api/core-calculation-result.md +18 -14
  664. package/docs/api/core-configuration-error.md +1 -1
  665. package/docs/api/core-image-formation.md +7 -7
  666. package/docs/api/core-scientific-assurance.md +12 -10
  667. package/docs/api/core-spectral-composition.md +14 -14
  668. package/docs/api/core-spectral.md +6 -6
  669. package/docs/api/core-validation.md +3 -3
  670. package/docs/api/core-version.md +7 -6
  671. package/docs/api/equipment-exposure-capabilities.md +11 -10
  672. package/docs/api/equipment-generic-tier-assets.md +7 -2
  673. package/docs/api/equipment-generic-tier-presets.md +6 -6
  674. package/docs/api/equipment-iso-capabilities.md +18 -18
  675. package/docs/api/equipment-metering-capabilities.md +6 -6
  676. package/docs/api/equipment-release-capabilities.md +4 -4
  677. package/docs/api/exports.json +2213 -8
  678. package/docs/api/exposure-exposure-duration-control.md +9 -9
  679. package/docs/api/exposure-exposure-mode-resolver.md +35 -31
  680. package/docs/api/exposure-exposure.md +10 -10
  681. package/docs/api/exposure-flash-ttl.md +182 -0
  682. package/docs/api/exposure-flash.md +183 -28
  683. package/docs/api/exposure-metering-scene-radiance.md +11 -10
  684. package/docs/api/exposure-metering-target.md +9 -8
  685. package/docs/api/exposure-metering-temporal.md +8 -8
  686. package/docs/api/exposure-metering.md +69 -9
  687. package/docs/api/exposure-program-line.md +6 -5
  688. package/docs/api/facade-chart-radiance-batch.md +96 -0
  689. package/docs/api/facade-chart-scenes.md +240 -0
  690. package/docs/api/facade-scene-radiance.md +122 -0
  691. package/docs/api/facade-simulate-capture.md +324 -0
  692. package/docs/api/gpu-image-kernel-accelerator.md +157 -0
  693. package/docs/api/gpu-image-kernel-execution.md +152 -0
  694. package/docs/api/motion-camera-rotation.md +43 -26
  695. package/docs/api/motion-capture-rotation-inverse-mapping.md +24 -23
  696. package/docs/api/motion-capture-rotation-temporal-quadrature.md +22 -22
  697. package/docs/api/motion-capture-rotation-trajectory.md +15 -15
  698. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +15 -14
  699. package/docs/api/motion-extended-object-projection.md +10 -8
  700. package/docs/api/motion-projected-motion.md +8 -8
  701. package/docs/api/motion-temporal-exposure-sum.md +98 -0
  702. package/docs/api/motion-video-sequence.md +159 -0
  703. package/docs/api/optics-aperture.md +8 -8
  704. package/docs/api/optics-atmospheric-haze.md +104 -0
  705. package/docs/api/optics-brown-conrady-distortion.md +123 -0
  706. package/docs/api/optics-circle-of-confusion.md +5 -4
  707. package/docs/api/optics-complex-pupil-psf.md +57 -16
  708. package/docs/api/optics-depth-of-field.md +12 -6
  709. package/docs/api/optics-diffraction.md +8 -7
  710. package/docs/api/optics-focus-breathing.md +104 -16
  711. package/docs/api/optics-focus-state.md +9 -10
  712. package/docs/api/optics-front-of-lens-filter.md +72 -14
  713. package/docs/api/optics-illumination-vignetting.md +10 -10
  714. package/docs/api/optics-irradiance-convolution.md +95 -0
  715. package/docs/api/optics-lateral-chromatic-aberration.md +22 -21
  716. package/docs/api/optics-lens-psf-kernels.md +72 -0
  717. package/docs/api/optics-lens-psf-profile.md +48 -26
  718. package/docs/api/optics-longitudinal-chromatic-aberration.md +128 -0
  719. package/docs/api/optics-polygon-diffraction.md +78 -13
  720. package/docs/api/optics-profile-contract.md +4 -4
  721. package/docs/api/optics-psf-foundation.md +12 -12
  722. package/docs/api/optics-pupil-vignetting.md +132 -0
  723. package/docs/api/optics-radial-distortion.md +12 -12
  724. package/docs/api/optics-scene-to-sensor-irradiance.md +25 -14
  725. package/docs/api/optics-scene-to-sensor-quadrature.md +15 -12
  726. package/docs/api/optics-sensor-aperture-rays.md +3 -2
  727. package/docs/api/optics-sensor-environment-query.md +52 -9
  728. package/docs/api/optics-sensor-psf-quadrature.md +13 -10
  729. package/docs/api/optics-stray-light.md +12 -11
  730. package/docs/api/optics-thin-lens.md +4 -3
  731. package/docs/api/optics-zernike-wavefront.md +229 -0
  732. package/docs/api/output-capture-corrected-sdr.md +10 -7
  733. package/docs/api/output-capture-geometry.md +35 -36
  734. package/docs/api/output-capture-sdr.md +4 -4
  735. package/docs/api/output-crop.md +7 -4
  736. package/docs/api/output-geometric-transforms.md +65 -19
  737. package/docs/api/output-lens-corrections.md +17 -15
  738. package/docs/api/output-native-capture-sdr.md +26 -13
  739. package/docs/api/output-png-encoder.md +105 -0
  740. package/docs/api/output-print-contrast-reference.md +8 -8
  741. package/docs/api/output-print-detail.md +14 -14
  742. package/docs/api/output-print-jpeg.md +22 -5
  743. package/docs/api/output-print-plan.md +18 -18
  744. package/docs/api/output-print-region-statistics.md +14 -14
  745. package/docs/api/output-sdr-rendering.md +52 -10
  746. package/docs/api/output-subject-framing-crop.md +5 -6
  747. package/docs/api/processing-demosaic.md +120 -0
  748. package/docs/api/processing-denoise.md +148 -0
  749. package/docs/api/processing-focus-stacking.md +41 -0
  750. package/docs/api/processing-hdr.md +113 -0
  751. package/docs/api/processing-panorama.md +82 -0
  752. package/docs/api/processing-processing-task.md +107 -0
  753. package/docs/api/processing-tone-mapping.md +142 -0
  754. package/docs/api/schema-camera.md +6 -4
  755. package/docs/api/schema-illumination-spectral.md +10 -11
  756. package/docs/api/schema-illumination-temporal.md +13 -15
  757. package/docs/api/schema-illumination.md +4 -4
  758. package/docs/api/schema-scene-radiance-temporal.md +10 -11
  759. package/docs/api/schema-scene-radiance.md +18 -17
  760. package/docs/api/schema-scene.md +9 -9
  761. package/docs/api/schema-validation.md +1 -1
  762. package/docs/api/sensor-accumulated-charge.md +12 -20
  763. package/docs/api/sensor-architecture.md +15 -16
  764. package/docs/api/sensor-camera-saturation-capacity.md +9 -11
  765. package/docs/api/sensor-capture-color-sampling-binding.md +47 -51
  766. package/docs/api/sensor-capture-mode-timing.md +9 -9
  767. package/docs/api/sensor-capture-mode.md +29 -30
  768. package/docs/api/sensor-color-sampling.md +31 -33
  769. package/docs/api/sensor-constant-rate-temporal-integration.md +10 -11
  770. package/docs/api/sensor-dark-current.md +30 -14
  771. package/docs/api/sensor-environment-photo-signal.md +13 -6
  772. package/docs/api/sensor-eqe-electron-rate.md +9 -8
  773. package/docs/api/sensor-eqe-local-exposure.md +18 -17
  774. package/docs/api/sensor-eqe-temporal-exposure.md +12 -11
  775. package/docs/api/sensor-exposure-window.md +24 -24
  776. package/docs/api/sensor-fixed-pattern-noise.md +104 -0
  777. package/docs/api/sensor-iso-gain.md +63 -0
  778. package/docs/api/sensor-iso-signal-chain.md +13 -22
  779. package/docs/api/sensor-local-exposure-binding.md +12 -13
  780. package/docs/api/sensor-optical-stack.md +37 -40
  781. package/docs/api/sensor-photon-energy.md +10 -11
  782. package/docs/api/sensor-physical-charge-capacity.md +8 -13
  783. package/docs/api/sensor-pixel-pitch.md +1 -1
  784. package/docs/api/sensor-radiometry-readiness.md +9 -9
  785. package/docs/api/sensor-raw-readout.md +118 -52
  786. package/docs/api/sensor-raw-reconstruction.md +97 -20
  787. package/docs/api/sensor-readout-exposure-linkage.md +120 -24
  788. package/docs/api/sensor-readout-timing.md +33 -35
  789. package/docs/api/sensor-response-application-compatibility.md +9 -11
  790. package/docs/api/sensor-response-operating-range.md +14 -18
  791. package/docs/api/sensor-responsivity-photocurrent.md +9 -12
  792. package/docs/api/sensor-sampling-aperture.md +22 -25
  793. package/docs/api/sensor-scene-eqe-temporal-exposure.md +9 -8
  794. package/docs/api/sensor-sensor-geometry.md +23 -24
  795. package/docs/api/sensor-signal-noise.md +10 -10
  796. package/docs/api/sensor-spatial-sample-reduction.md +27 -30
  797. package/docs/api/sensor-spatial-sampling-quadrature.md +37 -39
  798. package/docs/api/sensor-spatio-spectral-reduction.md +27 -29
  799. package/docs/api/sensor-spectral-coverage.md +5 -5
  800. package/docs/api/sensor-spectral-quadrature.md +33 -35
  801. package/docs/api/sensor-spectral-response.md +28 -16
  802. package/docs/api/sensor-temporal-photo-signal.md +6 -6
  803. package/docs/api/simulation-poc-simulation.md +17 -16
  804. package/docs/api/stabilization-camera-shake.md +29 -10
  805. package/docs/api/stabilization-system.md +25 -21
  806. package/docs/examples/production-request.json +3821 -2157
  807. package/docs/examples/simulate-capture.mjs +14 -0
  808. package/llms.txt +35 -0
  809. package/package.json +32 -12
  810. package/AGENTS.md +0 -674
  811. package/CONTRIBUTING.md +0 -76
  812. package/DCO +0 -33
  813. package/dist/camera/equivalent-focal-length.d.ts.map +0 -1
  814. package/dist/camera/field-of-view.d.ts.map +0 -1
  815. package/dist/camera/projected-object-size.d.ts.map +0 -1
  816. package/dist/capture/capture-export-metadata.d.ts.map +0 -1
  817. package/dist/capture/environment-raw-producer.d.ts.map +0 -1
  818. package/dist/capture/export-jpeg.d.ts.map +0 -1
  819. package/dist/capture/export-tiff.d.ts.map +0 -1
  820. package/dist/capture/focus-control.d.ts.map +0 -1
  821. package/dist/capture/linear-encoding.d.ts.map +0 -1
  822. package/dist/capture/native-environment-raw.d.ts.map +0 -1
  823. package/dist/capture/native-raw-development.d.ts.map +0 -1
  824. package/dist/capture/native-raw.d.ts.map +0 -1
  825. package/dist/capture/photographic-export.d.ts.map +0 -1
  826. package/dist/capture/raw-frame-limits.d.ts.map +0 -1
  827. package/dist/capture/raw-frame-reconstruction.d.ts.map +0 -1
  828. package/dist/capture/release-sequence.d.ts.map +0 -1
  829. package/dist/capture/sensor-raw-frame.d.ts.map +0 -1
  830. package/dist/capture/sensor-raw-producer.d.ts.map +0 -1
  831. package/dist/capture/simulated-capture.d.ts.map +0 -1
  832. package/dist/color/capture-color.d.ts.map +0 -1
  833. package/dist/color/sensor-color-development.d.ts.map +0 -1
  834. package/dist/color/srgb-icc.d.ts.map +0 -1
  835. package/dist/color/srgb-transfer.d.ts.map +0 -1
  836. package/dist/color/white-balance.d.ts.map +0 -1
  837. package/dist/composition/image-formation-plan.d.ts.map +0 -1
  838. package/dist/composition/plan-consumer.d.ts.map +0 -1
  839. package/dist/core/calculation-result.d.ts.map +0 -1
  840. package/dist/core/canonical-json.d.ts.map +0 -1
  841. package/dist/core/configuration-error.d.ts.map +0 -1
  842. package/dist/core/evidence-provenance.d.ts.map +0 -1
  843. package/dist/core/image-formation.d.ts.map +0 -1
  844. package/dist/core/owned-data.d.ts.map +0 -1
  845. package/dist/core/record-validation.d.ts.map +0 -1
  846. package/dist/core/scientific-assurance.d.ts.map +0 -1
  847. package/dist/core/spectral-composition.d.ts.map +0 -1
  848. package/dist/core/spectral.d.ts.map +0 -1
  849. package/dist/core/validation.d.ts.map +0 -1
  850. package/dist/core/version.d.ts.map +0 -1
  851. package/dist/equipment/exposure-capabilities.d.ts.map +0 -1
  852. package/dist/equipment/generic-tier-assets.d.ts.map +0 -1
  853. package/dist/equipment/generic-tier-presets.d.ts.map +0 -1
  854. package/dist/equipment/iso-capabilities.d.ts.map +0 -1
  855. package/dist/equipment/metering-capabilities.d.ts.map +0 -1
  856. package/dist/equipment/release-capabilities.d.ts.map +0 -1
  857. package/dist/exposure/exposure-duration-control.d.ts.map +0 -1
  858. package/dist/exposure/exposure-mode-resolver.d.ts.map +0 -1
  859. package/dist/exposure/exposure.d.ts.map +0 -1
  860. package/dist/exposure/flash.d.ts.map +0 -1
  861. package/dist/exposure/metering-scene-radiance.d.ts.map +0 -1
  862. package/dist/exposure/metering-target.d.ts.map +0 -1
  863. package/dist/exposure/metering-temporal.d.ts.map +0 -1
  864. package/dist/exposure/metering.d.ts.map +0 -1
  865. package/dist/exposure/program-line.d.ts.map +0 -1
  866. package/dist/index.d.ts.map +0 -1
  867. package/dist/motion/camera-rotation.d.ts.map +0 -1
  868. package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +0 -1
  869. package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +0 -1
  870. package/dist/motion/capture-rotation-trajectory.d.ts.map +0 -1
  871. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +0 -1
  872. package/dist/motion/extended-object-projection.d.ts.map +0 -1
  873. package/dist/motion/projected-motion.d.ts.map +0 -1
  874. package/dist/optics/aperture.d.ts.map +0 -1
  875. package/dist/optics/circle-of-confusion.d.ts.map +0 -1
  876. package/dist/optics/complex-pupil-psf.d.ts.map +0 -1
  877. package/dist/optics/depth-of-field.d.ts.map +0 -1
  878. package/dist/optics/diffraction.d.ts.map +0 -1
  879. package/dist/optics/focus-breathing.d.ts.map +0 -1
  880. package/dist/optics/focus-state.d.ts.map +0 -1
  881. package/dist/optics/front-of-lens-filter.d.ts.map +0 -1
  882. package/dist/optics/illumination-vignetting.d.ts.map +0 -1
  883. package/dist/optics/lateral-chromatic-aberration.d.ts.map +0 -1
  884. package/dist/optics/lens-psf-profile.d.ts.map +0 -1
  885. package/dist/optics/polygon-diffraction.d.ts.map +0 -1
  886. package/dist/optics/profile-contract.d.ts.map +0 -1
  887. package/dist/optics/psf-foundation.d.ts.map +0 -1
  888. package/dist/optics/radial-distortion.d.ts.map +0 -1
  889. package/dist/optics/scene-to-sensor-irradiance.d.ts.map +0 -1
  890. package/dist/optics/scene-to-sensor-quadrature.d.ts.map +0 -1
  891. package/dist/optics/sensor-aperture-rays.d.ts.map +0 -1
  892. package/dist/optics/sensor-environment-query.d.ts.map +0 -1
  893. package/dist/optics/sensor-psf-quadrature.d.ts.map +0 -1
  894. package/dist/optics/sensor-psf-support.d.ts.map +0 -1
  895. package/dist/optics/stray-light.d.ts.map +0 -1
  896. package/dist/optics/thin-lens.d.ts.map +0 -1
  897. package/dist/output/capture-corrected-sdr.d.ts.map +0 -1
  898. package/dist/output/capture-geometry.d.ts.map +0 -1
  899. package/dist/output/capture-sdr.d.ts.map +0 -1
  900. package/dist/output/crop.d.ts.map +0 -1
  901. package/dist/output/geometric-transforms.d.ts.map +0 -1
  902. package/dist/output/lens-corrections.d.ts.map +0 -1
  903. package/dist/output/native-capture-sdr.d.ts.map +0 -1
  904. package/dist/output/print-contrast-reference.d.ts.map +0 -1
  905. package/dist/output/print-detail.d.ts.map +0 -1
  906. package/dist/output/print-jpeg.d.ts.map +0 -1
  907. package/dist/output/print-plan.d.ts.map +0 -1
  908. package/dist/output/print-region-statistics.d.ts.map +0 -1
  909. package/dist/output/sdr-rendering.d.ts.map +0 -1
  910. package/dist/output/subject-framing-crop.d.ts.map +0 -1
  911. package/dist/schema/camera.d.ts.map +0 -1
  912. package/dist/schema/camera.js +0 -3
  913. package/dist/schema/camera.js.map +0 -1
  914. package/dist/schema/illumination-spectral.d.ts.map +0 -1
  915. package/dist/schema/illumination-temporal.d.ts.map +0 -1
  916. package/dist/schema/illumination.d.ts.map +0 -1
  917. package/dist/schema/scene-radiance-temporal.d.ts.map +0 -1
  918. package/dist/schema/scene-radiance.d.ts.map +0 -1
  919. package/dist/schema/scene.d.ts.map +0 -1
  920. package/dist/schema/scene.js +0 -3
  921. package/dist/schema/scene.js.map +0 -1
  922. package/dist/schema/validation.d.ts.map +0 -1
  923. package/dist/sensor/accumulated-charge.d.ts.map +0 -1
  924. package/dist/sensor/architecture.d.ts.map +0 -1
  925. package/dist/sensor/camera-saturation-capacity.d.ts.map +0 -1
  926. package/dist/sensor/capture-color-sampling-binding.d.ts.map +0 -1
  927. package/dist/sensor/capture-mode-timing.d.ts.map +0 -1
  928. package/dist/sensor/capture-mode.d.ts.map +0 -1
  929. package/dist/sensor/color-sampling.d.ts.map +0 -1
  930. package/dist/sensor/constant-rate-temporal-integration.d.ts.map +0 -1
  931. package/dist/sensor/dark-current.d.ts.map +0 -1
  932. package/dist/sensor/environment-photo-signal.d.ts.map +0 -1
  933. package/dist/sensor/eqe-electron-rate.d.ts.map +0 -1
  934. package/dist/sensor/eqe-local-exposure.d.ts.map +0 -1
  935. package/dist/sensor/eqe-temporal-exposure.d.ts.map +0 -1
  936. package/dist/sensor/exposure-window.d.ts.map +0 -1
  937. package/dist/sensor/iso-signal-chain.d.ts.map +0 -1
  938. package/dist/sensor/local-exposure-binding.d.ts.map +0 -1
  939. package/dist/sensor/optical-stack.d.ts.map +0 -1
  940. package/dist/sensor/photon-energy.d.ts.map +0 -1
  941. package/dist/sensor/physical-charge-capacity.d.ts.map +0 -1
  942. package/dist/sensor/pixel-pitch.d.ts.map +0 -1
  943. package/dist/sensor/radiometry-readiness.d.ts.map +0 -1
  944. package/dist/sensor/raw-readout.d.ts.map +0 -1
  945. package/dist/sensor/raw-reconstruction.d.ts.map +0 -1
  946. package/dist/sensor/readout-exposure-linkage.d.ts.map +0 -1
  947. package/dist/sensor/readout-timing.d.ts.map +0 -1
  948. package/dist/sensor/response-application-compatibility.d.ts.map +0 -1
  949. package/dist/sensor/response-operating-range.d.ts.map +0 -1
  950. package/dist/sensor/responsivity-photocurrent.d.ts.map +0 -1
  951. package/dist/sensor/sampling-aperture.d.ts.map +0 -1
  952. package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +0 -1
  953. package/dist/sensor/sensor-geometry.d.ts.map +0 -1
  954. package/dist/sensor/signal-noise.d.ts.map +0 -1
  955. package/dist/sensor/spatial-sample-reduction.d.ts.map +0 -1
  956. package/dist/sensor/spatial-sampling-quadrature.d.ts.map +0 -1
  957. package/dist/sensor/spatio-spectral-reduction.d.ts.map +0 -1
  958. package/dist/sensor/spectral-coverage.d.ts.map +0 -1
  959. package/dist/sensor/spectral-quadrature.d.ts.map +0 -1
  960. package/dist/sensor/spectral-response.d.ts.map +0 -1
  961. package/dist/sensor/temporal-eqe-sum.d.ts.map +0 -1
  962. package/dist/sensor/temporal-photo-signal.d.ts.map +0 -1
  963. package/dist/sensor/temporal-sample-binding.d.ts.map +0 -1
  964. package/dist/simulation/poc-simulation.d.ts.map +0 -1
  965. package/dist/stabilization/camera-shake.d.ts.map +0 -1
  966. package/dist/stabilization/system.d.ts.map +0 -1
  967. package/docs/API_STYLE.md +0 -235
  968. package/docs/ARCHITECTURE.md +0 -356
  969. package/docs/AUTOMATION_COORDINATION.md +0 -190
  970. package/docs/CAPTURE_COLOR.md +0 -25
  971. package/docs/CAPTURE_CORRECTED_SDR.md +0 -25
  972. package/docs/CAPTURE_EXPORT_METADATA.md +0 -27
  973. package/docs/CAPTURE_SDR.md +0 -22
  974. package/docs/DEVELOPERS.md +0 -68
  975. package/docs/DIGITAL_OPTICS_FOUNDATION.md +0 -69
  976. package/docs/ENVIRONMENT_RAW_CAPTURE.md +0 -208
  977. package/docs/EXPORT_ACCEPTANCE.md +0 -133
  978. package/docs/GENERIC_TIER_PRESETS.md +0 -269
  979. package/docs/GEOMETRIC_PREPARATION_REUSE.md +0 -141
  980. package/docs/IMAGE_FORMATION.md +0 -247
  981. package/docs/LINEAR_CAPTURE_ENCODING.md +0 -25
  982. package/docs/MOTION_AND_SIGNAL.md +0 -250
  983. package/docs/NATIVE_CAPTURE_SDR.md +0 -70
  984. package/docs/NATIVE_CAPTURE_SDR_REVIEW.md +0 -37
  985. package/docs/NATIVE_CAPTURE_SDR_VALIDATION.md +0 -34
  986. package/docs/NATIVE_RAW_AND_PRINT.md +0 -47
  987. package/docs/NUMERICAL_CORRECTNESS.md +0 -191
  988. package/docs/PERFORMANCE_BASELINE.md +0 -56
  989. package/docs/PHOTOGRAPHIC_EXPORT.md +0 -206
  990. package/docs/PHYSICS_FOUNDATION.md +0 -426
  991. package/docs/POC_API.md +0 -278
  992. package/docs/POC_PROJECTION_PLATFORM_REFERENCE.md +0 -12
  993. package/docs/POC_PROJECTION_REUSE.md +0 -124
  994. package/docs/PRINT_195_196_REVIEW.md +0 -93
  995. package/docs/PRINT_196_ENGINE_ACCEPTANCE.md +0 -45
  996. package/docs/PRINT_CONTRAST_REFERENCE.md +0 -43
  997. package/docs/PRINT_DETAIL_ASSESSMENT.md +0 -81
  998. package/docs/PRINT_DETAIL_JPEG_EVIDENCE.md +0 -36
  999. package/docs/PRINT_DETAIL_SDR_EVIDENCE.md +0 -29
  1000. package/docs/PRINT_DETAIL_VALIDATION.md +0 -36
  1001. package/docs/PRINT_PLANNING.md +0 -75
  1002. package/docs/PRINT_REGION_STATISTICS.md +0 -38
  1003. package/docs/PROCESSED_OUTPUT.md +0 -157
  1004. package/docs/PRODUCTION_COMPOSITION.md +0 -373
  1005. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +0 -131
  1006. package/docs/PROVENANCE.md +0 -115
  1007. package/docs/PSF_FOUNDATION.md +0 -165
  1008. package/docs/RAW_FRAME_ENVELOPE.md +0 -56
  1009. package/docs/RAW_FRAME_RECONSTRUCTION.md +0 -30
  1010. package/docs/RELEASE_1_0.md +0 -66
  1011. package/docs/RELEASE_1_0_1.md +0 -61
  1012. package/docs/RELEASE_1_1_0.md +0 -25
  1013. package/docs/RELEASE_1_2_0.md +0 -51
  1014. package/docs/RELEASE_1_3_0.md +0 -15
  1015. package/docs/RELEASE_1_4_0.md +0 -23
  1016. package/docs/RELEASE_AUDIT.md +0 -39
  1017. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +0 -298
  1018. package/docs/SCENE_SENSOR_QUADRATURE.md +0 -98
  1019. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +0 -86
  1020. package/docs/SCIENTIFIC_ASSURANCE.md +0 -280
  1021. package/docs/SCIENTIFIC_CONFORMANCE.md +0 -83
  1022. package/docs/SDR_RENDERING.md +0 -33
  1023. package/docs/SENSOR_APERTURE_RAYS.md +0 -23
  1024. package/docs/SENSOR_ENVIRONMENT_QUERY.md +0 -86
  1025. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +0 -104
  1026. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +0 -74
  1027. package/docs/SENSOR_PSF_QUADRATURE.md +0 -90
  1028. package/docs/SENSOR_RAW_FRAME.md +0 -20
  1029. package/docs/SENSOR_RAW_PRODUCER.md +0 -77
  1030. package/docs/SIGNAL_CONFORMANCE.md +0 -23
  1031. package/docs/SIMULATED_CAPTURE.md +0 -65
  1032. package/docs/STABILIZATION.md +0 -234
  1033. package/docs/TEMPORAL_PHOTO_RAW.md +0 -83
  1034. package/docs/TIER_ACCEPTANCE.md +0 -129
  1035. package/docs/TIER_PRESET_ACCEPTANCE.md +0 -59
  1036. package/docs/V1_COMPOSITION_MAP.md +0 -123
  1037. package/docs/V1_HELPER_REUSE_REVIEW.md +0 -60
  1038. package/docs/V1_PERFORMANCE_DISPOSITION.md +0 -88
  1039. package/docs/benchmarks/2026-10-01-main-baseline.json +0 -694
  1040. package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +0 -2190
  1041. package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +0 -2423
  1042. package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +0 -210
  1043. package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +0 -187
  1044. package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +0 -756
  1045. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +0 -711
  1046. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +0 -711
  1047. package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +0 -885
  1048. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +0 -868
  1049. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +0 -868
  1050. package/docs/licenses/castleCSF-MIT.txt +0 -21
  1051. package/docs/validation/documentation-fragments.json +0 -212
  1052. package/docs/validation/native-capture-sdr-darwin-arm64-node26-review.jsonl +0 -4
  1053. package/docs/validation/native-capture-sdr-darwin-arm64.jsonl +0 -3
  1054. package/docs/validation/native-raw-print-2026-10-04/fractional-asymmetric-crop.jpg +0 -0
  1055. package/docs/validation/native-raw-print-2026-10-04/gray-ramp.jpg +0 -0
  1056. package/docs/validation/native-raw-print-2026-10-04/linear-area-checker.jpg +0 -0
  1057. package/docs/validation/native-raw-print-2026-10-04/manifest.json +0 -218
  1058. package/docs/validation/native-raw-print-2026-10-04/megapixel-native.jpg +0 -0
  1059. package/docs/validation/native-raw-print-2026-10-04/native-color.jpg +0 -0
  1060. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel-validation.json +0 -9
  1061. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json +0 -29
  1062. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.codes.u16le.gz +0 -0
  1063. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.jpg +0 -0
  1064. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.rgb.gz +0 -0
  1065. package/docs/validation/native-raw-print-2026-10-04/srgb.icc +0 -0
  1066. package/docs/validation/native-raw-print-2026-10-04/validation.json +0 -41
  1067. package/docs/validation/print-196-candidate-capabilities.json +0 -28
  1068. package/docs/validation/print-196-candidate-evidence.json +0 -356
  1069. package/docs/validation/print-196-engine-acceptance.json +0 -81
  1070. package/docs/validation/print-detail-capabilities.json +0 -103
  1071. package/docs/validation/print-detail-jpeg-evidence.json +0 -116
  1072. package/docs/validation/print-detail-sdr-evidence.json +0 -81
  1073. package/docs/validation/release-audit-inventory.json +0 -1306
  1074. package/docs/validation/tier-acceptance-report-v1.json +0 -2538
@@ -1,2538 +0,0 @@
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
- }