fullseye

defocus_blur — OPTICS scene op

使い方

深度の真値から被写界深度のぼけを掛ける(理想ピンホール像 -> 実レンズの像)。

名前が optics.depth_of_field と紛らわしいので分けてある: あちらは被写界深度の 数値を返し、こちらは画像にぼけを掛ける(2026-09-05 に台帳で同名衝突を 起こして発覚。同名 op は後勝ちで静かに上書きされるので、名前で区別する)。

錯乱円の直径は幾何光学の閉じた式 c = (f² / (N (z_f − f))) · |z − z_f| / z(f = 焦点距離, N = F 値, z_f = 合焦距離)。 画素数に直して、深度でまとめた層ごとにガウスぼかしを掛け、手前の層から合成する。

これが無いと「視野には入っているのに実機では合焦しない」構成を見逃す ―― 仮想化の目的は絵を作ることではなく、その光学構成で検査が成立するかを 先に知ることなので、被写界深度は省けない。

focus_mm を省くと camera の作動距離に合わせる。返り値は入力と同じ形。

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

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

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

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

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

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

clearcoat_shade · wetness · diffraction_blur · sensor_capture

同カテゴリ(scene)

scene_material · scene_plane · scene_sphere · scene_box · scene_cylinder · surface_defect · surface_finish · random_defects


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

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