fullseye

lockin_ring_synthesize — OPTICS lockin op

使い方

A Lambertian relief lit by a ring of modulated sources -> image sequence (T, H, W).

height is a height map in pixel units (normal = (-h_x, -h_y, 1) / norm). n_sources point sources sit at zenith angle zenith_deg from the camera axis and equally spaced azimuths theta_s; source s emits (1 + cos(2 pi k / frames_per_period - multipole theta_s)) / n_sources in frame k, i.e. the modulation phase runs around the ring multipole times (multipole 1 = a dipole pattern, 0 = all in phase). Pixels follow albedo * max(0, n . l_s) summed over sources, shadows included. The sequence has frames_per_period * n_periods frames and is demodulated with lockin_demodulate(video, 1.0, frames_per_period). White noise of standard deviation noise_sigma needs an explicit seed (no hidden random state).

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

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

詳しい使い方ガイド

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

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

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

lockin_demodulate · lockin_amplitude · lockin_phase · lockin_separate · pixel_shift_merge · pixel_shift_motion_mask

同カテゴリ(lockin)

lockin_demodulate · lockin_amplitude · lockin_phase · lockin_noise_floor · lockin_walsh_codes · lockin_separate · lockin_ring_normals · lockin_thermal_wave


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

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