fullseye

underwater_image — OPTICS watermedia op

使い方

The image of a scene recorded through water (revised Jaffe-McGlamery model) -> dict.

Following Akkaynak & Treibitz (2018) the recorded image is I = J exp(-beta_D r) + B_inf (1 - exp(-beta_B r)): the direct signal J of the object attenuated along the camera-object distance r with a wavelength-dependent coefficient, plus backscatter, the veiling light B_inf that builds up along the same path with its own coefficient. image is (H, W, K), non-negative: the appearance of the object at zero distance, per band (K = 3 is RGB with the effective wavelengths 0.61 / 0.54 / 0.465 um, other K need wavelengths_um). depth_map_m is the depth of the scene below the surface and distance_map_m the distance to the camera, each (H, W) or a scalar. beta_D is the diffuse attenuation Kd of :func:water_attenuation (used as the attenuation along the line of sight, an approximation that Akkaynak & Treibitz show to depend on range) and beta_B = beta_b_ratio beta_D. The veiling light is the single-scattering value B_inf = E(z) b_b / (2 c) with b_b = backscatter_ratio b and E(z) = E_0 exp(-Kd z) the daylight left at the depth (an assumption, not a measurement). illumination is "daylight" (flat relative spectrum 1) or a (K,) relative spectrum at the surface. With apply_ambient the object is also dimmed by the ambient light at its depth, J = image E(z); without it image is taken as it already is at the object, so that distance 0 returns it exactly. backscatter=False leaves pure Beer-Lambert. The table has image (the recording), direct, backscatter, transmission (exp(-beta_D r)), beta_D, beta_B, veiling_light (H, W, K), ambient (E(z)/E_0), wavelengths_um and, for RGB, red_to_blue_kd_ratio. Non-finite or negative inputs are refused.

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(watermedia)

ocean_spectrum · ocean_height_field · fresnel_water_air · snell_window · refracted_view · water_attenuation · phase_function_hg · scattering_phase_petzold


Provenance: watermedia.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.