fullseye

tof_transport_depth — OPTICS light_transport op

使い方

AMCW time-of-flight depth of a concave Lambertian cross-section (a room corner) with every interreflection delayed by its path length: complex radiosity, per-pixel depth bias.

The source sits at the camera (camera_xz, a line source in 2-D) and lights patch j with ρ_j cos_j / r_j · e^{i k r_j}, k = 2π f / c. Each hop j → i multiplies by F_ij e^{i k R_ij} (R_ij = centre distance), so B = (I − diag(ρ)(F ∘ e^{ikR}))^-1 diag(ρ) E (or the Neumann sum up to n_bounces hops); the pixel sees B_i e^{i k r_i}. Depth is c φ / (4π f); truth is r_i. Patches must be small next to the modulation wavelength.

transport from :func:transport_matrix_radiosity supplies the profile, form factors and albedo; the camera must be inside the concave region (above the profile, between its ends) so that every patch faces it.

Returns a dict (a table): depth, true_depth, bias (from the wrapped phase difference), direct_amplitude, global_amplitude, ratio, x (patch centres) and ambiguity_range.

Raises ValueError: not a transport table; camera_xz not two finite numbers inside the region or a patch facing away from it; modulation_hz outside (0, 1e10]; n_bounces not None or an integer in [0, 10000].

ファミリ共通の入力契約(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

同カテゴリ(light_transport)

groove_profile · form_factors_2d · transport_matrix_radiosity · high_frequency_patterns · render_transport · separate_direct_global · fringe_multipath_phase_error · predict_fringe_phase_error


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

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