Fullseye Operator Catalog — AI capability ledger
Fullseye は説明可能な古典/幾何ビジョンの Physical-AI ツールキット。この台帳は 用途を伝えれば、どの op をどう組み合わせればよいかを AI が提案するための一覧です。
この台帳の使い方(assistant 向け)
- ユーザーの用途(入力データ・欲しい出力)を特定する。
- まず Worked examples(用途→op の実例)から最も近いものを探し、その op 連鎖を土台にする。
- 連鎖は in → out のデータ種が繋がるように組む(例:
image → region → feature、points → voxel → mesh)。2D パイプライン op は 1 画像+2 スカラつまみのモデル、点群/体積の 3D op と 2 画像を取る op(morph 等)は関数として呼ぶ。
- 各 op の前提と失敗条件(退化入力・必要点数など)を必ず確認し、fail-closed に扱う。
- 提案には具体的な op 名と、可能なら該当する worked example / References を添える。
- 実装が不確かなら、対応する
examples*/ を実行して ground-truth 出力で確かめる。
Worked examples(用途 → 使う op の実例=推奨組合せの手本)
2-D 画像/信号/幾何(449 例)
fileio
- 表・メッシュ・点群を標準形式で受け渡す — 単位と由来を持つ CSV、属性つき PLY、STL、OBJ、OFF、XYZ、E57 をメモリ上で書いて読み戻し、pandas、plyfile、numpy-stl、trimesh、pye57 でも同じ内容を読めることを自己検査する。
py -3.11 examples/fileio_roundtrip.py
metrology
- 短い円弧・小数移動・斜めの曲線を偏りなく当てはめる — 幾何距離の円、局所アップサンプル位相相関、主軸へ回してからの曲線・曲面当てはめを真値で検証する。
py -3.11 examples/fit_ops_from_knowhow.py
- 全数の表面像と抜き取り断層像を同じ接合部へ結ぶ — 緑の基板、配線、部品、環状照明を映す接合材、欠品・立ち・橋絡を 512 px の表面像にし、同じ領域を投影から再構成した 3 高さの断層像と縦断面に対応づける。中央接合部の空隙、金属による筋、検出器むらによる輪は再構成結果にだけ現れる。水等価ファントムは筋が 3σ 未満、金属入りは 4σ 超。環状照明の反射方向は閉形式と 2°以内。樹脂・銅・接合材の減弱順と比は Hubbell & Seltzer, NIST SRD 126(米国政府資料、public domain)の表から 5 %以内。従来の面積率・体積率・順位は検証図に残す。
py -3.11 examples/poc_aoi_ct_traceability.py
- 面を走査する白色干渉計 — 512×512 の段差・傾き・粗面を 48 面の干渉縞で走査し、4 枚の生フレーム、動画、復元高さ、誤差、低変調の品質像を主図にする。包絡幅は光源帯域の閉形式と 0.29 %、縞周期は λ/2 と 2e-16、滑らかな段差の繰返しは 2.2 nm(装置の語彙は ISO 25178-604)。帯域を半分にする破壊探針で包絡幅は 2.000 倍になる。従来の 1-D 段差・走査刻み・雑音検証は後段へ残す。
py -3.11 examples/poc_interferometry_step.py
-
| 視触覚センサのマーカー配列からせん断場・固着/滑り・接線力を読む —— Cattaneo–Mindlin の閉形式と有限要素の節点変位を門に — 物理シミュ × Fullseye 系列 第 2 弾の第 2 本(第 1 本 = 法線荷重)。真値は 2 系統: 閉形式(Johnson 1985: Cattaneo–Mindlin の部分滑り c/a = (1 − Q/μP)^{1/3}・q = q′ − q″・δx = 3μP(2−ν)/(16Ga)[1 − (1−Q/μP)^{2/3}]・kt = 8Ga/(2−ν)、Hertz 形接線トラクションの円内解 3.91、法線荷重の半径変位 3.41b、Cerruti の点荷重解)と、有限要素の節点変位(有限厚ドーム状ゲル、Robo-Touch/Taxim 同梱 MIT、FULLSEYE_TAXIM_DATA があるとき)。自分で作ったのは接触円の外側(閉形式なし)を画素平均の Cerruti 核で FFT 畳み込み(円内の 3.91 と 0.02 %)、任意の固着半径の場を相似則 g(x) − (c/a)²g(x·a/c) で出す逆算模型(畳み込み 1 回、真の変位で c/a 0.001)、変位で中心を移してから描くマーカー像。被験者 = 既存 op(blob2d の重心、pivops の窓相関、backends_subpix の副画素極値、tac_shear_field、measure.fit_circle)。新モジュール tacslip 20 op。門 20 本(FEM 2 本はデータがあるとき): ∫q dA = Q、kt、錨 70.5 µm、ūr の最大は 0.93a、固着円の一様性 0.006 %、遠方 1/r、重心の往復 0.003 px、追跡 RMS 0.01 px(961/961)、逆算 Q/μP 0.03・c/a 0.02・μ と Q の分離(μ は低 Q で 2c/(1−c²) 倍に増幅、0.75 以上で 3 %)、全滑りで核が消える、指数 0.34、エントロピー単調、tac_shear_field は分けない、密度・雑音、FEM の r½ = 2.3 mm と Cerruti の ν 0.49〜0.51。正直に: 半空間・小変形・Coulomb・準静的、FEM は点荷重状で荷重不明(形だけ)、相関と最近傍は |
u |
≥ ピッチ/2 を測れない(対応は視野の縁が遠方場という前提)。踏んだ罠: 規則格子の PIV は 5 px を −3 px と読む(格子周期のエイリアス)、半径 2 px の円盤の重心は ±0.03 px の pixel-locking で格子共通モードになり c/a を 0.02 ずらす(半径 2.5 px + 反復ガウス重みで 3 分の 1、剛体シフト項は 1/r の尾と縮退して逆効果)、ūr の最大は縁でなく 0.93a、滑り環で隣のマーカーの縞が繋がる。 py -3.11 examples/poc_tacsim_marker_shear.py |
-
| 視触覚センサのマーカー場から「触覚双極子」で把持内の傾き・ねじりトルクを読む —— Gauss の法則が半空間で恒等式になることを門に — 物理シミュ × Fullseye 系列 第 2 弾の第 3 本(第 1 本 = 法線荷重、第 2 本 = 接線荷重)。再実装した方法 = Fuchioka & Hamaya, ICRA 2024, arXiv 2404.15626(学習なし: マーカー変位場の発散を電荷と見た双極子 p = (1/N) Σ r_i (∇·v)_i、原点は正負の重心の中点、トルクは双極子に直交、係数は力覚センサで較正。著者のコードは無ライセンスなので本文の式だけから)。真値 = Johnson 1985 の閉形式(平頭押し込み子の圧 3.34 + 傾きモーメントの反対称項、Boussinesq の点荷重解、Hertz 圧の表面変位 3.41b・3.42a、楕円 Hertz 圧 4.24、無滑りねじり Reissner–Sagoci)と、有限要素の節点変位(有限厚ドーム、Robo-Touch/Taxim 同梱 MIT、FULLSEYE_TAXIM_DATA があるとき)。自分で導いたのは 3 つ: Gauss の法則は半空間で恒等式 ∇·ū = −(1−2ν)p/(2G)(双極子 = 圧力の 1 次モーメント × 係数、押し込み子の形に依らない)、Cerruti 点荷重の場の発散 −(1−ν)Qx/(2πGr³)(純せん断が窓全体に偽の傾き (1−ν)/(1−2ν)·Q·R を作る → 窓を固着円に限る)、基線形式( |
u |
を電荷に)は対称な傾きで恒等的に 0(符号を知らない)。被験者 = 既存 op(tacslip.marker_track、cerruti_kernel の畳み込み、sceneflow の flow_divergence / flow_curl、pivops.piv_vorticity)。新モジュール tactorque 17 op。門 17 本(FEM 2 本はデータがあるとき): 平頭圧の格子積分 0.9 %、核 vs 3.41b 0.03 %、Gauss 恒等式 0.2 %、純法線で 1e-15、D ∝ M は R² = 1.000000 で係数は閉形式と 0.04 %、基線形式 3e-4、3 形状で係数 0.001 %、ねじりの β −0.5 %(平頭は q/(μp) の最大 0.24 で無滑りが厳密)、Hertz 接触のねじりの部分滑り(比 0.5 / 0.8)を既定の読みで ×0.999 / ×1.000(0.4.0 の無滑りの関係は ×1.33 / ×1.85 過大、2026-10-06 に直した)、分解(傾き 2.4 %・ねじり 0.5 %・並進 0.04 px)、純せん断の漏れ 0.001 N·mm(窓)/ 32 N·mm(全窓)、雑音 0.03 px → σ_M 0.11 N·mm、綴り壊し 11 本、散在最小二乗 = 中心差分、像から M1 0.7 %、FEM は膨らんで符号が逆・斜め荷重はせん断漏れの符号。正直に: 半空間の係数は実機(有限厚・ほぼ非圧縮)の大きさを与えない(1 N·mm が 0.06 px)、Johnson の式番号 3 つは本文で未確認(独立実装で数値検証)、Lubkin の部分滑りねじりの閉形式は未実装(部分滑りは cuttouch の数値解で直す)。 py -3.11 examples/poc_tactile_dipole_torque.py |
- 粉体の山を画像で測る —— 安息角・体積・質量・流動性・排出率を規則だけで、真値は閉形式・公表値・MuJoCo — 物理シミュ × Fullseye 系列(pegsim / tacsim / tacslip / tactorque / puck / pegfail に続く)。先行研究の粉体計量(Kadokawa, Hamaya, Tanaka, IROS 2023, doi 10.1109/iros55552.2023.10342463)は秤の質量だけを観測に使い、視覚は無い。ここは山の形(側面像・高さ図)から安息角・質量・流動性・排出率を読む側を、新モジュール granular(23 op + mujoco の facade 2)で学習なしに組む。真値は外から 4 系統: 閉形式(円錐 V = πR²H/3、H = R tan φ; Beverloo 1961 の排出則 W = C ρ_b √g (D₀ − k d)^{5/2}、C 0.58・k 1.4)、公表の表(USP <1174> Table 1、原典 Carr 1965、整数の度)、公表値(1 mm ガラス球の安息角 25.2 ± 0.8 度、Sunday ほか MNRAS 2020、arXiv 2009.10448 §5.4 —— 側面像の上縁に左右別々に直線を当て裾と頂を除く測り方も同論文)、第 2 実装 = MuJoCo の剛体球 1,200 個を平底ホッパの正方孔から流した山(–full)。側面像は縁の画素の被覆率をそのまま副画素の位置に読む(edge 法): 被覆率に一様雑音 ±0.1 で 0.0064 度、★列和法は [0, 1] に切った雑音で粉の平均値が 0.975 になり tan φ がその比で縮んで −0.63 度(罠を数で残す)。高さ図は demops.dem_slope の勾配ヒストグラムの最頻(雑音は勾配を上にしか動かさない: σ 0.05 px で +0.12 度)。★傾いた基準面 β = 5 度は安息角に足し算される: 左右の斜面 33.62 / 26.10 度 = 閉形式 atan(tan φ ± tan β)、左右差 7.52 度が警報(datum_tilt_check)、tan の引き算で 30.0000; 高さ図の最頻は 5.00 度 = 地面そのもの(既存の体積 PoC の罠を門に)。門 20 本(numpy、1.3 s)+ –full 5 本(MuJoCo、34 s): 円錐の往復 1.8e-16、高さ図の体積 3.5e-7、Beverloo の指数 n = 2.5074・C = 0.5894(高さ図の列 6 本、σ 0.5 mm)、裾の丸み −0.248 → 裾 15 % 除外で −0.001 度、頂の鈍り −0.554 → −0.004 度、分解能(山の幅 50 px で側面 0.20 度・高さ図 1.10 度、25 px で側面 0.62 度)、流動性区分の境界 16 点、綴り壊しと山が写っていない場合の ValueError、スプーンの規則 θ_c = φ − atan(2h₀/L)(自分の導出、L 50 mm・h₀ 5 mm で 18.69 度。2026-10-05 に小角の近似 tan φ − tan θ から厳密な tan(φ − θ) に直した)、容器の充填率 0.6300 / 傾き 3.000 度、動画からの質量 2.3e-6(配管の検査)、MJCF 文字列; –full: 山ができた(逃げ 0、高さ 38.4 mm = 4.8 粒径)、側面 4 方位の平均 22.17 度 vs 公表値 25.2 → −3.03 度、2 粒径で平滑した高さ図の中央値 25.74 度(平滑なしの最頻 65.5 度 = 球の縁)、排出率 0.906 kg/s vs Beverloo(等価直径 54.2 mm)0.911 kg/s。正直に: 合成の側面像は縁の模型が計測と同じなので雑音なしの往復 0.0000 度は配管の検査、独立な被験者は雑音と MuJoCo の球だけ。MuJoCo の山が公表値より 3 度低い理由(剛体・付着なし・転がり摩擦の模型が DEM と違う・山が 5 粒径しか無い・正方孔の異方性で方位により 18.9〜24.4 度)は切り分けていない。Beverloo との比 0.99 は良すぎるので信用せず桁の門に留める(別の構成では 1.02 / 1.14、D₀/d = 6.8 は詰まりの限界付近)。Al-Hashemi 2018 の材料別の表は取得できず未収録。mg 級の計量は画像では無理(g 級で成立)。踏んだ罠: 滑らかな台では 1,200 球が単層に広がり山にならない(転がり抵抗は滑り摩擦の限界 μ_s g で飽和する)→ 粗い台 μ 1.0、軟接触の時定数 < 2·timestep は発散、Newton 解法は密な山で止まる → CG + 楕円錐。
py -3.11 examples/poc_granular_heap_repose.py
- 視触覚センサの照明を実機の較正球で較正し、勾配 LUT を第 2 実装にする —— 真値は球の半径と手当ての円 — 物理シミュ × Fullseye 系列、tacsim の続き。実機の較正パック(arXiv:2109.04027 の作者が MIT で公開、FULLSEYE_TAXIM_DATA)を持ち込み、順方向(法線 → 色)を較正して逆方向を 2 経路で解く: 線形 12 パラメタ + photometric_stereo(被験者)と example-based の勾配 LUT(位置の 2 次式つき)。hold-out 24 枚で角誤差 線形 10.7° vs 位置つき LUT 4.2°、復元高さ +4.7 %。試作の不感帯(傾き 0〜15°)を「行の少ないビンが近いビンの位置の項を借りる」で 4.8° → 1.9° に(代償に平地の床 0.4° → 3.3°)。新モジュール tacscalib 10 op。
py -3.11 examples/poc_tacscalib_sphere_lut.py
-
| ペグ挿入を 2 本指の膜で読む —— せん断の像から接触レンチ、Whitney の接触状態、壁の μ、手首剛性まで、真値は閉形式と MuJoCo — 物理シミュ × Fullseye 系列(pegsim・pegfail)と視触覚の 3 本(tacsim・tacslip・tactorque)の集大成。2 本指の指先の弾性膜の像 2 枚だけから、ペグが穴から受ける接触レンチを復元し、Whitney の接触状態(無接触 / 面取り / 一点 / 二点、止まった時のくさび / かじり)・壁の摩擦 μ・手首剛性 k を学習なしの規則で読む。新モジュール pegtactile 19 op + 既存へ 2(tacsim.contact_radius_fit_pixelwise / tacslip.mindlin_fit_vector)+ mujoco の facade 4。真値は外から 4 つ: Whitney 1982(OCW 2.875 のスライド、原著未読)の二点接触の深さ l₂(θ) とくさびの境目 c/μ、Johnson 1985 の接触力学の閉形式(Hertz / Cattaneo–Mindlin / Cerruti / 無滑りねじりと全滑りのトルク —— 2026-10-06 からねじりは合成も読みもこの 2 つを両端とする部分滑りの数値解)、群の作用(回した場面の答えは同じだけ回る)、MuJoCo の接触と手首の力・トルクセンサ(–full)。★くさびの境目はレンチだけの規則の死角: 先端の摩擦円錐の縁が口の接触点を通り、二点が口の一点に見える(36 組中 2 組)→ Whitney の幾何(深さ ≥ W + l₂(θ) なら二点)で 36/36。★場面を 90° 回すと傾きのモーメントはせん断の偶力からパッドのねじりへ移る: ねじりを読めば一致率 97.6 → 96.8 %、捨てると 47.6 %。門 10 本(numpy、2.4 s)+ –full 12 本(重い numpy 3 + MuJoCo 9): 静力学の往復 4.4e-16、膜の往復 P 0.011 %・q 2.8 mN、ゼロ荷重の偽のせん断 規則格子 12.1 → ジッタ 0.7 mN、P̂ の傾きの誤差 ビン 8.5 % → 画素 0.018 %、二点の μ 0.0008、n 回対称 0/3/4/6/1、フーリエ位相の向き ≤ 0.018°(2 次モーメントは 10〜59° 外れる); MuJoCo: 写像 vs 力センサ 0.41 mN、触覚のレンチ |
ΔF |
中央 2.7 mN、状態の一致 97.5 %(真値のレンチで 98.0 %)、二点の始まり ≤ 0.04 mm、壁の μ 一点 0.292・二点 0.2998、くさび / かじり 2/2、手首剛性 599.9〜601.1 N/m(設定 600)。正直に: 膜は MuJoCo に無く、パッド荷重は静力学の写像(左右分配は対称の仮定)、合成と逆算は同じ閉形式族なので膜の模型の誤りはこの門では見えない、走行は各条件 1 回、角・六角ペグの MuJoCo 挿入は無い。 py -3.11 examples/poc_peg_insertion_tactile.py |
- 包丁を指先の視触覚だけで持って切る —— 手首の力センサなしに靱性と刃の当たり位置を読み、持てる柄の長さの限界を出す — cutting(食材の切断を画像で測る)× pegtactile(2 本指の膜で接触レンチ)の連鎖。包丁の背を 2 枚のパッドで挟み、膜の像だけから押し V・引き H・モーメント M_x を復元し、刃の当たり位置 Ly = (M_x + Lz·H)/V、slice/push 比 ξ̂ = H/V、靱性 R を読む。★見つけて直したこと: pegtactile.pad_tactile_read はパッドのねじりを無滑り(Reissner–Sagoci)で読むが、Hertz 接触のねじりは縁から必ず滑るので M を過大に読む —— 部分滑りの像で比 0.5 で ×1.328、0.85 で ×2.022(数値解の予測と 0.4 % 以内)。接触円を 64 環に分け Cerruti 核の影響行列で部分滑りを解き(両端は閉形式: c → a で β/β_RS 0.9986、c → 0 で全滑りのトルク +0.11 %)、補正後 0.2 % 以内。MuJoCo の切断(既定の門は 4 コマ、図は 14 コマ)→ パッドの像だけで R̂ 59.86 J/m²(設定 60)、ξ̂ 0.0701(tan θ 0.0699)、当たり位置の誤差 中央値 0.01 mm・最大 0.48 mm(無滑りの読みのままだと 6.09 mm)。持てる柄の長さの限界: 把持力 4 N では刃の当たりが把持点から 6.0 mm を超えると読めない(8 N で 13.2 mm、16 N で 31.3 mm)、範囲の外は readable = False の印。正直に: 膜の合成と補正は同じ数値解(本物のゲルが半空間の部分滑りどおりかは未確認)、せん断とねじりは重ね合わせ、V は MuJoCo の摩擦損失に書いた式そのもの、H は H = ξV で作った。門 13 本(3.0 s、mujoco が無ければ閉形式の切断で代える)、–full は全 79 コマ・96 環・17 点。
py -3.11 examples/poc_knife_tactile_toughness.py
- 火星の実地形で車輪の滑りを不確かさ付きで予測し、滑りのリスクを避ける経路を引く —— Bekker / Wong–Reece と CVaR — 柔らかい砂の上では車輪が回っても車体はその分だけ進まず(滑り率 s)、斜面が急になると立ち往生する。既存の terrain.traversability は幾何だけで、土が支えきれない効果を持っていなかった。学習なしの土の力学と軽い統計で、Bekker の圧力–沈下 → Wong–Reece の剛な車輪の応力の数値積分 → 斜面の角ごとの定常の滑り率 → 地面を見るカメラの並進と車輪の回転から実際の滑り率 → 滑りの不確かさ(分位点回帰 + 共形の補正、ガウス過程)→ CVaR で割り引いた辺の所要時間のコスト地図と 8 近傍の Dijkstra。閉形式: τ = 0 の牽引 = −Bekker の締め固め抵抗を 1.9e-7。乾いた砂(火星の重力、50 kg・4 輪)は 20° で滑り 0.219、登れる最大 25.2°、剛な地面の極限 26.35°(MuJoCo の剛体の車輪 25.83°、砂では一致しない)。視覚オドメトリの滑り率 最大 0.0034。名目 90 % の帯の被覆は分位点回帰 0.915、ガウス過程は 8° 以上で 0.780 しか覆わず緩斜面で 0.992 と広すぎ、データの外の 32° を「滑り 0.29」と答える(真は立ち往生)。HiRISE の DTM(Balvicar クレーターの中央丘、パブリックドメイン、repo の外・FULLSEYE_ROVERSLIP_DATA)の上で平均の最短 672 m / リスク最小 696 m、平均の時間 +1.1 %、真の滑りで立ち往生の確率 2.23 % → 0.05 %。罠: Bekker の教科書の沈下の式 (3 − n)/3 は n = 1.9 で 17 % 深い、0.4.0 の phase_correlation_fft(窓なし・全白色化)は周期的でない地面の切り出しで (1, 0) を返した(真は (−2, −5)、2026-10-06 に既定を直した)。正直に: 滑りの真値は合成、土の種類は分からない、1 種の土では 2 経路はほとんど重なる。門 18 本(データ無し・mujoco 無しの CI は 15 本、3.1 s、曲線 5° 刻み・学習データは観測のまま)、図の実行と –full は 1° 刻み・学習データを視覚オドメトリ経由。
py -3.11 examples/poc_rover_slip_risk_path.py
- 同じ始点と終点を結ぶ複数ロボットの計画を回り方で分ける —— 時空の組紐と Dynnikov 座標でホモトピー類を数える — 平面を動く K 台と動かない障害物の点を時間の向きに積むと組紐になり、端を止めたまま連続に移り合える計画 ⇔ 同じ組紐。射影の軸の上で隣の紐と順が入れ替わる時刻を閉形式で求めて交差の符号列(組紐語)にし、Dynnikov 座標・Dehornoy の取っ手簡約・Artin 表現の 3 つの独立な判定で同じ組紐かを決める(背景は平面の複数エージェント経路計画のホモトピー、doi:10.1613/jair.1.19243)。新モジュール braidpath 12 op(numpy + scipy)。外の真値: 組紐の関係式 1311 通りが Dynnikov の作用で整数のずれ 0・実数 2.8e-14、関係式でない σ₁σ₂ = σ₂σ₁ は 100/100 で破れる。3 つの判定が同じ組紐 100/100・違う組紐 100/100 で一致。参照実装(MIT)の出力と Dynnikov 座標 240/240、Dehornoy の主の文字と符号 240/240。1 台が柱を回る類ごとの最短 [14, 14, 30, 30, 46] = 閉形式 14 + 16m = 切り込みの BFS。被験者は agvfleet の計画器: 3 台の候補 61 本(CBS + 経由点つきの優先度付き)を 26 類に分け、CBS の最適 40 は最も安い類の代表。摂動で同じ類 6/6・違う類 30/30。交換子 a b a⁻¹ b⁻¹ は巻き数が全部 0 なのに組紐は自明でない。★罠: 格子の点対称な動きは射影の三重点を作り、角度を変えても消えない → 紐ごとの小さな一定のずらしで取り直す(乱数の摂動の類と一致)。正直に: 類は無限にあり、候補の抽出が見つけた類しか並ばない(経由点の抽出は 8 類中 3 類)。類で持ち上げた探索は 1 台と止まった障害物だけ。
py -3.11 examples/poc_braid_homotopy_classes.py
- ディアボロの解析模型を原文から写して確かめ、合成映像から軸・回転・張力を読む —— 閉形式・厳密な糸・MuJoCo を真値に — 物理シミュ × Fullseye 系列。一次情報はロボット学習用のディアボロ解析模型(von Drigalski ほか、ICRA 2021、arXiv:2011.09068)の LaTeX 原文。模型は「質点 + 糸が作る補助の回転楕円体 + 重力」、学習なし。新モジュール diabolo 16 op + mujoco の facade 1。★原文どおりでは成り立たない所: 式 (1b) は次元が合わず実機寸法(糸 1.45 m、棒の間隔 1.10 m)で根の中が負 = NaN → 楕円の恒等式 a² = b² + c² に直した; 状態遷移の帯が重なり毎ステップ行き来する → s ≤ c_L と読んだ; 回転の式 (2) は刻みに依らない(16.57 → 16.59 rad/s)が公開実装の回転則は刻みに反比例する(比 2.02)。真値は外から 3 系統: 閉形式(焦点の恒等式 7.5e-16、振り子の周期 横 1.379 s・縦 2.116 s、静止張力、放物線の受けの時刻 0.7214 s)、厳密な糸の模型(片側拘束の RATTLE、エネルギーの幅 5.3e-6)、第 2 実装 = MuJoCo の空間テンドン(–full、直線加速 / 振り / 投げで厳密な糸と max 0.62 / 1.15 / 3.10 mm)。視覚も学習なし: 光線追跡の合成映像から縁と底の板の 2 円の透視モーメントで軸(42 姿勢で max 0.295°、45° は底の板が隠れて警報)、内面のマーカーの位相 + 回転ぶれの弧の幅で回転数(10〜110 rev/s を max 0.81 %、位相だけでは 70 / 90 / 110 rev/s が車輪の錯視で折り返す)、V 字で張力(閉形式と 0.46 %)、投げの映像の追跡で状態遷移が真の状態と 100 % 一致。門 18 本(既定、3.1 s)+ –full 7 本。正直に: 実写や公開データとは合わせていない(式の誤りは見つけたが模型が実物に合うかは未確認)、姿勢(傾き・首振り)は模型に無く画像の軸は描いた時に与えた姿勢、描画は理想化、糸は点で巻き付き・質量・伸びは無い。
py -3.11 examples/poc_diabolo_model_and_vision.py
- ドーム状の柔らかい指先を平らな物に押す —— 大変形のスケーリング則を門に、Hertz がどの押し込みで何 % 外れるか — 物理シミュ × Fullseye 系列(視触覚 (b))、tacsim の Hertz の先。一次情報 arXiv:2509.18581 の式 (3) の 1 次の係数は活字 (4+2n)/(1+n) では円柱で力が負になる —— 本文の模型(長さ L − g の neo-Hookean 円柱ばねの列)を積分して 2n/(1+n) を導いた(2 次と式 (4) は活字と一致、非圧縮 neo-Hookean の円柱の厳密解と 1e-15)。半球の指先で押し込みから読む Hertz は δ/L = 0.3 で力 −27.8 %・半径 −11.7 %、接触半径から読むと max +5.4 %(円錐は −19 %)。内側カメラの像の面積法で半径 0.004 %、力の逆算 0.013 %。新モジュール tacdome 12 op。
py -3.11 examples/poc_tacdome_large_deformation.py
- ペグの対称性で回転の探索を 1/n に絞る —— 角・六角・キー付きペグの挿入を群の恒等式と閉形式と MuJoCo で — 物理シミュ × Fullseye 系列(柔らかい手首のペグ挿入・失敗の分類・2 本指の膜)の続き。題材は対称性を学習に使う研究(arXiv:2402.18002)で、こちらは群の恒等式そのものを門にして学習なしで残る部品を作った。正 n 角柱(n = 3, 4, 6)とキー付きの正方形(n = 1)。向きは輪郭の複素フーリエ位相で 2π/n を法として読む(2 次モーメントは n ≥ 3 で等方)。回転の窓は導出の閉形式(三角 4.75°・四角 8.72°・六角 20.85°)= 線形計画と 2.8e-11 rad、六角形は摩擦で窓が縮む(μ = 0.3 で 6.76°、MuJoCo 7.25°)。1 周期を窓の 2 倍以下で掃く期待回数は格子と 3 % 以内、MuJoCo の盲目の探索は予言と 47 / 48 一致、画像の読みを推定値にすると 16 / 16 が 1 回目で入る。新モジュール pegsym 15 op + mujoco の facade 6。
py -3.11 examples/poc_peg_symmetry_search.py
- 研削・研磨・拭き取りを画像で測る —— 削れた深さ・拭けた帯の幅・面積を Preston の式と接触圧の閉形式と MuJoCo で — 物理シミュ × Fullseye 系列の続き。研削の模倣学習(arXiv:2410.19235)と可変コンプライアンスの拭き(arXiv:2406.14990)は接触を保つ剛性を学習で決めるが、仕事の結果(削れた量・拭けた範囲)は画像で測れる。Preston の式 dh/dt = k_p p v を軌跡と押す力で積分した除去の地図(直接の積分と FFT の 2 実装、rms 差 0.37 %)、平板と Hertz の工具の一筆の断面の閉形式(0.26 % 以内)、膜の画像から読んだ帯の幅 = 閉形式(0.28 % 以内、Otsu のしきい値の意味を戻さないと最大 36 % 外れる)、平行な一筆の面積(0.30 % 以内)、前後の高さ図から削れた深さ 240 nm を rms 1.41 nm で読み Preston 係数を 0.04 % で当てる、弾性床のパッドで粗さが exp で減る(0.20 % 以内)。MuJoCo(–full)で手首のばねで押すと、柔らかい手首は板の高さの誤差 2 mm でも帯の幅がそろい(変動係数 0.02 %)、硬い手首は 19.2 mm で浮いて拭けない列が 83 / 309。新モジュール polish 13 op + mujoco の facade 3。
py -3.11 examples/poc_polish_wipe_measure.py
- 粉体のすくいと注ぎを画像で測る —— すくった量を側面像の輪郭から、注ぎの流量を流れの幅と速さから、真値は閉形式と MuJoCo の球 — 物理シミュ × Fullseye 系列、granular(山の安息角・体積・Beverloo 排出)の続き。先行研究の粉体計量(IROS 2023)は秤の質量だけを観測に使う。こちらは横から見た像で、スプーンにすくった量と傾けて注いだ流量を読む。球冠の椀のすり切りと山盛りの閉形式、側面像の体積は Pappus の線形和(被覆率に線形なので平らな粉面で偏らない、行の幅を直径にした円板の和は −1.5 %)、縦長の盛りは直交 2 方向の楕円の和で体素の真値に −0.01 %。MuJoCo の剛体球の個数を 2 方向の像の体積 × 1 回較正した充填率で 4.3 % 以内、粒が大きいと誤差が倍以上で秤に回す規則。注ぎの流量は PIV の速さ × Boolean 模型で重なりを数え直した線密度で、MuJoCo の横切り数の 0.98〜1.04 倍(素朴な数え方は 0.88〜0.95)、速さは自由落下と 1.6 % 以内。傾き角への依存は口に壁の無い器の楔(自分の導出、granular の lip=open)が MuJoCo の出た割合に RMS 0.023(口に縁のある器 0.050)。新モジュール scoop 15 op + mujoco の facade 2。
py -3.11 examples/poc_powder_scoop_pour.py
- 乳鉢の粉砕を測る —— 粒度分布の D50、粉砕則、独立 3 回のばらつき、AE の帯域電力。真値は公開されたレーザー回折の実測 — 物理シミュ × Fullseye 系列、粉体の 3 本目(granular / scoop の続き)。ロボットが乳鉢で粉を挽き音響放射(AE)で見張る研究の公開データ(Zenodo 10.5281/zenodo.18064323、CC BY 4.0)のレーザー回折の粒度分布 117 本と AE の生波形 6 本を外の真値にした(データは repo の外、環境変数 FULLSEYE_GRIND_DATA。無い CI では numpy の 12 門だけ走る)。D50 は装置の Dx(50) と同じ log 補間で全 117 本と 3.2e-15、公開の解析コードの 下の端に置く累積は 1 区間分 −11.8〜−12.0 % 小さい。粉砕則(Kick / Bond / Rittinger)の当てはめは NaCl が Rittinger、クエン酸と MSG が Bond だが、モンテカルロで正しい則が勝つ割合はデータの縮みの幅で決まり NaCl は 58〜78 % で当てにならない。独立 3 回の D50 の cv は 5.2 / 6.5 / 13.2 %。AE の帯域電力は解析コードと差 0.0、STFT の密度とは Parseval で 0.982〜1.052。60 min のクエン酸は凝集で粗くなり、単調な則はどれも表せない。新モジュール grind 13 op(facade なし)。
py -3.11 examples/poc_powder_grinding_ae.py
- 何分すり潰せば 1 回分の薬の量が揃うか —— 粒径から含量のばらつきを閉形式と Monte Carlo で、粉砕則で必要な時間を逆算 — grind(乳鉢の粉砕を測る)の続き。よく混ざった粉から 1 回分を取ると、薬の粒の数が Poisson で揺らぐだけで含量がばらつく。複合 Poisson から CV² = (πρ/6)·D63³/D を導出し(D63 = 個数基準の 6 次 / 3 次モーメントの比の 3 乗根)、体積基準の粒度分布からは恒等式 D63³ = E_v[d³] で形を仮定せずに出す。粉砕則を D63 に当てて、CV が目標(受入値 15 相当の 6.25 %、または第 1 段の合格の確率)まで下がる時間を逆算する。閉形式 vs Monte Carlo(径を引いて足すだけ)は 8 条件で差 / 標準誤差 最大 1.72、恒等式は 1e-16。★試走の「写真から出した CV が 4 つの径で一貫して −6 %」は、4 つの径が画素の単位で同じ 12 枚の画像だったための見かけ(門 4)。独立な束に分けると主因は縁に触れる粒の取りこぼし(0.956)、Miles–Lantuéjoul の重み + 対数正規で 1.001・散らばりは ±0.102 → ±0.060。「AV ≤ 15 相当」の CV 6.25 % の粉は第 1 段を約半分しか通らない(χ² 0.563、平均のずれの項込みで 0.501)。実データ(公開のレーザー回折、repo の外・FULLSEYE_GRIND_DATA)では D16/D50/D84 の対数正規が CV を中央値 1,336 倍に見積もる(二峰)ので使えず、5 mg で CV 6.25 % に要る時間は NaCl 24 min・クエン酸 28 min・MSG 31 min(後 2 つは外挿)、0.1 mg は 96〜206 min。正直に: CV は粒の数の揺らぎだけの下限、受入値の数は二次資料、粉砕則を D63 に当てるのは仮定。門 13 本(データ無しの CI は 11 本、2.3 s)、既定は Monte Carlo 1,000 回・画像 30 束、–full は 8,000 回・200 束。
py -3.11 examples/poc_dose_uniformity_from_grinding.py
-
| 視触覚センサ(弾性膜 + カメラ)の合成と逆算 —— Hertz 接触とフォトメトリックステレオの閉形式を門に、球の押し込みから力を読む — 物理シミュ × Fullseye 系列の第 2 弾。真値は閉形式 2 系統: 弾性接触 = Hertz(Johnson 1985: a³ = 3FR/4E*、δ = a²/R、p0√(1−r²/a²)、半空間の表面変位の内外解)、光学 = Woodham 1980 のフォトメトリックステレオ + Frankot-Chellappa 1988 の積分(弾性膜を 3 色照明で撮る原理は Johnson & Adelson CVPR 2009)。自分で作ったのは外側のスロープ閉形式 (2/πR)r arcsin(a/r) − a√(1−a²/r²)、それを法線場のスロープ分布に 1 パラメータ a で当てる逆算(高さの積分を通らない)、δ の 1D 積分に Boussinesq の遠方場の裾を足す補正。新モジュール tacsim 14 op。門 17 本: 恒等式・圧力積分・内外連続とスロープの導出検算(1e-7)・FC 往復・Woodham の厳密性(中央 0.0°)、当てはめ経路 a ≤ 0.3 %・F ≤ 0.8 %(4 荷重)、δ 経路 δ ≤ 0.9 %・F ≤ 1.3 %、模型なしのリングは −0.7 px/a の予測どおり内側(−8〜−5 %)、a ∝ F^{1/3}(指数 0.333)、窓打ち切りの不足 = ū_z(r_max)/δ = 4.7 % の閉形式、ambient を引かないと δ が 3.7 % 低い、照明仰角の較正ずれは斜面だけ(0.5° → 6°)、雑音 σ = 0.03 でも F 5 % 以内、4 形状の往復、tac_contact_mask は裾まで拾う。正直に: 小変形 Hertz、Lambertian・影なし、半無限の膜。踏んだ罠: |
∇h |
のしきい値の帯は 9 % 内側、FFT 積分は深いへこみを 13 % 減衰、ambient が法線を 3.7 % 寝かせる。 py -3.11 examples/poc_tacsim_elastic_membrane.py |
- 会場の建物と小惑星イトカワを同じ物差しで —— PLATEAU の CityGML LOD2 を三角形メッシュにして並べる — 著者の発案「イトカワ(約 535 m)と会場の建物を比べたら大きさが実感できる」。新 op driveplateau.plateau_lod2_mesh(CityGML LOD2 の主題面 → 三角形メッシュ (V, F) と部位ごとの属性、EPSG:6697 を GRS80 の ECEF 経由で接平面 ENU [m] へ厳密に、穴は橋渡しで耳切り、未知の幾何・座標系・単位は fail-closed)。会場の 7 部位は国土交通省 PLATEAU 横浜市 2020 年度から作った data/plateau_yokohama/venue_lod2.npz(112 kB、PDL1.0 / CC BY 4.0 互換、加工の内容は README)。門 7 本: 合成の切妻屋根で高さ 12 / 4 m・体積 2000 / 144 m³(発散定理)・穴あき屋根の面積が閉形式、EPSG:6697 以外は拒否、会場のメッシュの高さ = measuredHeight ±0.05 m(最大差 0.045 m)、面は外向き、イトカワの点群は細長い。イトカワの長さ 535 m = 展示ホールの長辺 263 m の 2.0 倍 = ホテル棟 142 m の 3.8 本分。正直に: 点群の主軸方向の外接幅(562 × 298 × 244 m)は文献値より 1〜17 % 大きく門にしない。ホテル棟と会議センターは PLATEAU では 1 部位。図の出典: 「3D都市モデル(Project PLATEAU)横浜市(2020年度)」(国土交通省)を加工して作成。
py -3.11 examples/poc_plateau_venue_lod2.py
- 流体のように流れる群れが見えない障害物を速度場の乱れだけで察知する —— 俯瞰映像の追跡と PIV で衝突点と障害物の輪郭を読む — 群れの個体を SPH の粒子として動かすと、障害物に当たった個体の減速が押し合いの圧力として上流へ伝わり、群れは円柱のまわりで近似的にポテンシャル流になる(導出)。上から撮った映像で個体の速度場を測り、自由流からの欠け方で衝突点(よどみ点)と障害物の中心・半径を読む。閉形式の場では 2 次元の当てはめが厳密、中心線の 1/√d の直線化は中心 0.30 % of R・半径 +0.09 %(U を閉形式で割り戻す反復をしないと半径 −16 %)。粒子の映像から PIV(pivops)で速度の rms 2.1 % of U・半径 −0.6 %、追跡(blob2d)で 3.3 %・+0.3 %。雑音だけ・渦・湧き出しの場では「説明できる割合」0.002〜0.080 で何も言わず、障害物ありは 0.761 以上。1692 個体の群れの模擬では、映像の速度が個体の本当の速度と rms 1.4 % で合い、上流だけ(当たる前)の当てはめで中心 4.5 % of R・半径 −10 %。正直に: 群れの流れは後ろに空洞が伸びる厳密でないポテンシャル流なので半径は 1 割小さく出る。障害物は円だけ、自由流は +x の前提。
py -3.11 examples/poc_swarm_obstacle_from_flow.py
- 粉末 X 線回折の 2-D 検出器像から相を 1 つずつ剥がす —— 較正・方位積分・NNLS・残差の未知相。真値は NIST SRM 640g と COD — 混合物の粉末に X 線を当てると、検出器には相ごとのデバイ環が重なって写る。標準 Si の環で検出器の中心・距離・傾きを較正し(中心 0.011 px、距離 0.0009 %、傾き 3.004°)、方位積分で 2θ のプロファイルに落とし、Scherrer で結晶子径(354 Å、真 350 Å)、CIF から作った参照の辞書で相を 1 つずつ剥がし(NNLS の前進選択、NaCl > CaF₂ > コランダム)、残差の 8 本を立方晶 F・a = 4.2170 Å と指数付けして候補 4 つから MgO を名指しする。4 相の分率の誤差 0.04 wt%。NIST SRM 640g の証明書の線 11 本を Bragg + 消滅則で 0.00044° 以内に再現。罠: 傾き 5° を無視すると山 10 本が 23 本に割れ、試料の格子が 0.4 % 大きいだけで分率が崩れる(格子の追い込みで戻る)。正直に: 合成と解析は同じ物理模型を共有するので 0.04 wt% は模型の量が戻る確認にとどまる —— 模型をわざと食い違わせると結晶子径 −29 % で 0.97 wt%。COD の CIF は repo の外(FULLSEYE_PXRD_DATA、無ければ立方晶の原型で全部の門が走る)。
py -3.11 examples/poc_pxrd_phase_peel.py
- 円形部品の内径を mm まで(校正 1 個がサブピクセル精度の 500 倍効く) — Ø10.000 mm の的(半径 100 px)と Ø6.130 mm の穴(61.3 px)を同じ画素ピッチ 0.050 mm/px で合成し、
otsu → area_center の粗い中心 → add_metrology_object_circle_measure → apply_metrology_model → mm_per_px_from_reference → pixel_to_world で内径を mm に。★半径の偏り −0.011 px、内径 −0.4 µm。★公称倍率(作動距離 4 % ずれ)で換算すると −246 µm。★円周の 25 % が欠けても半径は返り(−5.0 px)、欠けは rms(0.067 → 1.90)と縁の点数(128 → 54)で見張る。 py -3.11 examples/example_inner_diameter_mm.py
- 微細スクラッチの検出と幅計測(幅 1〜3 px は measure_pairs の危険域) — 被覆率で描いた幅 1〜5 px の暗い傷(ぼけ σ=0.7)を真値に、
lines_gauss の検出、measure_pairs の幅、輝度欠損の積分を並べる。★lines_gauss は暗線も明線も同じ輪郭にし(極性も幅も返さない)、tophat は暗線に 0 を返す(bothat が応答)。★measure_pairs は細いほど大きい側へ偏る —— 幅 1 px で +2.25 px(σ=1.0)/ +1.67 px(σ=0.5)、3 px で +0.78 / +0.35、5 px で +0.06 / +0.01 —— しかも失敗を返さない。積分法は全幅で 1e-4 px 以内。mm は基準帯(40 px = 2.000 mm)を同じ op で測った校正値を通すだけ。 py -3.11 examples/example_scratch_width.py
- 部品の寸法検査(サブピクセル計測と、埋もれていた実装の実地評価) — SDF から解析的に部品を作り、既知の PSF と画素積分で合成して真値を握る。ゼロ点(大津の整数幅)比 41 倍、スロット幅の偏り -0.5000 → -0.0113 px、合成不確かさ 0.0196 px = 0.245 um。★壊れるのは「ぼけ」ではなくエッジ間距離 / PSF 幅で、3.09 を切ると偏り 0.05 px 超 —— しかも 1.58 まで「対が見つかった」と答え続ける(失敗を返さない)。★縁の定義を宣言しないと16 px = 200 um 動く(サブピクセルの 3 桁上)。丸い縁は必ず小さく出る(直径誤差 ≈ -σ²/ρ を実測で確認)。真値をきりの良い整数に置くと副画素の周期誤差が消えることも示す。
py -3.11 examples/poc_dimensional_inspection.py
- 星の位置を測る(理論下限を下回ったら、それは推定できていない印) — 既知の天球座標に星を置き、既知の投影と PSF で合成するのでプレート定数まで真値が既知。理論下限(Fisher)を下回った手法はゼロで、暗い端で下回って見えるゼロ点は真のずれへの感度 0.038 = 初期値を返しているだけ(散らばり0.2790 px は 1/√12 = 0.2887 と一致)。★予想が外れた 2 件: 既知 PSF の相関は標本化不足に弱く(FWHM 1.0 で 4 手法中最悪)、飽和画素を捨てる処置は捨て方で符号が変わる(重心なら 10 倍悪化、当てはめなら 121 倍改善)。偽解は 4000 回で 0 件でも「起きない」ではなく「測れていない」—— 総当たり通り数を掛けて初めて期待 5.77 件という使える数字になる。
py -3.11 examples/poc_star_astrometry.py
- 表面粗さ(同じデータで Sa は合格・Sz は不合格になる標本間隔がある) — PSD を指定して高さ場を合成するので Sq の真値が解析的に分かる。標本間隔 8 µm でSa は -3.5%(合格)なのに Sz は -19.8%(不合格)。Sz は評価領域を広げると単調に増える = 「どれだけ長く見たか」を測っている。最も頑健なのは Sa ではなくSq(予想が外れた。折り返しは 2 次モーメントを保つ)。
py -3.11 examples/poc_surface_roughness.py
- DIC ひずみ計測(2 度の回転が 600 µε の嘘のひずみを作る) — 斑点の中心を変形写像で移してから描き直すので、真値が補間を通らず厳密。
piv_cross_correlate が偏り 0.0002 px / 散らばり 0.0022 px(ゼロ点比 167 倍)で optical flow を 1 桁上回り、明るさ 0.7 倍 +0.15 でも 3.7e-15 px しか動かない。剛体回転 2 度で微小ひずみが -699 µε(鋼の降伏の 3 割)を返す——Green-Lagrange は代数的には 0 だが、実測では勾配の誤差が乗って推定器によっては悪化する。だから既定を置いてはいけない。★この PoC の所見は一度書き直している(既存の PIV 23 op を見落とした)。 py -3.11 examples/poc_dic_strain.py
- 粒度分布(D50 が合う点は「正確」ではなく打ち消し) — 撒いた円板の半径が真値なので D10/D50/D90 を厳密に検算できる。面積率を 1.9 → 28.2 % と振ると D50 の誤差は -4.9 % → +4.5 % と単調に動き、13.8 % で 0 を横切る —— そこは正確なのではなく、融合 28 件(大きい側へ)と縁切れ 19 件(小さい側へ)が釣り合っただけ(塊 140 個中)。★充填率で融合を落とす当たり前の対策は +6.5 % → -11.3 % と過剰補正して悪化する。個数基準と面積基準の D50 は同じ画像で 1.66 倍違う。
py -3.11 examples/poc_particle_sizing.py
- コンクリートのひび割れ幅は 1 画素より細い(数える幅と、積分する幅) — ★同じマスクから規約 2 通り(2·EDT と 2·EDT−1)で幅がちょうど 0.20 mm 違う —— 測ろうとしている量と同じ大きさなので、規約を書かない「幅 0.4 mm」に意味は無い。★★輝度欠損の総量は畳み込みでも画素化でも保存されるので、積分法は 0.05 mm(0.25 px)まで連続に追える(偏り -0.15〜+0.05 %)。その保存を 1e-8 の桁で検算する。
py -3.11 examples/poc_crack_width.py
- 繊維の配向分布(角度は 180 度周期。素朴に平均すると 90 度ずれる) — ★★算術平均は真の平均 177.9 度を 105.6 度と報告する(誤差 -72.3 度)。0 度と 179 度は同じ向きなのに、数として平均すると打ち消して 90 度へ寄る。2 倍角の円形平均に変えると同じ画素・同じ構造テンソルのまま誤差 1.4 度。★真値が 3 通りある(本数基準 / 撒いた長さ基準 / 視野内の長さ基準)。対照群では 3 つの開きが 0.0135 しか無いのに、長い繊維ほど揃う場面にすると 0.0368 に広がり、本数基準と比べて配向度が +4.9 % ずれる。
py -3.11 examples/poc_fiber_orientation.py
- 歯車の歯形(偏心は 1 次、歯は z 次。歯が 1 枚欠けると両方が混ざる) — 真値はインボリュート曲線の閉形式。★偏心 0.025〜0.200 mm を振ると 1 次振幅は-3.5〜-0.5 % で当たり、24 次成分はほとんど動かない —— 周波数で切り分かる。★★歯が 1 枚欠けると全周波数に漏れる: 偏心ゼロの歯車から 1 枚落としただけで1 次振幅が 0.1851 mm 立ち、これは実在する偏心 0.050 mm の 3.7 倍。偏心 0.050 mm の歯車では 0.0483 → 0.2251 mm(+350 %)。欠けを先に外さないと偏心の推定が汚れる。
py -3.11 examples/poc_gear_tooth_metrology.py
- クリープ試験のひずみ履歴(累積か直接か。交点は時間軸には無かった) — ★★いちばん大きな予想外れ —— 終端(6 % ひずみ)で累積 61 µε / 直接 1878 µε と累積が 31 倍良く、どの時刻でも勝ち続けた。交点は時間軸ではなく雑音の軸にあり、σ=0.20 で初めて直接が勝つ。★★累積の誤差はランダムウォークでもなかった: 雑音を切ってもほぼ変わらず、散らばりの log-log 傾きは 0.5 ではなく -0.03。支配しているのは揺らぎではなく PIV の系統誤差で、散らばり(14 µε)より偏り(60 µε)が大きい。
py -3.11 examples/poc_strain_history.py
- 河川の水位を斜め写真から測る(透視を無視した行番号は弓なりに外れる) — ★★「水位が高いほど誤差が大きい」は外れた —— 行番号を 2 点の目盛りで直す素朴法は弓なりに外れる(アンカー上で 0、その間で最大 -6.4 cm)。行 = (aZ+b)/(cZ+d) を直線で近似した弦と双曲線の差だから。★符号を決めるのは水位ではなく内挿か外挿か(内挿 -6.6 cm / 下ペアの外挿 +16.3 cm / 上ペアの外挿 +14.6 cm と逆符号)。★★同じ反射が検出器で正反対の顔を見せる: しきい値交差は静かに -18.9 cm、キャリパーは検出列 149 → 9 で黙って止まる。
py -3.11 examples/poc_water_level.py
- レーザー三角測量の断面から溶接ビードを測る(測れなかったところを 0 と書く罪) — ★★入射角 40 → 60 度で左つま先の未測定が 18 → 44 % になると、0 埋めのアンダーカット深さは 0.4507 → -0.0000 mm(真値 0.4500)で「健全」として通る。NaN なら 0.0672 mm と「44 % が未測定」が残る。★★幅と脚長は逆向きに壊れる(0 埋め -16.9 % / NaN +11.2 %)ので 1 つの指標に畳むと打ち消す。★ゼロ点(最大値の行、整数)は RMS 0.0169 mm で、サブピクセル 4 種はいずれも 1 桁良いが、いちばん凝った推定量が最良とは限らない。
py -3.11 examples/poc_weld_bead_profile.py
-
| 創傷面積の経時変化(較正の誤差は面積に 2 乗で効く) — ★★ゼロ点(1 枚目だけで較正)で撮影距離 Z/Z0 を 0.90 → 1.10 と振ると面積誤差は+23.58 % → -17.36 %。閉形式 (Z0/Z)²-1 との差は最大 0.278 pp(= ラスタライズの床)だが、線形近似の -2ε は 3.58 pp 外れる —— 「2ε」は 1 次項であって法則ではない。★★治癒定数 k の推定が壊れる: 距離が 1.2 %/day 漂うと真値 0.1200 に対し 0.1424(+18.7 %)。★ゼロ点は散らばりがいちばん小さいので、ばらつきでは気づけない。★標識を創面の外へ回す(外挿 → 内挿)だけで平均 |
誤差 |
が 1.11 % → 0.10 %。 py -3.11 examples/poc_wound_area_tracking.py |
- 光弾性(縞から応力。壊れるのは応力が大きい所ではない) — 円板の直径圧縮は閉形式の応力場を持ち、偏光系は fullseye の
mueller_element で組める(教科書の I=sin²(δ/2) と 125 通りで最大差 2.2e-16、水平直径の力の積分は誤差 0.000 %)。位相シフトで δ は復元できるが (δ,θ) ↔ (-δ,θ+90°) の二義性で 2.7 % の画素は符号が反転する。巻き戻しが壊れる場所は 2 つ(1 縞 2 画素未満・変調が落ちる等方点)で、どちらも撮る前に予測できてマスクで外せる。 py -3.11 examples/poc_photoelasticity.py
- 断面形状の検査(翼型・羽根。既知の欠陥を入れて検出できる大きさを出す) — NACA 4 桁の閉形式を設計形状にして、厚み・キャンバー・前縁半径を測る。既知の量の欠陥を注入して測り返し、検査の床(同じ形どうしの偏差)と検出限界を数字で示す。位置合わせが前縁の欠陥を後縁へ移すことも隠さず印字する。
py -3.11 examples/profile_shape_inspection.py
- 断面輪郭の枠を作る(正規化・等弧長の取り直し・上下面の分離・位置合わせを閉形式で検算) — 既知の相似変換を掛けた翼型が正規化で機械精度で戻ること、粗密 2 万倍の円が等弧長で一様な角度刻みになること、NACA 0012 の上下面が閉形式の ±y_t に 6e-6 で乗ること、7 度・並進の剛体変換を chord/rigid が取り戻しつつ2 % の拡大は吸収しないことを出す。開いた曲線の拒否も確かめる。
py -3.11 examples/profile_frame_tour.py
- 工業用 OCT ―― 塗装・コート・多層フィルムの層厚と中の欠陥を、1 本の干渉スペクトルの FFT で深さ方向に見る — 塗装・コンフォーマルコート・接着層・多層フィルムの層の並びと空洞・剥離を、光干渉断層(OCT)で壊さずに見る。新 op 13 本(
octscan、opsoptics の oct): 撮る前の閉形式 oct_design(軸分解能・深さ範囲・roll-off・SNR・横分解能と焦点深度)、層の並びから干渉スペクトルを作る oct_interferogram / oct_bscan_simulate(屈折率と分散は材料表)、oct_k_linearize / oct_dispersion_compensate / oct_dispersion_estimate / oct_ascan / oct_bscan、群屈折率で厚さを出し分離できなければ拒否する oct_layer_thickness、界面を辿る oct_bscan_boundaries、oct_bscan_flatten、生のスペクトルの入口 oct_from_spectra。実測: 公開の自動車塗装の生スペクトル(CC BY 4.0)で透明層が論文の OCT と 2 µm 以内・顕微鏡と 4 µm 以内、着色層は 4 枚中 3 枚が顕微鏡と 2.5 µm 以内(1 枚は 7.6 µm ずれて未解決)、白の見本の着色層の下は拒否、透明層の光学厚の深さに水平に出る自己相関の幽霊。合成: 群屈折率で割った厚さが真値と 0.05 µm、軸分解能・SNR・roll-off・分散の広がり・鏡像の残り tan(δ/2)・横の点像が閉形式どおり。 py -3.11 examples/poc_industrial_oct.py
- 格子干渉の 8 op を一巡 ―― 1 組の位相ステップから透過・微分位相・暗視野 — gratinginterf の 8 op の呼び出し例。公表の装置の距離 23.2 mm、粉の区画が暗視野で 0.55 に落ちる、位相雑音が Poisson の式と比 0.99、絨毯の極大 4/π と Lau の条件の 2/π、1 周期のステップ数の推定、微分位相の積分で丸棒の厚さ、折り返しの拒否。
py -3.11 examples/grating_interferometry.py
- 格子干渉計 ―― 吸収では見えない繊維の向き・微小な割れ・気孔を、縞の振幅(暗視野)で見る — X 線の格子干渉計で、吸収ではほとんど見えない繊維の向き・幅 2 µm の割れ・気孔の群を暗視野(縞の振幅の落ち方)で見る。新 op 8 本(
gratinginterf、opsoptics の grating_interf): 設計 talbot_grating_design・タルボ絨毯 talbot_carpet・線源と Lau の条件 talbot_source_visibility・順モデル grating_stepping_simulate・1 周期のステップ数の推定 grating_step_period_estimate・3 像の分離 grating_three_image_retrieve・暗視野 → 散乱角 darkfield_scatter_relation・微分位相の積分 dpc_integrate(折り返しは拒否)。絨毯の極大が分数タルボ距離と格子 0.89 mm 以内・高さ 4/π、焦点 2 mm で ×0.001 に消えた縞が Lau の条件の線源格子で 2/π に戻る。割れの CNR は暗視野 13.5 / 吸収 1.34、繊維の向きは 4 方位の暗視野から中央値 2.7°(2 方位だけでは 30.3°)。★鋭い縁の 1 画素だけが π を超える板は折り返しが見えずに通る(正直な限界)。実データ(CC BY 4.0、Zenodo 16944391)で 1 周期のステップ数を推定(基準 20.80・試料 22.30)してから 3 像に分ける。 py -3.11 examples/poc_grating_interferometry.py
-
モアレで位置合わせ ―― 見えない 2 µm の格子 2 枚を重ねると、1 nm のずれが縞の位相で読める — リソグラフィやナノインプリントでマスクとウェハを nm で重ねる位置合わせ。ピッチの僅かに違う 2 枚の格子(マスク 2.00 µm、ウェハ 2.04 µm)はどちらもカメラのぼけで消えるが(直接の像の標準偏差 9e-6)、重ねると周期 102 µm の縞が現れ、ずれを 50 倍に拡大する。新 op 8 本(moirealign、opsoptics の moire_align): moire_magnification / moire_talbot_gap / moire_overlay_image / moire_phase(ロックイン = 既知の周波数での最小二乗、または Takeda の FFT 法)/ moire_phase_to_shift / moire_differential_shift / moire_mark_read(単一・差動・2 次元の 4 象限)/ moire_phase_crlb。★拡大率はどちらが動くかで違い、像から測ってウェハ 50.000・マスク 51.000(よく書かれる M = p_w/ |
Δp |
はマスクが動く場合)。1 nm の階段 11 段をモアレは誤差 RMS 0.08 nm で読み、Monte-Carlo の標準偏差は位相の下限(Rife–Boorstyn × Hann の 1.5 × 基準像の 2 倍)と比 1.00。★比べ手(解像できる 20 µm の線の相互相関 + 放物線補間)との差は誤差 RMS で 91 倍だが、その大半は放物線の偏り(ずれの 17 % 小さく読む)で、偶然の誤差だけなら 0.077 対 0.19 nm の 2.5 倍しか違わない(内訳を分けて出す)。カメラを粗くすると(画素 0.5 → 2 µm)相互相関は 2.3 倍悪化しモアレは変わらない。逆向きのピッチ差の 2 対の差動は、マーク全体の流れ 300 nm(単一の対は 300/M = 6.2 nm 狂う)と照明の傾き 30 % を 0.03 nm 以内に消し、カメラの倍率を 2 % 間違えても +0.007 nm(換算はピッチだけで決まる。相互相関は 2 % そのまま狂う)。読みはピッチ 1 つ(差動は 1.01 µm)で折り返し、粗い相互相関で次数を決めると 0〜5 µm を 0.14 nm で読む。近接ギャップでは Talbot 長 2p²/λ = 14.5 µm で縞が戻り半分で符号が反転、反転を跨ぐと読みが半周期(1020 nm)跳ぶ。★正直な限界: 0.1 nm 級は白色雑音だけの床で、公表の位置合わせ精度 10〜30 nm はマークの非対称・ギャップ・傾きなどの系統誤差が決める。学習 0、較正 0、門 32 件。 py -3.11 examples/poc_moire_alignment.py |
-
テレセントリックレンズと寸法計測 ―― 同じレンズの絞りを動かすだけで、高さで変わる倍率が消える — ダイのボンディングやコネクタのピンは、高さの違う面の寸法を 1 枚の画像で測る。通常のレンズは近い面ほど大きく写すので段差の上と下で同じ寸法が違って写り、テレセントリックレンズは絞りを焦点に置いて主光線を光軸に平行にしてこれを消す。新 op 7 本(telecentric、opsoptics の telecentric): telecentric_lens(同じ BK7 相当の単レンズ f = 100 mm の絞りの位置だけを変えた通常 / 物体側 / 両側テレセン)/ chief_ray_angle(光線を入射瞳でなく絞りへ Newton 法で狙うので、入射瞳が無限遠でも動く —— raytrace.chief_ray はここで止まる)/ magnification_vs_depth / telecentricity_error / defocus_spot_vs_depth / vignetting_vs_field / lens_equivalent_pinhole(入射瞳に置いた render3d のピンホール)。像面を固定して物体を +5 mm 近づけると、作動距離 75 mm の FA レンズ(f = 25 mm)は倍率 +6.9 %、通常 f = 100 mm は +1.7 %、テレセンは −0.013 % で、実光線は閉形式 L/(L − Δz) と 7e-5 で一致する。オートフォーカスで合わせ直しても m = −f/(s − f) で +2.6 % 動き、戻らない。ピン(高さ 5 mm)・電極つきのダイ・穴(深さ 5 mm)を 3 種のレンズで描くと、FA レンズは画像から測ったピン上面の径を 6.9 % 大きく読み(閉形式と 7e-4)、ワークが 6 mm 上下すると読みが 8.6 % 動き、穴の内壁が 2,053 画素見えて底が 0.948 しか見えない(円の重なりの閉形式 0.949)。両側テレセンでは底が全部見え、内壁は 0 画素。部品はアルミの治具プレート・金めっきのピン・黒い樹脂モールドと銀色のリードの質感で描き(metalfinish の削り目と金属の複素屈折率の色、surfacelib の上塗り、影と AO)、照明を同軸落射・ドーム・低角リングに変えても、描いた画像から円の計測モデル(metrology)で測ったピン上面の径は閉形式と 0.34 % 以内、6 mm の上下で通常 f=25 は +8.3〜8.4 %、両側テレセンは ±0.13 % 以内。★物体で 47 µm/画素に粗くすると低角リングでは 2 % 外れた(暗視野で上面の縁が弱い)。★テレセンでも残る: 単レンズは瞳の球面収差で物高 8 mm のテレセン度が 0.05°(h³ で育つ)、物体側テレセンの歪曲は 3 %(両側の対称な配置では 0.005 %)。絞りのずれ δ は Newton の式で入射瞳を −f²/δ に動かし、物高 0.5 mm では閉形式と 0.04 %、8 mm では 11.8 % 大きい。テレセン度 0.1° が残ると段差 5 mm で 9.2 µm ずれる(閉形式 8.7 µm)。視野は前玉で決まり、50 % 点 11.6 mm は近軸の閉形式 12.4 mm より 0.8 mm 手前(瞳収差で光束が外へずれて太る)。ぼけの RMS の傾きは |
m |
·NA/√2 と 0.5 % 以内で、22 µm を回折で潰さない NA 0.033 では被写界深度は 0.68 mm が上限。第二の実装として OSS の optiland(MIT)と主光線の像の高さが 9e-8 mm で一致(屈折率は同じ公開の硝材カタログの係数なので、見ているのは光線追跡と狙いの実装)。学習 0、較正 0、門 24 件。 py -3.11 examples/poc_telecentric_metrology.py |
- テレセンの実画像から撮像模型の係数を合わせる ―― 倍率は論文と合い、入射瞳は「1 m より遠い」までしか言えない — 29.5° 傾いたアライメント板の実画像(Stark ほか Sci. Rep. 2025、CC BY 4.0)のリングの中心線に、板の傾き・向き・倍率・歪曲 k1・入射瞳までの距離の逆数 1/L(テレセン度)を持つ撮像の模型を simcal で合わせた。模型と独立な雑音(局所 2 次式の純粋誤差 1.12 px)で合わせると絶対の門(χ² の上側確率 p = 7e-9)が落ちて数を取り下げる —— 残差 1.35 px には、リングごとの滑らかな食い違い(板と縁の読み)がある。その分を白い分散として足すと 6 つの門を通り、リングのジャックナイフと Laplace の不確かさが同じ大きさになることを確かめてから数を出す: 倍率 252.14 ± 0.18 px/mm(論文の K1 = 252.0)、1/L = 0.50 ± 0.18 /m で入射瞳は 1.16 m より遠い(2σ)—— 通常の f = 100 mm(302 mm)と f = 25 mm は否定。合成では 8 係数を下界どおりに回収し、通常レンズの 1/L = 3.31 /m を閉形式と 0.1σ で当て、傾けない板では向きを「効かない」として返さず、低次の食い違いを入れると Laplace が 2.4 倍楽観的になるのをジャックナイフが見抜く。★1/L が 0 から 2.7σ なのは未解決。学習 0。
py -3.11 examples/poc_simcal_telecentric.py
- 重力波望遠鏡の擬似シミュレーション —— 共振器の式・量子雑音の予算・整合フィルタを閉形式で繋ぎ、GW150914 の実データで採点 — km 級の Michelson 干渉計が 1e-21 のひずみを読む仕組みを、どこまで閉じた式で再現できるか。検査装置の干渉計(エタロン・レーザー共振器・白色干渉・振動計)と同じ式なので、再現できた分だけ Fullseye の設計規則になる。新 op 12 本(
opsoptics の cavity 5 本 + ops1d の matched 7 本)。★腕共振器: aLIGO の公表設計値(L 3994.5 m、T_ITM 1.4 %、T_ETM 5 ppm)で フィネス 445.5・極 42.1 Hz・循環光量 284 倍、伝達関数は極で 1/√2・FSR で零、Pound-Drever-Hall の傾きは Black 2001 の式 15 と 0.9999 倍。★量子雑音の予算(Kimble ら 2001): 散射 × 輻射圧 = SQL²/2 の恒等式が 1e-10、総和は K = 1 で SQL に触れ、第二実装 gwinc 0.6.2(信号再利用鏡を外した aLIGO)と 8 周波数で比 0.96〜1.12。公開設計曲線(LIGO-T1800044)との比は 20 Hz で 0.42・100 Hz で 1.99・1 kHz で 0.33 —— 信号再利用と熱雑音の分だけ形が違う(表で明示)。★★実データ(GWOSC の GW150914、CC BY 4.0、環境変数 FULLSEYE_GWOSC_DATA に置けば走り、無ければ「未配置」と明示): Welch の PSD → 白色化 → 35〜350 Hz で PRL 116, 061102 図 1 の公表曲線と相関 0.959 / 0.935(白色化なしなら 0.47 / 0.38)、数値相対論の波形の整合フィルタで SNR H1 19.0 / L1 13.1(公表 ≈ 20 / 13)、ネットワーク 23.1(公表 24)、L1 が 7.1 ms 先(公表 6.9 +0.5/−0.4 ms)。ニュートン近似のチャープは SNR 9.1 / 5.6(合体・リングダウンが無い分だけ損、それでも検出)。O1 の実測 ASD は設計曲線の 2〜7 倍(2015 年の装置は設計未達)。NR 波形の軌跡から式 1 でチャープ質量 38 M☉(公表 ≈ 31、1 周期に 7 % 上がる帯域では式 1 が高めに出る)、H1 の白色化データの尾根からは 42 M☉(NR 軌跡と 10 % 差)。★持ち帰り: 1/f² の色つき雑音に埋めた既知波形で、白色化した整合フィルタは埋めた高さどおり拾い、素の相互相関は狭帯域のトーンでは差が無く(0.98)、広帯域のチャープ 0.50・減衰振動 0.37 —— 白色化が効くのは波形が雑音の色を跨ぐとき。学習した数 0、較正 0、CI は合成と閉形式だけで図なし 4 秒。 py -3.11 examples/poc_gw_detector_pseudo_simulation.py
- 深い傷は平均線を凹ませる —— ロバストなガウス・スプラインフィルタは何割の汚染まで耐えるか — 粗さ計測でうねり(平均線)を引くとき、深い傷に線形ガウスの平均線が引かれて傷の脇の健全な面が山に化ける。
roughness 族の新 op 3 本(robust_gaussian_profile / robust_spline_profile / robust_gaussian_surface)はTukey の biweight で傷の重みを下げて反復する。外部の真値: ガウス exp(-π(αλc/λ)²) と離散スプライン1/(1+(sin(π dx/λ)/sin(π dx/λc))⁴) の閉形式(λc で 0.5、実測の差 1e-7 / 1e-11)、密行列の第 2 実装、合成した本当のうねり。★既存の surface_filter は規格の文面の打ち切り ±λc/2 のため λc で 0.5095 だった(2026-10-18 に ±0.75λc へ直して 0.5000、新 op は ±λc で 0.5)。★傷の標本 4.3 % の断面で、線形の平均線は真のうねりから 2.40 µm 外れ、傷の脇の粗さを 2.5 倍に見せる(ロバストは 0.12 µm・0.97 倍)。★破綻点: 汚染 35 % まで引きずりは雑音の床 0.15 µm 以下、40 % で 3.5 µm に破綻し線形と並ぶ(理論の 50 % の手前、線形解から反復を始めるため)。重み関数を 1 に固定すると門が落ちる(比 0.06 → 1.11)。収束しなければ・窓より広い溝・次数 2 は値を返さず拒否。外れ値が無くても biweight は雑音の裾を刈るので線形と一致しない(「重み 1 なら既存と 1e-12 で一致」)。実スタイラス断面での検証は未了。学習した数 0、較正 0、CPU 7 秒。 py -3.11 examples/poc_robust_profile_filter.py
- 傷つき断面のうねりを引く(線形ガウスは引かれ、ロバスト版は引かれない)の呼び出し例 — 解析的なうねり + 雑音 + 深さ 6 µm の傷 4 本の断面に、
fs.ledger.robust_gaussian_profile.raw / robust_spline_profile.raw を掛け、平均線の真値からの最大ずれ(線形 1.3 µm、ロバスト 0.14 µm)を数える。台帳経由は粗さだけ、.raw は (粗さ, 平均線, info)。収束しなければ ValueError。 py -3.11 examples/example_robust_profile_filter.py
- 仮想の透過電子顕微鏡 ―― 焦点を振ると Thon リングが動き、細部が反転し、実写の写真から焦点外れを当てる — 透過電子顕微鏡は薄い試料を透けた電子の位相を、球面収差 Cs と焦点外れ Δf で強度に変える。その変え方 CTF = −sin(χ + arcsin w) は周波数ごとに符号が入れ替わり、パワースペクトルに零点の同心円(Thon リング)を描く。新 op 11 本(
temsim、opsoptics の tem): tem_wavelength / tem_scherzer / tem_ctf / tem_ctf_profile / tem_projected_potential / tem_amorphous_film / tem_image_weak_phase / tem_multislice / tem_power_spectrum / tem_ctf_estimate / tem_ctf_correct。結像は coherent_image に瞳 e^{iχ} を渡し、電子の散乱因子は pxrd の X 線の因子から Mott–Bethe で作り、リングの周期の初期値は k² について不等間隔の標本に lomb_scargle、フレームの位置合わせは phase_correlation_fft(どれも既存の op)。波長は公表値と 5 桁(300 kV で 1.9687 pm、補正なしは 13.7 % 長い)、零点は閉形式と 1.7e-12 Å⁻¹、Scherzer 焦点の最初の零点は 0.6580 Cs^¼ λ^¾、正弦位相格子の回折は J_n(φ₀)² と 1.6e-13。Si の平均内部ポテンシャルは中性原子の値 13.71 V に対して 13.83 V(実測 12.48 V より高いのは結合の分)。★Cu の f_e(0) は 10.5 % 小さい(X 線の当てはめの限界)。像が投影ポテンシャルに最もよく似る焦点は 900 Å で Scherzer 842 Å の 7 % 以内、正焦点では細部が反転する(相関 −0.30)。合成の写真 4 枚で Δf を 13 Å 以内、非点収差を 50 Å・5.2° 以内で回収し、jackknife の σ が誤差を覆う。雑音だけ・線量不足・正焦点の近く・タイルが 9 枚しかなく別の谷に落ちた当てはめ、の 4 例はすべて拒否。画素寸法を 2 % 間違えると Δf は 1.039 倍(閉形式 1.0404)。ドリフトした 10 枚は和にするとリングが消え(当てはまりの分解能 15.6 Å)、合わせると戻る(5.3 Å)。位相反転で投影ポテンシャルとの相関は 0.09 → 0.84、ウィーナーで 0.87、Δf を 10 % 間違えると 0.10。★実写(EMPIAR-10028、CC0)3 枚で、著者の CTFFIND3 の値と −55 / +65 / −0.5 Å(0.2 % 以内)。学習 0、較正 0、門 36 件。 py -3.11 examples/poc_tem_ctf_thon_rings.py
- SEM の明るい縁が寸法をどれだけ太らせるか(公開ウェハ欠陥データで採点) — SEM 像では二次電子が斜面でよけいに出る(放出 ∝ sec θ)ので段差の縁が明るく縁取られ、その明るい縁ごとしきい値を超えて拾うと寸法・面積が系統的に太る。この太りを真値つきで切り分ける多段 PoC。新 op
sem_render(二次電子の縁効果 sec θ + ビーム PSF + ポアソン雑音 + 帯電)は 3 本の閉形式の門をもつ: 平面で一様 / 斜面で平面比 = sec θ(誤差 0e+00)/ 段差の明るい縁の幅 = PSF 幅。★★合成(真値の面積が厳密)では Dice は高い(中央 0.885 = 形はよく合う)のに面積は系統的に太り(比 1.09〜1.70)、太りは閉形式 ΔA ≈ 周囲長 × 有効縁幅(有効縁幅/PSF の中央 1.01)でよく説明できる。★既知のビーム PSF 幅で面積を引くと偏りは 0.261 → 0.008 に消える(物理による補正)。埋め込み POD(pod_hitmiss_fit)で a90/95 が出る。★実データ(Carinthia-S, CC BY 4.0, DOI 10.5281/zenodo.16895427)で採点すると: 段 0 のマスク規約検査で勾配の峰はマスク境界の cm = -1.3 px(専門家マスクは明るい縁まで含む)、クラス別 Dice 中央は 0.51 / 0.70 / 0.79(クラス 3/4/5、クラス 5 は全 4 枚)、面積比 1.70 / 1.22 / 1.42。★実データの欠陥は背景より 0.13 暗い穴で、合成の明るい塊と極性が逆であることも正直に印字する。実データ段は環境変数 FULLSEYE_CARINTHIA_DATA があるときだけ走り、無ければ合成のみ(CI は合成のみ、図なし既定で 60 秒未満)。 py -3.11 examples/poc_sem_wafer_defect_edge_bias.py
- 仮想 SEM: 加速電圧で像も測れる線幅も変わる(電子と固体のモンテカルロ、実測値で採点) — SEM の像は表面の写真ではなく、固体の中で散乱する一次電子の相互作用の体積から何が出てきたかの集計。一次電子を 1 個ずつ追うモンテカルロ(Joy の単散乱 + Browning 1994 の Mott 近似 + Joy-Luo の阻止能)の新 op 8 本と材料表の
material_electron_properties で、各段を外の実測値で採点する多段 PoC。★η(Z, E) は 7 元素 × 5〜30 keV が Joy のデータベースの実測の幅 ± 0.04 に入る(遮蔽ラザフォードは W・Au で外れる)。到達深さは Kanaya-Okayama の 0.83〜1.04 倍。SE の形は C〜Ag で Lin & Joy 2005 の普遍曲線に RMS ≤ 0.076(W・Au は裾が厚く未解決)。★★Si の上の W: 段差の無い W を 1 kV で見ると SE +5 % / 反射電子 +96 %(SE では消える)。5 kV では SE も +80 %(SE2 が Z を運ぶ)。深さ 150 nm の W は 20 kV でないと見えない。★CD-SEM: 側壁 88 度の線は 1 kV 39.1 nm / 20 kV 39.9 nm(低加速は側壁の上寄りを測る)。側壁 80 度では差が小さく向きも逆。★帯電: 0.5 kV は正に溜まって暗くなり η + δ·F(V*) = 1 の電位で止まる(二分法と 2e-15 V)、20 kV は負に溜まって明るくなる。途中で材料の境界を素通りする欠陥を見つけて直した(0.01 nm のキャップで η が 0.425 → 0.329 に跳んでいた)。実画像の章は未実施。CI は縮小(図なしで CPU 約 30 秒)。 py -3.11 examples/poc_virtual_sem_kv_cd_bse.py
- 同じ粒子を走査像と透過像で測り、二つの寸法偏りを共通真値で比べる — 20〜80 nmの球・六角ファセット粒子14個を同じ台帳から描き、面積相当径・最大傾斜・接触対の分水嶺・立体計測を比較する。52 nm粒子は走査像のしきい値で+4.16 nm、透過像は正焦点で-0.18 nm、焦点外れ12000 nmで+9.82 nm。走査像の偏りはガウス縁の閉形式、透過像の縁はsqrt(lambda defocus)、高さは±5°の視差、限定角再構成は完全角の第2実装で採点する。
py -3.11 examples/poc_sem_tem_same_particle.py
- 結晶粒度 G(面積法と切片法は別の崖で落ちる) — Voronoi の粒と真値ラベルで ASTM E112 の G を厳密に検算できる(閉形式 π/(4√λ) と +1.5 %、E112 の 2 式は同じ組織で +0.32 段ずれる)。★ゼロ点の面積法は雑音だけ -0.02・むらだけ -0.40 が両方で +3.82 と相互作用で死ぬ。★★粒界の途切れの崖は面積法 7.2 %、切片法 40.7 % ―― 予想の 29.3 % は外れ、マスク上で消える粒界は f の 0.76 倍だった。closing 9×9 は 13 点中 12 点で素の版より悪い。混粒の全体 G 7.82 に ±0.5 で入るタイルは 4/64。
py -3.11 examples/poc_metal_grain_size.py
- ねじのピッチ・フランク角・有効径(傾きは左右フランクに逆符号) — ★列幅の FFT はピッチを半分と答える(単条ねじの上下輪郭は P/2 ずれる)。★★軸の傾き 3 度で左右フランク角は 33.18 / 26.74 度 ―― 半和が真のフランク角、半差が傾き。片側フランクのピッチは 1 次で ±3 % 狂い、頂点間隔は 2 次(-0.12 %)。★ぼけ σ=4 px で壊れるのは d2(-0.06 %)でなく α(-0.57 度)。★標本化の崖は α(8 px/山)→ d2(4 px/山)→ FFT の P(2 px/山 まで当たり、1.5 px/山 は 3.0 px に折り返す)の順。
py -3.11 examples/poc_screw_thread_metrology.py
- 骨梁の厚さ Tb.Th・間隔 Tb.Sp・骨体積率(平板モデル vs 直接法) — ★真値が複数ある: 幅の長さ加重平均 104.8 µm、面積加重 113.9、最大内接円の定義 121.6、平板モデル 118.4 µm ―― どれと比べるかで 9〜16 % 動く。★★解像度の崖は平均でなく分布に来る(60 µm 画素で重なり 0.83 → 0.09。平均は量子化 -29.5 % と大津の太り +26.6 % が打ち消す)。★★雑音は斑点(σ 0.10 から)と途切れ(σ 0.15 から)で Tb.Sp を逆向きに引き、opening r=1 は細い骨梁ごと切る(途切れ 5 → 16 本)が面積オープニングは斑点だけ消す。★カップ状バイアス β=0.6 は全体の BV/TV -0.9 % なのに中心/縁の Tb.Th が 83/112 µm ―― 場所で壊れる。log 域のまま大津を取ると +18.9 % 太る。
py -3.11 examples/poc_bone_trabecular_thickness.py
- 年輪年代学(年数の誤差と幅の相関は別に数える) — ★髄から 1 本の放射線でピークを数えるゼロ点は 24 方向中 18 方向でしか年数が合わないが、間違えた 6 方向でも幅系列の相関は中央値 0.900 ―― 年数と幅の相関は別の壊れ方をする。★★極座標展開(髄中心)→外縁で半径を正規化→θ 方向メディアン→24 扇形の測定線の合意で 36 年ちょうど・幅の相関 0.996。★髄の推定誤差 20 px でも幅の相関 0.994: 予想「偏心は幅を cos で変調する」は外れで、cos が乗るのは半径(傾き -14.9 px)、幅は 1 次で打ち消す(-0.02 px)。減るのは髄近くの年数で幾何の予測どおり 2 年。細い年輪の崖は合意法 2.5 px(閉形式モデルの予測 1.9 px)・ゼロ点 3.0 px(予測 2.9 px)。ぼけ σ 4 px でゼロ点は欠落でなく偽輪 13 本を数える。
py -3.11 examples/poc_tree_ring_dendro.py
-
| CAD と実測点群の差分検査(合わせた分だけ欠陥が消え、無い所にへこみが出る) — 解析形状の部品に既知のへこみ・反り・摩耗を仕込み、ゼロ点(位置合わせなしの最近傍距離 19.03 mm)から粗合わせ→ICP→符号付き偏差→公差外面積まで通す。**位置合わせが吸えるのは J=[n |
X×n] の 6 次元だけで、局所へこみの読みは 3.7 % しか薄まらないのに、★反りでは真値 1.2 µm の中央に深さ 121 µm の偽のへこみが出る(閉形式の予測 -a/3 = -120 µm、引かれ方の傾きは実測 -0.322 対 予測 -1/3)。★稜線で最近傍が隣の面へ飛び、欠陥ゼロ・雑音ゼロ・姿勢は真値の対照でも 66.5 mm^2 の偽の公差外領域が出る。崖は 4 本(初期姿勢・密度・雑音 σ√(2/π)・片面欠測)で測り、素の直方体を対照に置くと対称形でだけ残差が別解を隠す**ことも分かる。 py -3.11 examples/poc_cad_scan_deviation.py |
- 構造物の 4D 差分(点検のたびに測る場所がずれる) — ★★劣化ゼロで測り直しただけで最近傍差分(C2C)は中央値 21.07 mm・最大 42.64 mm の「劣化」を返し、しきい値 1 mm の偽の補修候補 5.098 L は本物 5.882 L の 87 % に達する(法線方向なら 0.55 / 3.55 mm)。★偽の劣化は点間隔でほぼ決まり(密度 300→2400 pt/m² で 26.83→10.14 mm、予測 0.5/√ρ との比 0.930〜0.994)、★★「密度を揃えればよい」は逆で 30 / 50 mm 格子に間引くと 21.39 → 22.30 / 24.44 mm と悪くなる —— 揃えるとは細かいほうを粗いほうに合わせることだから。★★劣化が全域に広がっていると合わせは平均を吸い、支間中央のたわみ 2.999 mm は 0.933 mm(吸われた割合 0.689、閉形式 2/3 = 0.667)に潰れて支点に -1.737 mm の偽の隆起が出る(端だけで合わせても 0.296 は吸われる)。★残差姿勢の作る嘘は測る前に (t+ω×(p-c))·n で出せ(雑音床と直交合成して比 0.969〜1.010)、腹板には ω_y が、下フランジには ω_z が厳密に効かない —— 面 1 枚では検算できない。★★点検を 3 回に増やしても速度は良くならない(等間隔 3 点の傾きは両端の差分と厳密に一致、差 1.8e-15 mm/年)。★★押し出し形状の橋軸方向は「決まらない」のでなく法線推定の雑音が決めてしまい(推定 n_x² は設計の 11〜7207 倍でキャンバーに無反応)、その嘘は平面でなく支承の円柱にだけ 41.2 mm の偽の水平移動として出る一方、支承の沈下 4.00 mm は -0.14 mm に消える。
py -3.11 examples/poc_structure_4d_deterioration.py
-
| 設計モデルと実物の差(部屋が合わせの自由度を吸い、余りを他の部材へ配る) — 半空間・直方体・円柱の CSG で部屋を組み、壁の傾き +3.00 mrad・壁の開き 2.50 mrad・床の勾配 -1.50 mrad と反り 12.0 mm・柱の半径 +6.5/-4.0 mm・開口のずれ 25/18 mm を既知量で仕込んで 3 か所から走査する。★ゼロ点(点群まるごとを設計へ合わせて平均距離を 1 個)は誤差ゼロの建物 2.20 mm・両方入り 3.61 mm で 1.41 mm しか動かない —— 場所ごとに符号の違う偏差を平均が打ち消す。★もう 1 つの素朴な数字である対称 Chamfer 距離は 25.67 → 26.17 mm と 0.50 mm しか動かず、しかも値が平均距離の 10 倍以上 —— 後ろ半分が「設計面から見た最近点」なので欠陥でなく走査できなかった所の広さを測っている(スキャン位置を増やすだけで「品質が上がる」)。★★合わせは剛体モードを吸うだけでなく余りを他の部材へ配る: 全体 ICP のあと壁は真値の 69 %、床の勾配は 41 % に痩せ、完全に水平な天井が +0.89 mrad 傾いて見える。これは ICP を走らせる前に閉形式で予測でき(偏差の場を J=[p×n |
n] の 6 次元へ射影 → ω_y=-0.89 mrad)、実測との差は最大 0.05 mrad。剛体でない「壁の開き」(+2.46 対 真値 +2.50)と対称な反りは残るので、動くのは剛体モードだけ。判定の食い違いは合わせない 0 件 → 全体 ICP 2 件 → 床と 2 壁を基準 4 件と、合わせるほど増える(基準合わせでは無傷の天井が +1.69 mrad で不合格になる)。★崖は欠測率では決まらない: 同じ 90 % でも無作為なら 0.098 mrad、下から順に残す構造的欠測なら 1.234 mrad(12.6 倍)。効くのは残った面の高さ L(2.86 → 0.19 m)で、σ√12/(L√N) の予測は L>=1.1 m で 21 % 以内(予測 0.161 / 実測 0.204)、L=0.19 m では 62 % 外す。★★レジストレーション誤差は系統誤差なので点を増やしても消えず、同じ 2514 点で雑音だけなら偽の傾き 0.040 mrad が姿勢誤差 1.0 mrad で 0.189 mrad(4.7 倍、信号対雑音 75 → 15.9)。★混合画素に壊されるのは幾何でなく推定器で、RANSAC の平面は 0 → 40 % を通して最大 0.058 mrad しか動かないのに、min/max の obb から出す窓の高さは最大 27.74 mm を単調でなく外す(前段に平面の inlier 取りを挟むと 0.60 mm)。★そのとき割り当ての正答率は 99.87 → 99.01 % としか落ちず、正答率という 1 個の数字はこの壊れ方に盲目。★平面度 PV は完全に平らな床でも 4.89 mm(許容 ±7 mm の 70 %)を雑音だけで使う(RMS なら 2.03 mm)。道具の穴: 6 枚の半空間の交わりは箱の厳密 SDF と内側は 0.0000 mm 一致だが外側の角で最大 1006.6 mm 過小評価する。 py -3.11 examples/poc_scan_to_bim_asbuilt.py |
- 配管内面の減肉を展開図で測る(軸ずれと管底腐食は同じ 1 周期に居る) — ★軸が 4.0 mm ずれるだけで、腐食ゼロの真円の管の 44.8 % が減肉と判定される(偽の体積 116378 mm^3 = 本物の孔食 777 mm^3 の 149.9 倍)。中心が e ずれた円は展開図で振幅 e の 1 周期の正弦波になる、と幾何で先に予測してから測り、差は最大 1.84 ポイント。崖はしきい値そのものの所に立ち、0.40 mm で 0 %、しきい値と同じ 0.50 mm で 4.95 %(ここだけ予測 0.00 % を外す ―― 雑音 σ=0.05 mm が旗を立てている)。★軸ずれは 1 周期だけでなく 2 次で全周にも効き、平均半径が -e²/(4R) 縮む(予測との差 0.0016 mm)。オフセット 6 mm は全周減肉 0.60 mm の 30 % を打ち消して減肉を隠す。★★分離できないのは軸ずれと管底腐食で、下水管でいちばん多い三日月形の腐食はその 79 % が k=1 に居る ―― 1 周期を消す補正は偽陽性を 45.37 → 34.56 % に落とす代わりに管底腐食の検出率を 100.0 → 34.4 %、体積を -68 % にする。現場の定番(スライスごとの円あてはめ)はさらに全周減肉を 52.0 → 36.1 % に落とし、溶接ビード高さを 1.58 → 0.01 mm(真値 1.50)にする ―― 全周に一様な形は何であれ見えなくなる。★★「軸をどこまで自由に動かしてよいか」の 1 本のつまみに全部が並び、予想は「上げるほど本物が消える」だったが実測は両端で落ちる U 字だった: 平行移動だけ(0 次)は傾きを表せず残った 1 周期が腐食を打ち消して 8.1 %、1 次で 92.4 %、2 次で 85.5 %、毎スライス自由で 48.6 %。偽の減肉は単調に減る(22.19 → 11.25 → 0.00 %)。いちばん良い次数は「軸は直線、管はたわむ」という物理そのもので、孔食 99.1 % / 全周減肉 76.2 % / 管底腐食 85.5 % を残して偽陽性 0.76 %。★その最良の補正にも崖があり、管底腐食が管長いっぱいまで伸びると検出率 86.6 → 10.9 %、推定した最深部 0.96 → 0.32 mm(真値 1.5)―― z によらず一定な腐食は軸のずれと幾何的に区別できない。同じ管を CT 側(ボクセル 1.5 mm)から測ると崖の場所が変わり、左右対称のはずの全周減肉が 4.91 / 6.04 mm と 1.13 mm 食い違う(真値の減肉 0.60 mm より大きい)。
py -3.11 examples/poc_pipe_wall_loss.py
- 光切断で溶接ビードを走査する(分解能と遮蔽は同じノブの表裏) — ★★三角測量角 θ は高さ分解能を 1/sinθ で良くする一方、傾き cotθ を超えて登る面を陰に落とす。幾何からの予測どおり遠側母材面は 37.0 度でいっせいに背を向け、左アンダーカットはそれより早い 20.8〜34.5 度から欠け始める(★深い溝ほど早い ―― 通してはいけない欠陥から消える)。★★危ないのは 28 度で「測れた率」が 100 % のまま溝の区間の 25 % が欠測し、深さが 27 % 過小に返ること。さらに角度を上げると深い断面が「測れない」に落ちて、生き残った断面の真値の平均が 0.260 → 0.047 mm と流れる生存者バイアスで平均誤差だけが改善して見える。★最適角は量ごとに違い(左溝 20 / 凸み・左脚長・のど厚 24 / 右脚長 36 / 右溝 64 度)、近側の脚長まで 40 度で消える(根が 2 枚の母材面の交線だから)。★「重心を使った」だけでは推定量が決まらない ―― 光条幅への向きが固定窓 σ^-0.61 と追従窓 σ^+0.88 で逆になり、ずれは
clip(I-BG,0,None) の 1 行(外すと σ^-0.98 で予測どおり)。 py -3.11 examples/poc_weld_bead_scan_angle.py
-
| レーザー光切断の誤差の床はスペックルが決める(平均しても消えない、推定器の順位も入れ替わる) — 溶接ビード PoC の続編。同じ光切断の光条を、なめらかなガウスの帯 + 加法雑音ではなくコヒーレント結像(粗面の位相 → 観察開口の瞳 → |
E |
² → 画素の積分)で描き直した。真値は描画に入れた高さ。★★加法雑音で輝度最大の画素より 8.6 倍良かった 3 点の対数放物線は、スペックルでは輝度最大と同じ誤差(12.7 vs 13.1 µm)まで落ちて重心(6.4 µm)の 2 倍悪い —— 山の 3 点はいちばん明るい粒を追う。列ごとの重心は Dorsch の床 C·λ/(2π sin u sin θ) = 6.9 µm の 0.93 倍。★★静止した部品は 100 枚平均しても 6.91 → 6.79 µm(下がらない)、部品を動かして毎フレーム別のスペックルにすると 1/√N(0.099 倍)。加法雑音のモデルは静止のまま 0.59 → 0.05 µm と下がると言ってしまう。★開口 sin u 0.035〜0.1 と θ 15〜60° を振った誤差は式の線に傾き −0.94 / −0.99 で乗り、実測 / 式は 0.84〜0.90(比例定数は開示のみ)。★★画素を 4 倍にすると見た目のコントラストは 1.02 → 0.80 に鈍るが、箱で積分した強度の重心は元の重心と同じなので重心は 1.6e-13 µm しか動かない。Goodman の指数分布(C = 0.98)・粒径 0.5145 λ/sin u(11.13 vs 11.15 µm)も再掲。スカラ回折・倍率 1・前縮みなし・Dorsch の式は抄録のみ確認であることは docstring に明記。検査 17 件・約 14 秒。 py -3.11 examples/poc_laser_line_speckle_floor.py |
- 白い溝でも縞投影は外れる(相互反射を直接光と分け、誤差を撮る前に予測し、マイクロ位相シフトで消す) — 幅 1 mm の溝 3 本(90° の内角・60° の V 溝・R つきのポケット)を持つ真っ白な Lambert の部品(反射率 0.85、光沢も金属も無し)を縞投影で測る。真値は輸送行列(Hottel の crossed-strings 則の形態係数で解いた 2-D のラジオシティ)と、反射 0 回の直接光だけの描画。★★溝に平行な縞を 8 回ずらして直接光と大域光を分けると(Nayar ら 2006)、大域光は凹みの中だけが光り、内角の底では直接光の 1.28 倍・60° の溝では 5.1 倍。真値との差は直接 2.2 %・大域 6.3 %、縞の周期 128 → 8 px で単調に減り、画素の足跡より細い 4 px では 54 % に崩れる。★★縞の位相の誤差は撮る前に予測できる: 輸送行列から出した「直接 + 大域のフェーザの偏角」が、描いた縞を wrapped_phase で復号した誤差と 1e-15 rad で重なり、上限 asin(大域 / 直接) も超えない。視野 4 mm に縞 1 本では高さ誤差 RMS 282 / 579 / 183 µm(深さ 0.5 mm の内角で 282 µm)。★2 段の位相接続(縞 1 本 → 16 px)は 480 画素中 329 画素で次数を最大 7 段取り違え、ほとんど救えない。★★マイクロ位相シフト(Gupta & Nayar 2012、周期 16 / 16.2 / 15.8 px、うなり 1296 px)で 0.76 / 1.97 / 0.02 µm(溝 3 本で 386 → 1.2 µm)。V 溝の頂点の数画素には最大 19 µm 残る(隣のパッチどうしは縞の位相が近く、平均されない)。★ToF も同じ: 白い壁の部屋の隅(4 m、20 MHz)は相互反射で丸く・最大 24 cm 遠く見える。Lambert と押し出し形状(2-D)だけで、鏡面の相互反射(実物のはんだ・金属)は Mitsuba が要ることは docstring に明記。検査 15 件・約 0.3 秒。
py -3.11 examples/poc_interreflection_fringe_error.py
- 黒光沢とガラスの形を偏光で測る(陰影が無くても、偏光は傾きを覚えている) — 黒光沢樹脂のドーム(n 1.57)とガラスのレンズ(n 1.52)を、4 方位のオンチップ偏光子を持つセンサの生のモザイク 1 枚から測る。真値は描画に使った解析的な法線と高さ。★★法線の誤差の中央値はドーム 0.53° / レンズ 1.09°、ドームの高さの RMS 誤差 0.62 px(高さ 37.9 px)。同じドームを 4 方向の照明の照度差ステレオにかけると光沢の点しか写らず中央値 26.4°(50 倍、7,921 画素中 2,408 画素は法線を返せない)。★★曖昧さは隠さない: 解消する前は全画素に法線 4 本(Brewster を挟む天頂角 2 × π の方位 2)、2 つの天頂角の差は Brewster 角 57.5° の上で 0 に縮む。凸 + Brewster の稜線で 1 本を選ぶ。★屈折率は較正球の DoLP に Fresnel の曲線を当てはめて 1.5691(真値 1.57)、DoLP 最大の位置から読む近道は 1.715 と雑音の山を拾う。★★どこで壊れるか: 屈折率を 1.50 と仮定すると 0.89°・1.40 で 2.21°(谷は真値でちょうど 0)、雑音の誤差は Brewster の輪(1.27°)と頂点(4.87°)に集まり中腹は 0.57°、拡散が 30 % 混ざると平均 7.4°(偏光が 90° ずれて打ち消し合う)。裏面反射・相互反射・消光比は入っていない合成であることは docstring に明記。検査 11 件・約 2 秒。
py -3.11 examples/poc_shape_from_polarization.py
- 写真では見えない µm の凹みを、画面に映した縞の鏡像で見つける(位相計測デフレクトメトリ) — 光沢面(車の塗装パネル、カバーガラス)の深さ数 µm の凹みは、照明を当てた写真ではまず見えない —— 鏡は照明しか写さない。面の前の画面に位相シフト縞を出し、その鏡像を撮ると、面が 1e-3 rad 傾くだけで 30 cm 先の画面では 0.6 mm ずれる。新 op 6 本(
deflectometry、opsspecular の deflectometry): deflectometry_rig / deflectometry_screen_pattern / deflectometry_render(高さ場 → 縞の鏡像。拡散成分、散乱、ガラスの裏面反射、開口積分のピント、雑音)/ deflectometry_phase_to_slope(絶対位相 → 法線、match3d.normal_from_reflection)/ slope_to_curvature(積分せず 1 回微分)/ deflectometry_sensitivity(撮る前の閉形式)。深さ 3 µm と 1 µm の凹み・うねり 0.8 µm・研磨ムラ 0.12 µm を仕込んだ塗装パネルで、ソフトボックスの写真の欠陥の信号は最大 0.00066(8 bit の 1 段の 0.17 倍)なのに、曲率マップの SNR は 110 と 57。勾配を積分した凹みの深さは真値と 0.5 % 以内。位相の雑音は閉形式 √(2/N)·σ/b と 1.00 倍、面の傾きの雑音は σ_u/(2d) の 0.67 倍(双線形の読み直しの √(4/9) どおり)。壊れるところ: 部品を 0.3 mm 浮かせると見かけの傾き Δz·sin θ/d(0.1 % で一致)と半径 388 m の椀が出るが凹みの深さは 0.7 % しか変わらない / 画面の距離を 2 % 間違えると深さが 2.3 % 浅い / 拡散成分 0.85 までは 1 µm の凹みが見え、0.9 で粗い縞の次数が飛び始める / 無反射コートの無いカバーガラスでは裏面の光が凹みの斜面(くさび)で逆向きに曲がり、傾きの感度が閉形式 0.246 に縮んで凹みが 1/4 の深さに見える(実測 0.246)/ 開口 8 mm では面にピントで縞の振幅が 0.60 倍、画面にピントで凹みが 0.52 倍の深さ。学習 0、較正 0、門 22 件。 py -3.11 examples/poc_phase_measuring_deflectometry.py
- 竣工した部屋の壁を測る(外接直方体は寸法でなく部屋の向きを測っている) — ★★AABB から内法を読むゼロ点は東西 +19.1 mm 過大で、部屋を 1 度回すと +80.1 mm、10 度で +611.1 mm——測っているのは W cosψ + D sinψ という部屋の向き。平面 2 枚の距離は ψ を振っても +2.24 mm から動かない。★AABB は点を 256 倍にすると +14.9 → +19.7 mm と広がり、一致推定量ですらない(雑音の最大値統計 2σ√(2 ln N)、伸び方の予測は 0.6 mm で的中)。★★外れ点への壊れ方は 2 種類——最小二乗は 10 % 混入で真値の 11 倍(66.3 mrad、閉形式 63.8 と 4 % 以内)、RANSAC は 45 % まで持ち 55 % で家具へ乗り換える(倒れは 0.13 mrad と小さいまま面は 449.9 mm ずれる)。★★面のふくらみ 1 個が倒れ -1.258 mrad・直交度 +0.500 mrad・内法 +2.2 mm を同時に汚し、広いふくらみほど吸われて(σ=3.0 m で 90.1 %)雑音の床 4.17 mm に沈む。
py -3.11 examples/poc_asbuilt_wall_deviation.py
-
電極の呼吸を µm で測る(サブピクセルなら何でもよいわけではない) — 積層 3 単位・境界 13 本・1 px = 1 µm、真値は負極 1.00 % / 正極 0.20 % / セパレータ 0 %(積層 480.0 → 482.136 µm = +0.4450 %)。ゼロ点 Z1(二値化して画素数)は量子化 1 px に埋もれて 12 層中 0 層しか読めないが、ゼロ点 Z2(固定しきい値 55 % の交差)はサブピクセルなので雑音なしでは当たる(+0.004495)。★★殺すのは対照群 ―― 伸びゼロのままオフセット +0.10 をかけるだけで Z2 は -1.07e-02、真値の 2.4 倍を逆符号で返し、ゲイン x1.30 では交差が 12 → 6 本に落ちて測定不能。同条件で勾配ピーク(fs.ledger.measure_pos)は 0.0 のまま( |
dI/dr |
のピークは I → aI + b で動かない)。★★自分の「誤差 1.8e-14 px」を疑って積層を小数画素ずらすと、それは真値を画素の中心に乗せた検査の産物で、実際は RMS 0.0088 / 最大 0.0122 px のピークロッキング(負極 1 層のひずみに 3.0 % 効く。piv_peak_locking の c0 はこの大きさに気づかない: 推定 1.37 / 真値 1.60)。★雑音は Cramer-Rao 下界から予測でき、実測/下界 = 2.47 / 2.62 / 2.54 / 2.59 と比が雑音でほぼ動かないが、層別の予測は当たる(3.28e-03 対 3.50e-03)のに全体の予測は 1.7 倍甘い。★★いちばん欲しい層別が σ_n=0.10 で 3.3e-03 と全体 6.5e-04 の 5.0 倍ばらつく(てこの腕 480 → 58 px の幾何)。★全体のひずみも 2 通りで精度と偏りが逆を向き、回帰は一様でないと -2.65 % 偏る(一様 0.45 % を掛けると偏りは +3.8e-06 に消える、と対照群で確認)。★★崖は 2 段で予測を外した ―― CNR 5.3 で本数が壊れ始め、予測した 3σ の崖 CNR 0.96 より 5.5 倍手前で死ぬ。しかも CNR 1.9 の行は生き残りだけ残るのでばらつきが逆に良く見える。 py -3.11 examples/poc_battery_electrode_breathing.py |
- バンプの共平面性と基板そりの分離(引きすぎると本物の不良も消える) — Cu ピラー 256 本の高さ場に そり PV 50 µm・個体差 1σ 4 µm・短小 6 本を仕込み、そりを当てはめて引いた残差が本当に個体差かを測る。ゼロ点(平面だけ = JEDEC の着座平面)は読み取り RMS 誤差 8.84 µm で個体差 1σ の 2.2 倍、★不合格 62 本を 1 つに畳むと見えないが内訳は誤検出 58 本と見逃し 1 本で、壊れ方は 2 種類ある。2 次曲面で 1.23 µm・誤検出 0 になる一方、★予想「高次ほど良い」は外れて 3 次は 1.37 µm と悪化する(高次成分が 4 次のロブなので 3 次では 1 µm も取れず、増えた 4 項が個体差と雑音を吸う)。崖は幾何で先に予測でき、取り切れない割合 r1=0.17664 / r2=0.02355 から出した PV 22.6 / 169.9 µm に対し実測 22.6 / 169.4 µm(比 0.996 / 0.998)。★★中央が 8 µm 沈む本物の低次不良を足すと残差から 88.2 % 消えるのに孤立短小の検出数は 5→5 本で変わらず、見逃しだけ 0→2 本に増える ―― 「検出できている」は健全さの証拠にならない。消えた分は捨てられておらず報告されるそりが 30.06→36.20 µm と膨らむ。★進化 op の auto_threshold は値域を [0,1] とみなすので、µm 単位の高さ場をそのまま渡すと 0.5 µm の位置で切って前景 1141 画素(正解 437)を返す。
py -3.11 examples/poc_bump_coplanarity.py
- ひび割れの伸びを 12 期で測る(幅が当たる測り方と、伸びが当たる測り方は別) — ★幅を 25.0 % 過小に言う 2 値化が、成長率は +153.0 % 過大に言う(積分法は幅 +0.00001 mm・成長率 +3.1 %)―― 一定の偏りは差分で消えるが、2 値化の偏りは幅に依存する 1 画素の階段なので消えない。★★幅を 0.30 mm に凍結してぼけ・照明・据え直しだけ動かす対照群でも 2 値化は +0.0117 mm/年 の「成長」を出し、要因を 1 つずつ止めると犯人はぼけ(単独 +0.0122、照明 -0.0001、据え直し -0.0024)。積分法が強いのは畳み込みが輝度欠損の総量を保存するから(1e-16 の桁で検算)。★★据え直しの半画素は経路が水平だと全列の位相が揃って画面ごと 1 px 跳ぶ(σ 0.0546 mm)。崖は「測る区間 259 列で中心線が 1 px 動く傾き」1/259 = 0.0039 の予測どおり、傾き 0.002 で半分を切る。★2 値化が死ぬ境界は w/σ で 1.219(出ない)/ 1.221(出る)と刃物のように鋭く、erf の閉形式 1.349σ にざらつきの最大値ぶん(実測 0.0494)を入れた予測 1.197 と -1.9 %。
py -3.11 examples/poc_crack_width_timeseries.py
- 沈下の有意性を検出限界で切る(平均は「全体が沈んだ」、LoD は「沈んだのは半分」) — Peck の横断ガウス x Attewell の縦断で最大 8 mm の沈下場を仕込み、2 時期の点群(180 / 120 pt/m²、測距雑音 2 mm)から M3C2 と LoD を出す。★ゼロ点の C2C は変化ゼロでも中央値 47.74 mm(真の最大沈下の 6 倍。正体は点間隔 91 mm)を返し符号も無い。★★平均 -2.43 mm に対し有意なのは 275/551 core(49.9 %)でその平均は -4.34 mm、TPR 88.7 % / FPR 3.6 %。★★LoD は粗さと密度の地図で、同じ 2〜4 mm の沈下が舗装(粗さ 1.5 mm)では 100 %、砂利の路肩(15 mm・密度半分)では 30.6 % しか有意にならない ―― 素朴な閉形式との比 0.77〜0.94 は一貫して 1 未満で、局所平面に吸われる分を残差で置き換えると 1.02〜1.03。★★法線を鉛直で代用すると勾配 2.06 % が σ = g·r/2 = 6.18 mm に化け、損をするのは滑らかな面のほう(アスファルト 0.51 → 1.46 mm、粗い路肩は 3.58 → 4.42 mm)。★★合わせ残差 -0.70 mm だけで有意 core が 20 → 249 に跳ね、BH も塊の規則も桁で減らせない(系統誤差は多重比較の問題ではない)―― 安定域の中央値で較正して 20 に戻る。★★有意なものだけ足すと体積は -13.9 %、その欠け量は core ごとの LoD で先に計算できる(LoD を 1 個の数字で代表すると 3.3 倍過小に見積もる)。
py -3.11 examples/poc_settlement_significance.py
- 実写のコインを数えて測る(答えは合っているが余裕は 0.05) — scikit-image 同梱の実写 coins(303x384)。真値 24 枚を 3 経路の一致で決め(面積の平坦域 50〜800 で 24、半径 19〜31 を明示した Hough が投票しきい 0.30〜0.50 で 24、Sobel+穴埋めで 24)、★円 1 個が成分 1 個に収まる 1 対 1 の検算も通す(数が合っていても同じものを数えているとは限らない)。★背景は行 0.427→0.161 と確かに傾くのに素の大域 Otsu が 24 枚を当てる ―― 前処理は要らなかった。★★ただし余裕は 0.05(同じ勾配をわずかに足すと 22 枚)。★★+0.30 で面積の中央値は -0.33 % しか動かないのに最悪のコインは -27.26 %、+0.40 で -50.41 %。ずれと行位置の相関は -0.914 / -0.866 で、真の面積は置き場所に依らないからこの相関はまるごと誤差。★24 個のうち 1 個は面積 9076(中央 1501 の 6 倍、Hough 半径上限からの上限 3019 の 3 倍)で背景へにじんでいる ―― 枚数が合うことと領域が正しいことは別。★gray_tophat は枚数を粘らせるが面積を 0.29 倍にする。★連結成分は 4 近傍 126 / 8 近傍 96(blob_count は 8 近傍)。円形度 0.7 で絞ると 21 枚に減る。★hough_circle_trans は半径レンジが直書きで b が未使用だったので b を半径上限に配線したが(b=0.5 は従来と同一)、峰は b=1.0 でも 19 止まり ―― 引数を足しても足りないことがある。
py -3.11 examples/poc_real_coin_metrology.py
- 疎な温度センサから 3-D 熱場を復元する(格子の死角がラックを消す) — サーバ室 12 x 8.4 x 3.0 m の温度場を式で置き、格子状の温度センサから復元してホットスポットを探す。★ゼロ点(全センサの平均 = 場は平らとみなす)は RMSE 2.192 °C でホットスポットを 1 台も見つけない。最良の RBF は 0.214 °C で 10.2 倍。★★崖は測る前に閉形式で言える: 間隔 d の 3-D 格子ではピークからいちばん遠い点がセル中心 = d√3/2 なので、見えるピークは exp(-3d²/8σ²) 倍。半減間隔 d* = 1.3596σ。幾何だけを取り出した実測との差は最大 1.2e-15 —— 完全一致。★外れたのは閉形式ではなく「現場で測れる量」のほう: 復元した場のピークには背景の復元誤差が同じ場所に載るので、素朴な実測は予測を最大 +0.2598 超過し、崖は実際より浅く見える。σ=0.22 m のラックは d=1.20 m で幾何の回復 0.000014(消滅)なのに素朴には 0.1609 残って見える —— 残っているのは背景の誤差。★閉形式は曲線ではなく床: 同じ d=0.60 m でも位相次第で回復は 0.0615(セル中心)から 1.0(センサ直上)まで跳ぶ。設計に使えるのは最悪位相の値だけ。★対照群 a(格子 vs 乱数、同本数): 乱数は死角を消さず、どのラックが死角に落ちるかを振るだけ。格子の最悪距離を超える乱数点は実測 6.17 %(Poisson の予測 6.58 %)。格子は幾何の下限を 1 度も割らないが乱数は 2 台で割った —— 同じ本数でも「最悪でもここまで見える」と言い切れるかが違う。★★対照群 b(補間法 3 種): 動かないのは指数(log 回復 vs d² の傾きは予測 -3.0612 に対し最大 3.05 % 差)、動くのは係数。「崖の位置は手法で動かない」という予測を外した —— 薄板スプラインは内挿なのに節点値を超えて 1.372 倍持ち上がり、半減間隔を 0.4777 → 0.6015 m(26 %)ずらす。★「持ち上がる手法は偽の峰も同じだけ立てる」も外れた: 床は最近傍 0.975 °C(雑音の 6.5 倍 = 滑らかな背景を階段で近似した段差)に対し線形 0.132 / RBF 0.164。★物差し 3 つ(場の RMSE / ピーク温度誤差 / 位置誤差)を同時に勝つ手法は無い。線形補間は d=1.20 m で評価点の 71.2 % が凸包の外に出て最近傍に化ける。★この PoC が炙り出した道具の穴を、その場で埋めた: 散らばった N-D 点から場を作る
fs.interp_scattered(nearest / linear / rbf)。設計で効いたのは凸包の外に出た割合を返り値に入れたこと —— この PoC が測った 71.2 % は黙って NaN か別手法に化ける量なので、戻り値に居るべきだった。使ってみて neighbors(RBF を近傍だけで解く)も足した —— 全体解は O(n³) で1400 / 4000 / 8000 点が 0.55 / 1.76 / 7.53 秒。op は使って初めて足りない引数が分かる。 py -3.11 examples/poc_datacenter_thermal_field.py
- 堆積物の在庫量(誰も測っていない山の下の地面が答えを決める) — 鉱山・骨材・港湾の堆積物(ストックパイル)の在庫量を 3-D スキャンから出す。山と地面を別々の式で置き(安息角 37 度の円錐 3 個の和で体積が解析的に閉じる: 3572.6089 m^3)、★★在庫量という 1 個の数字は、誰も測っていない面(山の下の地面)の仮定で決まることを測る。★崖 (a) 底面: ΔV = -A・Δh の閉形式を先に印字してから実測 —— 7 通りで差 0.0000 m^3。驚きは一致ではなく大きさで、測量では誤差とも呼ばない 5 cm が 1.269 % = かさ 1.6 t/m^3 で 72.5 t(トラック 3 台)。★崖 (b) 遮蔽: 円錐は線織面なので可視率 = arccos((H-h_s)/(D tanφ))/π。6 通りで差 ≤ 0.0201、しかもその差はセルを 1.2→0.6→0.4 m にすると 0.0339→0.0171→0.0120 と 1 次で縮む = 模型の誤りでなく離散化と切り分けた。★★予測を外した: 遮蔽部を補間すると体積は過小に出ると思っていた(円錐面は凹だから弦は下を通る)が、実測は +17.20 % の過大。裏側が法尻まで丸ごと見えないので三角形の相手が「山の上」でなく山の外の地面になり、稜線から 30 m 先へ張った弦の勾配 0.37 m/m が真の斜面 0.75 m/m の上を通る。「凹だから過小」は両端が山の上にあるときの話だった。★★相殺の罠: 同じ 1 か所スキャンで真の地面を底面にすると +17.20 %、現場の手(外周平均の水平底面)だと +0.51 %。良くなったのではなく、外周の高さも同じ補間で +0.728 m 持ち上がって引き算で消えているだけ —— 実際に見えた点だけで底面を決めると +12.05 % に戻る。汚染された物差しで汚染された対象を測ると誤差は消えたように見える。★同じ形の罠がもう 1 つ: 法尻に残土の土手を混ぜると RANSAC のほうが数字は悪い(+2.48 % vs TLS +0.61 %)が、RANSAC は土手を正しく捨てて土手なしの答え +1.91 % へ戻っただけで、TLS が良く見えるのは土手の持ち上げがうねりの偏りを打ち消したから。★外周平均の水平底面は footprint が対称なら地面の傾きを勝手に打ち消す(平らな対照群 +0.01 %)。残る +1.79 % は全部うねりで、傾いた平面を当てはめると悪化する(+1.91 %)—— 自由度を増やせば良くなる、は成立しない。★物差しで勝者が入れ替わる: 体積は水平底面が僅かに良く、重心は平面当てはめが 6 分の 1(0.07 m vs 0.42 m)。★2 つの誤差は足し算にならない(-0.70 % のはずが +0.51 %)—— 遮蔽の補間が底面を決める外周まで動かすため。★★道具のバグを見つけて直した: dem_viewshed が目線より高いセルを軒並み「見えない」と返していた(平地の円錐の頂点が可視 0.0、目線より高い 1541 セルの可視 0 個)。視線の標本が np.rint で目標セル自身に丸まる自己遮蔽。標本が目標セルに乗った回を数えないよう修正し、頂点 1.0 / 遮蔽率 0.5900(閉形式 0.5710)に。それまでの門が通した理由は「平地」と「壁の向こう側」しか見ておらず、壁そのものが見えるかを確かめていなかったから。★副産物: 仕込んだ安息角 37.0 度は平らな地面なら dem_slope で 36.971 度と読めるが、傾いた地面の上では 38.163 度(地面の勾配がベクトルとして足される)。
py -3.11 examples/poc_stockpile_volume.py
- 多ビーム測深(音速を取り違えると外側ビームだけが壊れる) — 多ビーム音響測深(マルチビーム)で、水柱の音速プロファイルを取り違えると平らな海底が外側ビームで反り返る(smile / frown)ことを、真値を自分で植えて測る。深さ 50 m の完全な水平面、音速 1520 → 1480 m/s、ビーム ±70 度 141 本、判定は実在規格 IHO S-44 Order 1a(TVU(50 m) = 0.8201 m)。★崖を測る前に 2 通り印字した: ラフな展開式 Δz ≈ (gD^2/2c0)tan^2θ の予測 48.15 度と、一定勾配層で光線が円弧になることから出る厳密な閉形式 48.68 度。厳密式は当たり(エコー検出を止めた経路の実測 48.68 度、差 2.0e-11 m)、展開式は 0.53 度手前に外した(45 度まで 3.0 % 以内だが 70 度で 19.4 % 過大)。★★予測を 1 つ外した: 「エコー検出は無視できる床」と見込んでいたが、全経路の崖は 47.95 度で 0.73 度早い。70 度でビームが照らす帯のエコー長が 21396 µs(直下の 171 倍)に伸びて非対称になり、振幅検出の頂点が手前へ寄る(-0.725 m)—— 実機が外側で位相検出に切り替える理由が出た。★対照群で犯人を切り分ける: 屈折だけ -2.6974 m に対し、角度推定の床 0.000000 m / エコー検出の床 -0.2221 m。スマイルは角度誤差でもエコー検出誤差でもなく屈折そのもの。★教科書式が実測の 34 % しかない: 70 度のフットプリントは cos^2 式 8.21 m 対 実測 24.14 m。ビーム幅が 1/cosθ で広がるので指数は 3(cos^3 式は -0.6 % で当たる)。★層内を等音速とみなす古い実装は、キャストを 2 層に切っただけで 65 度に +1.2994 m —— 実装の刻みだけで TVU を割る(層数 16 倍で 1 次収束)。★真値なしでできる唯一の検査: 隣接測線の重なりで 2.697 m(TVU の 3.3 倍)の食い違いが出るが、帯の真ん中では差 0.0000 m(同じ振れ角で誤差が相殺)—— 端まで見ないと見つからない。★上向き屈折(frown)では外側ビームが海底に届かず、深さが誤るのではなく何も記録されない(限界角の予測 73.90 度、実測は 73.0 と 74.0 度の間)。★掃引 200 ケース(音速差 25 × 深さ 8 の格子)で ±65 度 swath の 78.0 % が Order 1a を割る。★道具の穴として beamform_snapshot / svp_ray_trace / iho_s44_tvu / crossline_discrepancy を列挙し、検証中に見つけた片道の穴(ベクトル版 refract の docstring が per-ray 版 refract_rays に触れていなかった)を直した。
py -3.11 examples/poc_multibeam_bathymetry.py
- 家畜の体積計測(視体積交差は上界。凹みはカメラを増やしても埋まらない) — 多視点シルエットの交差(visual hull)から家畜の体積を出し、体重へ換算する。視体積交差は必ず上界なので、問題は「良いか」ではなく「必ず上に出る」こと。★★閉形式の崖が現場の目安を訂正した: 「K 台なら K 角形」は正しくない。平行投影ではカメラ 1 台が視線に直交する接線 2 本を与え、しかも向かい合う 2 台は同じ 2 本しか与えないので、接線の本数は偶数 K なら K 本、奇数 K なら 2K 本。よって 3 台と 6 台は幾何としてまったく同じで、13 台(実測 1.03056)が 16 台(1.04768)に勝つ。「体重 2 % 以内」なら奇数 13 台 / 偶数 24 台 —— 円の素朴な読み (K/π)tan(π/K) は 13 台と出るので、偶数台で組む現場は 11 台足りない見積りを持つ。支持関数から出した楕円(a/b=2.76)の厳密値と実測は全 K で 閉形式のすぐ上に乗り(差 +0.002〜+0.018)、下界として的中。★対照: この縮退は平行投影の性質で、距離 8 m まで近づけると 3 台 1.20699 / 6 台 1.11211 と差が 7.1 倍に開く。★★展示の中心は消える誤差と消えない誤差を分けて数えること: 脚の間の幽霊は K=4 → 48 で 7.13 % → 1.37 %(5.2 倍)と素直に減るのに、背中のくぼみはカメラ 12 倍で 3.8 ポイントしか減らない(56.4 % → 52.6 %)。分かれ目は「凹みが輪郭に出るか」。K=48 の残差 +3.4 % の内訳はくぼみ +1.00 % / 幽霊 +1.76 %、取りこぼしは全 K で 0。★シルエット 1 画素で +3.21 %/px(体重 +23.7 kg)。Steiner の ΔV/V=(S/V)δ の予測 +3.09 %/px と比 1.04 で当たる(ただし押し上げ要因と押し下げ要因が偶然釣り合った旨を明記)。★物差しで勝者が変わる: 体積由来体重とアロメトリ体重は「K=24 + 2 画素収縮」が最良だが、重心の高さでは収縮なしが勝つ(細い脚が先に消える)。★★予想を外した: 「巻尺は凸包を測るので胸囲では 3-D 凸包が強い」と踏んだが実測 +55.2 % で最悪の部類 —— 体全体の凸包は腹の下を埋めるため縦断面が地面まで伸びる。『断面の凸包』と『凸包の断面』は別物。★上半球ランダム 8 台は等間隔と平均では互角(120 試行で 57.5 %)だが、最悪は +30.20 %(等間隔の 2.4 倍) —— 危ないのは平均でなく裾。★★道具の穴を見つけてその場で埋めた: 空間彫刻が要る OpenCV 規約の姿勢ヘルパが 4 層のどこからも引けず、同名の
fs.look_at(gluLookAt・-Z 前方)を掴むと例外なく空の hull が返っていた。carve_look_at を台帳に載せ、全点がカメラ後方なら警告を出すようにした。 py -3.11 examples/poc_livestock_body_volume.py
- 熱画像は温度画像ではない(放射率と反射と、足し算にならない不確かさ) — 熱カメラの DN を温度に戻す全経路を、真値を植えて測る。前向きモデルは L = τ[ε L_bb(T_obj) + (1-ε) L_bb(T_refl)] + (1-τ) L_bb(T_atm) で、T_obj / ε / T_refl / τ / T_atm を植えてから逆変換する。★床を先に測る: 往復 1.75e-06 K、量子化 6.28e-03 K、+NETD 2.71e-02 K。350.0 K だと厳密に 0 が出たが、それは校正表の節点にたまたま乗っただけなので節点を外して測り直した(0 を床と呼ぶのは嘘)。★★閉形式の予測を印字して外した: 素朴な n = c2/(λ_eff T) は数値微分から最大 16.6 % ずれ、外れの正体は実効波長の選び方ではなく e^x/(e^x-1) の欠け(x = c2/λT)。入れると誤差 0.00 %。★★崖の向きも外した: 「低温ほど急」と印字したが、絶対誤差は高温ほど大きい(Δε/ε=5 % で 305 K の 0.233 K → 800 K の 16.907 K)。log-log の傾きは実測 2.717 で、内訳は T/n = 1.741 + 反射因子 0.977 = 2.718 —— 閉形式は最初からそう言っていて、自分の式を読み違えていた。★★「低温ほど急」は正しかったが犯人が違った: 周囲からの上昇で割ると放射率の誤差は 4.7 %→3.4 % と1.40 倍しか動かず発散しないのに、T_refl の取り違えは 13.2 %→0.0 % で 972 倍。上昇 10 K を切ると反射が放射率より重くなる。★★不確かさは足し算にならない: ε=0.60±0.05・T_refl=300±5 K・相関 +0.7 を 20000 試行で数えると、「95 % 区間」が実際に真値を包む割合は独立 RSS で 88.03 %、相関つき MC で 94.44 %。床を先に測ってあり、相関 0 なら RSS 95.03 % / MC 94.52 % なので、落差は実装ではなく相関の無視そのもの。真の u 5.6518 K に対し RSS は 4.5086 K = 区間が 20.2 % 狭い。相関が負なら逆に 99.64 % と過剰になる。★★guard band: 40000 試行で誤合格 8.03 %(不確かさ無視)→ 0.81 %(RSS)→ 0.14 %(MC)。RSS は MC の 5.6 倍誤合格する。★単位の崖 8 通りで例外 3 / 静かに 5。同じ「T_refl を摂氏で書く」取り違えが ε=0.95 では通り(-22.1 K)、ε=0.10 では例外になる —— 止まるかどうかは間違いの種類ではなく場面で決まる。★熱画像では、同じ 375.0 K のボルト(ε=0.10)が ε=1 の絵で周りの塗装面より 62.3 K 低く写る(= 健全に見える)。ε 地図で 375.0 K に戻るが、補正は偏りを消す代わりに雑音を増やす(残差 rms は塗装面 0.0571 K に対しボルト 0.3673 K = 6.4 倍)。★★道具の穴を見つけてその場で直した:
noise_sigma(method='mad') が整数画像で 0 に潰れ、下流の star_detect が植えた点目標 2 個を 0 個と返していた。 py -3.11 examples/poc_thermal_radiometry.py
-
測地の高さと座標系(数字はもっともらしいまま数十メートル間違う) — GNSS が返す楕円体高 h と、地図と設計図が使う標高 H は H = h - N(N = ジオイド高、日本付近で 30〜40 m)。この取り違えがどの量に効き、どの量では消えるかを、合成のジオイド場で真値を植てて測る。★床を二重に取る: 既存 op の往復 3D 1.07e-06 m に加え、独立実装(反復法)との差 緯度 7.2e-07 m —— 往復だけでは「両方同じ向きに誤り」を排除できない。★閉形式の予測が当たったもの: 傾斜への影響の上限 atan |
∇N |
予測 0.008771 度 / 実測 0.008600 度(N 一定の対照群は 2.0e-14 度 = 厳密に 0)、土量 ΔV = A·N̄ が差 1.5e-08 m^3、平地の流向反転 76.1 % 予測 / 76.2 % 実測(D8 では 97.2 %)、datum の相対誤差 -116.0 ppm 予測 / -106.1 ppm 実測。★★外した予測: 視通への影響の上限を |
∇N |
·d = 2.60 m と置いたが実測 0.052 m(50 分の 1)—— N の線形部は視線にも地面にも同じだけ乗って消える。絞り直した上限 |
N’’ |
d²/8 = 0.144 m の 36 % に収まった。曲率落ち 14.2 m のほうが 276 倍効く。★★崖は閉形式で出るが1 つの数字では出ない: 平面近似の落ち d²/2R は 10 km で予測 -7.8481 m に対し、実測は南北 -7.8652 m / 東西 -7.8303 m。子午線 6357143 m と卯酉線 6385412 m の差で、平均半径の予測は両者のあいだに来る(30 km で 0.316 m 開く)。★主題: 同じ 36 m が、差を取る量ではほぼ消え(傾斜 0.0086 度・視通 0.052 m)、絶対量では全部効く(土量 +3.97e+07 m^3、浸水 41.9 % → 0.0 %)。対照群で「設計面も同じ GNSS で作る」と誤差が 0.0 m^3 —— 汚染された物差しで測ると誤差が見えなくなる。★測地成果の取り違えは平均 446.6 m(281.6〜592.7)なのに、相対検査が見せるのは 1 km あたり 0.106 m = 4216 分の 1。★静かに間違う / うるさく壊れるを分けて数えた: 標本 3600 の全球格子で例外が出たのは緯経の入れ替えだけ、それも 50.0 %。ラジアン→度(8883 km)、経度符号反転(4800 km)、ECEF の x/y 入れ替え(4849 km、返った緯度経度が妥当な範囲に収まった点 100 %)、高さフィート(228 m)は例外 0 件。11 項目のうち静かに間違うものが 10 件。★★道具の穴を見つけてその場で直した: dem_ecef_to_geodetic が地球中心付近で緯度 180 度を返していた。 py -3.11 examples/poc_geodetic_height_frames.py |
morphing
- 2人の顔の中間を作る(対応点駆動モーフ) — 作業者が与えた対応点(目・鼻・口)で特徴を中間形状へワープしてからディゾルブし、単純αブレンドの二重像(ゴースト)を避けて『本物の中間顔』を作る。区分アフィン/TPS。
py -3.11 examples/image_morph.py
math
- 分解が遅いのはアルゴリズムのせいではない(BLAS スレッド上限) — 多コア機で SVD 系が遅くなる原因(スレッド過剰割り当て)を自分の機械で測り、op 側と自前 numpy 側の両方で上限の効果を出す。行列積は逆に遅くなること、上限は短辺で決まることまで含めて、速さを assert せず印字する。
py -3.11 examples/blas_thread_budget.py
- 点群の曲率記述子を一度の近傍探索でまとめて得る — 放物面点群から主曲率・平均曲率・Gauss 曲率・shape index・curvedness・法線をまとめて計算し、個別計算と一致することを確かめる。
py -3.11 examples/perf_pointcloud_descriptors.py
- monogenic の振幅・位相・向きを一度の検証で読む — 合成正弦格子の Riesz/monogenic 場を作り、まとめて得た三量が個別の公開関数と数値一致することを確かめる。
py -3.11 examples/perf_monogenic_metrics.py
- 体積の spline 係数を複数の線プローブで再利用する — 検証済みの読み取り専用体積と cubic spline 係数を準備し、異なる線プローブが通常計算と同じ値を返すことを確かめる。
py -3.11 examples/perf_prepared_volume_probe.py
- 偏光の分離・DoLP・Stokes を一度の当てはめで得る — 既知の偏光スイープを合成し、一括解析の diffuse・specular・DoLP・Stokes が個別の公開関数と一致することを確かめる。
py -3.11 examples/perf_polarization_analyze.py
- 変換核の再利用と省メモリ処理を一緒に確かめる — Hankel 核のキャッシュ、PIV 外れ値マスクの行分割、packed 10-bit pixel の low-memory 復号が各基準結果と一致することを確かめる。
py -3.11 examples/perf_hankel_plan_and_piv_stream.py
- 離散幾何と位相を画像・メッシュ・点群で —— 壁のある部屋の歩く距離・球面の測地線・トーラスの Gauss–Bonnet・Delaunay — 棚卸し(2026-10-03)で op として無かった 6 本を 2-D/3-D で: 壁のすき間を回り込む距離を画像の格子で熱法により求め、8 近傍の Dijkstra は等距離線が八角形に歪んで誤差が細かくしても消えない(10.8 倍)/ 球面では辺の Dijkstra が 7.7% で止まり熱法は 0.8% まで減る / トーラスの角欠損は外側が正・内側が負で総和は歪めても 0、球は 4π / Delaunay の三角形の数は 2n−h−2 で外接円・3-D の外接球は空。
py -3.11 examples/geometry_tour.py
- 推定と統計の古典を素朴なやり方と並べる —— 割当・Kalman 平滑化・Cramér–Rao 下界・帰無仮説の p 値・姿勢の補間 — 棚卸し(2026-10-03)で op として無かった 12 本: 貪欲な対応付けは総距離 4.90 で全点を取り違え Hungarian は 2.65、観測が途切れても Kalman 平滑化は前後から軌跡を戻し(RMS 0.38 → 0.15、一括最小二乗と厳密に一致)、直線の当てはめの精度は Cramér–Rao 下界にぴったり乗り、差の無い 2 群を 2000 回比べると 5% 前後が偶然「有意」、4×4 行列を直線で混ぜた姿勢の補間は途中で体積が 0.07 倍に縮み se3 の exp/log なら剛体のまま。
py -3.11 examples/estimation_tour.py
- FFT では足りないスペクトル推定 —— 6° 離れた 2 つの電波を MUSIC で割る・時刻がばらばらな観測の周期を Lomb–Scargle で — 棚卸し(2026-10-03)で 0 本だった部分空間法と不等間隔の周期図: 8 素子のアンテナ列(ビーム幅 12.7°)で 6° 離れた 2 波は遅延和では 1 つの山に融け、MUSIC は 2 本の峰、ESPRIT は格子なしで角度を解き、波源の数は MDL で当てる。同じ信号の反射(相関した 2 波)では MUSIC も割れない。時刻を無視して並び順のまま FFT すると周期の峰がずれ、Lomb–Scargle は観測時刻のまま真の周波数に峰を立てる(等間隔なら周期図と恒等的に一致)。
py -3.11 examples/spectral_tour.py
- 数値計算の古典を失敗例と並べて見る —— Runge 現象・Euler の渦巻きと Verlet の輪・乱数と Sobol・Gauss 求積・ぼけた縁の erf — 棚卸し(2026-10-03)でどの層にも無かった 8 本を、うまくいく方法とうまくいかない方法を同じ軸に並べて確かめる: 等間隔の補間は 41 点で誤差 1e5、Chebyshev 点は 3e-4 / Euler はエネルギーが 300 歩で 20 倍、Verlet は有界、RK4 は短時間は正確だが誤差が時間に比例して増え t≈2300 で Verlet に抜かれる / 積分誤差の傾き 乱数 −0.5・Sobol −1 / Gauss は n 点で 2n−1 次まで厳密 / ガウスでぼけた段差は ½(1+erf)。
py -3.11 examples/numerics_tour.py
- フーリエ以外の積分変換を一巡する —— 炎の Abel 断層化・円い穴の Airy(Hankel)・2 次系の応答・数値逆ラプラス — 棚卸し(2026-10-03)で 0 本だった Laplace 系統と Abel・Hankel を足した 10 本を、閉じた式と重ねて確かめる: 横から撮った炎の像から逆 Abel で断面を戻し(2 つの独立な戻し方)、雑音の誤差が微分では 1/dr、殻剥きでは 1/√dr で増えて標本数で優劣が逆転すること、円板の Hankel 変換が J₁ の閉じた式に重なり最初の暗い輪が 0.61/a、2 次系の減衰比を振ったステップ応答と Bode、1/√s の Talbot 逆変換が M=20 前後で 1e-12 に届き増やしすぎると丸めで悪化すること。
py -3.11 examples/transforms_tour.py
- 視覚計測を支える数学 op(mathops)を計測ワークフローで一巡 — 平面フィット→残差統計→共分散楕円の主軸化→較正曲線の多項式フィット(条件数監視)→補間で逆引き。mathops 16 op を実データ風に通し閉形式 GT と照合。
py -3.11 examples/math_metrology.py
- 複素解析 op(mathops tier2)を閉形式の真値と突き合わせる — 偏角原理で零点数、コーシー積分で内部値復元、等角性・正則性判定を点列として持つ閉曲線から numpy 演算で答える。
py -3.11 examples/math_complex.py
terrain
- 地形を測る(傾斜・水の流れ・日当たりを閉形式と突き合わせる) — 平面・円錐・ガウス丘という解析曲面で傾斜と曲率を検算し、離散化の誤差と式の誤りを2 次収束で区別する。欠測(水面)の扱いで集水量がどう変わるかを 3 通り並べ、日当たりを向き別に出す。この PoC が天空率の 18 倍の遅さを暴いた。
py -3.11 examples/poc_dem_terrain.py
- 地心座標と地球の丸み(測地⇄ECEF・地心格子・曲率落ち・緯度で変わるセル寸法) — 赤道・極・楕円体方程式・法線移動で ECEF を検算し、3700 点の往復誤差を高さ別に印字する(楕円体面 2e-9 m、20 km で 4e-6 m —— docstring の 1e-7 m は地表付近の値)。地心緯度と測地緯度の差 0.19 度、曲率落ちの表、Web メルカトル分解能、等角度格子の東西傾斜が北緯 60 度で素朴計算だと半分になることを閉形式と突き合わせる。
py -3.11 examples/dem_geodesy_tour.py
-
| 地形解析ツアー(粗さ・TPI・D8 流向・河道・地平線仰角・可視領域) — 平面・柱・円錐・V 字谷・壁という答えを数えられる地形で 6 op を通す。TRI=√(3/4) |
∇z |
·cell、谷底の集水量 W(i+1) と河道マスクのセル単位一致、壁の仰角 atan(H/d)、壁の影の長さ e·d0/(e-H)。欠測の outlet 方針は「他に下る先が無いときだけ欠測へ」と実測。 py -3.11 examples/dem_terrain_analysis_tour.py |
- 斜面の土量を測る(縦に引くか法線で測るか、そして合わせすぎの罠) — 既知体積の掘削 164.2 m3 と堆積 133.7 m3 を傾斜地に仕込み、2 時期の点群から DoD(格子の引き算)と M3C2(法線方向)で測り返す。★予想「斜面では cos だけ体積が縮む」は外れ ―― 水平投影面積で積むと cos は約分し、誤差は 0〜40 度でどれも -0.011 %。間違うのは体積でなく厚さで、深さの比は sec θ に一致する。★★変化なしの対照が偽掘削 83.8 m3(真値の 51 %)を出し、しきい値を入れて 18.1 m3 に落ちる ―― しきい値は飾りではなく本体。★★変化域が視野の 33 % あると位置合わせが変化を吸い、正味は真値の 12.6 % に潰れる(trim 0.6 で 101.1 % に復帰)。M3C2 の利得は傾斜からしか来ない(検出限界の比は平地 1.18、40 度 3.40)。
py -3.11 examples/poc_lidar_terrain_change.py
- 作物の葉面積を上から測る(葉が重なると投影が畳む) — 葉を解析曲面で組み、片面葉面積 pi/4·L·W と投影係数 G(theta) を閉形式で持ったまま、天頂からの厳密な z-buffer で群落を測る。★植被率からの Beer-Lambert 反転は消光係数を真値に直しても LAI 4.85 で -52.2 % で、2 段階クランピングから予測した天井 2.26 の近く(実測 2.70)で止まる。★遮蔽は天頂の植被率を 1 ビットも変えない —— 壊れ方は「投影が畳む分 2.68(投影 m^2/m^2)」と「遮蔽が奪う分 3.80(葉 m^2/m^2)」の 2 つで単位から別物、対照群(葉の方位を互生から乱数へ)がクランピング指数 0.478 -> 0.946 と原因を名指しする。★見える葉面積の天井 1/k = 1.374 は閉形式どおり、崖は点密度の対数でしか動かず 4 倍で +1.92。★葉角は面積加重が正しい式なのに、推定法線に掛けると -30.1 % まで崩れ重みなしの平均 -1.2 % に負ける。
py -3.11 examples/poc_crop_phenotyping.py
photometry
- 天体スタックの測光精度(何枚重ねるとどこまで正確に測れるか) — 合成星野の既知フラックスを真値に、枚数を振って測光誤差が 1/√N で下がるかを測る。宇宙線汚染で単純平均 +5.89 % に対し κ-σ +0.30 %。選別は雑音を √2 払って系統誤差を買う取引であることも数字で示す。
py -3.11 examples/poc_astro_photometry.py
- 全天カメラの雲量(画素を数えると雲の位置で 1.45 倍動く) — 魚眼(等距離射影)で撮った空の雲量。同じ角半径 8 度の雲を天頂角 0 → 82 度へ動かすと推定が 0.00789 → 0.01142(真値はどちらも 0.00973)。閉形式 (θ/sinθ)/(θmax²/2) と最大差 0.0026 で一致し、重み sinθ/θ を掛けると 6 通りとも 0.999〜1.000 に直る。★予想は逆だった —— 引き伸ばされるのは天頂ではなく地平線側の方位方向。太陽周りの偽陽性は雲ゼロの晴天で雲量 7.25 %、幾何 -5.0 % と検出 +38.0 % が打ち消して合計 +29.7 % になる。
py -3.11 examples/poc_allsky_cloud_cover.py
- 蛍光核の積分輝度から倍数性を出す(面積では分かれない) — ★★誤分類は面積(真値)15.4 % / 積分輝度 0.0 %(log の分離度 1.5σ 対 6.2σ)。★★「測った面積」は面積ではない —— 固定しきい値のマスク面積だと 8.0 % と真の面積より良くなる。ln(測定/真値) を ln(明るさ) に回帰すると傾き +0.26・相関 0.97 で、面積という名前で DNA 量を漏らしている。★★飽和 8.8 % のとき DNA 指数は 2.002 と真値ぴったりだが、裾落ち +5.8 % と飽和 -5.3 % が釣り合っているだけ。
py -3.11 examples/poc_nuclei_ploidy.py
- 縁が暗い天体の輪郭はどこか(周辺減光と「50 % 法」) — ★★「偏りは減光係数 u に比例」という予想は外れた —— u=0.2 の -0.56 px を比例で伸ばすと u=0.8 は -2.2 px のはずが実測 -12.76 px(5.7 倍)。★対照群(ぼけ σ=0)が機構を分けた: u≤0.5 の偏りを作っていたのは減光ではなくシーイング、u>0.5 でだけ幾何が残る。★★ぼけの効き方はしきい値で符号が変わり、0.26 付近に打ち消し点が実在する(u を 0.3 にすると 0.38 へ動く)。★黒点が動かすのは半径(0.33 px)ではなく中心(0.005 → 0.591 px、122 倍)。
py -3.11 examples/poc_solar_limb_darkening.py
- 系外惑星トランジットの相対測光(深さと継続時間は別々に壊れる) — 目標星だけに 10 ppt の周辺減光つきトランジットを仕込んだ 240 枚を star_detect → frame_align → aperture_photometry で測る。ゼロ点は雲で深さ +72 ppt、比なら -0.13 ppt / T14 -0.9 fr。★比較星の選び方で残差 rms が 6.0 倍変わるが T14 の誤差は動かず、逆分散重みは生の分散で決めると雲に騙されて単純和の 1.52 倍悪い。★★開口 1σ の崖は予想した重心誤差ではなく op の開口マスクの階段(supersample=8 で不動の星が理論比 1.69、32 で 0.93)。検出限界 SNR=5 は暦既知で 1.48 ppt(理論 1.45)、暦未知は 2.0 ppt で深さより先に継続時間が壊れる。★★ドリフト 2 px とフラット 3 % は単独で 0.16 / 0.08 ppt、掛け算で 0.94 ppt、4 px で 2.97 ppt(真値の 30 %)。
py -3.11 examples/poc_exoplanet_transit.py
- 実写の深宇宙に既知の星を仕込んで測る(汚染は S/N も同じ向きに膨らませる) — Hubble Deep Field(872x1000、public domain)を 16 bit 満量 65,535 e- で電子に直し、σ=1.5 px・フラックス既知のガウシアン星を局所背景の下位 30 %(空)と上位 2 %(混雑)に 40 個ずつ仕込んで aperture_photometry で回収する。★実写の空は正規分布ではない(頑健 σ 1,474 e- 対 std 6,698 e- = 4.54 倍)。★背景は 64x64 タイル 195 枚で 3,176〜8,448 e-、大域中央値 1 つで引くと最大 5,272 e- = 3.6σ の系統誤差。★★空でも開口 1 つあたり C = 6,677 e- が混入し、回収比 4.384 / 2.352 / 1.675 / 1.221 / 1.058(F = 2e3 / 5e3 / 1e4 / 3e4 / 1e5)は 1 + C/(F·frac) で最大ずれ 0.9 %。★崖を先に予測(F = C/(0.10·frac) = 67,521 e-)してから測ると回収比 1.086(予測 1.100、ずれ 1.2 %)。★★混雑側は 341.2 → 7.8 倍。★★op の SNR 中央値 19.2 に対し同じ背景からの閉形式は 4.2 ―― 混入は分子を膨らませるので信頼度も同じ向きに嘘をつく(S/N を門にすると汚染された測定ほど通る)。★ゼロ点(背景を引かない開口和)は F=1e5 でも 3.3 倍。飽和は 3 画素(0.0003 %)で、「実写だから飽和で壊れる」はこの画像では成り立たない。
py -3.11 examples/poc_real_sky_photometry.py
tomography
- CT 再構成の忠実度(投影数を減らすとどこで壊れるか) — Shepp-Logan を真値に、投影数 180→12 で FBP の誤差を測る。フィルタ無し逆投影というゼロ点と 24 本で並び 12 本で逆転する。投影の質量保存という独立検算つき。
py -3.11 examples/poc_ct_fidelity.py
diagnostics
- 転がり軸受の異常診断(どこまで雑音に埋もれた欠陥を拾えるか) — 欠陥周波数の閉形式を真値に、SNR を振って検出限界を測る。生スペクトルというゼロ点に対し包絡線解析が 17.5 dB 稼ぐ。帯域選択の窓長を誤ると共振を外すことも数字で示す。
py -3.11 examples/poc_bearing_diagnosis.py
- 周期のある地に埋もれた欠陥(まとめた ROC が隠すもの) — ★★線欠陥・斑点・ムラを 1 本の ROC にまとめると AUC は高く見えるが、種類別に描くとムラが 0.5 付近(でたらめ)になる検出器がある。しかもそれは「格子除去 + 低周波除去」という現場でいちばん普通のレシピ —— 照明ムラを消す処理が、検出したいムラも消す。格子のノッチは地の残差を 2 桁下げるが、低周波を落とすかどうかの 1 行で AUC が壊れる。
py -3.11 examples/poc_fabric_defect.py
- パルスサーモグラフィ(『測れない欠陥』の正体が時間窓だった) — 裏面断熱平板の厳密解が真値なので、深さの推定を近似ゼロで検算できる(早期の log-log 勾配 -0.5000、d=√(παt*) が 0.3 % で成立)。縦横比の限界に見えたものは物理ではなく当てはめ窓で、25 秒 → 4 秒に切るだけで小欠陥 8 個の誤差が +59〜+612 % から ±15 % に入る。なだらかな加熱むら 76 % は検出をほとんど壊さない(予想が外れた)——壊すのは欠陥と同じスケールのむらだけ。
py -3.11 examples/poc_thermography_ndt.py
- カメラ指紋 PRNU(枚数で育ち、保存ボタンで消える) — ★★清浄条件では同一カメラ PCE 中央値 2192 / 別カメラ 15.7(AUC 1.000)。★指紋は √N で育つが N=1 では最尤がゼロ点に負ける(ΣWI/ΣI² が W/I に退化)。★★JPEG 相当の量子化は品質 50 相当で PCE 3.6 %(量子化利得² の予測 3.8 %)、0.5× 縮小で 1.5 % ―― 幾何の上限 20 % より下で、デノイザがなまった指紋を被写体として取り去る。★★K=0 のカメラでも同じ背景 30 枚から PCE 1706 の偽指紋が出る。
py -3.11 examples/poc_prnu_camera_fingerprint.py
- 溶接 X 線透過像の気孔検出と等級(等級を 1 段間違える割合) — ★ゼロ点は余盛のつま先を気孔に数える(塊 124 個、面積 15.19 mm² vs 真値 7.93)。★検出の崖は CNR = 16.12·d² で先に予測できるが、Rose の CNR = 4 では 0.50 mm と外れ、平滑化 + 最小面積 3 px の条件で 0.58 mm 予測 / 0.57 mm 実測。★★背景推定 op の窓上限(矩形オープニング 9 px)は 2.0 mm から検出率 50 % を割り 2.5 mm で 0 % の崖 ―― op を選ぶことが測定範囲を選ぶ。★直径は 3 通りで偏りの向きも大きさも違う(しきい値径は 0.6 mm で -48 % 縮み、体積径は μ 既知で -2〜-6 %、キャリパ径は予想「太る」に反し 0.8 mm 以上で -9〜-16 % 縮む)。★散乱 SPR=1 で体積径 -22.6 %(予測 -20.6 %)。★★等級を 1 段間違える画像: ゼロ点 90 % → 体積径 23 %(内訳 直径 20 %・見落とし 10 %・偽陽性 7 %)。
py -3.11 examples/poc_weld_radiograph_porosity.py
- 太陽電池 EL 検査(暗い = 不活性ではない。種別ごとに測る) — ★★ゼロ点(Otsu の暗画素率)は 21.7 % で真値 4.77 % の 4.6 倍 ―― 暗画素の 42 % はフィンガー/バスバー、33 % は結晶粒とビネッティングで、本物の不活性領域は 20 %。等級は D(真値 C)。★行・列プロファイルで格子を割り、孤立領域 / 断線帯 / クラックを別々の門で取ると面積率 4.61 %(-0.15 ポイント)・クラック再現率 0.88〜1.00・断線 8/8 で等級 C。★★sk_frangi は最大値で正規化するので、校正線は画像中でいちばん強くないと尺度を固定しない(実クラックと同じ線は 0.69、幅 3 px の黒線は 1.00)。校正なしが壊れるのは欠陥ゼロの側で偽クラック 147 px ―― 良品ほど偽検出が出る。★崖: 結晶粒コントラスト c=0.24 から偽クラックが出て断線が飲まれる(ヘッセ行列の予測 1.48 は 6 倍外れ)、クラック幅 1.25 px(幅 × 深さの線形則で予測 1.38 px)、光子数 K=50 で断線 7/8(予測 12 は 4 倍楽観的)。cos^4 の当てはめは行列プロファイルが先に吸うので要らなかった。
py -3.11 examples/poc_solar_el_inspection.py
- はんだフィレットの AOI(3 リング照明は傾きの 3 段量子化器) — 接触角と断面積で決まる円弧のフィレットに 3 リング照明(GGX を窓で積分)を当てた合成 AOI。★★接触角 18° の凹円弧は壁で 72° まで立ち、最低リングでも見えるのは高さの 28.8 %(予測)―― 色帯の傾きを積分する素朴な推定は真値の 0.284 倍。色が変わる位置から円弧を壁へ外挿すると自由円弧で +1.7 % ± 5.3 %、爪先がパッド端に固定されると -42.3 %。★位置ずれ 0.16 mm で爪先が 30° を超えて緑帯が消え、真値は上がっているのに良品が「不足」になる(真値が不足になるのは 0.28 mm)。★粗さは予想と違い暗部の縁を動かさず、0.5 で赤帯の消失と同時に壊れる。ゼロ点(パッド平均色 ΔE)は良品 56 % / ブリッジ 68 % を NG にして区別せず、円弧推定は良品 98 % / ブリッジ 100 % / 浮き 88 %(取りこぼしは 8.7〜11.0° の小さな浮き)。
py -3.11 examples/poc_solder_fillet_aoi.py
- 熱・振動・形状の総合診断(束ねても情報が増えない条件) — ★★3 センサ融合 100.0 % は振動のみ 100.0 % と同点 —— 基準条件では熱も形状も 1 pt も足さない。融合が効き始めるのは振動が壊れてからで、雑音 σ=1.6 で 45.8 % → 78.1 %(+32.3 pt)。★★芯ずれは軸心のずれ 1 つが原因なので振動・熱・形状のどれ 1 個でも 100.0 %(真値の重症度との相関 2X 0.843 / 継手温度 0.841 / 芯ずれ量 0.978 —— 独立な 3 つの証拠ではない)。逆に熱だけでは 正常・アンバランス・ゆるみ が互いの中で 48/48 回まわり(仕込んだ軸受発熱 2.5/2.7/2.6 W)、形状だけでは芯ずれ以外の 5 モードが 1 つの塊(6.2〜37.5 %)。振動を抜くとアンバランス 100.0→50.0 %、ゆるみ 100.0→31.2 %。★崖は特徴 1 個の上で先に予測: ゆるみの 0.5X は次数分解能 < 0.5 すなわち T > 2/f_r = 68.6 ms(実測 50→70 ms の 1 段で d’ 2.45→4.32 = +76 %、その前の段は +4 %)、熱の広がりは閉形式の半値直径 66 mm(実測 64 mm から崩れ 96 mm で d’ 0.00)。★側帯波は「1/T < FTF = 86.1 ms」と予測して外れ、ピークを読む窓 0.6/T が側帯波間隔の半分を切る 1.2/FTF = 103 ms が正しい条件だった。★★そして崖はどれも 6 クラス識別率には出ない —— 同じセンサの他の特徴が肩代わりする(冗長性はセンサ間だけでなくセンサ内にもある)。★アンチエイリアス無しで 3200 Hz へ間引くと衝撃列 k=29 が 167.9 Hz(実測 168.0 Hz)へ折り返し、間隔が BPFO ちょうどなので軸受らしく見える。
py -3.11 examples/poc_machine_condition_fusion.py
- 太陽光発電所のドローン熱画像(ΔT を測っているつもりで、風と角度を測っている) — 定常熱収支の閉形式が真値なので、故障の ΔT を予測と 0.07 K 以内で突き合わせられる。★余剰発熱 320 W/m² のホットスポットは 11.20 K が 4.23 K になって届く —— 薄めているのは予想した熱伝導(×0.960)ではなくカメラ(×0.511)と、大気と放射率設定(×0.854)。★★崖を決めるのはしきい値でなく面積の門: 「ピークが 3.0 K を割る」予測 3.0 m/s は外れ、塊の面積 2πσ²ln(P/θ) が 4 px を割る予測 1.1 m/s が実測 1.0 m/s と一致する。★★電気的故障ゼロの対照群でも全体平均基準なら塊 6 個(健全 1 / 非故障 5)—— 正体は風の当たらないモジュールが 4 K 熱いだけで、モジュール中央値なら 0 個。ただし中央値はモジュール丸ごとの異常に盲目(+3.43 K が +0.08 K)、平面除去は広い故障を食う(ストリング 5.55 → 4.10 K)。★★列間影は同じストリングの日向側を +4.68 K 熱くし、本物のストリング故障 +5.55 K と 0.87 K しか違わない。★入射角 65° で ΔT は 0.93 倍、射影補正で位置ずれは 80.1 → 0.5 px に戻るのに ΔT は 0.61 倍(幾何は直せるが放射は直らない)。★NETD は 20 → 3000 mK まで振っても偽ゼロ(予想外れ)だが、非故障の塊が 1 → 44 個に増えて総面積は 1620 → 1892 px —— 個数で報告すると雑音が『発見』に化ける。
py -3.11 examples/poc_pv_thermal_survey.py
- 冷蔵輸送の逸脱判定(ロガーの置き場所が合否を決める) — ★★真に不合格な製品セルは 108 / 490(22.0 %)なのに、製品にロガーを 1 個貼ると 82.4 % の置き方が「合格」と言う ―― 1 個の記録が出す逸脱時間は置き場所で 0〜585 分に散る。★★要因を 1 つずつ止めると壊れ方が分かれる: 荷が均一なら偽合格も偽不合格も 0.0 %、壁からの侵入だけなら偽合格 95.5 %・偽不合格 0.0 %、壁を止めて扉だけ残すと真の不合格が 2.0 % に落ちるのに偽不合格が 3.5 % 現れ、しかも製品に貼ったロガーは 100 % が合格と言う(短いパルスは熱容量のある製品に入らない)。★崖は先に予測できる ―― 時定数の崖は中央通路 4 か所で実測 138/63/35/19 分、「荷室の空気 τ=5 分 + ロガー」の 2 段モデルが 113/58/34/19(短い側で相対 0〜3 %)、教科書の 1 極公式 A(1-e^(-W/τ)) はそこで 21 % ずれる。サンプリング間隔の崖は予測 1-W_eff/Δt と差 0.0 分ポイント(位相を全部試して 26.7/45.0/63.3 %)、量子化の崖も実効しきい値 limit+q/2 の予測と差 0 分。★★同じ記録から出した 3 指標は「12 °C に許す時間」に直すと 60 分(逸脱時間)/ 276 分(MKT)/ 197 分(劣化)と 4.6 倍ずれ、720 セル中 82 セル(11.4 %)で合否が揃わない。MKT は集計窓で動き、12 時間なら 7.09 °C(合格)でも逸脱を含む 4 時間で切ると 8.04 °C(不合格)。★逸脱は vol_label で (t,y,x) の 11 個の塊として数えられ、最大の塊は t=120 分に生まれて 600 分続き 5.8 m x 2.4 m に広がる(vol_region_props の surface_area / sphericity は軸の単位が混ざるので使ってはいけない)。★★予想が外れた: 慣用の 3 点(扉寄り・中央・吹き出し口寄り)は ±1 m 揺らしても偽合格 3.3 % で、ランダム 3 個の 55.4 % よりずっと当たる ―― ただし効いているのは扉寄りの 1 点だけ(単独 2.9 % / 中央 100.0 % / 吹き出し口寄り 100.0 %)。
py -3.11 examples/poc_cold_chain_excursion.py
ranging
- 光子計数 dToF の距離精度(理論限界に乗るか、どこで崩れるか) — 距離を先に決めて光子到着ヒストグラムを合成し、測り返す。ゲート重心は CRB の 1.003-1.068 倍、傾き -0.506(理論 -0.500)で 1/√N に乗る。ピーク位置というゼロ点に 4.80 倍。背景 SBR 0.008 で RMSE が 2 桁飛ぶのに中央値はほとんど動かない(3.8 % の試行だけが誤ロックする)ことまで出す。
py -3.11 examples/poc_dtof_ranging.py
- 音で漏水を位置決めする(音速を誤ると掘る場所がずれる) — 埋設管 120 m の 2 点で録った漏水音の到達時間差から位置を出す。★音速が真値なら 0 dB で 0.0107 m(CRLB 0.0091 m の 1.2 倍)、崖は予測 -20.1 dB に対し実測 -12.5 dB で 7.6 dB 楽観だった。★量子化誤差は散らばりでなく場所ごとの偏り —— 位置を 41 点振ると RMS 0.0221 m で予測 c/(2fs)/√12 = 0.0220 m と一致するが、1 点に固定すると小数部が固定されて毎回同じだけ外す。★★音速 10 % の誤りは 1.798 m(予測 1.800 m、中点では ±15 % でも 0.0007 m)、管種が途中で変わると τ = 0 になり、どの音速を仮定しても 18.001 m 外す —— パラメータでなくモデルの誤り。★反射では予想が外れ、GCC-PHAT は生の相関に 1 割しか勝たない(誤差 0.121 m のほぼ全部が偏り。左右の継手を入れ替えると符号が反転し、対称にすると 0.000 m)。
py -3.11 examples/poc_leak_localization.py
depth
- ライトフィールドの深度(81 視点は 2 眼に勝てるのか) — 既知の深度から合成ライトフィールドを作り、EPI 傾き・焦点度・2 眼を並べる。定数ゼロ点に 22 倍だが、2 眼には既定設定だと 3.0 倍負ける(cubic 補間にして初めて 1.6 倍勝つ)。圧勝するのは鏡面ハイライトの場面だけ、という切り分けまで数字で置く。
py -3.11 examples/poc_lightfield_depth.py
- 深度合成(絵は圧勝、深度はゼロ点に負ける場所がある) — 既知の深度地図から焦点位置を変えた画像列を作り、全焦点画像と深度を別々に評価する。絵は +5.17 dB(中央のフレーム比)で勝つ。だが深度は段差帯でゼロ点比 0.94(負け)、★無テクスチャでは 0.16(6 倍負け)。しかも突出度の信頼度は嘘の側が高く出る(0.9575 対 0.9381)—— 峰の絶対値で棄却すると RMS が 0.918 → 0.817 mm。
py -3.11 examples/poc_focus_stacking.py
- 実写のステレオ対で視差と距離を測る(この博物館で初めての実データ) — Middlebury 2014 motorcycle(1/4 縮小、真値視差つき)を 240x741 に切り出して通す。★真値の穴は NaN ではなく +inf(15,927 個)で、np.nanmedian は中央視差を 44.97 px と答える(正しくは 42.55 px)―― isfinite で判定する fill_disparity / apply_cmap は正しく穴として扱った。★既定 max_disp=16 は bad2 95.06 %、崖は 48(46.79 %)と 64(26.75 %)の間、80 では 27.11 % と戻る。★ゼロ点 94.04 % に対し SGM 15.81 % / NCC 21.47 % / SAD 26.75 % / census 48.62 %。census は 64 bit パックで窓が 7 止まり(3/5/7 = 75.27/48.62/35.44 %)、block は 21 まで広げて 23.59 %。★★disparity_confidence の下位 4 割を捨てると bad2 26.75 → 6.80 %(残り 60.6 %)。★★depth_from_disparity に doffs が無く、実写の 31.086 px を無視すると距離が 1.519〜5.243 倍にばらけ、最良の単一スケールでも残差 958.3 mm RMS(レンジの 33.2 %)、遠 +1676 / 近 -926 mm と反り返る ―― この PoC で引数を追加(最大差 0 mm)。★実写の視差レンジでの L* 折返しは jet 3 / turbo 1 / viridis 0 だが、段の均一さは jet 1.73 が turbo 2.57・viridis 3.26 より良い(「悪い配色」とひとまとめにすると何が悪いのか言い損なう)。★uint8 をそのまま渡しても落ちないが float と同じ数字は返らない(26.74 対 26.75 %)。
py -3.11 examples/poc_real_stereo_depth.py
optics
- ハエの複眼は光場センサ(神経重ね合わせで「重ねると頑健」を光学で測る) — 個眼アレイをプレノプティック系として設計し、同一点を N 個眼で重ねたときのSNR 利得を測る。★小開口では √N がほぼ厳密(N=5 で 2.25 対 √5=2.24)、大開口では飽和する(N=49 で 5.33 対 7.00)。原因は雑音でなく、ずらして重ねた像の周縁 4 画素の誤差で、雑音だけの利得は 7.05 で √N どおり、周縁 8 画素を除けば 7.19。ハエの ~6 重ねは膝の手前。アレイでこそ距離画像が出ること、少数派の遮蔽者は median 重ねなら貫けることも実測する。
py -3.11 examples/poc_compound_eye.py
-
| ハエの視覚前段を op の連鎖で(合成の空を回る/前進すると何が読めて何が読めないか) — 六角格子 721 個眼 → 受容野 → ラミナの DC 落とし → HR 相関器 → HS 対向和を繋ぎ、1/f の帯つき空を回ると自己回転の向きと波形が読める(相関 +0.785、膜 LP つき +0.880)。★ラミナ段(DC 落とし)を省くと相関器は DC × 高域通過の揺れを出して +0.504 に落ちる。前進は全視野だと回転に化け(偏り −0.689)、上半視野に限っても受容野が地平線をまたぐぶん漏れる(−0.221、el>2Δρ で 0)。対向比は速さを落とすので 1°/s の遠景の流れも −0.612 に読む。LGMD η のピークは α·l/ |
v |
前で θ=24.0°(球の厳密な θ なら 24.6°、4 次式の根)、τ 球式は真値に厳密、円板式の誤用は cos²(θ/2) 倍、DSI 0.80。 py -3.11 examples/poc_fly_vision.py |
- 偏光カメラの生フレームを Stokes・DoLP・Mueller に読む — IMX250MZR 系の 2x2 モザイクを 4 枚に戻し(双線形、1 次の場は厳密、縁はモザイクを鏡映)、DoLP 地図と Stokes へ。既知の PSG/PSA 列の強度から Mueller を最小二乗で回復(144 測定・雑音 1e-4 で誤差 5e-4)。★偏光板だけの設計は階数 9 で断る(擬似逆行列を返さない)。回復した行列の物理性(Cloude 固有値)・純粋性・脱偏光指数・受動性を一度に確かめる。
py -3.11 examples/polarization_camera_pipeline.py
- 検査セルの光学デジタルツインから学習画像を真値つきで生成 — 視野25.875mmと深度294.000mmが閉じた式に厳密一致、透過照明のシルエット19552画素=πr²と1%以内で部品は厳密に0。色を1画素も変えない凹凸だけの欠陥が拡散+3.41%対低角+93.46%=27倍、ラベルは照明によらず273画素。個体別bbox 4個の合計が合成マスクと一致。絞るほど高周波が残る。18,994枚/時。
py -3.11 examples/virtual_machine_vision.py
- ガラスと鏡面の光学を閉じた式で解く — 垂直入射0.0422=((n1-n2)/(n1+n2))²、Brewster 56.6°でp偏光が1e-15未満、臨界角超は厳密1.0、平板0.9191=2n/(n²+1)、Beer-Lambertがexp(-1)、Snell残差1e-12未満で全反射は光線ごと、プリズム最小偏角F/d/C=39.14/38.65/38.43°。金の色(1.00,0.67,0.38)はn,kから出る。
py -3.11 examples/glass_and_mirror_optics.py
imgmetrics
- 統計的工程管理を op の連鎖で(検査計測が管理下か・能力があるか) — マシンビジョンの計測列に Xbar-R 管理図 / CUSUM / 工程能力 Cp-Cpk / 多変量 Hotelling T² を掛ける。+4σ の逸脱は管理図が即座に、+0.8σ の持続ドリフトは CUSUM が Shewhart 3σ(0 件)より早く捕らえ、中心が仕様中点なら Cpk=Cp、多変量 T² は相関する計測の同時ドリフトを 1 判定にまとめる。どれも標準・教科書の閉じた式で、ISO 8258 定数・CUSUM の傾き d−k・T² 平均行 0 を厳密に検査する。
py -3.11 examples/poc_spc.py
- どのセンサーも正常値なのに設備は異常 —— MT 法が単変量 3σ の見逃しを拾う量 — 設備保全 PoC の 3 センサ 20 特徴量を健全 48 本の単位空間に載せ、健全の別標本で両方式の閾値を誤警報 0 に揃えて比べる。単変量が『全特徴量とも正常範囲』と言った 169 標本のうち MT 法の MD は 79 本(47 %)を異常と言う(相関を見ないと失う検出の量)。恒等式 2 つ: 単位空間の MD² 平均 = (N−1)/N、2 特徴で点 (+z,−z) の MD² = z²/(1−ρ)(閉形式、ρ=0.999 で一致)。軽い故障は正常と故障の線形内挿。
py -3.11 examples/poc_mt_hidden_fault.py
- 同じ線虫の配線は、個体が違うとどこまで同じか —— 8 匹の発生系列で「全員に在る結合」を数える — Witvliet 2021 の C. elegans 8 匹(生直後〜成虫)を全員に在る 183 細胞の上で重ねると、8 匹全員に在る結合は 442 本 —— 各個体を次数保存で独立に組み替えたヌルでは 20 標本の最大でも 0 本。核は結合の 15 % でシナプスの 57 % を担う。一方、同齢の成虫 2 匹の Jaccard は 0.53 で隣り合う発生段階と同程度。真値は合成系列の閉形式(核 C + 固有 u: h[K]=C・Jaccard=C/(C+2u))。論文の stable ≈ 43 % に対し素朴な数え方では 34 % —— 著者の分類表と照合すると、論文は左右の対で 7 匹以上なら対の全結合に札を付けており、それだけで論文の stable の 99.6 % を再現する。実データが無ければ合成系列で回る。
py -3.11 examples/poc_connectome_across_worms.py
-
| 粘菌の管は迷路を解く —— 太る・細るだけの力学が最短路に収束することを、定理と Dijkstra で挟む — Tero 2010 の管の力学(dD/dt = |
Q |
− D)を graph_physarum_path(重み付きグラフ)と physarum_route(コスト画像)で回す。15×15 の格子 5 通り・完全迷路・地形の全部で道が Dijkstra / route_through_array と一致(差 < 1e-9)。指示関数への収束(Bonifaci 2012)は 3/5、残り 2 は 2 位との差が小さく拮抗が残る。Lyapunov V = Σ L·D は 23 区間で一度も増えない。 py -3.11 examples/poc_physarum_maze.py |
- 車は最短でどう曲がるか —— Dubins・Reeds–Shepp の閉形式と Hybrid A* の縦列駐車 — car_dubins_path(前進のみ・6 語)と car_reeds_shepp_path(後退あり・48 語)の閉形式、car_hybrid_astar(占有格子の上のHybrid A、RS 長をヒューリスティックに解析的な一撃)。候補は前進積分で終点を検証して落とした数を返す(0 落ち、18 語族が全部出る)。語ごとの区間長を SLSQP で解く第 2 実装と一致、距離 ≤ RS ≤ Dubins・可逆・鏡映・剛体・三角不等式、空の格子で Hybrid A = RS 長と厳密一致、縦列駐車は衝突なし・実現可能・下界以上、壁は ValueError。
py -3.11 examples/poc_car_parking.py
- 教習所が開校する —— 規格寸法の周回コースに車と信号を置き、LiDAR とカメラで見て、定理と恒等式で採点する — 道路交通法施行規則 別表第三の寸法で周回コース(直線 80 m・幅 8 m)の中に幹線の十字(信号 4 基)と課題(クランク・S 字・坂道・縦列駐車・方向変換・踏切)を置き、出口は連絡路で周回へ戻す(drivecourse)。3-D の世界に CC0 の車と日本の規格で手続き生成した信号機・標識(driveworld)、回転式 LiDAR をメッシュに撃ち(lidarsim)、車載カメラで撮る。門 14: 面積の閉形式への単調収束、路面の range = h/(−sin e) と 1e-9 一致、LiDAR の点をカメラに投影した深度・ラベルの一致(2 センサ 1 世界)、車の点は車の箱の中、縁石の点は道の外、Hybrid A* の道は脱輪 0(半セル以内)、車載カメラの画像処理で信号の赤・緑を読み、緑を読むまで発進しない(閉ループ)。正直に: 規格の幅 3.5 m は前進のみでは到達不能で切り返しが要る。
py -3.11 examples/poc_driving_school.py
- 衝突までの時間と安全距離 —— τ 理論の光学流と RSS の閉形式を、教習所の世界の真値で採点する — 教習所の周回コースで対向車(8 m/s)を車載カメラで撮り、τ(Lee 1976)を 3 経路で出す: 深度像 + 剛体運動の閉形式(真値)、光学流(LK)→ time_to_contact、見かけの面積の平方根。恒等式 = 真の流れを入れると 1 コマ後の τ で、1 コマ足すと真値と 1e-9。真の τ は 1 秒に 1 秒ずつ減る。RSS(Shalev-Shwartz 2017)の安全距離は ad-rss-lib の公表パラメータ・試験値と一致し、Lemma 2 は最悪ケースの時間積分と 1e-6 で一致。停車車両に「危険」を出した瞬間に制動すると停止時の間隔は閉形式どおり。対向車線の車は τ が 0.3 s まで落ちても横の安全距離(0.73 m < 2.2 m)で RSS は騒がず、寄ってくると危険になる。正直に: 流れの τ が効くのは車が像で大きい区間だけ。
py -3.11 examples/poc_ttc_rss.py
-
| 世界を広げる —— 閉形式の地形と世界座標の材質、手続きの木と歩行者で、拡大の中心を流れから取り戻す — 教習所の周回コースを fBm の起伏(乱数位相の正弦の和、高さも勾配も閉形式、スペクトル β̂ 3.59 = 2H + 2)の中に置き、道の周り 2 m は平ら(コースへの距離場は |
∇d |
= 1)、路面はうねる。描画した深度から画素の世界座標を戻して Perlin の雑音で材質を評価する(粒・染み・水溜り・摩耗した白線、真値は画素単位)。手続きの木 70 本・歩行者・横断歩道は体積と面積が閉形式。15 巡目で「既知」にした拡大の中心(FoE)を路面の LK の流れだけから出すと、模様ありで 1.9 px、無地の路面では 57 px 外れる。真の流れなら 1e-13(定理)。正直に: 摩耗した白線と水溜りは明るさのしきい値では最良でも 25 % を間違える(それが狙い)。 py -3.11 examples/poc_world_terrain.py |
- 卓球の球を先駆者の目で測る —— 真値つきの台で、多カメラ追跡・三角測量・軌道予測・跳ね・スピンを定理で採点する — ITTF 寸法の台に 40 mm の球(模様 14 個)を置き、トップスピンの打球を 2 台 + 近接 1 台のカメラで 100 fps・0.6 秒撮る。力学は定理が門: 真空の RK4 は閉形式と 1e-12、放物線の当てはめは g = 9.81 を 4e-15 で戻し、乱数 500 通りの衝突で接触点まわりの角運動量は 4.9e-16 で保存、30.5 cm から落とした最初の跳ね 24.7 cm は ITTF の 24〜26 cm の中。色度の検出は中央値 0.152 px、DLT の三角測量は検出から中央値 1.61 mm、等加速度 Kalman は放物線の真値で新息 8.2e-09 m。跳ねの前 15 コマから運動方程式で初期状態を当てて跳ねを越えて予測すると、真のスピンを知っていれば着地点 0.4 cm、スピンを無視すると 20.2 cm 外れる。近接カメラ(1000 fps)の模様を Kabsch で対応づけた角速度は真値と 3.7 %、反発係数は運動方程式の当てはめで 0.9114(真値 0.90)。正直に: 放物線で e を出すと 0.9398(抗力とマグヌスを g に吸って 4.4 % ずれる)、検出は色が既知の合成映像。ラリー: 送り合いは上限 12 本、攻める側が入ると 9 本、知覚雑音 5 cm までは不変・10 cm で 2 本。
py -3.11 examples/poc_ball_bounce.py
- 金属積層造形の熱画像から X 線 CT へ —— 生信号を温度と呼ばない、時間軸と画素ピッチ、下向き面だけに付く粉 — 金属積層造形(NIST AMMT、In718)の工程中の熱画像を、温度と呼ばずに生信号のまま扱い(ε は必須の引数、飽和は下限、0 は測定なし)、走査指令との時間軸・画素ピッチ・溶融池の再現性を測り、造形後の X 線 CT と設計 STL の断面を既存 op でつなぐ。データが無ければ真値つきの合成で同じ門。
py -3.11 examples/poc_am_thermal_to_ct.py
- セグメンテーションの関門 —— 真値つきの 6 つの世界に 10 手法を当て、どの物差しがどの壊れ方に盲目かを測る — 真値つきの合成世界 6 種(触れ合う粒・ボロノイ結晶粒・影のある部品・質感だけ違う領域・照明の勾配・細い構造)に既存のセグメンテーション10 手法を既定のノブで当て、新しい物差し(Dice/Jaccard・境界 F・Hausdorff・過分割/未分割・個数の一致、segcompare の VI/Rand)で採点。門 = 真 vs 真が満点、どの物差しがどの壊れ方に盲目か(Otsu は J=0.95 でも粒が全部融合、勾配の分水嶺は境界 F=1.00 でも過分割 339)。影のある部品は閾値のオラクルでも J=0.29。
py -3.11 examples/poc_segmentation_gauntlet.py
- 追越しと見えない所 —— 見通しが足りなければ待つ、ルームミラーに映ってから戻る、環道の車を妨げない、カーブミラーは遠く見える — 教則の台帳の未着手から、追越し(見通しが D* に足りなければ待つ・禁止区間・ルームミラーに映ってから戻る)、進路変更、環状交差点、坂の頂上、カーブミラー。新モジュール drivepass 17 op。規則の 240 人は禁止区間 0・対向車との PET 最小 5.62 s、素朴は割り込み 240 / 240。凸面鏡 R 3 m を 8 m 離れて見ると 30 m 先の車が 190.04 m 先に見える(光線追跡)。正直に: 「付近」30 m・「急に」2.0 m/s²・鏡の寸法・参照分布は仮定、施行令 21 条は未確認。
py -3.11 examples/poc_driving_pass.py
-
| エアホッケーのパックを追い、予測し、5 節リンクで打ち返す —— 学習なし、閉形式と外部シムを門に — 物理シミュ × Fullseye 系列の第 3 弾。低価格のエアホッケーロボット(Shinjo, Beltran-Hernandez, Hamaya, Tanaka, IROS 2024, doi 10.1109/iros58592.2024.10801458)の鎖 カメラ → パック検出 → 速度推定 → 軌道予測 → 5 節リンクの動作計画 を、既存部品(balltrack.ball_detect / ball_track / kalman_ca、ballistics.slide_stop_distance、calib.image_to_world_plane)と新モジュール puck(26 op)で学習なし・全部ルールで組む。真値は外から 3 系統: 閉形式(Coulomb の等減速 a = μg、壁は法線 −e・接線 kₜ —— 記法は Cross 2022、Spong 2001 の衝突模型は未読で未検証 —— を区間ごとに繋ぐ、鏡映法と一致 3e-15 m)、5 節リンクの FK∘IK(円と円の交点、2e-15 m)、第 2 実装 = Robot Air Hockey Challenge の台の MJCF(Liu ほか arXiv 2411.05718、MIT、repo に同梱せず FULLSEYE_AIRHOCKEY_DATA の下)。★第 2 実装が模型の違いを暴いた: Challenge の台はパックと台面の接触を切り、滑り関節の粘性減衰 c/m = 0.5 /s で減速する(Coulomb ではない; 実測の傾き −0.4999 /s)、壁は軟接触で e_n = 0.739・kₜ = 0.852 は測って出る。粘性の閉形式を足すと MuJoCo と壁の前 0.11 mm・壁 1 回の後 0.4 mm。門 16 本(numpy、1.6 s)+ –full 6 本(MuJoCo、13 s): 停止距離 = ballistics、壁の e²、鏡映法、Euler 1.5e-5 m、FK∘IK、作業域の境界と守備線の届く区間( |
y |
≤ 0.369、パックは 0.487 まで来る → 隅は届かない)、検出の重心 max 0.0059 px(しきい値 0.85 の根拠: 0.5 だと縁の画素が切れて 0.08 px)、速度の最小二乗 N = 12 で 0.01 %、雑音ありの交点 20 本 rms 0.2 mm、打点計画(間に合う / too_late / unreachable / no_crossing)、モーションブラー = v·τ/2(0.004 px)、綴り壊し、μ 0.7 %、e 0.7999・kₜ 0.9001、速いパック(45 px/コマで対応が切れる)、kalman_ca の新息 3e-13、全鎖 20 本(描画 → 検出 → 粘性の最小二乗 → 予測 → 計画: 14 本が横切り、届く 12 本は 12 本打てた、2 本は隅で辞退、交点誤差 中央 1.2 mm)。正直に: リンク寸法・サーボ 6 rad/s・打具 40 mm・守備線・既定 μ / e / kₜ は仮定、実機映像は無い、壁の滑り/把持と回転は未実装、自前 Coulomb MJCF の減速は μg から 3.3 % ずれる(軟接触か MJCF の設定かは未切り分け)。 py -3.11 examples/poc_air_hockey_intercept.py |
-
| ペグ挿入の失敗を規則の表で見つけて回復する —— VLM の代わりに Whitney の接触状態、真値は MuJoCo — 物理シミュ × Fullseye 系列、pegsim(柔らかい手首のペグ挿入)の集大成。先行研究(Shirasaka, Beltran-Hernandez, Hamaya, Ushiku, arXiv:2509.17666、ICRA 2026 予定、コード未公開)は挿入の失敗を VLM が判定して回復スキルを選ぶ。ここでは VLM を規則の分類表(12 行・8 クラス、語彙 576 署名のうち 362 を決め残りは unknown で止まる = fail-closed)に置き換え、観測(接触の種別・深さの帯・停滞・くさびの境目・かじりの図の内外・穴中心からのずれ)→ 6 欄の署名 → 表引き → 回復プリミティブ、を 新モジュール pegfail(16 op + mujoco の facade 3)で学習なしに組む。真値は 2 つ外から: Whitney 1982(OCW 2.875 Class 3 スライド、原著未読)のくさび θ > c/μ とかじりの平行四辺形 —— 4 頂点を二点接触の平面静力学(F_x = f₂ − f₁、F_z = μ(f₁ + f₂)、M = μrf₁ − (μr + l)f₂)から導き直して pegsim の頂点と 2e-16 で一致させ、力の比の符号の規約をその導出で固定 —— と、MuJoCo の接触点・法線力・手首の力センサ(–full)。手首ばねのたわみから先端の荷重を読む(停滞中の 3,458 刻で接触力の和と 0.35 N 以内に釣り合い、力センサとは 0.026 N)。失敗はわざと注入: 面取りに乗れないずれ 2.5 mm、μ 0.8 で θ₀ 4.5° > c/μ = 2.76°、傾きの側へ横目標 +3 mm、深さ 6 mm の栓、26 mm 横の囮の穴。門 12 本(numpy、0.6 s)+ –full 8 本(MuJoCo、14 s): 表の完全性と排他、平行四辺形 2e-16、くさびの境目 ∓1e-9 rad、停滞の検出(誤報 0・遅れ 27 刻)、全署名 362 個の分類 100 %、unknown と綴り壊し、手首荷重の閉形式、視覚の境目の反転 = Φ(− |
z |
)(0.508 / 0.168 / 0.157)、合成 RGB-D のずれ 0.002 mm → 欄 → 分類、離散化の境目、要約と混同行列、MJCF(栓・囮 109 個); –full: 注入格子 6 クラス × {回復なし, あり} = 真値署名でも視覚の署名でも 6 / 6・回復 0/5 → 5/5(blocked は中止 = 成功)、遅れ 32〜33 刻(窓 30 + 確認)・栓 9・囮 18、★力を抜く探針でくさびと詰まりを物理的に区別(くさび μ 0.8: F_z 2.03 → 0.64 → −0.39 N でも深さ 5.90 mm のまま; 詰まり μ 0.3: 横の力を抜くと自重で 6.25 → 7.21 mm、引くと 5.30 mm)、かじりの図の余裕(停滞 −0.50 は外、正常な滑り min 0.18 は内 → 閾値 0.15、MuJoCo の滑りの境目は Whitney の線より ≈ 0.15 内側)、くさびは境目の上だけ(μ 0.8・θ₀ 2.0° は入る、μ 0.3・θ₀ 4.5° は詰まり)、視覚の錨(穴 1 つ 0.016 mm、囮あり 0.47 mm)、記録つき走行 48 コマ。正直に: VLM との比較は作らない、5/5 は各クラス 1 条件ずつで論文の実機の成功率とは並べない、視覚の署名は構えた時の RGB-D の錨 + エンコーダ積分(穴に入った先端は写らない)、かじりの判定は停滞中・F_z ≥ 1 N でだけ、回復プリミティブは脚本、詰まりの向きは 1 配置、触覚は未使用。 py -3.11 examples/poc_peg_failure_recovery.py |
- 食材の切断を画像で測る —— 刃の追跡・切片の厚み・切断面の粗さ・手首のたわみからの切断力、真値は閉形式と MuJoCo — 物理シミュ × Fullseye 系列。題材はロボットの食材スライスの研究(arXiv:2404.02569、ICRA 2024)。学習はせず規則だけで「画像 → 刃の高さ → 柔らかい手首のたわみ → 力 → 靱性 R」の鎖を閉じる。新モジュール cutting 16 op + mujoco の facade 1。真値は外から 3 つ: 閉形式の切断力学(Atkins 2016 の摩擦なしの押し + 引き V/(Rw) = 1/(1+ξ²)・H = ξV、H/Rw は ξ = 1 で最大 0.5; Williams & Patel 2016 のくさび + 摩擦、μ = 0.2 で θo = 79°・最小 1.24)、MuJoCo(正射影カメラで描いた刃を同じ追跡器で追い、手首の拘束力と比べる、–full)、有限要素の刃の力(arXiv:2105.12244 の CSV、CC BY-NC 4.0、repo に入れず環境変数 FULLSEYE_CUT_FORCE_DATA から形だけ比べる)。★厚みの縁は行の 3 色(背景・食材・刃)の線形分解で読む: 割合の和が縁の位置になり、ぼけは和を変えないので窓をぼけの推定で広げれば偏らない(ぼけ 4 px の偏り −18 → +11 µm、8 px は刃の帯が細すぎるので拒否 —— 試作は −37 µm で黙って通った)。照明の左右勾配は刃の帯の輝度から推定して戻す(66 → 5 µm)。門 14 本(numpy、CPU 0.95 s)+ –full 7 本(元の解像度 2・MuJoCo 4・FEM 1): 閉形式 1e-16、H/Rw の最大 0.5000 @ ξ 1.000、θo 78.69°・最小 1.2440、刃の角度 0.017°、隠れた中央の刃先 8.2 µm、深さ 29 µm、厚み 0.1〜5 mm の偏り 6.9 µm・行ごとの RMS 18.5 µm、粗さの床 Rq 11 µm、R 393.6(真値 400)・ξ 0.561(真値 0.570); –full: 厚みの偏り 2.8 µm、MuJoCo の描画 → 追跡 0.9 µm、手首の力 0.083 N ≤ c·v 0.150 N、柔体は破断せず刃が 0.76 N で頭打ち。正直に: 力の真値は外から来ていない —— 合成の力も当てはめも同じ Atkins の模型(力 1.25 倍の世界でも R が 1.25 倍に出るだけ = 配管の検査)、食材は変形しない・刃先は直線・片刃を仮定、摩擦と刃角を含む slice/push の式は未読なので組み合わせは ValueError。
py -3.11 examples/poc_food_cutting_measure.py
- 柔らかい手首のペグ挿入 —— Whitney の準静的幾何を門に、手首カメラの計測で穴へ寄せ、MuJoCo の接触で確かめる — 物理シミュ × Fullseye 系列の第 1 弾。真値は 2 つの外から: 定理 = Whitney 1982(原著は未読、著者本人の OCW 2.875 スライドの式: 二点接触 l/d = c/θ・θ_m = √(2c)・くさび θ > c/μ・かじりの平行四辺形 λ = l/(2rμ))、接触 = MuJoCo。自分で作ったのは 3-D の円柱で厳密にした二点接触の深さ l tan θ = 2R − r(cos θ + sec θ)(l sin θ ≈ 2c_r が 4 次まで)、真の姿勢から接触点数を幾何だけで予測する第 2 実装、手首 RGB-D 1 枚から穴中心とペグ先端を 3-D で読む計測。新モジュール pegsim 18 op(+ mujoco の facade 9)。門 23 本: Whitney の量の手計算、l₂ sin θ = 0.3977〜0.3999 mm(2c_r = 0.400)、2-D の長方形近似は 6° で 0.52 mm ずれる(反例)、第 2 実装が l₂ ∓ 0.05 mm で 1 点 / 2 点、PnP の恒等式 1e-9、既知半径の円当てはめは 25° の弧で中央値 0.15 px(自由 3.3 px)、合成 RGB-D で穴中心 0.004 px、MSAA の深度はサンプル 0 の位置 (−0.125, +0.375) px、8 姿勢で穴中心 max 0.18 px(自由な円)/ 0.045 px(治具の半径で当てる)・相対ずれ 0.024 / 0.010 mm・先端の横 0.003 px、mj_geomDistance の l₂ は閉形式と 0.07 mm 以内、挿入の二点接触の始まりで l sin θ = 0.400 mm(走行ごとに 0.4003〜0.4004)、サーボ 7 回で 2.24 → 0.03 mm、格子は補正なし 1 mm まで(面取りの許容 1.2 mm)・補正あり 12 / 12。正直に: 先端の軸方向は 0.50 px(0.3 px 未達)、接触点数の生の一致 0.69(±1 で 0.96)、剛体 + ばねの手首、原著未読。踏んだ罠: MSAA の depth はサンプル 0 の位置、円柱の既定 28 スライスで半径が 0.04 mm 内側、2-D 近似は 0.5 mm 違う。
py -3.11 examples/poc_pegsim_insertion.py
-
| 知覚指標 FSIM / FSIMc / GMSD / VIF を外から来た真値で 4 桁一致させる —— TID2013 の作者値ファイル 3 本と公表の順位相関表 — IQA 系列の第 2 弾(第 1 弾 = PSNR / SSIM)。第 1 弾が「未実装で公表値だけ表に」していた FSIM / FSIMc / VIFP を numpy + scipy だけで実装し(新モジュール iqafsim 7 op: fsim / fsimc / fsim_pair / gmsd / gmsd_map / vifp / phase_congruency_pc)、配布物に無い GMSD も足した。一次情報 = Zhang ほか 2011(FSIM)、Kovesi 1999(位相一致、公開コードは MIT)、Xue ほか 2014(GMSD)、Sheikh & Bovik 2006(VIF)。FSIM 作者コードは研究・教育目的のみなので移植せず論文の式から書いた。真値は 3 段: 作者値ファイル(3,000 行 × 4 桁)と行ごと max |
差 |
FSIMc 5.0e-5 / FSIM 5.0e-5 / VIFP 6.8e-5、TID2013 論文 Table 4/5 の順位相関 4 桁(Full と 7 部分集合、作者と同じ 4 桁丸めで Δ 0.0000、丸めない値は ±0.001: FSIM 0.8008 / 0.6295、FSIMc 0.8510 / 0.6665、VIFP 0.6080 / 0.4560)、GMSD は作者値が無く二次資料(Nafchi ほか 2016)の |
ρ |
0.8044 / 0.6339 に 0.0006 / 0.0005。入力の規約は実測で特定: FSIM.txt と VIFP.txt は Y′ limited(16–235)の灰色画像、FSIMc.txt は色 → YIQ full(色画像の Y で FSIM を測ると max 0.0318 ずれる反例)。門 26 本(合成 10 + 実データ 6 + –full の 10、3,000 組 11 分)。正直に: 4 桁一致は規約を同じにしたからで性能の話ではない、GMSD は二次資料との照合だけ(1 段低い等級)、steerable 版 VIF は未実装、歪み 16–18 は 4 指標とも弱く彩度変化は FSIMc だけ残る。踏んだ罠: scipy の偶数核 ‘same’ は半画素ずれる、round(1.5) は 0 から遠い側、ε は単位ベクトル化だけ(分母に足すと利得不変が 3e-5 崩れる)、GMSD の符号(公表表は |
ρ |
)、公表表は 4 桁丸めの txt から計算されている(丸めで歪み 18 の 106 組が同順位になる)。 py -3.11 examples/poc_iqa_fsim_gmsd_vif.py |
- 公開の正解で画質指標を測る —— TID2013 の 3,000 枚 × 971 人の MOS と作者の公表値を門にする — 「自作の罠を自分で解くのは限界」→ 真値を外から持ち込む画像側の第 1 弾。真値 = TID2013(Ponomarenko ほか)の MOS、基準 = 作者が配布物に同梱した PSNR / SSIM 等 14 指標の値と公表の順位相関表。新モジュール iqatid 11 op(limited-range の整数輝度 Y′、平均順位の Spearman・τ_b の Kendall、公表表、台帳の読みと検証、評価・比較・歪み種別)。門 21 本: 順位相関の閉形式(単調 1・反転 −1・同順位の手計算 ρ = 8.5/√95・τ_b = 7/√90、graphinv の第 2 実装と 1e-12)、Y′ の端点 16 / 235 と 1.321 dB、PSNR の +1 LSB = 48.13 dB、SSIM 恒等 1、公表表 14 本。実データ(3,000 組 110 s): Fullseye の PSNR(RGB)は作者の PSNRc と 4 桁一致(max 0.00005 dB)、輝度 PSNR は参照 I12 以外 2,774 組で max 0.00017 dB(I12 の 115 組は 28 画素が丁度 .5 で 0.00058 dB)、SSIM(Y′)max 0.000051、順位相関 PSNR 0.6395 / 0.4699(公表 0.640 / 0.470)・SSIM 0.6370 / 0.4635(0.637 / 0.464)、作者値 14 本の再現 max 差 0.00048。反例: full-range の Y で測ると 1.312 dB ずれる(規約が答えを変える)。正直に: 4 桁一致は作者と同じ原実装の規約を踏んだからで SSIM の性能の話ではない(SROCC 0.637 は 14 本中 10 位)、FSIM / VIF 等は未実装で公表値だけ表に、画像と MOS は repo に入れない(研究・教育目的のみの配布)、CI は合成の門だけ。
py -3.11 examples/poc_iqa_tid2013.py
-
| 他人の場面で自分の運転手を走らせ、他人の採点器に出す —— CommonRoad の公開シナリオと TUM の公式チェッカー — ユーザーの指摘「自分でトラップ作って自分で攻略する形は限界がある」→ 真値・門・被験者のどれか 1 つを外から持ち込む第 1 弾。場面 = CommonRoad(TUM、BSD-3)の公開シナリオ、採点器 = TUM の drivability-checker(WSL、tools/check_solution_json.py で JSON に)、自分のものは運転手だけ。新モジュール drivecommonroad 10 op: 2020a XML の自前読み(lanelet・障害物・planning problem・標識 274・stopLine)、経路、KS 運動学(後軸、RK4、BMW_320i は parameters_vehicle2 の値)、縦 IDM + pure-pursuit + 停止線の運転手、gap acceptance の sweep、採点器の第 2 実装(実現可能性 2 cm・SAT 衝突・道路境界)、公式の solution XML、公式 JSON の読み。門 22 本: 合成 T 字路で読み・経路 98.84 m = Σ 中心線・直進 1e-9・円 R = l_wb/tan δ・ゴール到達・ |
a |
≤ 3・停止線の 0.90 m 手前で停止・feasible 2 cm・衝突なし・前を見ない運転手は (52, 2) で衝突・blocked で手前停止・ksState 201 = step 数・位置 = 後軸 + b。実データ ZAM_Tjunction(lanelet 12・障害物 5・制限 14.0)で sweep 14 回目 a_lat 8.0 が通り 148 state、公式チェッカー valid true、負の対照(穏やかな運転手、t 6.8 s で対向車 1 と衝突)は公式も obstacle_collision true・valid false、自前と公式の 5 項目 × 正負が全部一致。正直に: ZAM は IDM だけでは解けず sweep で解いた、a_lat 8 は快適性として高い、譲る運転は未実装、公開 2020a に信号・停止線・一時停止標識が無く規則の採点は合成のみ、公式の合否は WSL の JSON が正。出典: CommonRoad scenarios(TUM、BSD-3)。 py -3.11 examples/poc_driving_commonroad.py |
- 実在の日本の町を自前の世界に建てて走る —— 道は OpenStreetMap、建物は PLATEAU、道具立てと規則は日本のもの — 著者の発案「出来れば日本のマップでやりたい」。外部シミュレータの同梱マップは欧米の町なので、自前の世界に日本を作る。新モジュール drivejapan 15 op(OSM の読み込みと等距円筒、道路網、幅つき線分のラスタ和集合、contours_xld の境界追跡で穴 = 街区、最短路を左の車線中心に寄せて停止線を並べる、日本の道具立て: 一時停止 330-A 一辺 80 cm・停止線 45 cm・「止まれ」240 × 80 cm × 3 字・踏切警標・電柱・カーブミラー・進行方向に平行な横断歩道)と driveplateau 7 op(国交省 PLATEAU の CityGML から LOD1 の足元と高さ → 押し出し柱)。門 24 本: 緯度 0.001° = 111.3195 m、第 2 実装と 1e-9 で一致、直線路の面積 = L w + π(w/2)² に 0.04 %、境界ループの面積 = 画素数 × step² に 1.5e-11、格子の穴 4、最短路 160 m、停止線 76.25 / 156.25 m(閉形式)、右側通行は鏡像、逆向き一方通行を避けて 320 m、停止 2 回が停止線の 0.54 m 手前、town_checks ok、一時停止の板は一辺 0.8 m、「止まれ」の列 9.2 m、合成の柱 30 m。実データ(銀座 0.7 × 0.6 km、OSM 586 辺・街区 122・PLATEAU 852 棟)では面積の門 5e-8、経路 461 m を停止 7 回で走り ok。正直に: 幅は 6 割が種別の既定、字形は略字形、他車・歩行者・現示なし、地盤は平ら。図の出典: © OpenStreetMap contributors (ODbL) / 国土交通省 Project PLATEAU。
py -3.11 examples/poc_driving_japan_town.py
-
| 町を 1 つに組む —— 教習所の要素を自動で継ぎ、入口から出口まで通して走り、途中の停止線を全部採点する — 著者の発案「各 PoC 系列で 1 回ずつ集大成を作る。第 1 弾は運転」の土台。新モジュール drivetown 10 op(要素 k+1 の entry を要素 k の exit に合わせる閉形式の配置 p = target ∘ entry⁻¹、既定の町 9 要素 235.1 m、1 本の中心線、通行側で選ぶ停止線、法規パック JP/US/DE、遮断機つき警報機・遮断かん・列車を解釈基準の状態機械で動かす踏切、先の停止線を止まっている先行車と見なす IDM の縦だけの通し走行、通しの採点、教則 159 場面の台帳の集計)。門 38 本: 警報 20 s の列車で踏切の発進 65.50 s ≥ 上昇完了 65.45 s・警報中に踏切面にかかった時間 0、JP は 2 回停止・US/DE は列車なしなら 1 回、右側通行の停止線は交差点中心の鏡像(s 40.95 ↔ 65.95)、遮断中のコマに遮断かん 1078 画素・列車のコマに 46,129 画素、 継ぎ目 8 か所の位置差 − overlap = 1.1e-14・向きの差 0、総延長 = Σ − 0.05 × 8 で差 0、停止線 2 本の位置は規格の寸法から閉形式(1e-9)、停止は停止線の 0.537 / 0.536 m 手前、 |
a |
最大 1.877 ≤ 3、台形則の ∫v dt と s の差 3.9e-11 m、制動距離 ≥ v²/2b、crossing_stop_check が ok(左右を見た)、同じ指令を long_simulate(RK4)に渡した第 2 実装と停止位置の差 0.002 m、車載カメラのコマに信号機・レール・斜面の面が映る。正直に: 縦だけ(横は中心線に貼り付け)、信号は 2 秒待てば青の規則で灯火は読まない、他車・歩行者なし、US/DE の規則は一次資料未確認(verified False)。 py -3.11 examples/poc_driving_town.py |
- 同じ場面を 2 つの世界で撮る —— 写実シミュレータの深度を閉形式の真値で採点し、自前の世界と並べる — 著者の発案「一番リアルに近い環境に、今までの技術を駆使した完成形を載せたい」→ 環境は両方(自前の世界 + CARLA 0.9.16)。集大成の最初の部品 = 2 つを同じ規約で結ぶ橋。新モジュール carlabridge 25 op(左手系の鏡映・カメラの向き・主点の 0.5 画素・24 bit の深度・29 タグ → 14 ラベル・場面記録の読み書き・採点)。門 14 本: 回転行列が CARLA の客体の get_matrix と一致、カメラ姿勢 = look_at、深度の往復 ≤ 量子化 1 段、記録の往復で描き直しが画素単位で同じ、閉形式の真値と深度の中央値(CARLA は全コマ +0.10 m、自前の描き直しは ±0.3 m)、車の画素数 ∝ 1/d²(両対数の傾き −1.94 / −1.99)、画素数の比 0.90〜1.08。CARLA の撮影記録は repo の外(FULLSEYE_CARLA_DATA)、無ければ自前の世界で同じ門。正直に: CARLA の真値そのものは検証できない —— 確かめたのは規約の可逆性と閉形式との一致。
py -3.11 examples/poc_carla_bridge.py
- 遅れても詰まらない倉庫 —— AGV の群れは「計画が正しい」だけでは止まる — 著者の発案「製造業でよく使われる AGV 系は全然やってないな」「技術課題を調べて PoC してみましょう」。新モジュール agvfleet 13 op(倉庫の格子・CBS・焦点探索・結合 A・優先度付き計画・行動依存グラフ ADG・VDA 5050 の order と規則の検査)。門 10 本: CBS の総コストが結合 A(第 2 実装)の最適値と 40 / 40 で一致、焦点探索 ≤ 1.3·最適 40 / 40、優先度付き計画がどの順でも解けない実例(CBS と結合 A* は総コスト 9)、12 台の計画を遅れ p = 0.3 で 1000 通り実行して ADG は衝突 0・デッドロック 0、素朴な実行は 641 / 1000 が詰まり、うち 640 は着いて居座る車による封鎖で待ちの閉路は 1 件だけ。VDA 5050 の order は規則の違反 0、壊した sequenceId は落ちる。正直に: 1 手 = 一定時間の格子の離散モデルで加減速・旋回・車体は入れていない。
py -3.11 examples/poc_agv_fleet.py
- 横断歩道を渡るヒューマノイド —— 実在ロボット 7 機種を、車の物理は正確なまま、歩く側は安く描く — 著者の発案「人の代わりにヒューマノイドも何種類か擬似的に歩かせる」「計算コストを下げられるなら手段は問わない」「当たり判定はそこまで精密でなくていい」「物体ごとの描画をマスク付きで作っておく」。新モジュール drivehumanoid 5 関数: MJCF から手続き的な歩行 1 周期(関節の役割は名前でなく体の形から)、格子で間引いたメッシュ(ずれ ≤ √3·格子幅)、向き × 位相のマスク付き事前描画。人型 1 の見た目は 1 体 39 万三角形で、そのまま 3 体だと 1 コマ 1.5 s、事前描画なら 10 体でも地面だけと同じ 0.07 s。Menagerie が無ければ [skip]。
py -3.11 examples/poc_driving_humanoids.py
- 踏切と交差点の優先 —— 直前で止まって左右を見る、警報の間は入らない、向こう側が詰まっていれば入らない、広い道へは譲る — 教則の台帳の未着手から、ルールベースの部品で再現できる踏切・交差点の優先・横断歩道・駐停車禁止の場面。新モジュール drivecrossing 17 op(解釈基準の警報の時間と遮断機の状態機械・警報灯を画素から読む・渡り切る時間と向こう側の余地・見通しの閉形式・36 条の優先・38 条・44 条の禁止区間)。ルールの 240 人は違反 0・列車が着くとき線路の上 0 人(余裕 最小 31.5 s)、警報中に入る版は 157 件で 23 人が線路の上。正直に: 幅の比 1.5・「急に」2.0 m/s²・遮断かんの時刻・参照分布は仮定、警報灯の毎分 50 回は二次資料。
py -3.11 examples/poc_driving_crossing.py
- 横の運動 —— カーブの手前で落とす、車線の中を保つ、左に寄って左折する、内輪差で巻き込まない — 著者の方針「部品はルールベースに限定して増やす」「ランダムな値は統計で極端に外れたものを採用しない」。新モジュール drivelateral 20 op(摩擦円とカーブの限界速度・道路構造令・2 輪モデル・内輪差の閉形式・クロソイド・pure pursuit と Stanley・曲率からの速度計画・TLC・左折右折の採点)。120 人の速度計画で摩擦円の使用率 最大 0.48(計画なし 1.65〜2.42)、左に寄った左折は隅の自転車から 0.66 m、前輪で隅をなぞると内輪差で触れる。標本の門は 1 個ずつ(0.1 % 点)と集団(KS)。正直に: 線形タイヤ・寸法と判定の幅は仮定。
py -3.11 examples/poc_driving_lateral.py
- 判断の場面 —— ミラーで左後方を確かめる、歩行者信号から黄を予測する、救急車に道を譲る、バスの発車を待つ — 著者の発案「信号は歩行者信号の動きを見て予測も必要」「ミラーの確認もいる」「救急車が来た時もちゃんとしないといけない」「バスは発車まで待つ」。新モジュール drivedecide 18 op(ミラー = 鏡の向こうの仮想カメラと凸面鏡の死角・確認と合図の順序の採点・歩行者信号から黄の予測とジレンマゾーン・点滅の折り返し・サイレンのドップラーと到着時間差・40 条と 31 条の 2 の採点)。凸面ミラーで死角 37.1 → 20.4 m²、予測ありはジレンマゾーンに 0 回(予測なし 48 / 600)、救急車の手前で左に寄って一時停止。正直に: 判断の遅れ・附近 30 m・ミラーの寸法は仮定、サイレンの周波数と黄の長さは一次未確認。
py -3.11 examples/poc_driving_decisions.py
- 動く交通と死角 —— 路肩駐車の陰の子ども、対向車とのすれ違い、バス停、下手な運転、横断歩道で待つ人 — 著者の発案「歩行者とか外乱要素がまだまだ足りない」「自転車も」「路肩駐車も」「下手くそな運転も」「バス停車中は発車まで待つ」「歩道で待つ人がいれば一時停止」と「教本の要素を再現するべき」。新モジュール drivetraffic 18 op(IDM と運転の癖・OU の横ふらつきと最尤・Social Force の歩行者と横断の意図・死角の視線の閉形式と止まれる最大速度・すれ違いの境目・λ(x, t) の飛び出しと重要度サンプリング)。路肩駐車の陰の子どもに 10.7 km/h で備えて 445 試行の全部で止まり、背景差分で 0.133 s 遅れで気づく。荒い運転の車列は t = 10.8 s に追突。教則 159 場面の再現台帳(再現 8・一部 11・不能 7)。正直に: 癖・歩く速さ・側方間隔は仮定、死角は 2D。
py -3.11 examples/poc_driving_traffic.py
- 終わらない地図 —— 区画を車の周りに作り足し、離れた区画は捨てて、50 km を途切れずに走る — 著者の発案「マップが前後左右にエンドレスに作られ、離れたマップは自動で消える形なら長距離の連続走行を試せる」。世界を 200 m の区画に分け、区画の中身を区画の番号と世界の種だけで決める(新モジュール driveinf 12 op)。道は辺の番号のハッシュで横切る位置を決めるので継ぎ目で必ずつながり、起伏は全体の整数格子の Perlin を区画の中の小数で補間。車の周り 5 × 5 だけを持って 1,000 km 先の区画から 50 km 走る: 作った区画 956、捨ててから作り直した 214 区画は指紋が一致、継ぎ目の高さの差 3.3e-15 m、持つ区画は最大 25。位置を (区画, 区画の中) で持つと誤差 2e-11 m、全体の座標をfloat32 で持つと 33.42 m ずれる。正直に: 道は直線の折れ線、建物・交通は無い。
py -3.11 examples/poc_driving_endless_map.py
- 太陽と天気 —— 朝日の逆光で信号が読めない時間帯、霧の中で見えてから止まれる速さ、雨の路面、夜の前照灯 — 太陽と天気を物理の単位(輝度・照度)で入れ、車載カメラの信号の読みがどこで落ちるかを画素の式から先に出して確かめる。太陽の位置は国立天文台 暦計算室の東京 2026 年 4 日の日の出・南中・日の入り 24 値と丸めで一致、影の先端は h cot(高度) と 1 画素以内。逆光は灯火の色度が許容を割る白の量 W* と光幕 10E/θ² から閾値 θ* を出し、3 色 × θ の掃引で読み・読めないが予測どおり。春分の朝、東へ向かう車から赤が読めないのは05:53〜07:05(描いて確認)。霧は路面の縦の輝度に Koschmieder を当てて視程を画像から戻し(誤差 0.96 %)、色が読める距離 ln(1 + W*/L_h)/β と画像の読みが一致。視程 200 m で赤が読めるのは停止線の 6.6 m 手前から → 止まれる速さ 17.5 km/h、その 0.9 倍では止まり 1.25 倍では越える。雨は道路構造令の解説の停止距離の式と一致(第 2 実装)、夜は仮定した配光で歩行者を すれ違い 60 m・走行 120 m で見つけ、止まれる速さの上下で止まる / 止まれない。正直に: 空・薄明・灯火・配光・HDR カメラは仮定、光幕は人の目の式でレンズを代用。
py -3.11 examples/poc_driving_weather.py
- 車に慣性と坂を —— 空走 + 制動で停止線の手前に止まり、坂道で止まって逆行せずに発進する(技能試験の採点) — 警察庁の技能試験(丙運発第 12 号)の採点で、車に慣性と坂を入れる。1 次元の運動方程式(駆動・制動・g sin θ・転がり抵抗・空気抵抗、止まっている間はブレーキの保持の範囲で動かない)の積分器が、停止距離の閉形式 vρ + (1/2k)ln(1 + k v²/A) と平地・上り・下り × 20/40/60 km/h で 8.5e-14、平地では rsssafety と 5.5e-13(第 2 実装)。坂道発進のずり下がり ½a₁τ² + (a₁τ)²/(2a₂) と 1.8e-15(11 %・踏み替え 1 s で 0.533 m)、エネルギー収支 1.2e-9 J/kg。車載カメラで信号を読み(読みを信じる距離の中で 117 / 117 一致)、黄を読んでから空走 + 2 段の制動で停止線の手前 0.500 m に止まり、青で発進、坂道で一時停止して逆行 0 で発進 —— 減点 0・100 点。つまみ: 反応時間は閉形式のしきい値 2.546 s を越えると停止位置不適、路面の μ は下限 0.1134 を割ると線を越える、勾配は 9 % で逆行小・10 % で逆行中。正直に: 逆行と停止位置の距離の閾値は通達に無く二次情報、質量・制動の上限などは仮定。
py -3.11 examples/poc_driving_longitudinal.py
-
| 読みの誤差が卓球のラリーを終わらせる —— 雑音と遅れが着地点をどれだけ動かすかを、打つ前に閉形式で出す — 卓球ロボットの読みの誤差がどう着地点を動かすか(ヤコビアン J)を打つ前に出し、雑音・遅れ・ラリーの途切れを説明する。真空の閉形式 ΔL_xy = −δ_xy − (v_xy/ |
v_z(T) |
)δ_z と数値の J が差 2.5e-06。σ = 2 cm の読みで 300 本のばらつきが J Σ Jᵀ と 1.0・0.8 %。縁から 6 cm を σ = 3 cm で狙うとアウトの確率 予測 0.043・実際 0.060。遅れ τ は J · (−vτ − ½gτ² ẑ) と 0.2〜0.6 %。雑音 0 の送り合いは 10 本続き、σ = 6 cm(σ* の 1.2 倍)では 9・8・2・7 本でアウト。正直に: 誤差は位置の読みだけ、毎コマ独立のガウス、雑音が大きい側(縁 12 cm・σ 5 cm)は予測 0.017・実際 0.003 で、300 本では近似の誤りの向きが決まらない。 py -3.11 examples/poc_table_tennis_rally_loop.py |
- 跳ねる卓球の球を高速カメラで撮って、反発係数と摩擦係数を読む —— 公表値と照合する — 台の上の跳ね 22 本を横から 1 台の高速カメラ(1000 fps)で撮り、画像だけから反発係数 e・摩擦係数 μ・跳ねの種類(転がりに移るか滑ったままか)を読んで公表値と照合する。ITTF の台の跳ね(30 cm → 約 23 cm)を動画から 23.0 cm。e の速さへの依存の傾き -0.00572 /(km/h)は Inaba ら 2017 の −0.0058 と 1.4 %。滑ったままの跳ねから μ = 0.2500(真値 0.25)、種類は Cross 2002 の閉形式の境目と 15 / 15 一致、転がりに移った跳ねは rω’ = v_x’。見つけたこと: 30 → 23 cm を e = √(23/30) と読むと抗力の分を落とす(0.876 では 21.7 cm、抗力込みの e は 0.9019)。Inaba らの式そのものは30 cm から 25.5 cm 跳ねる台になり ITTF と食い違う。正直に: 合成映像、e(v) は 2 つの公表値を継いだ合成、μ は定数。
py -3.11 examples/poc_table_tennis_bounce.py
- 回転で曲がる卓球の球を撮って、回転を 2 通りで読む —— 曲がり方から / 球の模様から — 同じ打ち出しで回転だけ違う 4 本(トップ・無回転・バック・横、150 rad/s)を 2 台のカメラ(240 fps)で撮り、回転を 2 通りで読む。曲がり方から: 三角測量した跳ねる前の軌跡に運動方程式を 9 パラメータ(位置・速度・回転)で当てる(fit_spin、新 op)—— 垂直成分の誤差 トップ 3.9 %・バック 0.9 %・横 1.7 %、読んだ回転で先読みした着地点は 4 本とも真値と 2 cm 以内(x = [0.488, 0.754, 1.124] m)。模様から: 近接カメラ(1000 fps)の黒い模様の動きを Kabsch で当てる —— 4.8 %・3.2 %・0.9 %。2 つは独立(どちらも真値を見ない)で、互いに 10 % 以内。進行方向に平行な回転は力を生まないので曲がり方からは読めない(定理: 瞬間の力は 0、0.25 s でも 7.1 mm 対 5.4 cm)。軌跡が短いと曲がりが見えず読めない(400.3 % → 4.0 %)。正直に: 合成映像、空力係数は真値と同じ式、回転の減衰なし。
py -3.11 examples/poc_table_tennis_spin.py
- けん玉を先駆者の目で —— 本物の形のけん玉を 2 台のカメラで撮り、画像だけから玉の軌道を予測して大皿・小皿・中皿で受ける — 日本けん玉協会の公表値(玉 60 mm・横幅 70 mm・全長 180 mm)とユーザー提供の JKA 16-2 型の説明(けん 160 mm、皿 42 / 38 / 35 mm)でけん(けん先・握り・中皿)と皿胴(両端が大皿・小皿に開く)の回転体、穴のある玉、皿胴の糸穴から出る糸を作り、寸法を頂点から測る(全部 1e-9、けん先を穴の底まで挿した全長 180 mm)。定理が門: K(0.5) を AGM が 1e-12、大振幅振り子の周期をひもが 3.0e-4・棒が 8.9e-11、張力の閉形式と 0.26 %、弛む角 125.04°(閉形式 125.26°)、snap の落ちは ½mv_r² と 0.2 %。閉ループの根拠は画像だけ: 480 × 360 × 2 台・100 fps を描き、色度で玉を検出(三角測量の誤差 中央値 0.51 mm)、ひもが弛んだら(画像で +23 ms)重力つきの放物線を当てて皿を運ぶ。制御は段階を明示(振り上げ → 弛むまで待つ → 玉がけんを越えるまで待つ → 水平に運ぶ → 着地で下げる)、けんが玉に触れたら失敗。20 試行の成功率は大皿 真値 1.00 / 画像 1.00、小皿 1.00 / 1.00、中皿 0.95 / 0.95、ろうそく(真値)0.95、着地で下げると相対速さは 0.91 → 0.61 m/s。予測誤差は弛んだ後のコマ数とともに 10.51 → 0.98 mm。画素雑音 0 / 0.5 / 1 / 2 / 8 / 16 px → 1.00 / 1.00 / 1.00 / 1.00 / 0.90 / 0.40(2 px まで平らなのは縁の余裕 21 mm、横ずれは 2.4 → 4.1 → 12.1 mm)。穴の向きは静止した玉で角度誤差 中央値 1.8°。世界を 3D Gaussian Splatting(gsplatnp、間隔 4 mm)にして描いた画像だけでも閉ループは 3 / 3 で捕り、間隔 2〜64 mm で玉の検出率 1.00、位置の誤差 20 mm で 0.25・色の誤差 0.3 で 0.00。3DGS の上の穴は解像度 × 2・間隔 2 mm で 40 姿勢中 16(中央値 2.3°)、× 1 では 1。連続技: 受けた皿から放ち、飛んでいる間に持ち替えて次の皿で速さを合わせて受ける —— 画像だけで もしかめ・3 皿とも 10 回連続(協会の 5 級相当)。正直に: 合成映像、玉の回転は解かない、捕球は縁に触れた瞬間の幾何判定(相対速さ ≤ 1 m/s は仮定)、皿持ちの傾き 15° などは仮定。
py -3.11 examples/poc_kendama.py
-
| 粘菌は最適輸送を解く —— 源と吸込を質量の分布にすると、同じ管の力学が Earth Mover 距離へ収束する — graph_physarum_transport(重み付きグラフ + 供給ベクトル)と physarum_transport_image(質量画像 2 枚)で、Tero の管の力学をL1 最適輸送(Beckmann 問題)に。真値 10 件(木の閉形式 5・1 次元・Hungarian 法・LP・平行移動 |
dr |
+ |
dc |
・単一対の Dijkstra)と全部一致し、Kantorovich–Rubinstein の下界(圧力の McShane 包絡)が費用を下から挟む。隙間が閉じたら止まる(証明書つき)。 py -3.11 examples/poc_physarum_transport.py |
- 線虫の脳の核は生まれた時から在る —— 8 匹の発生系列で「最も深い殻」に居続ける細胞を数える — Witvliet 2021 の 8 匹を graph_kcore / graph_rich_club_curve / graph_core_persistence で剥く。シナプス数で剥いた最深殻は発生を通じて 6〜10 細胞(指数 7 → 55)、RIA の対は 8 匹全員に居る。0/1 の k-core は最深殻が 150 細胞に膨らむ。4 種の核のどれかで持続する細胞 51 = Yadav & Singh 2026 の公表値。門は定理(完全グラフ n−1・木 1・閉路 2)と networkx との一致。
py -3.11 examples/poc_worm_core_persists.py
-
| 走行長は小さな融合を許さない —— 同じ誤りを、ERL と VOI は違う重さで数える — Witvliet 2021 の骨格を正解に、候補のラベル付けを 1 つずつ仕込む。分断 1 つの ERL は閉形式 (A²+(L−A− |
e |
)²)/L、VOI は (m/N)·H2 と全件一致。融合の大きさ q を 5 % → 50 % と振ると VOI の merge は単調に増えるが、ERL は融合した走行を丸ごと 0 にするので損失は q に依らない。分岐の無い骨格の一様 m 点切りは Dirichlet の期待値 2L/(m+2) と一致。 py -3.11 examples/poc_skeleton_run_length_vs_voi.py |
- シナプスは神経突起に比例して増えるか —— 8 匹の線虫で、形の成長と配線の成長を細胞ごとに並べる — Witvliet 2021 の 8 匹の骨格(tree op)と配線(graph_strength_growth)から: 系全体では密度は L1 で ×1.32 上がりその後の揺れは 1.14(論文どおり)。細胞ごとの突起の伸びとシナプスの増えの順位相関は 0.23(零分布 0.17)で弱い。新しいシナプス 6,674 個の 48 % は既存の接続を太らせ、54 % が新しい接続。ハブの取り分は出発時より下がる。
py -3.11 examples/poc_worm_synapses_vs_neurites.py
- 電子顕微鏡の神経の切り出しを採点する —— 分けすぎとまとめすぎを別々の数字にする(VOI の split / merge) — CREMI sample A の正解に seg_inject_split / seg_inject_merge で誤りを 1 つずつ仕込むと、split だけ・merge だけが閉形式 (m/N)·H2(m1/m) ビットどおり上がる(8 件とも誤差 < 1e-12)。古典の切り出し(膜応答 → しきい値 → 連結成分 → 膜の画素を最寄りの細胞へ)は、しきい値 65 % と 70 % の間で分けすぎからまとめすぎへ入れ替わり、VOI 最小は 65 %。★膜の画素を背景のまま残すと merge が 2.4 倍に水増しされ、どのしきい値でも「まとめすぎ」に見える。
py -3.11 examples/poc_em_split_merge_score.py
- 切り出しの誤りは配線図のどこを壊すか —— 画素の採点は分断を重く、融合を軽く数える — CREMI sample A(3 次元)の正解に、シナプスのある神経 1 本ずつ分断・融合を仕込み(54 + 54 件)、画素の VOI とシナプスの端の VOI(seg_wiring_variation)を比べる。端の VOI は全件で閉形式 (s/2n)·H2(s1/s) と一致。分断の 23 / 54 件は配線を 1 ビットも変えず、画素 1 ビットあたりの配線の損傷は融合 1.30 / 分断 0.58。その比は恒等的に 密度 × 偏り で、分断の割引は端の個数の少なさ(中央値 3)が主因 —— seg_wiring_exposure が端の個数だけからの予言(上限・2 項分布の期待値)を返す(54 件の合計: 実測 0.677 / 予言 0.788 ビット)。
py -3.11 examples/poc_em_wiring_errors.py
- 線虫の神経突起は生まれてから何倍に伸びるか —— 8 匹の骨格を tree op で測り、論文の値と並べる — Witvliet 2021 の 8 匹の骨格(ニューロン 196〜218 本、断片に分かれた骨格 61 個を含む木 1,727 本)を SWC に直して tree_from_swc / tree_morphometry / tree_sholl で測る。第 2 実装: 断片が 1 つの骨格 1,586 本で op の最長経路が著者の dist_to_root と相対 1.75e-9 で一致。総長は生直後 2,806 µm → 成虫 12,038 µm で 4.29 倍、論文は約 5 倍 —— 著者の length を足しても 3.95 倍で、5 倍そのものはこのファイルからは出ない(同じ桁までは合う)。
py -3.11 examples/poc_worm_neurites_grow.py
- 40 年前の手作業の配線図と、今の成虫の配線はどれだけ重なるか —— 時代の差を個体の差と並べる — White 1986 の手作業トレース(成虫 N2U)と Witvliet 2021 の成虫 2 匹を共通 215 細胞の上で重ねると、1986 との Jaccard は 0.431・0.442、同じ手法の成虫 2 匹は 0.508 —— 時代と手法の差は個体差 0.49 に比べて小さい。3 匹すべてに在る結合 1,015 本(ヌル 28 本)。1986 に無い結合は細い(平均 2.0 対 5.7 シナプス)。恒等式: 同じ配線 2 回で Jaccard 1・並べ替えは置換だけ。実データが無ければ合成で回る。
py -3.11 examples/poc_connectome_across_decades.py
-
| 線虫の配線は左右対称か —— L/R 入れ替えの Jaccard を閉形式と次数保存ヌルで挟む — C. elegans 化学シナプス(n=300、 |
E |
=3,669、左右対 98 組)で L/R をすべて入れ替えた配線との Jaccard は 0.473 —— 完全対称 1.000 と次数保存ヌル 0.080(z 159)の間。真値は集合の数え上げの閉形式: 鏡映配線の右半分から k 辺を移すと Jaccard = (m−k)/(m+k)(16 段で整数まで一致)。予想「非対称は少数の対に集中」は外れ、上位 10 組で 20 %(一様 10 %)。実データが無ければ合成の鏡映配線で回る。 py -3.11 examples/poc_connectome_lr_symmetry.py |
- 本物の木で骨格計測を採点する —— NeuroMorpho の SWC を真値に、投影が何を壊すかを測る — SWC(座標・半径・親 id)は構造制約(根 1 / 親<子 / 節点=辺+1)を持ち、それ自体が門。3 次元 Sholl は回転で整数が 1 つも動かない(12 回転)が、投影して円で数えると角度で最大 9〜16 交点動く。分岐点は真値 16/11/37 に対し視線 12 角度で 22〜28/15〜24/41〜49 個(交差が細線化で分岐に化ける)。「木の計測」の精度は木でなく視線が決めている。データ(CC BY 4.0)は同梱せず、無ければ構造制約を満たす合成の木で回る。
py -3.11 examples/poc_swc_tree_truth.py
- 1 つずつでは決まらない角度と変位を、周期の違う位相を束ねて決める —— 中国剰余定理を画像に — residue 5 op を採点する。定理: 整数 CRT(Garner)が 0..692 の全数で総当たりと一致、冗長な帯域で壊れた帯域を当てて取り違え 0 件。3・4・5 回対称の輪の部品の向きを 360° で最大誤差 0.05°(輪を 4 割汚しても 0.84°)。実写テクスチャの 2 領域が別々に 20〜30 px 動く場面で、境界から遠い画素の外れはgrass 2〜3 %(ピラミッド LK は約 50 %)。窓の中で変わる場と境界の近くで壊れることも同じ表に出す。
py -3.11 examples/poc_residue_crt.py
- 文字はどこにあるか、を学習なしで —— 描いた文字の矩形を真値にストローク幅の検出器を採点する — textregion 3 op(Stroke Width Transform、Epshtein 2010)を、自分でフォント描画した文字(インク画素が真値)で採点する。恒等式: 矩形ストローク w=3,7 で SWT = w(全画素)、2 倍拡大で中央値 5 → 10。Latin size ≥ 32 でインク再現率 80〜90 %、CJK 60〜79 %、精度 ≈ 50 %(矩形は字の余白を含む)、文字の大きさ 6 段 × 雑音 4 段で「どこから落ちるか」を表にする。認識器は載せない。
py -3.11 examples/poc_text_region_truth.py
-
| 配線行列は「次数だけの偶然」より何倍構造を持つか(3 つの門を同じ物差しで) — コネクトーム / 血管網 / 配管図を隣接行列として、次数・相互辺・有向 3 サイクルを次数保存のヌルとの比で測る。素の個数は規模で決まって比べられないが、比なら門を跨げる。真値は整数の恒等式(Σ入 = Σ出 = |
E |
)・第 2 実装(3 サイクルの総当たり)・各標本の次数列保存・恒等ペアの Jaccard = 1。実データ無しでも合成配線で恒等式が通る。 py -3.11 examples/graphinv_three_phyla.py |
- 公開経路の無かった道具 18 本を一巡する —— 3-D の NCC・サブピクセルの端・帯域通過・法線の積分・二視点の幾何・ピラミッド・回転対称 — 棚卸し(2026-10-02)で fullseye のどこからも呼べなかった 18 本を fs.<名前> から呼び、答えの決まる入力で確かめる: 切り出しの位置で NCC = 1、x.5 の端は放物線補間で厳密、純正弦波の利得 = マスクの値、周期面は Frankot–Chellappa で 1e-15、雑音なしの三角測量、本質行列の特異値 (σ, σ, 0)、ピラミッドの大きさ、4 回対称の点群は次数 2・4 で 0。 `py -3.11 examples/hidden_ops_tour.py`名前>
segmentation
- グラフ・階層・閾値のセグメンテーション —— 最大フロー = 最小カット、ultrametric、つまみを回すと粗から細へ — グラフ・階層・閾値のセグメンテーション 16 op(graph cut・α-expansion・SRM・成分木の属性開放・準平坦領域・階層分水嶺と UCM・SNIC・quick shift・三角法・isodata・Kittler・Kapur)を定理(最大フロー = 最小カット、E ≤ 2c E*、ultrametric 等)と第 2 実装の門で確かめ、真値つき世界で掃引して採点する。
py -3.11 examples/poc_graph_hierarchy_segmentation.py
- 動的輪郭とレベルセット —— 輪郭が縮み、凹みに入り、エッジで止まるまでを閉形式で確かめる — 動的輪郭とレベルセット 10 op(snake・GVF・Chan–Vese・形態学的 CV・測地的 AC・再初期化・DRLSE・曲率流)を、閉形式と第 2 実装の門で確かめ、真値つきの合成世界で segeval により採点する。U 字の凹部に古典の snake は入れず GVF は入る、照明の勾配では大域の Chan–Vese が負け局所の手法が勝つ。
py -3.11 examples/poc_active_contours.py
- 接した 2 つの球を 3-D 分水嶺で割る —— 連結成分では 1 個、距離変換シードでは体積の等しい 2 個 — 台帳 opssegmentation の watershed3d(distance_peaks / watershed_vol / separate_touching)を fullseye.ledger から呼び、鏡映対称に置いた接する 2 球が連結成分では融合して 1 個、分水嶺では 2 個に割れて体積が厳密に等しいこと、前景をちょうど覆うこと、半径の違う球では大きい方のラベルが大きいことを確かめる。
py -3.11 examples/watershed3d_tour.py
- HALCON の Segmentation 章の 9 op を一巡する —— 差の検査・特徴空間の分類・領域成長・マーカー付き分水嶺 — segmentation.py に実装されていながら台帳に載っていなかった 9 op(check_difference / class_2dim_sup・unsup / learn_ndim_norm・class_ndim_norm / classify_image_class_lut / expand_gray / regiongrowing_n / watersheds_marker)を fullseye.ledger から順に呼び、合成画像で各 op の答えを数えて確かめる(マーカー付き分水嶺は尾根で割れる)。
py -3.11 examples/halcon_segmentation_tour.py
- 12 通りの自動しきい値に同じ絵を見せる —— 割れてよい数と、割れては困る向き — 値が 2 種類しかない板(明部ちょうど 400 px)を大域 10 種・局所 4 種の自動しきい値に見せ、大域が全部 400 px で一致することを assert。局所は数が外れてよいが向きは同じであることを確かめる。向きが逆だと面積が 400 から3,696(9.2 倍)になり例外も警告も出ないところまで見せる。実際に SimpleITK 由来の 3 op が補集合を返していたのをこの形で見つけた。
py -3.11 examples/threshold_family_agreement.py
- 細胞の計数と分割(計数が合っていて分割が全部外れる点がある) — 既知の位置・大きさ・重なりで細胞を配置して真値を握る。★偏り +0.3 個(0.4 %)なのに分割誤り 13.3 件という点が実在する(過分割 +1 と過統合 -1 が相殺する)。★過分割は重なりに反応しない —— 密度を 5 段振っても過分割の列はほぼ一定で、過分割は種の撒き方が、過統合は重なりが決める別原因。★「最適な h は密度で動く」は基準を書かないと真偽が決まらない(偏り基準では1.1→0.0 と動き、1対1 基準では 0.4 で動かない)。縁の規約だけで計数が 13 % 動く。
py -3.11 examples/poc_cell_counting.py
- 密集した泡を数える ―― 重なりが深くて決まらないときは、個数ではなく区間を返す — 距離変換の山の突出度(0 次元パーシステンス)で重なった泡を割り、決まらなければ区間で返す新 op
blob_count_interval。等しい 2 円の相対突出度は閉形式 1 − sqrt(1 − (1 − o)²) と 1.6 px 以内、割れなくなる重なり率は予言の幅に入り、自信をもった誤りは面積でも見えない重なり率 0.86〜0.90 から先だけ。BBBC005(CC0)の小さい物体で個数の相対誤差 0.34 %(連結成分 9.4 %)、大きい物体は 300 枚中 286 枚で数を返さず誤り 0。水電解の泡(PEMWE、CC BY 4.0)の形を並べた半合成で自信をもった誤り 2/65、ALCON2009 型の採点(重心が泡の矩形に入るか)は決まった塊で 0.95。★形の許しを孤立した泡の 95 % に合わせると誤りが 3 % → 19 % に増える矛盾を掃引で示す。 py -3.11 examples/poc_dense_bubble_count.py
- 成長のタイムラプスを時空間の連結成分として測る(合体はいつ起きたか) — ★ゼロ点(フレーム独立の計数)は思ったより強く、塊の数が減るフレームは真の合体時刻の1 コマ以内に出る。壊れるのは数ではなくその先 ——「どれとどれが」「合体か消失か」「同時に 2 組か」。★★空間の離散化は合体を早める(予想が外れた: 画素は面積を持つので円が半画素ぶん太り、まだ接していないのに繋がる。-1.16 / -0.04 フレーム)。一方フレーム格子への丸めは必ず遅らせる(+0.17 / +0.94)—— 逆向きの 2 つが混ざる。
py -3.11 examples/poc_timelapse_growth.py
- 植生被覆率(被覆率が当たっていて画素が全部外れる、が実際に起きる) — 合成群落なので被覆率も画素の帰属も真値が既知。発芽期・湿った土でゼロ点の被覆率誤差は -0.2 pp(ほぼ完璧)なのに適合率も再現率も 0.000 —— 植生と答えた画素数だけが偶然一致していた。混合画素が 100% になると二値手法は生育段階で誤差の向きが逆転する(発芽期 +32〜+46 pp / 繁茂期 -14〜-36 pp)。
py -3.11 examples/poc_vegetation_cover.py
- 水田の雑草はどれだけあるか ―― 色と肌理だけで雑草の画素を分け、被度を宣言した境で 4 段階にする(学習器なし、実データは雑草イネの UAV 画像) — 新 op 5 本(
cropweed、台帳 opssegmentation の plant / classify): plant_color_index(ExG・ExR・ExGR・CIVE・NGRDI・VEG、暗い画素は値を作らない)/ superpixel_color_texture_features(領域ごとの色と肌理の 10 特徴、向きの揃い)/ fisher_lda_fit・fisher_lda_score(2 クラスの Fisher 判別、閉形式)/ cover_ratio_grade(被度を評価前に宣言した境 5 / 25 / 50 % で 4 段階)。合成の水田(雑草の割合を分位点で厳密に置く)で κ 0.876、作物と雑草の色を入れ替えると被度の順位相関 −0.999(判定は色で決まる)。★実データ WeedyRice-RGBMS(UAV の RGB と雑草イネの注釈 734 組、CC BY 4.0、repo に入れない): val で格子を選び(SNIC 超画素より良い)、test 148 枚で段階の一致 0.574(多数派だけ 0.345)・κ 0.424 [0.313, 0.520]・並べ替え p 0.0005・被度の相関 0.826・IoU 0.397(ばらまき 0.189)。R と G を入れ替えると κ −0.023。撮影日を丸ごと外すと季節の違う 1 日は日の中の相関 0.14 —— 付属の分割の数字は見た飛行の別のコマの成績。コンテストの画像は使っておらず、数字はコンテストの得点と比べられない。学習器 0、門 16 件(CI は合成の 10 件)。 py -3.11 examples/poc_weed_rice_ratio.py
- MRI バイアス場と組織面積(GM と WM は逆向きに壊れ、足すと隠れる) — 楕円殻の脳ファントムで 3 組織の真値面積を握り、乗算場と Rician 雑音を掛けて 3 クラス大津で測る。★★振幅 30 % で GM +20.2 % / WM -7.7 % なのに GM+WM は +0.0 %(脳実質体積は両方間違っても動かない)。★雑音を止めると符号が反転(GM -11.8 %)し、崖は幾何予測 30 % に対し実測 17.5 %。★★log I をそのまま平滑する補正は場が無くても GM +81.8 % 壊す(解剖が場に見える)が、分割残差の Wells 型反復なら 40 % でも +1.8 %。周波数の崖は基底で決まり(多項式 32 / ガウス 16 / 格子 B スプライン 8 px)、4 px では理想補正だけが残る。SNR 15 で場なしでも GM +8.5 %(裾の予測 +6.3 %)。
py -3.11 examples/poc_mri_bias_field.py
- 葉の病斑面積率(等級は色の軸より葉マスクと縁の定義で決まる) — 閉形式の葉と既知面積の病斑に土・照明むら・白飛び・影を重ねた合成葉。緑の固定しきい値は土だけで +65.2 pt、射影 G で葉を切り a* で病斑を切ると標準場面で -0.8 pt。★白飛びの鏡面反射は a* に偽陽性しか出さない(20 % で +12.6 pt、偽陰性 0.0 ―― 予想した符号の逆転は起きない)、白を足しても動かない色相なら +2.0 pt。★★縁のぼけ幅 4 px では境界を 25 %/75 % 線のどちらに置くかだけで ±3.5 pt 動き(Steiner の式が 0.4 pt 以内で予測)、等級境界 ±3 pt の 40 枚は土の上では 19〜35 枚が誤等級、黒布 + 明るさ葉マスク + 色相固定なら 8 枚。
py -3.11 examples/poc_leaf_disease_area.py
workflow
- op の返り値(型付き)を Markdown で読める形にし、JSON を埋め込んで戻す — table / points は本物の GFM 表、image / region は 1 行要約(画素は描かない)。json_block で厳密な JSON を ```json フェンスに包み、extract_json で Markdown 文書から fullseye 封筒だけを bit 一致で回収。report は『読める』と『機械で戻せる』を with_json で 1 文書に両立。異種フェンスは無視し未知 sort は断る。
py -3.11 examples/typed_results_markdown.py
- 既知の良品/不良品セットで検査レシピと仕様を配備前に検定し、余裕(margin)を測る — inspection_fixture(good, bad, recipe, measure, spec) = 良品が全部 ok かつ不良品が全部 ng なら passed、見逃し(escapes)・過検出(false_rejects)・error を行で返し、spec_margins が仕様キーごとに良品の限界までの余裕を出す。合成の良品 6・不良品 4 で passed、仕様を締めると過検出が出て failed になることを assert。
py -3.11 examples/inspection_fixture.py
- 空・極小・1-D・RGB の退化入力で、どの op でも同じ文が返ることを確かめる — 空配列 (0,0) は 271 op が 49 種の生エラーで落ちていた → 門が 1 文(上流の read/crop を疑え)で断る。極小画像で op の中から出る生の例外には op 名と入力の形を注記(型も文も変えない)。1-D と RGB (H,W,3) の 2-D op への入力は既存の門で断ることも併せて実演。
py -3.11 examples/degenerate_inputs.py
- 第三者レビュー(GenSpark、0.2.0)が見つけた初見の摩擦を、直したあとの形で 1 本ずつ確かめる — 「無い」と「入っていない」を分ける MissingBackendError(索引の module/requires から不足 extra を案内)、run_pipeline の 5 形が同じ結果で外した形は原因を指す TypeError、全 NaN の otsu は明示エラー、文字列・複素配列は方針に依らず TypeError、n-ary の形状不一致は要るものを文で言う、Op は名前で pickle、op_names(include_nary=True) と list_ops の knobs 欄、CLI apply –input2、台帳の引き方(producers / consumers / presets)の fail-closed と write_wav の path、native_guard、画像 I/O(書けない先は 1 文で止める、uint16 / depth=16 / float は無損失)。変えなかった設計(既定 fallback / 警告は op ごとに 1 度 / float32 は記録しない)も実演。
py -3.11 examples/genspark_external_review.py
- 基準画像(ゴールデン)と比べて欠陥を測り、ロットごと判定する — compare_to_golden = 位相相関で整数並進を合わせ→差分→閾値→連結成分→計測 dict(shift/ssim/psnr/欠陥面積・個数)。同一→欠陥 0、3px ずれた良品→合わせれば 0、異物 48px→1 個、6px 大ずれは max_shift 超えで align_ok=0→ng。golden_measure/golden_spec で inspect_batch に差し込み 6 枚のロットで 2 枚だけ ng を assert。
py -3.11 examples/golden_compare.py
- フォルダを一括検査し、仕様で判定し、集計・SPC・レポート・監査ログまで出す — 合成画像フォルダ(良品 5・欠陥 1・壊れたファイル 1)を inspect_batch で 前処理→計測→judge→集計。各行に入力 sha256・計測・根拠つき Verdict、数値列は EWMA で工程管理、.md/.jsonl(+.xlsx)に 書き分け、監査ログに追記。欠陥だけ ng・壊れた 1 枚は error で止まらないことを assert。
py -3.11 examples/inspection_workflow.py
- 検査の判定を PLC の線に出す —— Modbus TCP でも、シリアル(RTU)でも — 合成の部品を 1 枚検査して ok/ng を決め、内蔵の PLC シミュレータ(Modbus TCP)と 内蔵の装置役(Modbus RTU)の両方へ one-hot コイルで出し、2 つが一致することを assert。さらに線が嘘をついたとき —— 1 ビット化けた框と、別の装置の返事 —— が それらしい数を返さずに落ちることまで見せる。ハードは 1 つも要らない。
py -3.11 examples/line_handshake.py
- 型付きの検査結果を Excel(.xlsx)レポートに書き出す — mdio.report と同じ (見出し, value, sort) の列から現場が使う .xlsx を作る。測定表・点群・スカラはセルに、画像はサムネイルを 1 枚埋め込む(openpyxl、optional)。書いて openpyxl で開き直し セル値と埋め込み画像数を assert。jsonio=機械 / mdio=読む / xlsxio=配る の第 3 系統。未知 sort は断る。
py -3.11 examples/xlsx_report.py
- op の返り値(型付き)を JSON に出して bit そのままで戻す — image / region / points / contour / feature / matrix / table を sort ごとの一つの JSON 形に。浮動小数は base64 の float64 で往復 bit 一致、region は run-length、非有限値は封筒に印を立てて運ぶ。save_json / load_json でファイル一往復、to_json_lines / from_json_lines で JSONL 台帳。★match は慣例が 2 つ混在するので橋を作らず断る(fail-closed)。
py -3.11 examples/typed_results_json.py
- 精度ユニオン型ストレージ(PrecisionUnion)を N-D の実データ様式で使う — ラベルボリューム(無損失)と深度ボリューム(atol 量子化)をタイル別最小ビット深さで保持し、メモリ比・save/load のファイル比・遅延アフィン連鎖の一致を数値で確かめる。高エントロピー画像では勝たないことも同じ場で示す(honest な境界)。
py -3.11 examples/precision_union_volume.py
- imgevolve quickstart — 全ワークフローを 1 ファイルで — レジストリ→型付き手組みパイプライン→ゲノム復号→タスク採点→進化ドライバ→codegen + 差分テスト(約 1.5 分、repo root から実行)。
py -3.11 examples/quickstart.py
- やりたいことを 6 言語で書いて同じ op にたどり着く(RAG の入口) — fullseye.search_ops で「エッジ検出 / edge detection / 边缘检测 / 에지 검출 / Kantenerkennung / 邊緣」と「ノイズ除去」を 6 言語で引き、全言語で意味の合う op が上位 8 件に入ること、返った op を呼んで段差で応答が最大・雑音の標準偏差が下がることを確かめる(grep では 0 件の言葉でも引ける)。
py -3.11 examples/find_ops_by_meaning.py
- 外観検査の「測る前」の 3 段(照明を戻す / 位置を合わせる / タイルの地図にする) — 検査ラインが寸法や欠陥を測る手前に必ず入る 3 段(aoi 族 3 op)を、真値を植えた合成ラインで一巡する。★既知の cos⁴ ビネット(隅が中心の 0.196 倍)+ 暗電流 0.05 は flat_field_correct で 最大相対誤差 1.8e-16 まで戻るが、dark を省くと 2.3e-01 までしか戻らず隅/中心の比は 真値 0.1209 に対し 0.4867 のまま —— 絵は破綻しないので目では合格に見えて数字だけ狂う。★register_image は整数 (3,5) px を残差 0.000000 で、副画素 (2.5,-1.5) px を誤差 0.0000 px で 回収する一方、回転 5 度では残差 0.6537 で consistent=False を返す(小さい並進として 返りはするが、合っていないと分かる量が一緒に出る)。★周期 8 px の市松は peak_ratio 1.0000 で ambiguous=True になるが、縞は ambiguous=False のまま —— peak_ratio は離れた 2 番目の『山』を見る量で、縞が作るのは『尾根』だから数えられない(正直な限界として門に固定)。★tiled_map は分解可能な平均をタイル統計から全体平均へ誤差 0.0e+00 で戻し、70px を 16px 角で 割った端数 9 枚を黙って捨てない。捨てる指定をしたときだけ dropped_tiles=9 / covered_fraction=0.8359 として返り値に残る。
py -3.11 examples/aoi_frontend_tour.py
analysis
- 欠陥図の方法を比べる物差し —— 画素 AUROC は大きな傷 1 つで満点近くになり、小さな傷の見落としを PRO が出す — 16 枚に大きな傷 1 つ(900 画素)と小さな傷 9 つ(4 画素ずつ)。大きな傷だけ当てる検出器は画素 AUROC 0.981 で勝つが、傷を 1 つずつ数える AUPRO(FPR 0.3 まで)は 0.255。小さな傷を全部当てる検出器は画素 AUROC 0.747・AUPRO 0.957。閾値 1 点の PRO は手計算の 0.1 と 0.95 に一致。anomaly_image_auroc / anomaly_pixel_auroc / anomaly_pro / anomaly_region_overlap はどの方法(良品統計・RPCA・ゴールデン差分)にも同じ物差しとして使える。
py -3.11 examples/anomaly_eval_metrics.py
- 検査カメラの条件出しを 1 つずつ振らずに計画する —— 直交表 L9・一部実施の交絡・ラテン超方格・中心複合計画 — 照明の角度・強さ・露光・ゲインの 4 条件 x 3 水準(全部なら 81 回)を、公表された直交表 L9 の 9 回で傷を撮る。5 条件を 2^(5-2) の 8 回で振ると、何もしていないゲインに角度 x 露光の交互作用 6 が乗り「ゲインが効く」と答える(全 32 回では 0、交絡表は事前に gain = angle*exposure と書く)。20 回を乱数で置くと 40 区間のうち 18 が空き、ラテン超方格は 0。回転可能な中心複合計画の軸の点は範囲の外(23.8〜66.2°)に出る。
py -3.11 examples/doe_plan_tour.py
- 撮った画像から、何が効いたか・最良はどこか・画像から条件を読めるかを出す —— 主効果・応答曲面・PCA・PLS — 検査カメラの 4 条件を L9 x 3 回で撮ると、傷の見えの 83 % は照明の角度で、強さ・露光・ゲインは同じ山形(どれも明るさ)。角度 x 露光を中心複合計画の 13 回で振ると、二次曲面の最良は 441 回の総当たりに対して損 2 % だが、当てはまりの悪さが有意 —— 飽和の折れを二次は表せない、という合図。特徴量 9 本の独立な情報は平行分析で 2 次元、PLS は画像から照明の角度を確かめ RMSE 2.6° で読むが、露光は読めない(Q² 0.38)。NIPALS と SIMPLS が一致。
py -3.11 examples/multivar_inspection_tour.py
- どのつまみが効くか・組でしか効かないか・データから決まるのはどれか・モデルに何が足りないか —— Sobol’・Morris・共線性指数・残差 PCA — Ishigami 関数で x3 は単独では 0、x1 との組で全分散の 24 % を動かす(Sobol’ の S1・ST が解析値を 95 % 区間に含む)。検査カメラの 6 条件を Morris の 49 回でふるうと、何もしない 2 条件と、光子を増やさないゲインが「効かない」に落ちる。雑音の無い画像では照明の強さ・露光・ゲインの感度の列が平行で γ = ∞、決まるのは 強さ x 露光 x ゲインの積だけ。周辺減光を知らないモデルの残差には雑音を越える構造(2 成分)が残り、第 1 成分の形は「減光 x 像」と相関 0.99、入れると 0 成分。
py -3.11 examples/sensitivity_tour.py
- 実画像から物理モデルの係数を合わせる —— ただし画像が決めない係数には数を出さない(利得 x 照明・単波長の膜・効かないつまみ) — 照明の強さとカメラの利得を同時に合わせようとすると simcal_fit は数を出さずに拒否し、決まる積(照明 x 利得 = 899.4、真値 900)だけを返す —— χ² の谷は点でなく 1 本の溝。550 nm 1 波長の膜は n^1 x d^0.94 しか決まらず、31 波長で n と d が別々に決まるが、小さな計画からの LM は隣の干渉次数(d = 357 nm、χ²/自由度 60)に落ちて警告し、multistart は 521 nm へ。白い板ではボケが画像を動かさない(μ* = 1e-13)ので拒否、チャートなら σ = 1.198 px(真値 1.2)。2 px・3 px ずれた画像は位相相関で戻し、巻き込んだ縁の 114 画素を外して合わせる。
py -3.11 examples/simcal_tour.py
- 合わせた係数はどこまで信じてよいか —— 40 組の真値で回収を採点・上限しか言えないボケ・8 次の多項式の拒否・光軸のずれたレンズ — ボケ・周辺減光・利得・黒レベルを 40 組の真値で撮って合わせると、39 組で 4 つとも Cramér-Rao 下界の 3 倍以内(z の標準偏差 1.05)。雑音を 1/4 に見誤った模型では 29 組に落ちる。σ = 0.12 px のボケは「σ < 0.29 px」としか言えない(プロファイル尤度が片側しか閉じない)。8 次の周辺減光の多項式は画像の中では cos⁴ と同じくらい合うが係数は±2 まで暴れ、当てはめが交絡で拒否、無理に通しても「自由なつまみ 10 > 画像の方向 6」で拒否 —— その門を外すと全部すり抜ける。光軸が 5 px ずれたレンズは数を返すが、残差 PCA の 1 成分が真のずれと相関 0.99。
py -3.11 examples/simcal_checks_tour.py
- 収束するまで回し、収束した証拠と残りの誤差を返す —— V 溝の相互反射・モンテカルロの区間・止め時を知る逆問題・収束しない写像の拒否 — 開き角 24° の V 溝の奥は、直接光だけで計算すると相互反射込みの 1/10 の明るさ(溝全体の反射率 0.198 対 0.745)。放射度の不動点反復は素の反復で 187 回、Anderson 加速で 28 回、どちらも直接解と 1e-9 以内。帯の数を 3 段振ると観測収束次数 1.71・GCI 0.005 %。MCML の濁ったスラブは光子 1,000 個で区間 ±15 %、25 万個で ±1 % になってvan de Hulst の 0.09739 を含む(Celik ら 2008 の Table 1 も 3 列とも再現)。Richardson-Lucy はポアソンの食い違い原理で37 回目に止まり(誤差最小は 54 回目)、740 回まで回すと誤差 1.4 倍。PSF が広すぎるとモデルの値域外として像を返さない。x^2 + 1 は発散、r = 3.2 のロジスティック写像は周期 2 の振動として、値ではなく NotConvergedError。
py -3.11 examples/converge_tour.py
- MICrONS の脳の波 ―― 1 mm³ の視覚野で、配線は実測の応答をどこまで説明するか — 同じニューロンの EM 配線と 2 光子応答を持つ MICrONS(Ding ら 2025)の公開表 12,894 体 × 120 コマと 1.69 M 対を、生データを commit せずに読む。実測応答を points_activity_video で 1 mm³ の波として回し、like-to-like を再現(結合 0.071 > 触れている 0.045 > 同領域 0.025、軸索ごとの置換帰無で 15 SD)、配線は近接以上を足す(相手平均との相関: 結合 0.24 > 触れている 0.18 > 同領域 0.12、対で 73 %)、conngraph の reservoir に実測を流した波は次数保存シャッフル 20 本の全部より高い(0.085 vs 0.048)が正直に薄い(標的 1 体に入力 1.8 本、広がりは対照と同じ)。reservoir は 1 段 1 ステップなので post は 1 コマずらして比べる。
py -3.11 examples/poc_microns_brain_wave.py
- 動きの量子化 ―― 脳から筋へ、命令の次元はどこで落ちるか(MaleCNS の首と RL の関節を同じ物差しで) — MaleCNS の 脳 → 下行ニューロン(首)→ 腹髄 → 運動ニューロン の部分グラフに乱数刺激 400 通りを前向きに通し、各層の実効次元(participation ratio)を読む: 282 > 61 > 8.7 > 2.4。層の大きさを揃えても脳は 249、送り手だけ混ぜた対照は MN 22 ——腹髄 → 筋の圧縮は配線の特異性、首は収束そのもの。向きだけの次元(単位ノルム)でも実配線 25 vs 対照 54。同じ数式で人型ロボットのRL 歩行は 1.5〜4.1、ダンス 9、格闘 12、evis の筋活動 6〜10(桁の比較)。conngraph に 4 op を追加。
py -3.11 examples/poc_connectome_motor_bottleneck.py
-
| 定理が門になる図(アポロニウス・フォード・測地ドーム・葉序・IFS・空間充填曲線) — 数学的に美しい図は、きれいなので合っているかを誰も確かめない —— 実装が少し間違っていても円は詰まるし螺旋は回る。そこで 6 つの図を描き、絵とは独立の真値だけで採点した。★デカルトの円定理: 生成は反射で行うので、接触を距離から探し直して定理に入れる(depth 4 の 164 円で、見つかった接触 4 円の組すべてが相対ずれ 1e-13 以下)。★整数充填: 種 (−1,2,2,3) の曲率はどこまで行っても整数のまま(Lagarias–Mallows–Wilks)—— 絵では絶対に見えない誤りを捕まえる。★フォード円が接するのは ** |
p·s − q·r |
= 1** のときに限る: 分母 12 までの 47 円・1,081 組で不一致 0、個数もオイラーの関数の和と一致。★★測地ドームは次数 5 の頂点がちょうど 12 個(f = 1,2,3,4,6 すべて、V−E+F=2)—— 次数は既存の別実装 graph_degree_table に数えさせた(自分で数え直して自分と一致しても確かめたことにならない)。★葉序は角度をどう選んでも螺旋に見えるので絵を見ずに近傍の番号差を数える: 黄金角では山の 7/7 がフィボナッチ、対照群 137.0° と 90° は 2/7。★モランの式は描く前に次元を解き(シェルピンスキー 1.5850 = log3/log2 と 9 桁一致)、描いた点は既存 fractal_dimension が 1.6164 —— 導出も入力も違うので一致は偶然では起きない。相似でないアフィン写像(シダ)は拒否する。★空間充填曲線は 4^n 点をちょうど 1 回ずつ通り隣は距離 1(row_major は行末で跳ぶ = 対照群、閉じているのは moore だけ)。局所性は主張でなく表: ヒルベルトは k=32 で 6.38 ≈ √32、走査線は 16.07。 py -3.11 examples/poc_theorems_as_pictures.py |
- うなりは一つ(干渉縞と印刷のモアレは同じ数学) — 二重スリットの縞と、2 版を重ねた網点のモアレは教科書では別の章に載っているが、どちらも「2 つの周期構造の周波数ベクトルの差」で式は 1 本しかない —— その 1 本を両側から確かめた。★矩形膜の固有値は π²(m²/a² + n²/b²) で、正方膜の 8 モードが最大差 0.00e+00 で一致(よく書かれる mnπ は積の式で、縮退の重複 5・5・10・10 まで見ると完全に別物)。節線の本数 m−1 / n−1 は整数なので丸めの余地がない。★円膜の節円は J₀ の零点 / k にある(J′₀ の零点は腹 —— 取り違えると op が誤っているように見え、実際に一度読み違えた)。★縞間隔 λD/d は作った op とは別の op(wave_fringe_period)が測り返して 4 設定すべて比 0.998〜1.003。縞が 3 本入らない設定は拒む。★回折格子は既存 grating_wavelengths で逆算して 550.000000 nm に戻り、伝播しない次数は角度を捏造しない。デューティ 50 % の矩形格子では偶数次が消え(矩形波のフーリエ係数が 0)、3 次 / 1 次の強度比は sinc(m/2)² の 1/9(実測 0.1140)。★★モアレの周期は描く前に閉形式で出し、重ねた絵の FFT で測り返して比 0.948〜0.986 —— ★探す範囲を切らないとスクリーン自身の山(どの角度でも 16.7 px = 1/f)を拾って「予言と全然合わない」と読める。同じスクリーン同士は inf を返さず拒む。★網点が捨てたのは階調で、保ったのは局所の平均濃度(4 周期の窓で平均すると元の濃淡に戻り、平均絶対差 0.0517)。★彫版線のインク率は w/d の閉形式と 4 段すべて差 0.0000。ハッチの向きは既存 structure_tensor_orientation が決め、向きが構成で分かっている縞で 0.0〜0.3° のずれ(★f_min を切らないと線ではなく濃淡の包絡を拾って 90° ずれて見える)。★Lloyd のエネルギーは既存 stipple_energy が測って単調減少、セル平均は L2 最適でセル 10 個を全数走査して反例 0。検査 36 件・図 13 枚。
py -3.11 examples/poc_beats_fringes_and_screens.py
-
| 絵では確かめられないもの(力学系と極小曲面を定義と恒等式で採点する) — ローレンツ・アトラクタの図は積分器が 1 次でも 4 次でも蝶に見え、極小曲面の図は平均曲率が 0 でなくてもきれいに見える —— 「見て分かる」が一切効かない族なので採点を全部絵の外から取った。★線形系の厳密解は expm(At)x₀ で、刻み半分にすると RK4 の誤差は比 16.0 / 16.0 / 16.0(4 次)、対照群のオイラー法は 2.08 / 2.04 / 2.02(1 次)、同じ dt=0.01 で 2.02e-02 対 3.33e-10。★★リアプノフ指数の和はトレース恒等式で厳密に −(σ+1+β) = −13.666667、実測 −13.666664(差 2.57e-06)—— 指数を出す手続き(接流 + QR)とは独立。λ₁ = 0.9142(公表値 0.906)、λ₂ = −0.008(理論 0)、保存系の対照群は和 4.87e-15。★周期倍分岐は r = 3 と 1+√6 が厳密で実測 2.999401 / 3.449260、δ = 4.7485(文献値 4.6692)。★残差を隠さない: 分岐点での収束は代数的なので有限の burn-in では必ず手前に見え、burn 2,000 → 20,000 で誤差が 10.9 倍縮む —— 門は「誤差が小さい」ではなく「伸ばすと置いていった分だけ縮む」で置いた。★★相関次元は円 1.0061・カントール 0.6408(log2/log3 = 0.6309)だが平面は 1.8789(真値 2)—— 偏りの正体を探し当ててから書いた: 点数を 400 → 3,000 にしても 1.8825 / 1.8789 / 1.8709 と動かず、正体はべき乗則を見る半径の窓(既定は対距離の 1〜25 パーセンタイルで、上端が箱の端に当たり相関和が飽和する)。窓を狭めると 1.887 → 1.947 と真値に寄る。★★場の発散は厳密に tr(A)・渦度は A₁₀−A₀₁ で、それを測るのはPIV 族の既存 op(piv_divergence / piv_vorticity)—— 4 通りすべて 1e-6 未満、ローレンツの xy 断面は −σ−1 = −11.000000。★円を中心線にした管はトーラスなので体積 2π²Rr²・表面積 4π²Rr が解析解で、既存 mesh_volume / mesh_area が比 0.997 / 0.999。まっすぐな区間を含む曲線でも半径が 0.150000000000 で崩れない(平行移動フレーム —— フレネ枠は直線部で法線が定義できない)。★★極小曲面は |
H |
中央値 0.00002〜0.00014 で、対照群の単位球 1.00004・半径 1 の円柱 0.50000 —— 門が素通しでない証拠。カテノイドとヘリコイドはガウス曲率が一致するが(等長)それは必要条件にすぎない。等長な曲げは面積 17.6738〜17.6756 で不変。★ジャイロイドは体積比 0.499928 / 0.499981 / 0.499991(体心反転の対称性・格子に依らない)だが、節面近似の残差は隠さず出す( |
H |
/ 主曲率スケール = 0.1250 —— Schoen のジャイロイドは H = 0)。検査 43 件・図 11 枚。 py -3.11 examples/poc_what_a_picture_cannot_check.py |
- その数字のうち、いくつが測り方のものか(ゲージ R&R と測定の不確かさ) — 管理図も工程能力も測定のばらつきを含んだままの数字を見ている —— それを分け、1 回の測定の不確かさを報告できる形にするまでを全部「絵の外」から採点した。★平方和の分解 SS_total = SS_部品 + SS_測定者 + SS_交互作用 + SS_誤差 は代数的な恒等式なので分散成分の出し方と独立に閉じる(相対差 1e-16)。★繰り返し性は「升目ごとの np.var(ddof=1) の平均」に代数的に等しく、既存の numpy が真値になる。★★規格の worked example(10 部品 x 3 測定者 x 3 回の 90 点)を再現: EV 0.199933 / AV 0.226838 / GRR 0.302372 / PV 1.042327 で公表値と最大差 1.5e-06、寄与率 3.4 / 4.4 / 7.8 / 92.2 % は完全一致 —— 外の権威が出した答えで、こちらの導出とは独立。★★交互作用を残すか誤差へ畳むかで EV が 7.3 % 動く(0.214435 対 0.199933)。規格は交互作用が有意でなければ畳んだ値を公表しているので、どちらのモデルで出したかを返り値に載せる —— 黙って切り替えると同じ工程について別の数字を返し理由が残らない。★★負の分散成分は稀な端ではない: 測定者差を厳密に 0 にした合成データで 40 本中 24 本が負になり 0 へ丸められる。丸めを申告しない実装は「差は無い」と言い切ってしまう。★推定の揺れも隠さない —— 繰り返し性の標準偏差 0.00776 は理論 σ/√(2df) の 0.00913 と同じ桁だが、再現性は測定者 4 人(自由度 3)からの推定なので 0.159 と桁違いに不確か。★カッパは一致率ではない: 独立でたらめな判定でも合格率 0.95 なら素の一致率は 0.920 になるのに κ は 0.101。全員一致なら κ = 1 が厳密に出る。★★相関を無視した誤りの向きは一定でない —— 規格の例(電圧・電流・位相差から抵抗とリアクタンスを同時に出す)で相関を落とすと u_c(R) は 0.0702 → 0.1945 と 2.8 倍の過大、u_c(X) は 0.2961 → 0.2009 と過小。「安全側に外れるから省いてよい」は成り立たない。★有効自由度は t 表を引く直前に切り捨てる(ν_eff 16.64 → 16 で k = 2.1199、切り捨てないと 2.1132 —— 公表値は前者)。★★正しく失敗する: 比較損失 δY = X₁²+X₂² を x₁=0 で評価すると感度 2x₁ が 0 になり伝播則は u=0・区間 [0,0] を返す —— 実装の誤りでなく 1 次近似が極値で情報を失う手法の限界で、モンテカルロは同じ場所で [0, 150]e-6。x₁ が小さい間は区間が負の損失を含む。どちらも guf_valid / invalid_reasons で構造として申告する(黙って 0 を返せば読み手は「測定が完璧だった」と読む)。★★4 つの矩形分布の和には厳密解がある: Irwin-Hall(4) から y₂.₅% = √3(2·0.6^¼ − 4) = −3.879407(乱数を 1 つも使わない真値)。超過尖度 −6/(5n) = −0.3 で正規より裾が薄いので、正規近似を使う伝播則は 0.040521 構造的に広く出る —— 同じ「検証に落ちた」でも、正規の例は推定器の位置揺れ、矩形の例は手法そのものの誤差で、原因が逆。検査 28 件・図 9 枚。
py -3.11 examples/poc_measurement_system_analysis.py
- 「解像度の式」は見つかる大きさを教えない(照明ごとの検出確率、MIL-HDBK-1823A) — ヘアライン金属の V 字の傷(幅 2〜300 µm、斜面 10°±1.5°)を照明の物理モデルで描き、同じカメラ・同じ処理で照明だけを 3 通りに変えて MIL-HDBK-1823A の検出確率を出した。真値は自分で入れた傷の幅。★描画は台帳の放射輝度 illumdesign._radiance を 1 点ずつ呼んだ値と相対差 0 で一致し、傷の斜面の面積は幅 / 画素に厳密に配る。★★設計の式(detectability_limit)は分解できる最小の大きさを 202 µm と言うが、斜面が光をカメラへ鏡面反射するリング仰角 70° では a90/95 が 8.9 µm(23 分の 1)、ドームは 27.1 µm、仰角 30° は傷の 105/120 が記録閾値の下で a90/95 は試した最大の 20 倍先の外挿(op が旗を立てる)。解像度は「形が分かるか」、POD は「在ることに気づくか」で別の問い。★★モデルを物理で確かめた: 当てた a90 の大きさの傷を 200 本描き直すと実測の検出率は 0.910 / 0.845(0.9 ± 0.064 の帯)。★同じ測定を見つけた/見落としたに落とした 2 値 GLM の a90 は â vs a と 0.15 / 0.18 SE で一致。★記録閾値と応答の天井を無視した素朴な最小二乗は傾きを最大 4.7 SE 寝かせる(打ち切りつき最尤が要る理由)。★ゼロ点: 無欠陥部位にでたらめな大きさを割り振ると op は曲線を拒む。★判定閾値 2→12 DN で a90/95 は 2.7→19.2 µm、正規の誤検出は 0.30→8.6e-05。合成であること(面・傷・センサ・幾何光学)は docstring に明記。検査 16 件・約 9 秒。
py -3.11 examples/poc_pod_lighting.py
- 10/10 は検出限界ではない ―― 小標本の検出率と誤警報率を片側信頼限界で読む — 新 op
proportion_interval(Clopper–Pearson / Wilson / Jeffreys)と trials_for_all_success の呼び出し例。10/10 検出の片側 95 % 下限は 0.7411、誤警報 0/20 の片側 95 % 上限は 0.1391、検出率 0.90 を片側 95 % で言うには 29/29 が要る(28/28 では足りない)。値は閉形式 α^(1/n) と一致することを assert で確かめる。 py -3.11 examples/proportion_interval_audit.py
- 無限に描き続ける絵を、恒等式で採点する — 絵では確かめられないものを、閉形式と整数不変量で採点する。 この回の素材は「止めなければ終わらない」生成器 —— 規則 90 の一次元セルオートマトン、ラングトンの蟻、アポロニウスの円詰め、カオスゲーム、バーンズリーのシダ、流れ場、反応拡散、プラズマ。どれも絵を見ても正しさが分からない(「もっとフラクタルらしく」見えるだけ)ので、絵と独立に成り立つ式を同じ op から出して採点する。★★芯 1: 規則 90 の第 n 行は二項係数の偶奇そのもの —— 残差 0.00e+00(リュカの定理の帰結「C(n,k) が奇 ⟺ (n & k) == k」を使う。二項係数を直接積むと C(62,31)·31 が int64 を黙って溢れる)。★★芯 2: ラングトンの蟻の高速道路は周期 104 で同じ斜めの変位を繰り返し、104 歩あたり正味ちょうど 12 マスを黒くする ——どちらも残差 0.00e+00 の整数不変量。★最初「104 歩で 52 マス」と書いて外した: 実測 0.114 マス/歩 と合わず、測り直すと 12/104 = 0.11538 だった(周期の中で塗っては消すので、正味はずっと少ない)。★★芯 3: 互いに接する 4 円の曲率はデカルトの円定理 (Σk)² = 2Σk² を厳密に満たす (残差 1.19e-16)。★★さらに描いた円が本当に接しているかを別に測る(残差 9.20e-07)—— 平方根の枝を選び損ねると、絵としては「フラクタルっぽい」まま外へ逃げる円の鎖が出る(実際に出した)。見た目では欠陥と分からない。★★芯 4: 流れ場は ψ の回転として作るので発散が恒等的に 0(残差 7.0e-17)、餌も死も無い反応拡散は総量が保存、ダイヤモンド–スクエア法は 4 隅を書き換えない —— どれも数値解法が壊れていれば真っ先に崩れる量。★★芯 5: 継ぎ目の無い循環動画は「最後に頭へ戻す」で作らない —— 時間依存の量をすべて θ の関数にして θ を 0→2π 回すと、t = T は t = 0 と同じ式になる。継ぎ目は消したのではなく最初から存在しない。★測る側の偏りも 1 件入れてある: ミュラー・リヤーの 2 本は厳密に等長なのに、素朴な長さ計測は 223 画素と 225 画素と答える。しかも矢羽根が無くても 223 画素(真値 220 より 3 画素長い)—— 反エイリアスの裾を「黒い画素」として数えているから。★ここでも外した: 「矢羽根が長いほど偏る」と読んだが、20 px で 2 画素に達したあと 80 px まで動かない。偏りを作るのは長さではなく、端に裾が乗るかどうかだけ。★★この回で錯視の描画を落とした: カフェウォールやカニッツァの検査は「厳密に水平に引いた目地が水平だ」「平坦に塗ったマスが平坦だ」という定数を置いて定数を読み返すだけで、間に変換が 1 つも無く、測定の能力を何も試していなかった(同義反復)。絵の側も直線と矩形を引いているだけで、この箱の力を示さない。新しい op は 1 つも足していない。 検査 18 件・図 16 枚(動く図 1 枚を含む)。
py -3.11 examples/poc_illusions_and_perpetual_drawing.py
-
| 錯視で測定器を健診する(キャリパーが外すのはどこで、なぜか) — 錯視は「答えの分かっている図」である。だから測られる側ではなく測る側を採点できる —— Fullseye は真値つきの絵を作る op と HALCON 流のサブピクセル測定器を同じ箱に持っているので、この採点が 1 本の走行で閉じる。新しい op は 1 つも足していない。★カフェウォールの目地に直線の計測オブジェクトを当てると、傾きは 厳密に 0.0 度・残差 rms も 0.0(真値 0)—— 目が「傾いている」と言い張る図で、測る側は 1 ulp も外さない。★★ところが探針 1 枚では足りなかった: ずらし量 0.25 だけで試して「測定器は決して動かない」と書いたが、ずらし量 5 通り × 探索半幅 4 通りの 20 通りを全部測ると、探索半幅が目地の帯幅 8 px に届く 10/16 px のとき、ずらし量 0.125 と 0.375 でだけ 0.1429 度傾く(目地の反対側の境界を掴む)。0.25 はたまたま外れない側だった。★★★そして外したことは答えでなく残差に出る —— 0.1429 度は数字だけ見れば「ほぼ 0」で通ってしまうが、rms は 0.00 → 1.70 と桁で動き、角度 0 ⇔ rms 0 が 20 通り全部で一致する。門は答えでなく残差に置く。★ミュラー・リヤーでは測定器も外す。ただし目とは別の理由で —— 矢羽根は「長く見せる」だけでなく測定線の上に余計なエッジを置くので(2 本 → 4 本)、測定器は軸ではなく矢羽根のストロークを対にする(幅 5.701 px)。★★想定幅 220 px を宣言して fuzzy_measure_pairing に測らせると、適合度は矢羽根なし 0.9988 に対し矢羽根あり 0.0225 —— 間違った値を返すのではなく「想定幅の構造は見つからない」と数で申告する。測り方を宣言した分だけ、失敗が静かな誤りから見える拒否に変わる。★矢羽根が無くても答えは 223.777 px で真値 220 と合わないが、長さを 140〜300 px に振るとずれは +3.777 px 一定(振れ幅 0.0000 px)—— 比例なら倍率の誤り、一定なら端の定義のずれで、「線分の長さ」と「外側エッジ間の距離」は線幅ぶん違う量である。引けば真値に戻る。★★エビングハウスでは円の計測オブジェクトが 2 円の半径を 29.996525 px と 29.996525 px(差 2.5e-12 px、真値 0)と返す。どちらも指定の 30 px より 0.0035 px 小さく、中心も −0.5076 px ずれるが、系統誤差は両方に同じだけ乗るので差を取ると消える。★ツェルナーでは7 本すべてが最大 |
傾き |
4.3e-04 度(幅 520 px を渡って 0.0039 px)。動いたのは答えではなく証拠の数で、ハッチの向きが 1 本おきに反転するため採用点が 61 点中 13 と 19 を交互に取る —— 「測れた」と「よく測れた」は別の量。★★ポッゲンドルフでは測定器が外す: 共線のはずの 2 区間で角度が 0.450 度違う。原因は極性が塊で交互すること(41 点が 9 個の塊、+18 / −23)—— 細い線には 2 つのエッジがあり、「線の位置」はどちらか(あるいは中心か)を言うまで定義されない。両エッジを対にして中心を取ると角度差 0.450 → 0.115 度、rms 2.07 → 0.10/0.39 まで下がるが 0 にはならない(帯の縁の細い縦線と画像の端が測定線に掛かる)—— そこまでは追い込んでいない、というのが正直な状態。検査 24 件・図 16 枚。 py -3.11 examples/poc_calipers_under_illusion.py |
- 速くする工夫は、全部おなじ数の別の括り方だった —— 注意機構を恒等式で採点する — LLM に至る系譜に出てくる高速化・省メモリ化は、どれも近似ではなく恒等式の括り直しで、その等式は機械精度で検算できる —— 使うのは新しい族
llmcore(10 op、numpy だけ・torch を使わない)。入力は画像のパッチ列にしてある(64×64 を 8×8 で切った 64 トークン)ので、注意がそのまま ViT の入口になり、絵の側でも主張が立つ。★★芯 1: FlashAttention は近似ではない。 タイル + online softmax は一括と一致する —— タイルの大きさを 7 通り(1 行〜64 行)振って最悪 1.33e-15。速さの出どころは計算を変えたことではなく、(T, T) の行列を作らないこと。★外した予言: 「タイルを細かくするほど誤差が積もる」→ 積もりはするが 64 枚 1.33e-15 対 1 枚 1.22e-15 = 1.1 倍にしかならない。★★芯 2: 線形 Attention は結合則そのもの。 (QKᵀ)V == Q(KᵀV) が 1.18e-15、因果つきの累積状態でも 9.39e-16。O(T²d) と O(Td²) は同じ数の別の括り方で、交差点は T == d。★予言は途中まで当たって途中で外れる —— 比は T/d に沿って育つが、T=2048 では式が言う 32 倍に届かず 15〜16 倍で頭打ち(二次の側が帯域律速)。★★芯 3: 因果マスクの下では、未来を書き換えても前の出力が 1 ビットも動かない(0.0e+00)。これは同義反復ではない —— 実際に 32 行目から先の key/value を別の乱数に差し替えて測っており、後半は 0.403 動く。KV Cache が成り立つ根拠がこれで、逐次に 1 行ずつ進めた結果は一括と 5.92e-16。★★芯 4: 注意の疎さは整数で数えられる。 因果マスクの非ゼロは厳密に T(T+1)/2 = 2080、幅 9 の窓は Σ min(i+1, W) = 540 —— どちらも浮動小数の許容差が要らない主張。★★芯 5: 位置符号が無ければ、注意はパッチの順番を見ていない。 パッチを並べ替えて出力を戻すと元と一致する(4.4e-16)。RoPE を入れると一致しない(0.018)—— それが位置符号の仕事で、絵で見ると「同じ絵」と「別の絵」になる。★★芯 6: RoPE は回転なのでノルムを保ち、内積は相対位置だけで決まる。 ノルムの差は 64 本すべてで 4.44e-16、位置の差を 7 に固定して絶対位置を 40 通り動かした内積の幅が 1.11e-15。★★芯 7: GQA の両端は厳密に既存の 2 つ。 n_kv_heads == n_heads で MHA、== 1 で MQA と 0.0e+00 で一致し、中間(n_kv_heads=2)はどちらとも 0.942 違う。「中間を取る」という主張が端で検算できる。ほかに: RMS 正規化の出力は RMS が厳密に 1(ずれ 2.22e-16、eps=1e-6 を入れると 1.53e-04 ずれる —— それが eps の値段)/ 注意は凸結合なので値域を出ないが(出力 [0.474, 0.502] ⊂ 入力 [0.025, 1.000])同時に幅が 35.4 倍に潰れる(平均は対比を消す)/ 最大値を引くのは飾りではない(スコアを大きくすると素の exp は 64 行のうち 15 行が inf/NaN になり、引けば 0 行)。★外した予言をもう 1 つ残してある: online softmax の途中の状態が答えに単調に近づくと読んだが、単調ではない(0.10 / 0.17 / 0.19 / 0.15 / 0.11 / 0.07 / 0.02 / 0.00 と上がってから下がる)——走っている最大値が更新されるたびに分母が組み替わるので、途中の値は答えの近似ですらない。★8 通りの誤りが全部 op 名を名乗って止まる(どの op が何を拒んだかが読める)。検査 27 件・図 10 枚。 py -3.11 examples/poc_attention_identities.py
-
収差の絵は、絵のまま採点できる —— ゼルニケ多項式と点像 — 収差の絵は、描いたあとに絵から係数を読み返せて、その読み返しが閉形式と厳密に一致する —— 使うのは箱にある fit_zernike(円板画像 → {(n,m): 係数})と wavefront_stats(RMS・PV・ストレール比)だけ。ゼルニケ多項式は単位円板の上の直交系で、収差の言葉そのものになっている ——(2,0) がデフォーカス、(2,±2) が非点収差、(3,±1) がコマ、(4,0) が球面収差。n ≤ 6 の 28 本(閉形式 (n+1)(n+2)/2)はどれも縁で厳密に 1 になり(28 本すべて 0.0e+00)、半径方向の零点の本数は **(n− |
m |
)/2** に 28 本すべてで一致する。直交性も閉形式 π/(2(n+1))·(1+δ_m0) と対角で相対差 4.86e-06、非対角は 5.50e-07。★★芯 1: 既存 op が自分で開示していた「~10 % のクロストーク」の原因は、解像度ではなかった。 fit_zernike の docstring はかつて「既定のサンプリングではモード間に最大 ~10 % のクロストークが残る。定量が要るなら nr/nt を上げよ」と書いていた。ところが漏れは解像度ではほとんど落ちない(2 倍ごとの比は 2 にも届かない)。真因は瞳の外が 0 の絵で、最外の輪が縁の段差を双一次補間で吸い込むこと —— 多項式を円板の 2 % 外まで延ばして段差を縁から追い出すと漏れは 0.000041。この PoC の発見から op の開示を直し(2026-10-07)、さらに格子を面積の重みつき(ρ は Gauss–Legendre の節で縁に乗らない、2026-10-14)にして、既定の漏れは 4 モードの最悪で 0.098 → 0.021。節が縁に密集しているので外周の輪を 1 本捨てても半分(0.0105)にしかならず、消すには段差そのものを追い出す。★★芯 2: 絵は回るのに、測った数は 1 ビットも動かない。 回転は係数を exp(−imθ) 倍するだけなので対の振幅 √(c₊²+c₋²) は厳密に不変 —— 6 通りの角度で最大 1.1e-16、二乗和の差は 0.0e+00。しかも絵に描いてから読み返しても 3 通りの回転で振幅の幅は 3.34e-10(真値 0.664831)。★★芯 3: 点像の輪はベッセル関数の零点で決まり、絵から測り返せる。 第 1 暗環は j₁ の第 1 零点 ÷ π = 1.219670 λ/D で、絵の振幅が符号を変える点から 3.6e-04 以内(瞳の半径を 3 倍に振っても同じ桁)。無収差のストレール比は厳密に 1.000000000000。wavefront_stats が返すマレシャル近似は RMS 0.02 波で差 8.8e-06 なのに 0.18 波で 2.0e-02 —— 2308 倍に開く(op 自身が返す RMS は絵から測った RMS と相対差 3.69e-05)。★★芯 4: 干渉縞が消える半径も閉形式。 球面収差 6ρ⁴−6ρ²+1 の勾配 12ρ(2ρ²−1) は ρ = 1/√2 で 0 になり、そこだけ縞が広い帯になる —— 絵から 0.70462(真値 0.70711)、ずれは縞の本数に反比例して消える(振幅 2 倍で 2.02 / 2.01 倍)。★★芯 5: 絵の対称性の回数から m が読めるが、偶数の m は 2 倍の回数で現れる。 点像を方位方向にフーリエ変換すると、m = 0(デフォーカス・球面収差)は全ハーモニクスが床以下(最大 0.00110)で厳密な回転対称、**奇数の |
m |
** は k = |
m |
に立ち(コマ 0.1200 / 三つ葉 0.0946)、**偶数の |
m |
は k = |
m |
が厳密に消えて**(最大 0.00050)k = 2 |
m |
から立つ ——非点収差が「2 回対称」でなく 4 回に見える理由がこれで、偶数 m の波面は θ に対し π 周期なので瞳の場が点対称になり1 次の交差項が恒等的に 0 になるから。収差を半分にすると奇数は 2.06 / 2.02 / 1.87 / 1.97(1 次)、非点収差は 3.67 / 3.66(2 次)。★★芯 6: 濃淡の付け方は飾りではない。 無収差の点像の 3.5〜8.0 λ/D を 8 bit にすると、線形では階調 1 段(完全な黒。その帯の最大値は 1.6e-03 で 255 倍しても 1 に届かない)、asinh なら 66 段。しかも asinh は狭義単調なので画素の大小は 4,998 組すべてで入れ替わらない —— 見やすくすることと嘘をつくことは別だと数で言える。★外した予言を 3 つ残してある: 瞳の縁をなめらかにしても第 1 暗環は改善しない / 誤差 ∝ 1/瞳径 も成立しない —— 真因は私の線形補間で、線形だと最悪 1.1e-02 でしかも瞳を大きくすると悪化するのに、3 次なら 3.6e-04(30 倍)で瞳を 3 倍に振っても平らだった / 停留環を放物線で精密化したら悪化した。★自分の測り方の欠陥も 2 件: 瞳を格子の中心から半画素ずらして置いていた(像面に位相が乗る。直すと虚部の残り 5.3e-17)/ 方位を最近傍で拾って、瞳の半径にも縁の滑らかさにもまったく依らない 偽信号 0.01489 を作っていた(双一次で 0.00058、26 倍)。当てはめは op と同じ手順を numpy で書いた写しで回している(op 本体は torch を要り、CI の一部に入っていないため)—— torch がある環境では本物と照合していて、最大差は 4.7e-07(grid_sample が float32 なのでその桁)。新しい op は 1 つも足していない。 検査 28 件・図 14 枚(動く図 2 枚を含む)。 py -3.11 examples/poc_zernike_aberrations.py |
- 4 次元の主張を、3 次元の平凡な op で採点する — 4 次元の位相と代数は、この箱にある 3 次元の産業用 op で厳密に採点できる ——
fit_circle_3d(点群に円を当てる)、mesh_volume(閉メッシュの符号つき体積)、curve3d_tube_mesh、render_mesh。ホップ束は S³ を S² 上の円の束に分ける。S³ の点を (z₁, z₂) ∈ C² と見ると、S² の 1 点 (θ, φ) の上の繊維は q(t) = (cos(θ/2) e^{it}, sin(θ/2) e^{i(t+φ)}) という円で、立体射影しても厳密に円のまま(ヴィラルソー円)。★★芯 1: 4 次元の円が 2 次元の点になる。 1 本の繊維をホップ写像で落とすと S² 上の広がりが 8.9e-16 —— 256 点すべてが 1 点に潰れる。★★芯 2: その円を「点群に円を当てる op」が認める。 立体射影した繊維の半径は緯度によって 0.70 から 7.34 まで変わるのに、fit_circle_3d の残差はどれも 1e-14 台、平面からの外れも同じ桁。近似ではなく定理。★★芯 3: 2 本の繊維は必ず 1 回だけ絡む —— その整数が積分から出て、寄る速さまで予言できる。 ガウスの絡み数を離散化すると 4 通りの組すべてで 1 に寄り、分割数を 2 倍にすると誤差がちょうど 1/4(実測の比 4.01 / 4.00 / 4.00 / 4.00)—— 収束の次数が 1/n² だという予言が当たっている。★★芯 4: 4 次元の回転は 2 枚の面で同時に起きて、比が有理のときだけ閉じる。 超立方体(頂点 16・辺 32・面 24・胞 8、V − E + F − C = 0、一辺 2 の超体積 16.000000000000000)を xy 面と zw 面で同時に回すと、比 1:2 / 2:3 / 3:4 は 60 歩でちょうど戻る(差 0.0e+00、途中の最小の隔たりは 0.23 以上なので「動いていないから一致した」ではない)。ところが比 1:φ(黄金比)は刻みを 400 に細かくして 20,000 歩まで回しても最小の隔たり 0.0257 で 0 に落ちない。★周期は角度でなく整数の剰余で閉じている。★★芯 5: 管の体積の誤差は、2 つに厳密に分かれる。 真値を 2 段に置く —— A =「円断面・円中心線」、B =「正 m 角形断面・円中心線」。すると B との相対差が断面の角数にまったく依らない(同じ中心線なら m = 24 / 48 / 96 で差 7.8e-16 以内)—— 断面の粗さと中心線の粗さは独立に効く。断面の効果は閉形式どおり 1/m² で消える(比 3.99 / 4.00)。★★外した予言を残してある。 中心線の効果は 1/n² だと読んだが外れで、点数を 2 倍・4 倍にすると 2.09 倍・4.15 倍、つまり 1/n でしか消えない —— 折れ線の周長は 1/n² で真値に寄るので、残った差の原因は周長ではない(継ぎ目の肉厚)。だから片方のノブだけでは届かない: 断面 96 角だけなら −0.001588、中心線 1600 点だけなら −0.003064 で止まり、両方回して −0.000925。新しい op は 1 つも足していない。 検査 19 件・図 10 枚(動く図 3 枚を含む)。 py -3.11 examples/poc_four_dimensions_by_three_d_tools.py
- 遠ざかると消える距離と、形が変わるときの面積 — 「高周波と低周波を混ぜた絵」にも「滑らかに形が変わる絵」にも、絵から直接測れる厳密な真値がある —— そして よく使われている作り方のほうが、その真値を外す。★★芯 1: 分解の直交性。 理想的な周波数マスクで低域と高域に分けると 2 枚は厳密に直交するので
E(低) + E(高) = E(元) が成り立つ(4 通りの遮断で帳尻の相対値 1.9e-16)。ところが教科書どおりの作り方(ガウシアンでぼかし、残りを高域にする)では 0.53 %〜3.10 % ずれる。どちらも足せば元に戻る —— 可逆であることと直交であることは別。しかもずれは 単調でない: いちばん悪いのはぼかしが最も弱い a = 0.1 で、いちばん小さいのは途中の a = 0.7。強くしても弱くしても直らない。★★芯 2: 遠ざかると消える距離は整数。 k 画素を束ねる操作の伝達関数は sin(πfk)/(k sin(πf)) で、f·k が整数のとき厳密に 0。つまり 周期 p 画素の模様は p 画素に束ねるとちょうど消える(5 通りの周期で 1.4e-14)。さらに強く、束ねたあとの絵は 1 画素ずつ閉形式で書ける —— 振幅だけでなく 束ねた画素の中心が (k−1)/2 ずれることまで式に入っていて、束ね幅 1〜48 の全画素で 2.8e-14。★★芯 3: 形の面積は t の厳密な 2 次式。 多角形の頂点を線形補間すると囲む面積は a t² + b t + c に乗るので、3 コマ測れば全コマを予言できる(3 通りの形で 2.4e-15)。それが絵からも出る: 多角形を画素に塗って数えた面積でも、格子 128 で 1.10 % だったずれが格子 512・1 画素を 4×4 に分けて 0.053 % まで縮む。しかも 「1 画素を 4×4 に分ける」のは「格子を 4 倍細かくする」と厳密に同じ数字(0.00e+00 で一致)。★★芯 4: 絵から測ると符号が消える。そこで予言はちょうど 25 % 外れる。 頂点順を逆にした多角形へモーフすると、符号つき面積は t の 1 次式になり (t = 0.5 で多角形が線に潰れる)2 次式の予言は 3.4e-15 で当たる。しかし絵から測れるのは正の面積だけなので放物線は折り返し、3 コマから当てた予言は最大値の ちょうど 1/4 外れる —— 2 つの形で 25.0 % と 25.0 %。外れ方まで閉形式で出る。 ★★芯 5: スプラインの 2 つの厳密な性質。 Catmull-Rom は制御点を 距離 0.0e+00 で通り、ベジエは制御点を通らない代わりに 凸包から出ない(4 通り × 401 点すべて)—— ちょうど裏返しの性質。★★外した予言を 3 つ残してある。 (a)「切り替わる束ね幅は遮断周波数 fc から 1/(2 fc) で予言できる」は外れで、fc を 3 倍振っても実測は 3.4〜3.9 画素から動かない —— 決めているのは遮断周波数ではなく 高域側の絵が実際に持つ周期。(b) 上の「ぼかしのずれは単調」も外れ。(c)「絵の最大と最小で振幅を測れば閉形式と一致する」も外れで、k = 6 では 20.7 % 小さく出る —— 画素が山の頂上を踏まないから。式は踏まなくても正しい。新しい op は 1 つも足していない。 検査 20 件・図 13 枚(動く図 1 枚を含む)。 py -3.11 examples/poc_vanishing_detail_and_morphing_area.py
-
重力レンズの像を、産業用の測定 op で採点する — 重力レンズには、絵から直接測れる厳密な不変量がある —— しかも測る道具はこの箱にある平凡な 2-D の op(連結成分・面積・重心)でよい。点質量レンズをアインシュタイン半径 1 の単位で書くと、光源位置 u に対し像は θ± = (u ± √(u²+4))/2、倍率は μ± = (u²+2)/(2u√(u²+4)) ± 1/2 になり、光源がどこにあっても θ₊·θ₋ = −1 と μ₊ − μ₋ = 1(整数) が成り立つ。9 通りの光源位置で前者は 8.9e-16、後者は 2.2e-16 しか動かない。★★芯 1: その整数が、絵から出る。 像面の画素を光源面へ引き戻して描いた絵を blob_label で 2 つの像に分け、面積を測って引き算すると、μ₊ − |μ₋| の 1 からのずれが格子 801 → 1601 → 3201 で 0.0660 → 0.0216 → 0.0126 と縮む —— モデルの数字ではなく描いた絵を測って出している。★★芯 2: 面輝度は厳密に変わらない。 リウヴィルの定理どおり、像の内部の値は u を振っても 1.000000000000000 のままで、変わるのは面積だけ(2,322 → 480 画素)。同じ 1 枚から「変わらない量」と「変わる量」が同時に出る。★★芯 3: 環の太さは光源の半径に等しい。 アインシュタイン環の上では動径方向の倍率が厳密に 1/2 なので、半径 ρ の光源は太さ ρ の環になる(4 通りで最大のずれ 7.2e-05)。★★芯 4: 特異点がちょうど 1 画素の偽の像を作る。 光源が真後ろ(u = 0)のとき像は環 1 本のはずなのに、連結成分は 2 個になる —— 増えた 1 個はレンズ中心の 1 画素で、そこは偏向角が発散する点。個数を数える門は、ここで嘘をつく。 ★★芯 5: 外した予言を 2 つ残してある。 (a)「絵から測るのが苦しいのは暗い像が小さくなる u = 1.5 の側だろう」は外れで、どの解像度でも u = 0.3(焦線に近い側)が最悪だった(u = 1.5 の暗い像は格子 3201 で 209 画素ある)—— 苦しいのは像が小さいほうではなく引き伸ばされて細い弧になるほう。(b) 縁のアンチエイリアスを光源面の距離で作っていたのが系統誤差の元で、距離場を像面での変化率 |∇d| で割るだけで u = 0.3 のずれが 0.0214 → 0.0126 に下がった —— 写像の先で測った距離を、そのまま手前の画素に使ってはいけない。 ほかに、特異等温球では像の間隔が光源位置に依らず 2θ_E(4 通りで最大のずれ 9.3e-03)、光源が横切る動画では |
u |
≥ 0.3 で測った倍率が閉形式と相対差 0.009 まで一致し、焦線に近い |
u |
< 0.3 では 0.161 まで開く(測れる範囲を主張と一緒に出す)。図は光源を校正ターゲット(同心円 4 本 + 放射スポーク 12 本)にして歪みを目で読めるようにした。新しい op は 1 つも足していない。 検査 20 件・図 12 枚(動く図 1 枚を含む)。 py -3.11 examples/poc_gravitational_lens_invariants.py |
- 無限に寄り続ける絵と、回り続ける立体 — 終わらない動きには、終わりを見なくても採点できる等式がある —— 無限ズームは自己相似比だけ寄ると絵が画素単位で元に戻り、立体回転は 2π で元に戻る。どちらも「最後に頭へ戻す」編集ではなく構成から従うので、真値は厳密に 0 差になる。素材はパスカルの三角形 mod 2(規則 90 の真値そのもの)で、空隙の階層は桁を数えるだけで閉形式に出る:
I = floor(u·2^D)、J = floor(v·2^D)、b を I & J の最上位ビット位置として深さ d = D − b。u → u/2 で I → I>>1 だから b は 1 減り d は 1 増える —— だからいくら寄っても解像度が落ちない(拡大した画像を引き伸ばしているのではなく、画素ごとに整数のビット判定で決めている)。1 周 8 倍のズームで frame(T) と frame(0) の最大差は 0.0e+00。★★芯 1: 測った次元がズームで 1 ミリも動かない。 既存の fractal_dimension をズーム 6 段に掛けると標準偏差が厳密に 0、しかも近似の深さと画素の細かさが合ったときは log2(3) = 1.584962500721 に差 8.9e-16 で一致する —— 近似ではない。★★芯 2: 同じ op が 0.0 を返す場面がある。 画素より細かい近似(深さ 9)を渡すと 0.0 になるが、これは「構造が無い」ではなく「画素より細かい」の意味で、実際その近似は 262,144 画素中前景 0 画素まで消えている。数字だけ見る門はここで嘘をつく。★★芯 3: 2π は浮動小数では閉じない。 角度 2πi/T で作った回転は i=T で sin(2π) = -2.45e-16 のぶんだけずれ、法線に 1.40e-12 が残る。周期を整数の剰余で閉じると 0.0e+00(厳密) —— 周期境界 PoC と同じ型の教訓。★★芯 4: 外した予言を 1 つそのまま残してある。 立方体のシルエット面積は正射影なら a²(|cosθ|+|sinθ|)。実測の残差 2% を見て「marching cubes の面取りのせい」と読んだが外れで、距離を 6 → 96 に伸ばすと厳密な立方体も marching cubes も同じように 0.128 → 0.004 まで落ちた —— 床の正体は透視投影だった。面取りのぶんは距離では直らない別の量に出る: シルエット面積の最大/最小は厳密な立方体では √2 = 1.4142 に収束する(1.4167)のに、marching cubes では 1.3958 で止まる。1 つの残差を 2 つの原因に切り分けたのは、距離を振ったから。ほかに、素材(深さの場)の 4 回対称は厳密 0 なのに絵にすると 1.1e-16 崩れる(数学ではなく 2×2 平均の足す順番)、ジャイロイドの 2 つの迷路の体積比は奇対称から 0.500000000000。新しい op は 1 つも足していない。検査 25 件・図 15 枚(動く図 2 枚を含む)。 py -3.11 examples/poc_endless_zoom_and_turning_solids.py
- 継ぎ目の無い動画で、時間方向 op の周期境界を検査する — 周期的な素材には、時間方向 op が満たすべき厳密な不変量がある —— 周期 T の動画 v に対し、周期境界を正しく扱う op なら op(roll(v,k)) == roll(op(v),k)(巡回シフト等変性)が厳密に成り立つ。端を複製・固定・切り捨てで埋める実装はここで割れる。
perpetual_loop は時間依存の量をすべて θ の関数にして作るので継ぎ目は消したのでなく最初から存在せず(継ぎ目の比 1.0509 —— 0 ではなく 1 が正解)、この等式の真値は厳密に 0 差になる。新しい op は 1 つも足していない。★★この回の芯は「『厳密に一致』が空の出力から出た」こと: three_frame_difference を既定のまま走らせると最大差 0.0e+00・汚れ 0 フレームという満点を返すが、中身のあるフレームは 0/32 —— 既定のしきい値 0.1 に対し素材の隣接フレーム差が最大 0.0841 しかなく、何も検出していない。空の出力はどうシフトしても空なので一致して当然で、等変性だけを見る門はここに構造的に盲目。しきい値を 0.03 にすると同じ op が中身 30/32・汚れ 4 フレーム・最大差 1.000 となり、満点が嘘だったと分かる。★台帳から拾った video -> video の単入力 op 16 本を全数走査すると 3 群に割れた: (1) 窓つき(端だけ汚れる)= frame_difference_causal 2 / optical_flow_magnitude_stream 2 / moving_average_window 4 / background_subtraction_window 8 / temporal_bilateral 8 / temporal_median_window 8 —— その枚数を捨てれば残りは厳密に一致。(2) 全フレーム(32/32)= deflicker / exponential_background / exponential_foreground / running_gaussian_background / running_gaussian_foreground —— 再帰や全域統計なので端を捨てても直らない。(3) 空に近い = three_frame_difference / motion_history_image / motion_energy_image —— 汚れ 0 に見えるが合格ではない。★★★汚れるフレームは個数でなく集合として閉形式で予言できる: 窓幅 w のop が汚すのは集合 roll(B,k) ∪ B(B = 不完全なフレーム)で、w = 3/5/7/9/11/13 の6 通りとも集合そのものが一致(4/8/12/16/19/21)。素朴な「w-1 フレーム」は6 通り全部外れ、2(w-1) も w=11 で外れる —— T=32・シフト 9 で 2 つの帯が重なるからで、重なり 1 フレームまで閉形式が説明する。★はじめ「中心窓なので前後 (w-1)/2」と予言して外した。外れた集合を引き算すると汚れているのは先頭側だけで末尾は無傷だった —— つまり窓は中心でなく後方(因果的)で、不完全なのは先頭の w-1 フレーム。窓の向きは、実装を読まなくても汚れた集合の形から読める。検査 17 件・図 9 枚(動く図 1 枚を含む)。 py -3.11 examples/poc_periodic_video_boundary.py
- 複素平面を「面」で見る(位相彩色・吸引域・脱出時間・翼まわりの流れ) — 複素解析の図(位相彩色・ニュートンの吸引域・マンデルブロ集合・翼まわりの流れ)は、きれいなので合っているかを誰も確かめない種類の絵である。4 枚を描き、1 枚ごとに絵とは独立の真値を当てて採点した。零点と極は既存 op(cplx_winding_number)が数える(+3 / +1 / −2、窓の外は数えない対照群つき)。★位相彩色は画素の RGB だけから色相の巻き数を読むと零点の位数になる(偏角の原理)。★★z²−1 のニュートン吸引域はCayley 1879 の厳密解 = 2 つの半平面で、512² = 262,144 画素が1 画素も外れず未収束 0。3 次は Cayley が解けなかった側で、同じ格子の境界画素が 1,026 → 13,348(13 倍)—— それでも共役対称は厳密。★主カージオイドと周期 2 球は反復せずに内側と言える閉形式で、85,624 画素が反例 0 件、ただし実際に残った 95,078 画素の 90.1 %(下界であることも数で出る)。c=0 のジュリア集合は単位円板(全数走査)。翼まわりの場は翼の外で正則なので cplx_cr_residual が 2.06e-04、循環は経路に依らず(外周 −3.0263 / 内周 −3.0263)、後縁が有限なのはクッタ条件のおかげで循環 0 なら 20 倍以上に発散する(対照群)。★揚力と薄翼理論の比は迎角にも速さにもよらず厳密に a/b(1.0937、ずれ < 1e-9)。
py -3.11 examples/poc_complex_plane_fields.py
- 写真を 1 本の線にして、回る振り子に描かせる(濃淡 → 点描 → 巡回路 → フーリエ → G-code) — 葛飾北斎「神奈川沖浪裏」(メトロポリタン美術館 CC0)の濃淡を 1 本の閉じた線にし、それを回る円の連鎖として描き直す。様式化は必ず「それらしい絵」が出るので、各段を数で門にした: 点描は濃淡を追うか(ランプで相関 0.9946、対照の一様画像では等間隔 cv 0.13)、★★相関だけでは指数が見えない —— 重心ボロノイの最適密度は √重み なので(Gersho)、実測の指数は 0.61 で暗さに比例していない(重みを二乗して 0.77)。巡回路は最小全域木より短くなれないので比で言う(1.142、素朴な座標順は 41.3)、濃淡の再現は相関 0.983(同数のランダム線の対照群は +0.013)。★ペン幅は閉形式で解け、インク率は目標の 0.891 倍 —— 不足の 11 % が線の重なりの量。★★ナイキストを先に確かめる: 等弧長の打ち直しは間隔が線分より粗いと角を切って線が縮み、フーリエに載せる前に情報が落ちる(16,384 点で長さ保持 0.934 → 65,536 点で 0.984、誤差は 1/N)。★★円の本数はパーセバルで描く前に決まる(K=16 で 94.6 %、K=64 で 99.2 %)。GIF は本物の回る腕で、1 → 4 → 16 → 90 → 600 → 4000 本と増えるにつれ絵が正体を現す。出口は既存の G-code op で「1 本の線で紙の上 15.51 m、プロッタ最短 8.6 分」。–image で自分の写真でも走る。
py -3.11 examples/poc_one_stroke_epicycles.py
- 高さは 2 つある・実データ編(公開された測量成果 523 点で、高さの取り違えを検出器にかける) — NOAA/NGS の公開 datasheet は 1 点につき楕円体高 h(NAD 83)・正標高 H(NAVD 88)・ジオイド高 N(GEOID18)・地心直交座標を全部公開している —— コロラド州フロントレンジの 523 点で答え合わせ。既存 dem_geodetic_to_ecef は公開 (x,y,z) と rms 0.5 mm・最大 0.8 mm(これまで自分との往復しか測っていなかった)。0.25 度格子の双一次補間は公開 N と rms 11.1 cm で、GEOID18 と旧 GEOID12B のモデル差(平均 −1.0 cm)より大きい = 格子を細かくするほうが先に効く。格子外の 15 点は端で埋めず拒否。楕円体高を標高の列に入れると全点が直線 −N に乗って中央値 16.75 m 持ち上がる(外れ値に見えない)。★残差は由来を 1 文字も読まないのに、水準 1.6 cm < 網調整 1.9 cm < GPS 3.8 cm < VERTCON3 8.3 cm の順に並ぶ。生データは commit せず集計 56 KB だけ。
py -3.11 examples/poc_geodetic_benchmarks_real.py
- 枝の縄張り(骨格が「どこ」かだけでなく「どの枝が近いか」を体積に配ると、枝ごとの体積と半径が測れる) — 3D 距離変換の「向き」op の使いどころ。真値の枝ラベルつき合成樹状突起(半径の違う 5 枝 + 分断片 + ごみ 6)を vol_rle_components(片ごとに持って体積で選ぶ)→ skeletonize_vol → skeleton_branches3d → vol_nearest_label(枝 id を空間の全 voxel へ配るボロノイ分割)で枝の縄張りにすると voxel 一致率 0.978・枝ごとの体積誤差 2.9 % 以内。半径は vol_nearest_seed_vector の変位長 + 0.5 で 0.24 voxel 以内(骨格上の距離変換の古典と同精度、こちらは表面の全 voxel に付く)。値だけの古典(接合点を球で削って連結成分)は球が小さいと分かれず大きいと体積を捨てる(0.78、22 % 未割当)。
py -3.11 examples/poc_em_branch_territory.py
measurement
- レンズに微分を計算させる(4f 光学プロセッサ) — 2 枚のレンズの間にフィルタを 1 枚置くと、光が空間微分を実行する —— GPU も 畳み込みカーネルも要らず、光が通り抜ける時間で終わる。真値は全部閉形式か整数: 恒等フィルタなら出力は入力の 180 度回転(2 枚のレンズがそれぞれ前向きの フーリエ変換を行うため)、(i2πf)^n なら n 階微分でガウシアンの閉形式と一致、渦位相板の巻き数は整数。外部の参照値を一つも使わない。–morph で 分数階微分 0→2 の連続変化を動画にする(静止画では別々の絵に見えるものが 1 本の族であることが目で分かる)。★偶数長のナイキストのビンを 0 にしないと 片側位相が奇対称を厳密に満たさないことも、桁で見せる。
py -3.11 examples/optics_four_f_processor.py
- 特徴の次元を、真値を一つも使わずに測る — 形を k 倍に拡大して値が k^p 倍になる指数 p を測り、領域を受けて数を返す 35 op の次元(無次元 29・長さ 5・面積 1)を表にする。HALCON の数値も閉形式の真値も使わない —— 変成関係だけで採点する。2026-09-26 に直した 8 op のうち 5 本はこの 1 枚で出ており、同じ枚で未解決の §52(moments 族が p=0、HALCON は 4/5/8)も指す。画布で割ると p が 1.015 から 0.015 へ落ちることをその場で見せ、値域や有限性の門では区別できないことを示す。
py -3.11 examples/scale_law_of_features.py
- 形状特徴を閉形式の真値で採点する —— そして消えないバイアスを見せる — 矩形と円の厳密な閉形式(面積・矩形度・周囲長²/(4π面積)・円形度)で region 特徴を採点。面積と矩形度は丸め誤差 0 で一致。コンパクトさが頭打ちしないことを長さを伸ばして assert し、周囲長の 2 つの推定量が逆の形で外す(perimeter は円で +5%・crofton は正方形で -5%、どちらも解像度で消えない)ことを示す。
py -3.11 examples/shape_factors_closed_form.py
- 小惑星イトカワの実際の形の上で、立つ場所の重さと坂を測る —— 一様密度の多面体の厳密な重力(polygrav 2 op) — 公開データの形(NASA PDS Small Bodies Node の Gaskell Itokawa Shape Model、Q = 64 の 49,152 面、CC0 1.0、data/itokawa_shape/)で、polyhedron_gravity(Werner & Scheeres 1997 の面と辺の和)を長軸の断面に沿って計算: 自転の遠心力を足した実効重力は 56.8〜82.0 µm/s²、両端で軽い。重心でガウスの法則 ∇·g = −4πGρ が 2e-16。polyhedron_clip_halfspace で x ≥ 150 m を頭として切り、頭 2,850 kg/m³・全体の質量を保つと胴 1,754 kg/m³・重心 +21.5 m(Lowry 2014: 1,750 ± 110・21 ± 12 m)。動く 3-D 版は tools/build_itokawa_anim3d.py。
py -3.11 examples/itokawa_gravity_tour.py
color
- Bayer の生フレームを段ごとに説明できる式で表示画像にする(ISP 8 段) — 黒レベル → 欠陥画素 → 周辺減光 → AWB(RAW 側)→ 双線形デモザイク → CCM → 色相彩度 → 明暗を全部閉じた式で。植えた台座・減光・かぶり・欠陥 12 画素を順に外し、デモザイク後の誤差は 95 % 点で 5e-4(最大は円の縁のジッパー 6e-2 を隠さず印字)。★gray-world は場面の平均が灰でないと真の照明の逆にならない —— 一致しない数字を並べて段の限界を見せる。
py -3.11 examples/raw_to_display_isp.py
- 色恒常性(どの手法にも「効く条件」があり、勝ち続ける手法は無い) — 既知の反射率チャートに既知の光源を掛けて合成し、角度誤差で測る。白パッチ法は素のチャートで 1.06 度と最良だが、一番明るい 1 枚を外すだけで 8.45 度(8 倍)、飽和 43% で 13.61 度 = ゼロ点に厳密退化する。灰色世界は有彩色が 60% を占めると29.79 度でゼロ点に負ける。最適な p は場面ごとに 1 から ∞ まで動く。
py -3.11 examples/poc_white_balance.py
separation
- 4 方向の画素モザイクから鏡面を分ける — 光沢金属、光沢樹脂、つや消し背景を 1024 px の 2×2 偏光子モザイクとして撮り、半解像度の 4 方向像、S0/S1/S2、DoLP、色相環付き AoLP、鏡面低減像を示す。消光比 120:1 の漏れ、白飛び、低 DoLP 部の角度雑音を残す。ブリュースター領域は DoLP 1、AoLP 誤差 0°。角度雑音の実測/閉形式は 1.00±20 %、消光比 1 の破壊探針では DoLP が 0.02 未満になる。従来のフレネル曲線と分離の偏りは検証図に残す。
py -3.11 examples/poc_polarization_specular.py
- 偏光 4 方向の鏡面除去は金属では効かない(残る量を閉形式で当てる) — 鏡面の偏光度 p を
fresnel_dielectric / fresnel_conductor の s/p 反射率から出し、部分偏光の掃引を polarization_render(D + (1-p)S, pS) で描いて polarization_separate に戻す。★誘電体 n=1.5 の Brewster 角 56.3° では p=1、残り 0(3e-16)。30° では p=0.39 で鏡面の 61 % が「拡散」に残る。★アルミ相当(n=1.2, k=7.3)は p=0.05 で 94.8 % が残る —— 道具は閉形式と 3e-16 で一致し、外れているのは『鏡面 = 完全偏光』の仮定。DoLP 地図も pS/(D+S) と一致。 py -3.11 examples/example_polarization_metal.py
- 多波長で彩色層を剥がす(勝ったのは「多波長」ではなく「近赤外」だった) — 層構造を Kubelka–Munk で合成して真値を握り、下絵検出・顔料存在量・褪色前の色の復元を 9 手法で比べる。可視だけ 16 バンドに割っても RGB と同じ(再現率 0.118 対 0.119)。近赤外 1 枚は面ごとには完璧(AUC 1.000)なのに全体では 1 本も閾値が引けない —— 絵具ごとの近赤外反射率の差が下絵の信号より大きいため。近赤外の差分は逆に剥落部で盲目(0.013)になる。★MNF が PCA に負けた: 雑音共分散を横隣との差で作るので、下絵の上での横差分エネルギー(他所の 3.9 倍)を雑音として白色化していた。
py -3.11 examples/poc_pigment_unmixing.py
- 海氷密接度(混合画素をどう数えるかで答えが変わる) — ★ゼロ点(1 本のしきい値で 2 値化)は密接度 0.35・相関長 3 セルで -4.2 ポイント外し、線形混合分解は +0.02。対照群(標本化そのものの誤差 +0.01)が効いていて、偏りは標本化ではなく数え方だと分かる。★★同じしきい値・同じ真値でも塊の大きさで偏りが変わり(-4.2 → -0.2 ポイント)、周長率で説明がつく(偏り = -0.80 × 周長率 + 0.015、R² = 0.984)。第 3 成分(薄氷)は必ず配分され、同じ数字が真値の定義で -4.4 / +2.7 ポイントに化ける。
py -3.11 examples/poc_sea_ice_concentration.py
- 蛍光の共局在と漏れ込み(Pearson と Manders は別の場所で壊れる) — 2 色の小胞画像を真の共局在率 0〜100 % で合成し、漏れ込み [[1,α],[β,1]]・PSF・光子雑音を掛けて Pearson r と Otsu-Manders を測る。★無関係な 2 色が α=β=10 % で r=0.203 / M1=0.132、対称漏れ込みなら r=2α/(1+α²) で 0.5 を超える崖は α=0.282(予想 2−√3=0.268、片側なら 30 % でも 0.289)。★★単染色対照から分離すると r は戻る(0.007)が Manders は戻らない —— Otsu より下の裾が落ちて 100 % でも 0.699(閉形式の予想 0.750)。生の M1 が真値を横切る α=0.228 は裾落ちと漏れ込みの相殺。★★ぼけは Pearson を動かさず(0.011→0.089)Manders だけ 0.043→0.946 に押し、σ=2.5 px で Otsu の前景が小胞から細胞体へ飛び移る段差。★Costes のシャッフル検定は漏れ込みだけの r を p=0.000 で有意と言い、Costes 自動しきい値は漏れ込みで台まで落ちて M2=1.000 に崩壊する。
py -3.11 examples/poc_colocalization_crosstalk.py
- 混合廃棄物の材質選別(消せる汚れと消せない汚れは代数で決まる) — 材質スペクトルをガウス吸収帯の閉形式で作り、汚れ・濡れ・傾き・重なり・混合画素を既知量で仕込んで真値を握る。★ゼロ点(総当たりで最良の band 対 1721/2021 nm の比)は綺麗な場面で 0.972 と強く、SAM の 0.995 にほとんど負けない —— 差が出るのは劣化してから。★★不変性は代数で予測できる: 乗算汚れ 0→0.8 で生 SAM 0.995→0.990、加算ベースライン 0→0.6 で生 SAM 0.995→0.827 に対し 2 次微分は全水準 0.995。★予想は 2 つ外れた —— 濡れは 2 次微分で 0.818 まで耐え(生 SAM 0.282)、理由は 2 階微分がガウス帯を 1/σ² で重みづけるから((43/70)²=0.37)。連続体除去は加算が弱いと勝ち(0.983 対 0.865)強いと逆転する(0.736 対 0.827)。★★特徴の無い金属は微分で消える(再現率 0.06 → 平坦度の門で 0.98)。★★乗算汚れが壊すのは分類でなく検出(0.990 のまま、検出込みだと 0.716)。対照群の効く順序は 濡れ +0.148 > 乗算汚れ +0.015 > 混合画素 +0.012 > 傾き +0.009 > 加算汚れ -0.127 で、★加算汚れは止めると下がる(破片をベルトから浮かせていた: 未検出 1.1→17.3 %)。★★「似た組が先に壊れる」はライブラリの話で、雑音だけなら予測 1 位 PP-PE が的中(相関 0.84)なのに全部入りでは 紙-金属 に入れ替わる。★境界を捨てると再現率 0.822→0.834 なのに組成誤差は 3.42→3.50 pp と悪化し、線形混合分解は劣化なしで境界を 0.003 で当てるのに全部入りでは 0.183。
py -3.11 examples/poc_recycling_sorting.py
- 実写の免疫染色を色で分ける(残差は平面内の誤りに構造的に盲目) — scikit-image 同梱の実写免疫染色像(512x512、H + DAB)を Ruifrok-Johnston の色分離で解く。★合成では完璧(片方だけ濃度 1.0 → 回収 1.0000 / 漏れ 0.0000)。★実写では H が -4.446 まで負に振れ、負の画素 11.51 %。★H と DAB は 37.1 度しか離れておらず(内積 0.7979)、完成した 3x3 の条件数 2.98 でもともと悪条件。★★染色ベクトルを平面内で ±20 度回すと H 中央 0.0471→0.1348(2.86 倍)/ DAB 0.3590→0.1836 と動くのに、残差の絶対中央値は 0.0345 のまま(幅 3.33e-16)―― 平面内の回転に対して残差は定義上不変。★★回した染色自身の負率も 11.51 % で不変(幅 0)。動くのは相方 DAB の負率だけで 0.00 %(-20 度)→ 0.18 %(0 度)→ 30.38 %(+20 度)、単調なので片側の上限しか出ない。★往復の再構成は最大 1e-06 / 中央 2.2e-16 で厳密 ―― 「往復が合った」はモデルの正しさの証拠にならない。★この回に stain_unmix / stain_recompose / stain_vectors_from_patches + STAIN_VECTORS(H&E / H-DAB / H&E-DAB)を新設(spec_unmix は 3 チャネルを設計上拒否するので RGB の入口が無かった)。
py -3.11 examples/poc_real_stain_unmix.py
vibration
- モーション拡大の振幅精度(拡大は測るための道具か) — 既知の振幅 0.02-0.5 px を拡大して測り返す。拡大率は α=200 まで厳密(実測/期待 = 1.00000000)。だが測るなら拡大は要らない —— 生映像の位相相関と誤差比 1.14 で引き分ける。崩れるのは拡大率ではなく入力振幅で、境界は位相の巻きではなく J0 の第 1 零点 3.0619 px。
py -3.11 examples/poc_motion_magnification.py
- 動画からのモード同定(f は当たる、ζ が先に嘘をつく) — ★★片持ち梁 3 モードの自由減衰を妨害入り動画に合成し、位相法と PIV で f_n / ζ_n / MAC を測る。f_n は 0.06 Hz 以内で当たるのに ζ_1 は同じ時系列から半値幅 0.0778 / 包絡線 0.0188 / 当てはめ 0.0181(真値 0.02)。半値幅の 3.9 倍は窓長 2 s の分解能下限(予測 0.0738)そのもの。★振幅を 0.02→2 px で掃引すると崖の順番は f → ζ → MAC_2 → MAC_3 で、0.02 px では f_1 誤差 +0.030 Hz のまま ζ_1 が真値の 0.23 倍。★照明 100 Hz の折り返しは fps 48.5 でちょうど f_1 = 3.00 Hz に乗り、輝度のゼロ点は ζ を出せない。★phase_displacement の wrap_limit_px(0.018 px)は崖を予測せず、先端 3.1 px でも壊れなかった。
py -3.11 examples/poc_beam_modal_video.py
rectification
- レンズの歪みを画像ごと補正する(たる型/糸巻き型/接線) — Brown-Conrady モデルで画像を丸ごと undistort/distort。補正後の各画素が歪んだ入力の『理想の光線が落ちた場所』を拾う後方マップ(穴が開かない)。直線の弓なりが桁で減り、滑らか像の往復は内部で数値一致、remap 場は distort_points と厳密一致。★係数の推定はしない(与えられた前提)。既存の点モデル + warp_by_field の合成、来歴=Brown 1971 / Discorpy。
py -3.11 examples/lens_undistort.py
- 書類スキャンの台形補正と影除去(良いところ取りは無い) — 既知のホモグラフィで歪ませて戻す。4 隅 RMS 1.94 px、何もしない 37.4 px から97.1 % 改善。★影除去は必ず何かを壊す —— 地を割ると紙の誤検出は 0 % になるが薄い字が全部消え、局所コントラストを上げると薄字は残るが紙の 38-99 % を字にする。射影とアフィンの取り違えは例外を出さずに 32 倍悪化。
py -3.11 examples/poc_document_scan.py
calibration
- 本来まっすぐな線群から歪み係数を推定する(plumb-line 法) — undistort_image の上流 —— 係数を『測る』側。まっすぐな線を歪ませた点列だけからestimate_distortion が k1,k2(必要なら p1,p2)を回収し、推定係数をそのままundistort_image に渡すと弓なりが直る。チェッカーボードの対応点は不要、線がまっすぐと分かればよい(Discorpy 流)。中心=主点は固定。雑音では素直に劣化する(過信しない章あり)。来歴=Brown 1971 / Devernay-Faugeras 2001 / Discorpy。
py -3.11 examples/estimate_lens_distortion.py
- カメラ校正の再投影誤差は何を保証しないか — 内部パラメータと姿勢を自分で決めて推定し返す。板の傾きだけを変えると再投影 RMS は比 1.00 倍のまま fx の誤差が 281 倍(0.026 % 対 7.33 %)。区別できるのは sigma_fx(129 倍)。傾き 0 度の退化配置は閉形式が拒否するが非線形最適化は正常な再投影誤差とともに 25 % 外れた答えを返す。
py -3.11 examples/poc_camera_calibration.py
- 平面ターゲットの多視点から内部行列 K を推定する(Zhang 法) — fs.camera_calibration を facade から呼ぶ最小例。傾けた 6 視点で K を厳密回収し(fx,fy,cx,cy 誤差 < 1)、orientation_rank_ratio で配置の良し悪しを見る。板を傾けない正面平行は退化して fail-closed、視点 3 未満も拒否。回収した K はestimate_distortion / undistort_image / PnP に渡せる。来歴=Zhang 2000。
py -3.11 examples/camera_intrinsics_calibration.py
- ハエの視葉だけで進路を立て直す(ラミナから操舵まで、学習なしで) — 複眼と閉じた式の回路しか積まない機体が、外乱のなかで進路を保つ。ラミナ(順応 + 帯域通過)→ ON/OFF → T4/T5 の 6 方向 → 局所フロー → 整合フィルタへの線形当てはめ → 6 ニューロンの操舵回路(コンダクタンス)。三腕モデルは論文の 2 柱刺激で 24.96 / 0.820 を返し、「増強と抑制は相補的」は比の積の恒等式として機械精度で成立。縞ドラムでは相関 0.976、自然な 1/f では 0.897 で、必要な較正利得は景色の種類で 3.0 倍ちがう。視野 80° の 1 つの眼は 12 枚中 4 枚で回転の符号を誤るが、250° に束ねると 0 枚。閉ループの進路の流れは 51° → 33°(真値のジャイロは 23°)。
py -3.11 examples/poc_fly_optomotor_steering.py
- 公共カメラはどこを向いているか・実写編(807 局の道路カメラで太陽を探し、日没 1 本から向きを決めて道路で検算する) — Fintraffic 天候カメラ(CC BY 4.0、鍵なし)807 局 × 24 h の実写。見た目の門は文字・標識・白い車を太陽と言い(24/24 誤検出)、太陽は切れたブルーム、空は上 1/3 —— そこで足した 2 op(sun_bloom_fit = 切れていない縁に円を当てる / camera_orientation_from_sun_candidates = 時刻どおりに動く 1 本を RANSAC + 道路カメラの事前知識で選び f も探索)で、追えた日没 1 本(E18 Hamina、メタデータの向き UNKNOWN)から yaw 267.9°。同じ姿勢で車線の消失点を世界方位にすると OSM の路線方位と 2.5° 差。1 枚抜きで yaw 1.3°・roll 10°・f 2 %(弱い自由度は隠さない)。生画像は commit せず集計だけ。
py -3.11 examples/poc_public_camera_heading_real.py
- 公共カメラはどこを向いているか(位置しか公開されない固定カメラの向きを、写真そのものから決める) — 新族 geocam(7 op、numpy + scipy)。位置既知の固定カメラの (yaw, pitch, roll) を学習なしで 2 つの独立な手掛かりから決めて互いに検算: DEM で描いた 360° の稜線 vs 動的計画法で抜いた空と地形の境界(yaw を一周した残差曲線と曖昧さ margin を返す)、時刻つきの太陽の画素 ≥ 2 点 → Wahba 問題の SVD 解(太陽位置は NOAA の閉形式)。真値つき合成カメラでスカイライン 0.058°・太陽 0.002°・2 経路の一致 0.061°、対照の「道路方向の事前知識」は 7.5°、平地の DEM は ambiguous(黙って間違えない)。GIF は yaw を一周させて稜線が境界に噛み合う瞬間。
py -3.11 examples/poc_public_camera_heading.py
- カメラの熱ドリフトが寸法計測に効く量(分離できるのは歪みがあるから) — ★★予想が逆だった —— 歪みが無ければ主点ドリフトは寸法に厳密に 0、焦点距離ドリフトは位置に依らない一定の倍率誤差で、位置を振っても何も分離できない。歪み k1=-0.12 を入れて初めて主点ドリフトが半径に比例する誤差を作る。1 次式 err(R)=a+b·R に当てはめると a=+224.5 ppm(対照条件 +225.3、差 0.4 %)、b=+0.2388 ppm/px(主点のみ 0.2190 + f のみ 0.0197 = 0.2387)。★対照群で誤差の床を先に測ると 1 枚 117 ppm。ドリフトが床を超えるのは ΔT=1.6 K から。
py -3.11 examples/poc_thermal_drift_metrology.py
visualization
- 結果を、触って見られる 1 枚の HTML にする(タブ・バッジ・3-D・動画・多言語) — fs.write_viewer の最小例。点群・メッシュ・動画(真値と推定の枠 + しきい値つきの時系列)・前後の分割の 4 種を、正直なバッジ(門を通った / 限界を見せる / 何もしない場合)つきのタブで 1 本の自己完結 HTML にする。言語は lang で選ぶ(ja / en / zh / tw / ko / de / hi / fr、先頭が既定)。位置は間引かず量子化(戻りが刻みの半分以内)、外部 URL 無し、欠けた訳は黙って補わず ValueError。
py -3.11 examples/interactive_poc_viewer.py
- 動く 3-D を 1 枚の HTML で再生する(姿勢の時系列 + 同じ時間軸の 2-D) — fs.viewer_anim3d_tab の最小例。3 関節のアームが箱を運ぶ運動学(外部の物理エンジン無し)を、物体ごとのメッシュ 1 回 + コマごとの姿勢(位置 uint16・四元数 int16)で 1 本の自己完結 HTML にする。残像の軌跡・点群の時系列・段の区切り・時系列グラフ・上から見たカメラ画像と二値化(無損失 PNG)を同じ時間軸で再生。半透明のレンズ(alpha 0.3)を貫いて焦点へ集まる光線が透けて見える。姿勢の復元が量子化の刻みの半分以内、PNG が画素ごとに一致。
py -3.11 examples/interactive_anim3d_viewer.py
- レンズの収差を光線で見る(絞り・画角・波長を振る動く 3-D + op の処理の帯) — 球面・コマ・非点と像面湾曲・色の 4 収差を、fs.trace_rays で実際に追った光線の動く 3-D に。帯は ray_fan(点 = 実光線、白線 = ザイデルの 3 次の式)→ ray_bundle(スポット)→ psf_field_grid(回折の PSF)→ opd_samples / wavefront_from_opd(波面とゼルニケの種類別の地図)。門: 小さい絞り・画角で実光線と 3 次の式が 1 % 以内、サジタルのコマ = 1/3、T−P = 3(S−P)、単レンズの焦点 = 厚肉の閉形式、アクロマートの F−C = 0。限界の回: f/2.5 で 13 %、20° の T 像面で 20 % 外れる。波面が数十波長の瞳は回折の PSF を作らず幾何の PSF(光線の密度 ⊗ Airy、重なりの領域で回折の PSF と集中半径 4 % 以内)に切り替える。
py -3.11 examples/anim3d_lens_aberrations.py
- 商品を 3D Gaussian Splatting にしてブラウザで回して見る(1 品のビューア + 5 品のカタログ) — fs.gs_viewer_html / fs.gs_catalog_html の最小例。符号付き距離場の op と marching cubes で作ったマグ・ヘッドホン・腕時計・スニーカー・ランプを gs_from_world で 3DGS にし(メッシュから初期化、学習ではない)、外部読み込み無しの 1 枚の HTML に書く。WebGL2 で gs_render と同じ EWA の式、並べ替えは Web Worker、寸法は smallest_box3。注記点・回転台・背景・品質つまみ、8 言語。書いた HTML を読み戻し、量子化の刻みの半分以内で戻ること・外部 URL 0 を確かめる。
py -3.11 examples/gsplat_product_viewer.py
- ハエ(雄)の脳を、細胞体 12 万 6 千個の点のまま描く(点群を描く op points_render) — MaleCNS v1.0(CC BY 4.0)の注釈から脳の細胞体 126,104 個を上位クラスで色分けし、新 op points_render で正面・側面・背面と回転の GIF に。門は絵の外の値: 注釈の左右ラベルで L の 99.5 % が正面図の右半分、Kenyon 細胞 4,050 個が触角葉ニューロン 437 個より背側・後ろ、正面図と背面図(別のカメラ)の列の和が左右反転で 1.8e-15、加算の像の総和 = 点の数(1.2e-16)、クラスごとの像の重心 = 閉じた式の射影(1.4e-5 画素)。生データは repo に入れず、無い環境では合成の脳で同じ門を回し記録値を印字する。
py -3.11 examples/poc_flybrain_pointcloud.py
- ハエの脳の立体の上で刺激の波が配線を伝わるのを見る(コネクトーム vs 次数保存 shuffle) — MaleCNS で soma の座標を持つニューロンのうちシナプス総数上位 3,000 体の部分グラフ(344,719 辺)に右の視葉だけへ刺激を入れ、活動が伝わる様子を脳と VNC の立体(灰 = 全 141,781 soma、橙 = 右、青 = 左)を回しながら GIF に。隣は次数保存 shuffle に同じ刺激・同じ入力行列。実測: コネクトームは刺激からの平均距離 88 → 230 µm を 17 步かけて伸び、視葉 → 中枢 → 下行の順に点いて 36 步では VNC に届かない。shuffle は 3 步で 300 µm に散り遠い 1/4 の 93 % が点く(コネクトーム 0 %)。精度で見えなかった配線の空間構造が動きで見える。新 op: reservoir_states(W_in=)、graph_activation_latency、graph_activity_spread、points_activity_video(尺度は全コマで 1 つ、views= で背側・側面・体軸方向の 3 方向を同時に)。生データは commit しない。
py -3.11 examples/poc_malecns_activity_wave.py
- 生きている組織の 3D+t を古典手法だけで短い 3D 動画像に(増幅・流れ・補間・高さ場、全部に真値) — 新族 live4d(14 op、numpy + scipy、新語は volseq = 体積の時系列だけ)。目に見えない 0.1 voxel の拍動を Eulerian の線形拡大で 8 倍に(読み取り 7.89 倍)、分かれる塊の 3 次元 Lucas–Kanade の流れは真値 ±0.75 に対し +0.776 / −0.776、粒子の軌跡は時刻の色で 1 枚の立体に、2 倍レートから間引いた系列の流れ補間は動きが大きい領域で線形ブレンドに圧勝し小さい領域では負ける(正直に図示)、焦点掃引の時系列から高さ場の動画。Cell Tracking Challenge の生細胞も同じ経路。
py -3.11 examples/poc_live4d.py
- 動画を空間 × 時間の立方体として見る(Video Summagator の再実装、ハエの脳の断面も同じ op で) — 動画 (T, H, W) を (x, y, t) の立方体にし、動かない背景を薄く・動く物体を濃く、軌跡を時刻の色で描く(新族 videocube 6 op、numpy + scipy)。合成の監視クリップでスリットスキャンの筋から読んだ出現時刻と速度が真値と一致、代表フレームが 3 物体の出現を全部捉える。同じ op でハエの脳の EM 連続断面(CREMI、生データは commit しない)を立方体にすると膜が奥行き色の管になる。video_write_gif でGIF に書き出す(使い回しの出口)。Studio の Tools ▸ Video cube で対話的に動く。
py -3.11 examples/poc_video_cube.py
- 複眼が見る像と、脳のどこが反応するかを並べる(個眼をなぞると応答が配線を伝わる) — MaleCNS の視葉ニューロンに付いた六角柱(個眼の柱)を使い、右眼 892 柱の視葉ニューロン + 中枢のハブ 1,400 体(4,076 体・150,487 辺)に個眼 1 つ分の刺激を入れる。刺激柱を眼の一行に沿って動かすと応答が視葉の中を同じ向きに動く: 柱座標と応答重心の相関はコネクトーム −0.92、次数保存 shuffle +0.01(網膜部位対応は配線にある)。縦縞の像を fly_hex_resample で個眼に落として入れると応答が縞を追う。Studio の Tools ▸ Compound eye → brain で同じ部品が対話的に動く(マウスで刺激位置、ドラッグで視点、画像を眼に通す、shuffle 切替)。新モジュール eyebrain(データ・柱↔個眼の対応・刺激・波・眼の絵)。生データも部分グラフも commit しない。
py -3.11 examples/poc_eye_to_brain.py
forensics
- 画像改ざん検出の ROC(保存ボタン 1 回で何が消えるか) — 改ざんを自分で入れて画素ごとの ROC を出す。JPEG ゴーストの谷の深さで AUC 0.997 / 偽陽性 1 % で検出率 0.944。だが全体を q60 で保存し直すと 0.475 と乱数を下回る。雑音 σ は AUC 0.764 なのに偽陽性 1 % での検出率が 0.000 —— AUC だけで語ると効いて見える典型。
py -3.11 examples/poc_forensics_roc.py
- 映像の物理整合性 ―― 壁を上って跳ぶ車は弾道か推力か、時間は引き延ばされていないか — 単眼の合成映像から車の箱を追って尺度つきの平面軌跡にし、重力+抗力と一定推力つきの運動方程式を AIC で選んで推力の大きさを返す。当てはめた g から時間の引き延ばし倍率を閉形式で逆算し、清浄な映像の帰無分布での位置で返す。鉛直推力と時間の引き延ばしが単眼では縮退することも数字で示す。
py -3.11 examples/poc_video_physics_consistency.py
- 絵画のひび割れ網(壊れるのは分岐次数だけ) — ★★乾燥ひびと経年ひびをボロノイ網の真値 2 種で作り、セル径・直線度・次数 4 割合の 3 指標で分ける(真値 18.0 vs 45.2 px / 0.960 vs 1.000 / 0.20 vs 0.83)。質感と斜光で動くのは次数 4 割合だけ(経年 0.87 → 0.64 / 0.70)で、予想した「直線度が壊れる」は外れた。★幅の崖も質感の爆発も来ない(0.15 px で再現率 0.696、c = 0.64 で偽陽性 0.382)—— 線検出は線に沿って積分する。★sk_frangi は分岐点で落ちて斜光でセルが 52 → 16 個に崩れ、暗さそのもの(cv_blackhat)が全リッジ op に勝つ。
py -3.11 examples/poc_fresco_craquelure.py
morphology
- 左右非対称性の定量(対称面そのものが変形に引きずられる) — 厳密に左右対称な合成頭蓋の片側に既知の膨らみを入れて測り返す。検査の床は点対面 rms 0.0297 mm(点対点の 45 分の 1)。残差が最小になる対称面は非対称量の 46 % を消す —— 症状を左右に均して残差を買っているため。「見つけるなら残差最適面、量を言うならランドマーク面」を数字で分ける。
py -3.11 examples/poc_bilateral_asymmetry.py
- 血管網を抜いて分岐を測る(ヒゲ、分岐近傍の径の過大、指数の脆さ) — ★★きれいな合成画像にはヒゲが出なかった(予想外れ)—— 端点を持つ枝の最短が 15 px で、ヒゲと呼べるものが 1 本も無い。ヒゲは細線化ではなく境界のざらつきが作る(振幅 0 → 0.35 で余分な分岐が 3 → 34 個)。★★ヒゲを刈る長さのしきい値は解像度で成り立ったり成り立たなかったりする: 原寸ならヒゲ最長 9 px と本物最短 15 px が分かれて12 px で完全に切れるが、半分の解像度では 7 px と 6 px で重なり、どのしきい値でも両方をゼロにできない。「刈れば直る」は解像度に依存する主張だった。
py -3.11 examples/poc_vessel_network.py
registration
-
| 点の順を入れ替えても 1 ビットも動かない位置合わせ —— Ozaki スキームの FP64 の縮約、誤差は段で落ち上界で保証 — 同じ 20 万点の点群を点の順だけ入れ替えて Kabsch の回転を解くと、普通の FP64 の積(DGEMM)は足す順で下位ビットが動き、11 回の入れ替えで 12 通りの回転に分かれた(最大の差 1.7e-15)。新モジュール ozakimm(6 op)は縮約を正確な整数の部分積に分け、点の順・BLAS のスレッド数 1/2/4/8 に依らず 1 通りのビットを返す。分割数を 1 枚増やすたびに誤差は約 2⁻⁷ ずつ落ちて FP64 に届き(真値は Python の整数で計算した正確な積)、打ち切りの上界は 9,216 要素で破れ 0。入力を 2 の冪倍すると答えも正確に同じ倍率(arXiv 2606.29129 が報告した旧 fast mode の欠陥が無い)。代わりに CPU では遅い(正方行列で DGEMM の 11〜60 倍、20 万点の 3×3 で 0.68 ms → 170 ms)。GPU で FP64 を速くしたいなら cuBLAS 13.4 の FP64 エミュレーション(opt-in)が手元の測定で n=8192 に 17.8〜23.8 TFLOPS(ネイティブ 1.67)—— ただしビット単位の再現は保証されない。ICP の家族 5 本(registration / match3d / gicp)にも reproducible=True を足した: 点の順 5 通りで既定は 5 通りの姿勢、reproducible は 1 通り(既定との差 |
ΔR |
≤ 3.3e-15、2 万点の ICP 全体で 2〜5 倍遅い)。 py -3.11 examples/poc_reproducible_icp.py |
- 点群位置合わせの収束域(どれだけずれていたら失敗するか) — 初期姿勢のずれを振って成功率の等高線を出す。境界は初期回転 90-120 度で、並進は直径の 50 % まで振っても回転ほど効かない。PCA 単独は 4 % しか成功せず、素の直方体では 83 % が反転した象限を掴む。球と円柱は 16/16 が「残差はそのままで別の姿勢」を返す —— 収束したのに間違っている。
py -3.11 examples/poc_registration_basin.py
- テンプレート追跡(見失うより先に、静かにずれる) — 既知の相似変換で動画を合成して真値を握る。ゼロ点(更新なし全域探索)の床は0.79 px(整数座標のため)。毎フレーム更新のドリフトは log-log 傾き 0.456。★ずれたフレームほど相関ピークが高い(ドリフト検出の AUC 0.182 = 逆相関)。そっくりな別物体が併走すると、ずれた 152 フレームが全部校正しきい値を通って「見つけた」と報告する —— AUC 0.993 でも運用点が使えない。ピーク値と突出度は得意な崖が逆(平坦な遮蔽はピーク値、紛らわしい対象は突出度)。
py -3.11 examples/poc_template_tracking.py
- 変化検出と位置合わせ誤差(偽陽性はエッジの帯、しかも崖つき) — ★★2 時期の差分は位置合わせ誤差でエッジが全部「変化」になるが、その偽陽性はずれ 0.3 px まで雑音の床で 0.5 px から崖(PSF から予測した δ*=τσ√2π/C=0.351 px と一致)、3 px で 7175 px。★エッジ総長×ずれの比例則は 3 px で 0.78 倍だが崖を説明せず、PSF と雑音を入れた台帳予測は 0.84〜1.07 倍 ―― 漏れるのは樹冠テクスチャ(1.5 px で 482 px、勾配則で 409 px と予測できる)。★★位置合わせ 3 経路は残留 0.02〜0.13 px まで戻すが、唯一の位相相関は 3-D 用の整数精度で残留 0.72 px、その偽陽性 995 px は「ずれだけ」の掃引を同じ残留で読んだ 915 px に乗る(位置合わせ後も同じ崖)。★変化の大きさの崖は面積の重なり則 (1−δ/(s√2))² でなく画素被覆則(被覆 > τ/C)で決まり、36 点で差 0.000。伐採は完璧な位置合わせでも検出率 0.33、照明差だけの偽陽性 17198 px は放射補正で 0、histogram_match は変化そのものを消しにかかって 383 px 出す。
py -3.11 examples/poc_change_detection_misreg.py
-
| 印刷の版ずれを刷り上がりから測る(網点は格子なので答えが 1 つに決まらない) — オフセット/ラベル印刷の版ずれを刷り上がりから測る。CMYK 4 版に慣行のスクリーン角(C 15°/M 75°/Y 0°/K 45°、133 lpi、1200 dpi でピッチ 9.02 px)と既知の連続量のずれを仕込む。★★中心の主張は幾何: 網点は格子なので相関で出るのは d ではなく d mod Λ_θ。軸方向 |
d |
≤ p/2 = 4.51 px、対角 p/√2 = 6.38 px を超えると折り返す。4 版 × 37 点 = 148 点で予測と実測が一致した点 144、差は最大 0.1096 px。残り 4 点は基本セルの境界(セル余裕 ≤ 0.165 px)のタイで、格子で簡約した残差なら全点が合う —— 推定器は間違えておらず、格子で等価な答えのどれかを返している。独立な 2 つの推定器(自作 FFT 相関 と piv_cross_correlate)が同じ折り返しをする。★★真値 9.64 px(公差 2.0 px の 4.8 倍)が、スクリーン角の違いだけで版ごとに 1.09〜3.32 px に見え、4 版中 2 版が「合格」に見える —— 同じ紙が同じだけずれた結果。★ゼロ点(インク重心)は折り返さない代わり縮尺が狂う。応答の傾きは閉形式 k = 1-β(β = 下地だけのインク量 / 実際のインク量)で予測 0.3983、実測 0.3711(差 0.0272)。★予測していなかった所見: 直線からの外れ 0.9864 px が網点ピッチ周期のさざ波で、窓の縁で網点の列が出入りするため —— テーパ窓の対照群で 0.0048 px に落ちて原因が確定した。★対照群 (a) FM(確率)スクリーンに替えるだけで誤差は全域で最大 0.0029 px、折り返しゼロ —— 崖の原因は推定器ではなく AM 網点の周期性(代償はコントラスト 0.91 倍)。★対照群 (b) レジストマークを含む窓は当たる(0.0823 px)が、紙の伸び 0.600 % と版の傾き 0.120° があると誤差は距離に比例し(0.006319 px/px)、公差を超えるのは予測 316.5 px / 実測 322.5 px から —— 紙の 44 % が公差外。★★物差しを 2 つ置くと勝者が入れ替わる: 精度 1 位は素の相関 0.0071 px だが判定一致率は 67.6 % で最下位、低域通過は判定 89.2 % でも精度が 94 倍悪い。鈍い方で代表元を選び鋭い方で詰める二段なら両方勝つ(0.0071 px / 94.6 %)。成立条件「粗の誤差 < セルの半径 4.511 px」も実測で確認し、二段が壊れた 2 点はすべて粗の誤差がセルの半径を超えた点だった。絵柄をベタに寄せると 6 点中 3 点で丸ごと 1 格子跳ぶ。★合成器そのものが罠だった: 1200 dpi / 150 lpi(p = 8.00 px の整数)だと全網点の標本位相が揃い、0.5 px ずらすたびに重心が 1.4 px 跳ねる。133 lpi にして解消 —— 整数比を避けるのが本質でスーパーサンプリングでは直らない。★★用途外の op を当てたら自信満々で外した: fs.frame_align は inlier_ratio 1.00 / rms_px 0.645 を返しながら真値 (0.00, 1.30) に対し 80.85 px 外す(答えは網点格子のベクトルですらない)。この指摘で op 側を直し、投票の 2 番手の山 / 1 番手を vote_margin として返すようにした —— 賛成率はどちらも 1.00 だが vote_margin は網点 1.000 / 星野 0.143。★道具の穴(4 層すべて引いて確認): 印刷の語彙(halftone/screen/rosette/misregist/lpi/moire/trapping/lattice)が1 つも無い / 2 枚の画像の並進を 1 個返す口が公開層に無い / 2-D の相関マップと重み付き重心も公開層に無い。 py -3.11 examples/poc_print_registration.py |
decoding
- 2 値マトリクスコードの読取限界(何画素あれば読めるか) — QR と同型の構造(位置検出パターン + タイミング + 25x25 格子)を自分で作り、埋めたビット行列を真値に BER を測る。読める限界は 2 px/モジュール、ぼけ σ/m 0.50、傾き 72 度。★局所閾値は「モジュールが 12 px 以下のときだけ照明ムラに強い」—— 解像度を上げると BER 0.55 まで崩れる。
py -3.11 examples/poc_matrix_code_reading.py
- 1 次元バーコードが読めなくなる境界(誤読と読み取り不能を分けて数える) — 自作 4-run 符号なので真値は数字そのもの。★無傷では 6 つの読み方が全部 24/24 で差が出ない —— 道具の良し悪しは壊してからしか分からない。★★「読めない」と言える実装かどうかで誤読率が 6 倍変わる(厳格 7.3 % / 寛容 46.1 %。寛容のほうが成功率も高い)。検査数字は寛容の誤読を 46.1 → 2.6 % にするが 0 にはしない。傾きの崖はatan(60/210)=15.95 度の予測に対し実測 15.5〜16.0 度。ぼけは σ/m に畳めるが傾きは畳めない。
py -3.11 examples/poc_barcode_1d.py
restoration
- 手ブレ除去はどこまで戻せるか(核が既知でも雑音が上限を決める) — ブレ核を自分で決めて掛け、復元して元と比べる。核が厳密に既知でも取り分は無雑音 34.0 dB → SNR 20 dB で 1.8 dB。最良の雑音対信号比は理論値と同じ桁で動く。核が 5.0 度ずれると取り分が半減、19.4 度でゼロ点に負ける。アンシャープはどの条件でも 0.03 dB しか稼げない。
py -3.11 examples/poc_camera_shake_deblur.py
- 霞除去(律速は大気光ではなく透過率。薄い霞では除霞が害になる) — 大気散乱モデルで合成するので透過率もシーンも真値が既知。大気光を真値に差し替えても +0.01 dB、透過率を真値にすると +3.07 dB = 伸びしろの全部。帯別では近景 -1.49 dB(害)・遠景 +11.28 dB。視程 782 m 以上では全体でも負に転じる(beta 0.0025 で -3.39 dB)。
py -3.11 examples/poc_dehazing.py
- 実写のブレを取る(3 つの物差しに 3 人の勝者/ノブが手法より 4.6 倍効く) — 真値を実写(scikit-image camera 512x512、CC0)にして劣化だけ自分で作る(直線ブレ 11 px・20 度 + 雑音 σ=0.004)。★ゼロ点 24.04 dB に対し、よく使う nsr=0.005 の Wiener は 23.66 dB で負ける。★★nsr を振ると 19.18〜25.40 dB で、最良ならゼロ点を +1.36 dB 上回る ―― ノブを固定した比較は比較ではない(相手を弱く見せない)。★★ノブで動く幅 6.22 dB は脱畳み込みの利得 1.36 dB の 4.6 倍。★★3 指標で 3 手法が 1 位: PSNR = Wiener 正しい PSF(25.40 dB)/ 勾配エネルギー = motion_deblur(0.2986 = 真値 0.1936 の 1.54 倍)/ blur_effect = unsharp。参照なし指標が選ぶ手法は PSNR で 4.98 dB・3.26 dB 損。★ただし blur_effect は真値そのもの(0.2885)を全手法より良いと正しく判定する ―― 「ぼけているか」は測れていて、それでも選ばせると損をする。★長さ違い PSF(21 px)は 18.56 dB でゼロ点より -5.48 dB なのに勾配は真値の 1.37 倍。★崖(雑音): +1.52 dB(σ=0)→ +0.05 dB(σ=0.016)。★崖(ブレ長): L=3 +0.86 / L=5 +1.59(山)/ L=25 +0.52 で両端で落ちる。
py -3.11 examples/poc_real_deblur_honesty.py
upscaling
- 超解像は情報を増やすか(単一画像では増えない) — 縮小してから戻して元と比べる。★bicubic というゼロ点を上回れたのは最大 +0.036 dB で、分解能は全手法が低解像側のナイキストで揃って死ぬ。鮮鋭化は勾配エネルギーを真値ちょうどに戻すが PSNR は 1.57 dB 落ちる。副画素ずれの16 枚合成は標本化が足りないときだけ +13.96 dB で本当に増える。
py -3.11 examples/poc_superresolution_limits.py
geometry
- パノラマの累積ドリフト(埋もれていた既存実装はゼロ点を上回らなかった) — 既知の回転列から 36 枚を切り出して 360 度で閉じ、閉ループ誤差で測る。ドリフトの伸びは log-log の傾き 0.894(√N の予想は外れ、1 段あたりの偏りが効く)。純回転 3 自由度で当てはめると 8 自由度より 2.3 倍良い(0.275 → 0.118 px)。既存の
bundle_adjust_mosaic は 36 枚中 30 枚を単位行列のまま返す。 py -3.11 examples/poc_panorama_drift.py
- 到達時刻面を (x, y, t) の等値面として取り出す(2-D の動画を 1 枚の 3-D の面として測る) — ★★放物線補間は線形より悪い。しかもしきい値の置き場所で反転する —— θ=0.5 なら線形 0.0209 / 放物線 0.0406、θ=0.2 なら 0.0744 / 0.0205。ガウス波形の変曲点θ=exp(-1/2)=0.6065 で 2 次の項が消えるからで、閉形式で言える。★等値面(
marching_cubes)の時間軸稜線の頂点は線形補間そのもの(最大差 9.9e-07 ms)。★★合流線の上では勾配が 0 に落ちて速度が 1e12 px/ms へ発散するが、その場所は双曲線 r_A-r_B=c·Δt で撮る前に予測できる(対照群の 1 源では発散しない)。 py -3.11 examples/poc_xyt_event_surface.py
- メッシュの健全性診断と修復(直した分だけ欠陥は消え、量は戻らない) — ★オイラー標数は 6 種の欠陥のうち 5 種に盲目で、穴 6 個と重複面 6 枚を同時に入れると健全な部品と頂点・辺・面・χ が 1 つも違わなくなる。★★「水密になった」と「体積・表面積が戻った」は別の指標 —— 幅ゼロの割れは 2 通りに直せてどちらも水密になるが、表面積の誤差は 0.0000 % と +0.1201 % に分かれる。★穴埋め後の体積は球欠の閉形式で予測できる(θ=32° で予測 -1.644 % / 実測 -1.642 %)が、表面積は縁が階段なので予測 -2.145 % に対して実測 +6.868 % と符号すら逆。★★簡略化は体積より先に曲率を壊し(50 % 削減で体積 -0.019 %・曲率 p95 +31 %)、自己交差は水密・多様体・χ をすべて通り抜ける(表面積 +4.414 % / 体積 -0.332 %)。
py -3.11 examples/poc_mesh_quality_repair.py
- 造形しやすさを形から測る(しきい値に貼りついた面と、丸めで飛ぶ判定) — ★★サポートが要る面積はしきい値 45 度の両側で段差になり、44.9 度の 185.22 mm^2 が 45.1 度で 576.10 mm^2 —— 0.2 度で 3.11 倍。部品に「ちょうど 45 度の斜面」が 390.32 mm^2 あるため。★その段差は等値面の取り方で消える —— 距離場から取ると 390.88 → 0.87 mm^2(100 % 消失、44.9 度でも解析値の 195 % 過大)、平滑化 sigma=1.5 voxel でも 12 % 削れる。★肉厚は 2 voxel 刻みに潰れ、予想した「内接球なら 1 voxel 刻み」は外れて侵食と 12 点すべて同値。刻みを持たないのはグレー値の探針だけ(誤差の中央値 0.011 mm)だが、2 voxel を切ると壁 2 枚を 1 枚と数え 4.500 mm を返す。★工具の隙間は両方向に誤判定し、粗さ 0.500 mm で 1.500 → 2.000 mm と太って入らない工具を通す。★向きを 6 通り振っても最良で 0.86 倍にしかならず、効いたのは設計(斜面を 5 度ずらすと 0.28 倍)。
py -3.11 examples/poc_dfm_thickness_overhang.py
- 対称性を使った欠損復元(文化財・化石。仮定した対称面が崖になる) — 左右対称な仮面(高さ場が x について厳密な偶関数)の完全形と対称面を真値に持ち、片側を球で削って復元を測る。★崖は角度 1.39 度(84 分角)・位置 1.41 mm —— そこを超えると対称復元(RMS 0.81 mm)は素朴な穴埋め補間(1.60 mm)に負ける。★幾何で先に予測して当てた: 鏡像は 2 sin α・(回転軸からの距離)だけ動くが面に沿った成分は面が吸うので、法線成分の予測が相対誤差 4.6 %(素朴な 2d sin α は 50.6 %、位置ずれでも素朴な 2t は 62.1 % 外し法線成分は 1.9 %)。★★壊れ方は 2 種類で、α=1.5 度では復元 RMS がまだ 1.69 mm(ゼロ点並み)なのに足した点の 91 % は真の面から 1 mm 以上浮いた「無い面」。★★欠損は対称面をずらす前に別の軸へ飛ばす —— 失った点が 3.1 % を超えると PCA 候補が 1.09 対 2.18 から 6.74 対 4.90 へ逆転し、それでも復元 RMS 2.85 mm は「何もしない 13.28 mm」より良く見えるので残差では気づけない。★予想は外れ、重心が 3.86 mm 動いても残差を掃引する精緻化は 0.105 mm まで戻す(粗い面のずれの 98 %)。★★本当に対称でない形(片側装飾 3 mm + ねじれ 2.2 mm)では、面が真値でも装飾が 3436 mm^3 捏造されるか 3495 mm^3 消され、復元部は定義上ぴったり対称になるので「対称だから正しい」という検算が原理的にできない。
py -3.11 examples/poc_symmetry_restoration.py
- 積層造形の反りと剥離(面積の履歴で決まる分と、決まらない分) — ★★最終形状だけを見る予測器はどんな形でも厳密にゼロを返す(2.712e-21)—— 断面の重心の定義から Σ a_k (z_k - z_bar) = 0 になるので、反りは層の履歴にしか入っていない。ゼロ点(底面積・最大断面積・体積)の順位相関は 3 つとも -0.25 で、いちばん底面積の大きい平板がいちばん反らない。★閉形式は 2 層で Timoshenko(1925)と比 1.000000 で一致し、24 層で κh/ε = 2.4174 に飽和する(背を高くしても反らない)。7 形状中 4 形状で誤差 0.4 % 以内だが、★★層面積の履歴が 1 mm^2 も違わない三つ子のたわみは 0.4109 / 0.3809 / 0.3271 mm と 26 % 開く —— 面積の履歴は「置き場所」に構造的に盲目。★予想した「細い首で平面保持が壊れる」は外れ(首 16 → 1 mm で比 0.9998 → 1.0030、しかも反りは 0.4344 → 0.3532 mm と減る)、崖は細長比 L/H = 1.0(誤差 4.2 / 8.4 %)。力学の崖より先に表現の崖が来て、設計 0.25 mm の首はボクセル 0.50 mm では跡形も無く部品が 2 つに分かれる。★★同じ形・同じ体積・同じ底面積でも層厚 1.00 → 0.25 mm でたわみ 4.63 倍だが、「単位高さあたりの収縮が一定」と置き直すと 1.16 倍 —— ε の定義を書かずに「薄い層は反る」と言ってはいけない。★剥離は応力で決まらず(dx 2.00 → 0.50 mm で 9.53 → 11.89 MPa と収束しない)、端 6 mm の力は 0.3 % で収束するのに EIκ からは予測できない(変動係数 97 %、三つ子で 48 倍差)。効くのは端の材料の背で、底板 1 → 8 mm で力は 1.5 → 698.1 N の 479 倍。
py -3.11 examples/poc_print_warpage_risk.py
- パレットの積載率(1 つの数字が隙間とはみ出しを同じ値にする) — ★★見かけの積載率が同じ 2 つの荷を閉形式で作った(62.65 % と 62.67 %、差 0.02 pt)。中身は逆で、荷 A は 3.11 pt が上から見えない空洞、荷 B ははみ出し 2.10 pt(90 mm)+ 高さ超過 0.58 pt(天端 1911 mm / 制限 1800 mm)——処置も「積み直す」と「降ろす」で逆。★荷を 1 個の外形とみなすと荷 B は AABB 113.90 % / OBB 166.44 % と 100 % を超える(はみ出しを体積として数え込む)。★★高さマップのセル寸法 1 つが逆向きに 2 通り壊す: 幅 w の隙間は max(0, 1 - g/w) で消え(g=40 mm で 20 mm の隙間は完全消失、g=w は位相で全か無か)、同時に 1 mm も出ていない荷に 周長 x g/2 x 天端 の偽はみ出しが立って g=40 mm から真のはみ出し 0.0450 m3 を追い越す。★IoU 0.9493 / 1.0000 はこの違いに構造的に盲目で、代わりに inner_box3 の「あと 1 個入る最大の箱 400 x 1000 x 100 mm」がそのまま使える答えになる。
py -3.11 examples/poc_pallet_load_utilization.py
verification
- 画像の中の文字を正しい文字列に合わせて直す(JSON 一枚の入口、MCP と同じ形) — 生成 AI が出した画像の誤字を再生成せずに直す。repair_flagged は床を超えた字だけ置き換え正しい字に触らず、検証を通らない置換は元に戻す。rewrite_line は行を丸ごと同じ書体で描き直す。報告の mismatch が typo(誤字)か unrelated(元の字が指示と無関係)かを分け、直せないときは reason_code(固定語彙)で断る。縁取り文字は色が多峰なので断る例つき。
py -3.11 examples/fix_text_in_image.py
- 画像の誤字を認識せずに見つけて直す(正しい文字列を入力で貰う) — 正しい文字列は入力で貰えるので 6000 通りの分類は要らず、各マスを指定の 1 字と比べるだけで済む。★閾値は勘でなく書体雑音の 95 % 点(0.058)から導く。★★距離は平均でなく 99 パーセンタイル —— 取り違えは部首を共有したまま一部だけ入れ替わるので、平均だと 検/横 が 0.0171 で床 0.0245 の下に沈み原理的に検出できない。合成では 4/4 検出・誤検出 0、置換で距離 0.0805→0.0325 と全部が床を下回る。版面が怪しい画像は断る(字が壊れているのか切り方が外れているのかを取り違えない門)。
py -3.11 examples/poc_glyph_typo_detection.py
- 幼虫コネクトームを reservoir にして数字を読む(配線は効いていない) — ショウジョウバエ幼虫の完全コネクトーム(Winding 2023、2,952 ニューロン・110,677 辺)を固定の再帰網にし、読み出しだけ閉形式の ridge で学習すると MNIST の部分集合で 91.9 %(生画素の ridge は 77.6 %)。★先行研究に無い対照を置く: 次数を保って辺を繋ぎ替えた グラフ 91.6 %、同密度の乱数 91.9 %、ガウス乱数 91.5 % —— 差は +0.3 ポイント。読み出しが使っているのは reservoir という仕組みで、進化が決めた配線ではない。設定はコネクトームの検証分割で 1 度だけ選び全対照に同じ値。データは実行時に取得して手元にキャッシュ(repo には集計と図だけ)、取れなければ合成の代替で経路だけ走らせ、その旨を印字する。
py -3.11 examples/poc_larval_connectome_reservoir.py
inspection
- 3D プリンタの層検査(形 → 層 → 経路 → 画像 の往復を自分で閉じ、仕込んだ欠陥を数字で捕まえる) — 新族 printpath(11 op、numpy + 標準ライブラリ): G-code の読み書き・体積・時間・層ラスタ、メッシュのスライス(輪郭と層マスク)、3MF の読み書き、層画像の符号つき欠陥図。層の面積は閉形式と一致、押し出し量は周長 × 線幅 × 層厚 / 断面積と厳密一致、注入した欠陥 12 か所を許容 3 px で再現率 0.96・偽陽性 0、カメラ 0.2 mm ずれで再現率 0.90(正直に曲線で)。
py -3.11 examples/poc_print_layer_inspection.py
- EM 連結体校正のセカンドオピニオン(膜はラベルの境界にしか無いはず) — EM 断面の自動分割が残す融合と分断を学習なしで数える: 内部を横切る膜の弦 = 融合の疑い(閉じた輪は穴で除く)、膜の無い境界 = 分断の疑い。CREMI sample A の正解ラベルに人工誤りを仕込み、閾値を前半の断面で選んで後半で測る(holdout_threshold): 分断 AUC 1.00、融合 0.83(面積で揃えた負例、乱数 0.53・面積だけ 0.70)。揃えないと面積だけで 0.87 が出る = 評価の罠を op で封じる。疑わしい箇所を立方体の上で回す GIF。新族 emproof 7 op。生データは commit しない。
py -3.11 examples/poc_em_second_opinion.py
-
| 照明の円錐と観察の NA ―― 光の円錐の開き方を変えるだけで、同じ打痕・傷・ムラが消えたり出たりする — 鏡面に近い金属部品の浅い打痕・ヘアラインの上の傷・梨地のムラは、光源の種類より先に、各点に届く光の円錐の半角 α と向きを、カメラが受け取る円錐(物体側 NA、半角 β)に対してどう置くかで見え方が決まる(顕微鏡のケーラー照明の照明 NA と対物 NA、シュリーレン法のナイフエッジと同じ幾何)。鏡面の反射は方向の球の上の等長写像なので、明るさは 2 つの球冠の交わりという閉形式になり、傾き θ が |
α − β |
/2 より小さければ見えず、(α + β)/2 を越えると暗い。新 op 5 本(illumdesign の solid_angle_light / solid_angle_boundaries / solid_angle_brightness / solid_angle_sweep / solid_angle_render)。閉形式とレンズの瞳の数値積分(射影立体角の重み)の差は 0.002。NA 0.033 のテレセンで、深さ 2 µm の打痕(最大傾き 0.25°)は α = β でだけ輪になり(画像のコントラスト −0.091、閉形式と 1e-4)、α = 0.5° と 7° では閉形式の予言どおり 0 になる。ヘアラインの筋(傾きの 99 % 点 0.82°)を消して斜面 4° の傷だけを黒くする α は閉形式で 3.5〜6.1° と決まり、α = 4° で筋の揺れが α = β の 0.014 倍、傷のコントラスト −1.00。円錐を β 傾けると平らな地が 0.39 の明るさになり、打痕の左右の斜面が 0.53 と 0.25(閉形式 0.54 / 0.25)に分かれて傾きの符号が読める。梨地の斑(微小面の広がり 1.3° 対 0.8°)は α = β で −0.20、α = 7° で −0.02。★壊れる条件: 面のうねり ±0.25° があると α = β では地の揺れが打痕の沈みの 1.6 倍になり、しきい値で打痕だけを拾えない。微小面の広がり σ が 0.25° でもコントラストは 1/3、4° では α をどう選んでも 0.001。照明の立体角だけを変えて同じワークを撮った比較写真は、再利用できるライセンスでは見つからなかった(実画像との突合は未了)。学習 0、較正 0、門 15 件。 py -3.11 examples/poc_illumination_cone_vs_na.py |
-
| ハイブリッド接合のボイドは超音波の明るさでなく位相で見つける(SAM の C スキャン、周波数の取引、POD) — 厚さ 100 µm の Si のダイの下の接合面(SiO2 1 + 1 µm、直径 40 µm・ピッチ 80 µm の Cu パッド 1 + 1 µm)に直径 5〜24 µm のボイドを置き、水 1 mm・F# 3 の集束探触子の SAM で撮る。エコーは層の伝達行列(Airy の再帰・時間領域の経路の和・光学の薄膜の式と 1e-12 で照合済み)。★★接合面の期待時刻で読んだ位相は、誘電体 −91°・Cu パッド +84°(薄い層は直交)、ボイドは誘電体の中 −175°・パッドの上 +159°(反転)。★★振幅の像ではボイド 12 個中 8 個が良品の画素の明るさの範囲に隠れる。直交の背景に反転のエコーが直角に足されるので、9〜16 µm のボイドの振幅の変化は 0.4〜3.5σ、位相を使う変化は 3.0〜8.9σ。位相の像で反転と読む画素は 16 µm 以上のボイドすべてで、良品 26,724 画素中 1 画素。★従来の「 |
RF |
最大の 1 点の符号」は無傷の Cu パッドで 140〜400 MHz の間に 5 回転ぶ。★最適周波数は閉形式 (k/a)·sqrt(log2(1 + a² ln2/(β k²)))(10 µm で 139.16 MHz、総当たりと一致)、表面エコーの裾がゲートに入る下限 130 MHz。★★POD(â vs a、88 個): 位相を使う検出の a90/95 は 150 / 200 / 300 MHz で 12.4 / 13.9 / 57.6 µm、振幅だけは 16.6 / 19.3 / 101.6 µm(同じ基準・同じ閾値の規則)。1-D 平面波・縦波だけ・ガウスの横 PSF・屈折の収差なし・Si の減衰 0(未確認)・kissing bond なしの合成であることは docstring に明記。検査 16 件・約 15 秒。 py -3.11 examples/poc_sam_hybrid_bonding_voids.py |
imaging_quality
- パネル検査のモアレは「本物のムラ」と区別できるか(打ち消しと窓長) — うなりの周期は 2 つの周期から閉形式で出る(予測 20.00/6.67/4.00 px 対 実測 19.69/6.65/4.00)。★★低域通過でならすと σ=8 px で合計誤差 +0.9 % —— 完璧に見えるが内訳は漏れ +8.3 % / 減衰 -7.4 %。対照群 2 本(縞だけ / ムラだけ)を置かないと見えない。★★素のノッチは δ·L が整数のときだけ効く(+0.7 % 対 +39.1 %)—— 原因はスペクトルリーケージで、撮り直しではなく解析窓長という software 側の問題。
py -3.11 examples/poc_moire_screen.py
- カメラを買わずにカメラを測る —— EMVA 1288 の手順で、既知の値を仕込んだセンサから量子効率・ゲイン・暗雑音を取り戻す — カメラを買わずにカメラを測る: 既知の η・K・σ_d・暗電流・DSNU・PRNU で物理モデルから合成したセンサを、EMVA 1288 Release 4.0 Linear の推定手順で測り直す。K -0.66 %・σ_d +0.13 %・η +0.67 %・暗電流 +0.6 %・DSNU +0.6 %・PRNU -0.1 %。SNR(μ_p.min) = 1 と理想 SNR = √μ_p は機械精度。★σ_d を photon transfer の切片から出すと +53.5 %。★規格の下限 σ²_y.dark ≥ 0.24 DN² は平らなセンサでは本当の境界だが、DSNU の模様が量子化のディザになり K = 0.10 でも 0.7 %(平ら 29.8 %)。公表値(メーカー公表の 38 型番)で最大 SNR は 0.5 dB 以内、DR は 1 型番だけ食い違う。
py -3.11 examples/poc_emva1288_sensor.py
- カメラの中の前処理はデータシートの数をもっともらしく嘘にする(雑音除去で量子効率 +83 %、規格の検査は見逃し、雑音の相関が見破る) — 同じ合成センサ(η 0.45・K 0.25 DN/e⁻・暗雑音 6 e⁻・12 bit)に前処理を 1 つずつかけて EMVA 1288 Linear の手順で測り直す。η はゲイン ×2 で 0 %・雑音除去で +83 %(0.825、まだもっともらしい)・輪郭強調で −53 %・時間の雑音除去で +87 %・欠陥補正で 0 %(欠陥 29 → 0 個)・対数の圧伸で +156 %。線形な前処理は閉形式 K’ = (Σw) S K・η’ = η/S で 3 % 以内に予測できる。規格の式 51 が見破るのは圧伸だけ、前提 3 の検査(隣の画素・1 枚おきの画像との相関、規格の数ではない)は雑音除去・輪郭強調・時間の雑音除去を見破る。Release 4.0 General は圧伸の後ろのセンサの入力 SNR と PRNU を 5 % で取り戻すが、雑音除去の嘘(入力 SNR 1.35 倍)は消さない。
py -3.11 examples/poc_emva1288_in_camera_processing.py
- 迷光がコントラスト計測を壊す(MTF 合格・黒レベル不合格を同じレンズで作る) — ★★裾の割合 g を 0 → 0.20 に振ると刃のエッジ SFR の MTF50 は -4.2 %(仕様 0.22 に対し合格のまま)なのに、同じ像の黒レベルは 0.0 → 15.7 %(仕様 3 % に対し不合格)。6 段階のうち 3 段階で判定が割れる。★★予想が外れた —— 盲点を作るのは周波数ではなく基準レベルの取り方で、正弦チャートの絶対コントラストは周期 4 px でも 32 px でもちょうど (1-g)×コアの MTF。★答えが窓で変わり収束しない(黒四角 16 → 256 px で黒レベル 19.6 → 4.5 %)—— 測る範囲を宣言しない迷光の数字は意味を持たない。
py -3.11 examples/poc_veiling_glare.py
- 画質 op(imgmetrics)で保存時の量子化段数を 1 つ選ぶ — CIEDE2000 を公開検証表 34 組で、SSIM を既知条件で検定してから、「欠陥が見えなくならない」を合否条件に落として量子化段を決める。
py -3.11 examples/image_quality_metrics.py
- 1 枚の写真を証拠として「どこまで言えるか」まで切り分ける(forensics) — 知覚ハッシュ→帰無分布→PRNU カメラ指紋→JPEG 品質/ELA/ゴースト→雑音整合→コピー&ムーブ(誤差 0 px)→電子透かしの 7 段。改竄側を自分で作った GT で検定。
py -3.11 examples/image_forensics_audit.py
- 2 台のカメラの色を揃える(colortransport 色輸送) — クロストークと黒レベルずれを持つカメラ B の色を A に合わせ(ヒストグラム/最適輸送ベース)、既知の変換を回収できるかを GT で照合。
py -3.11 examples/color_transport.py
- 一晩ぶんの生フレームから 1 枚の星像を作り星の明るさを測る — フラット補正→宇宙線除去→ディザ位置合わせ→スタック→測光。既知の星の明るさ・位置を GT に照合(12 枚の合成生フレーム)。
py -3.11 examples/astro_stacking.py
- 見えない振動を見せる/測る(motionmag モーション増幅・位相変位) — 0.2 画素の振動を帯域通過した局所位相から増幅表示し、同じ量からサブピクセル変位を数値で出して既知振幅と照合。
py -3.11 examples/motion_magnification.py
- 動画を 1 フレームずつ流して処理する(videostream リング/状態つき op/パイプライン) — uint8 リング(float64 の 1/8)で背景差分し既知速度の物体を追う。台帳の一括 op とストリーム版がフレーム単位で一致することを 6 op で確認。
py -3.11 examples/video_streaming.py
- 四元数画像 op(quatimage)を閉形式の真値と突き合わせる — 色の 3 次元回転とモノジェニック信号が本物の差で、それ以外(QFT 等)は差でないことを 19 op の GT 照合で示す(勝つ/勝たない/負ける を実測で分ける)。
py -3.11 examples/quaternion_monogenic.py
- 縞に近づくハエの眼 —— シマウマの縞は複眼の距離感を本当に狂わせるのか、複眼がフィボナッチの並びなら優秀か — アブはシマウマの縞の手前で制御された減速ができず(Caro ら 2019)、縞・市松の近くでは速く飛び・寄らず・着地しない(How ら 2020)。「縞で距離感が狂う」という俗説を、複眼と相関型運動検出器(Hassenstein–Reichardt)の閉じた式でどこまで説明できるか数える 5 章立て。新 op 6 本: 正面の周期面を六角格子 + ガウス受容角で解析的に標本化する
fly_view_plane_texture(画像を再標本化しない、閉形式と 1e-9)、周期 P が格子ピッチ Δφ で折り返す距離 P cos²θ/(√3 Δφ) を返す sampling_alias_distance(= 検査カメラの作動距離の設計規則)、眼全体の流れから τ を読む fly_expansion_readout、実測軌跡の τ・τ̇ traj_tau_dot、フィボナッチ(Vogel 螺旋)の眼 fly_vogel_lattice、モアレの尖り lattice_moire_peak。★7 cm の縞(How ら 2020)はアブ(Δφ 1.1°)の眼で正面 2.105 m / 60° で 0.526 m から折り返し、ショウジョウバエ(4.63° / 8.23°)では MTF 0.024 でぼけが縞を消して守る。★HR 相関器の符号反転 sin(2πΔφ/λ) は閉形式と 97 % 以上一致し、接近すると反転帯は周辺へ逃げ、方位の対が「遠ざかる」→「近づく」へ切り替わる距離 1.71 m は予測 1.65〜1.77 m に入る。★★縦縞のアパーチャ効果は放射当てはめ・発散とも厳密に 2τ(閉形式 2、測定 1.992)を返し、市松では τ に戻る —— How ら 2020 の「市松でも避けた → アパーチャ効果説は棄却」の論理を数で再現。接近中の時間周波数 v tanθ/P は距離に依らない(HR は距離情報を失う)。★フィボナッチ複眼(同じ 721 個眼・同じ平均間隔)は、ナイキストを超えた縞のモアレの尖りが六角 2521 / Vogel 4.3 / ジッタ六角 5.2 で拡散に勝ち、ナイキスト直下の解像は六角が最良(残差 0.021 / 0.035 / 0.022)、偽フローは格子の規則性でなく対の間隔で決まる(六角の方位の対は全部逆向き、斜めの対は全部正しい)、中心窩(密度指数 p 0.5 → 0.8)は真の周波数のピークを 5.2 → 11.0 に鋭くする。外部真値(How ら 2020 の Dryad の 3-D 軌跡、CC0)は --trajectories <dir> に置けば走り、省略時は「未配置」と明示して飛ばす(repo にデータもローカルパスも書かない)。Dettlaff 2026(arXiv:2605.17049、査読前・単著・コード非公開)のモアレ説は比較対象として明記。学習した数 0、較正 1(市松の最初の窓の利得)、図なしで 4 秒。 py -3.11 examples/poc_zebra_stripes_fly_eye.py
- 疑似カラーの選び方と値の写し方(無い境目を数える / 崖を先に当てる) — 段差ゼロと分かっている場を塗り、CIE L* と CIEDE2000 で偽の境目を数える —— jet 3 本 / hsv 4 本 / viridis 0 本。★★立つ位置は閉形式で当たる(jet の明度折返し 予測 0.3750/0.4490/0.6250 対 実測 0.3750/0.4492/0.6250、最大ずれ 0.0002)。本物の段差が偽の境目を追い越す崖は jet 0.296 %FS / viridis 0.050 %FS で、画像を見ずに LUT だけから予測できる(実測と一致)。★配色より写し方が効く: 4.3 桁の 1/r² で実効階調 linear 1.4 → rank 76.0、外れ値 1 個で log が -41 %(27.4 → 16.3)、percentile と rank は不変。★★明度が単調でも安全ではない —— cividis は L* 折返し 0 回なのに色差の山が 3 本。★勝てない側も: 質的パレットは色数(tab10=10)を超えると循環し、24 領域で隣接対の最小色差 0.0 —— 連続マップ (3.5) にも乱数 RGB (3.9〜13.0) にも負ける。
py -3.11 examples/poc_colormap_readability.py
flow
- 粒子追跡を (行, 列, 時刻) の体積として測る(誤リンクの向きは 1 種類ではない) — ★★粒子 400 個で曖昧 0.1 %・欠測 24.5 %。位置を真値にして欠測だけ消すと拡散係数の比が3.429 → 0.925 —— 同じ「誤り率」でも D が 3.7 倍動く。誤り率を 1 本の数字にまとめた時点で、検出を増やすのかリンクを厳しくするのかが決まらなくなる。★★1 歩は 1.7 px しか無いのに欠測誤リンクの飛距離は最近接距離(4〜21 px)で決まるので、曖昧が D を 7 % 下げるあいだに欠測は 240 % 上げる。
py -3.11 examples/poc_particle_tracking.py
- (x, y, t) で数える(通過台数とオクルージョン、そして L/V という 1 つの定数) — ★疎な自由流ではスリット法は仮想ループ(1-D)に勝てない —— どちらも 10/10 で同点。同じ計数列の情報しか使っていないので当然で、2-D にした見返りは台数ではなく速度(誤差 0.02 % 以下)と、壊れ方が絵で見えること。★★同じスリット画像から2 通りの数え方が出て壊れ方が逆向き: 帯を全部数えるとフレーム間隔で千切れて過大(Δt=16 で 10 → 49)、計数線と交わる帯だけなら過大は起きず見逃しだけになる。
py -3.11 examples/poc_traffic_counting.py
- 粒子画像 2 枚から流れを測る(PIV。真値を自分で作って誤差を出す) — 既知の渦を撒いた粒子画像対を合成し、窓ごとの相互相関で変位場を出す。零方向への偏りと補正、多段、既知の系統誤差(ピークロッキング)、非圧縮の発散 0 による独立検算まで。外れ値検定がここでは害になることも隠さず印字する。
py -3.11 examples/piv_flow_from_particles.py
- PIV の派生 op を一巡する(場の量・可視化・採点・アンサンブル・時間統計を閉形式で検算) — 剛体回転・膨張・せん断の線形場で Q 基準/渦回転強度/ひずみ速度/渦度を厳密に検算し、Lamb–Oseen 渦で窓変形が多段より誤差を下げることと、Q の面積が閾値で 4 倍変わることを出す。ZNCC 採点は壊した窓だけ落ち、アンサンブル相関は外れ本数を 52 %→5 % に減らし、時間統計の RMS を独立な経路で突き合わせ、centroid のピークロッキングと 4 方向の色を固定する。RMS だけでは差が見えないことも隠さず印字する。
py -3.11 examples/piv_field_analysis_tour.py
- 河川表面流速を斜め動画から測る(速度の誤差と流量の誤差は別物) — ★★ゼロ点(斜め画像のまま 1 尺度で m/s に直す)は近岸 +0.31 / 遠岸 -0.28 m/s と符号が逆、見かけの川幅 3.3 m(真値 8 m)で流量 -57 %。正射化で速度 RMS 0.074 m/s・流量 -7.8 %。★★対照群の流量 -3.0 % のうち -2.5 % は岸 0 との台形積分だけで生じ、速度と無関係。★★密度 0.05 % の崖は nan 0 % なのに外れ値旗 44 %、アンサンブル相関は外れ窓を 46 → 44 % としか救わない。★窓を広げても岸の速度は「窓幅×勾配」の予想(0.12〜0.28 m/s)より桁で小さい -0.008 m/s、代わりに流量が -1.1 → -7.0 %。★★静止した映り込みは細かいときだけ効き、引かれてから(速度比 0.70)張り付く(0.03)、時間中央値引きで 0.998。★dt の崖は 1/4 則でなく対の消失(探索上限を外しても同じ k=4)。
py -3.11 examples/poc_river_surface_velocity.py
- 庫内の滞留を種類別に読む(1 つの「滞留時間」に畳むと全部が混雑になる) — ★★ゼロ点の総滞留時間 321.5 秒のうち真の待ちは 198.0 秒(61.6 %)で、残りは生産的な作業 60.0 秒と待ちの前後の徐行 63.5 秒 ―― 「滞留を減らせ」は削ってはいけない時間を指す。★★対照群で人待ちを全部止めると -39.0 秒、通路の干渉を全部止めると -38.0 秒(差 2.6 %)で、1 本の数字では「通路を広げる」のか「人を増やす」のかが決まらない。★★欠品は滞留を -5.3 % しか動かさないのに余計な移動を 94.6 m(= 78.8 秒)生む。★崖は幾何で予測できる: 柱に 3 標本要るので長さ T の待ちは Δt >(T + 徐行 2.5 秒)/2 で消える ―― 予測 2.2/2.5/5.0/6.2/10.2 秒に対し実測 2.0/3.0/4.0/6.0/10.0 秒(5 種類とも 1.0 秒以内)。★★3 つの軸は別々の型を殺す(標本間隔 = 短い待ち、遮蔽 = 棚に張りつく型 1.00→0.40、ID の併合 = 2 人の関係を読む型 1.00→0.40)のに、総滞留時間は ID 掃引で 1 秒も動かない。★2-D ヒートマップの最大値は誰も待っていない下段通路(55 フレーム)で、18 秒待っている棚前(48)より大きい。
py -3.11 examples/poc_warehouse_flow.py
shape_descriptors
- 輪郭の楕円フーリエ記述子(平滑化・不変マッチング) — 閉輪郭をフーリエ級数で表し、高調波打ち切りで平滑化、回転/拡大/移動/始点に不変な記述子で形状検索する(EFD, Kuhl-Giardina)。
py -3.11 examples/contour_fourier.py
- XLD 輪郭 → 不変記述子 → 対応点ワープ(区分アフィン / TPS)を真値つきで一巡 — from_xld で (row,col) 点列を取り、invariants の回転/拡大/移動/始点不変を 1e-9 で確かめ、add_frame_corners + 2 種のワープで恒等・平行移動・1 点の着地・面積比 1.25^2 を検算する。(row,col) のまま渡す座標順の事故が例外なく黙って外れることも示す。
py -3.11 examples/shape2d_morph_descriptor_tour.py
- 「回転しても同じ」と言える量はどれか(実写の硬貨を 72 角度で監査) — 形の特徴量は当たり前のように「回転不変」と呼ばれるが、画素の格子は回転で不変ではない。scikit-image 同梱の実写
coins を 5 度ずつ 1 周させ、揺れを 3 本の腕に分ける: A=灰を線形補間して二値化(現場)/ B=二値マスクを最近傍で回す(再ラスタライズだけ)/ C=90 度の倍数だけ(np.rot90、厳密)。★C は全量きっかり 0.00 % —— 測り方そのものに向き依存は無い。★★予測が外れた: 「灰を補間するほうが荒れる」と思っていたが逆で、周囲長は A 2.52 % < B 9.47 %(3.8 倍)、円形度は A 4.82 % < B 20.45 %。二値マスクを最近傍で回すと境界が階段のまま置き直されるのに対し、灰を補間してから二値化すると境界が下の連続信号から引き直される —— 回すなら灰でやる。二値マスクを回してはいけない。★閉形式の錨(合成の正方形)では 45 度の階段周囲長 4L→4L√2 の +41.4 % が上限だが、実測は 7.91 %(regionprops の Crofton 補正で 5.2 倍下回る)—— 予測は上限であって当てではない。★分母を疑う: Hu[1] は円に近い形では真値がほぼ 0(3.9e-04)なので、相対ばらつき 29.6 % は意味を持たない。 py -3.11 examples/poc_rotation_invariance_audit.py
- 実写テクスチャを回す(回転不変は等方な素材でだけ成り立つ) — scikit-image 同梱の実写テクスチャ brick / grass / gravel(いずれも CC0)を既知の角度で回し、sk_lbp のヒストグラム χ² 距離で自分自身からのずれを測る。★基準を先に置く: 素材間の最小距離(草と砂利)0.01250 が分解能。★★brick は 5 度で 0.0433、60 度で 0.1205 = 分解能の 9.64 倍 ―― 回した自分より別の素材のほうが近い。grass / gravel は 0.17 / 0.19 倍で実質不変。★対照群 2 つ: 補間だけ(+7/-7 度往復)brick 0.03685、補間ゼロの厳密 90 度(np.rot90)でも 0.08501 = 6.80 倍 ―― 補間のせいではない。★異方性は独立に測れる: 局所一貫性 中央 0.917 / 0.308 / 0.320、勾配方向の大域的な偏り R = 0.309 / 0.027 / 0.029 で、10 倍違うのは brick だけ。★★回転不変な符号化に替えると default 9.64 → ror 5.49 → uniform 1.72 だが 1 を割らない(等方な 2 つは 0.17 → 0.02)。nri_uniform は 4.24 なので「uniform だから」ではなく「回転不変だから」効いている。★sk_lbp の b が未使用で method が ‘default’ 固定だったので、b を符号化の選択に配線した(b=0.5 は従来と完全に同一)。
py -3.11 examples/poc_real_texture_invariance.py
drawing
- 画像にマーカー/線/円/輪郭を直接描く(ラスタ描画) — 作業者が指定した対応点を画像そのものに焼き込むラスタ描画op(imagedraw)。描いた既知シーンを検出器が回収し結果を描き返す(描画→検出→注釈)。
py -3.11 examples/draw_annotate.py
- 描画を「ためてから流す」(drawlist 蓄積描画) — imagedraw の即時描画に対し drawlist はコマンド列を保持し flush() で絵にする。絵になる前の列を検査・差分・変換できることを、同じ絵を両経路で描いて数値で確かめる。
py -3.11 examples/drawlist_deferred.py
- 図注(annotate)op を一枚の図で全部使い真値と突き合わせる — 文字下敷き/矢印/凡例/カラーバー/目盛り/拡大差し込みの annotate 全 op を 1 枚の図に載せ、配置と画素値を GT と照合する。
py -3.11 examples/annotate_gallery.py
- 学術図の図注: 引き出し線・寸法・角度・輪郭・スケールバー・差し込みを 1 枚に組む — annotate の paper 族(引き出し線の衝突回避/番号+凡例/寸法線/角度/切りのよいスケールバー/方位/隅の拡大/マスク輪郭/経路文字/色分け+カラーバー/パネル文字)で 4 パネルの論文図を組み、layout の閉形式(肘・寸法値・角度・バー長・輪郭面積・セル矩形)と描画結果を突き合わせる。
py -3.11 examples/paper_figure.py
- リアルタイム 2-D グラフィックス(gfx2d)で 1 枚の画面を組み立てる — 背景/タイル/スプライト/パーティクル/光/影/ポスト処理を合成し、ストレート α と乗算済み α の取り違え(この族が黙って間違う唯一の場所)を同じ絵の上で数値化する。
py -3.11 examples/gfx2d_scene.py
- 経路に沿う文字の配置表とパネル文字 (a)(b)、反転色の崖を閉形式で検算 — annotate_text_path_layout の弧長・位置・傾き・used を閉形式と突き合わせ(L 字経路で 0/90 度)、annotate_panel_label の板の縁が margin に乗ること・text_box と画素同一であることを確かめる。★反転色の崖: 補色は中間調で消える(8bit で v ∈ [113,142] の 30/256 階調 = 11.7 %、v=128 の比は 1.014 = ほぼ同じ色)。明→暗の傾斜に線を引くと消える列は x=(1-v)(W-1) の予測どおり 97-122。逃げ道 mode=”contrast” は全階調で最悪 4.61(連続の下界 4.583)。★表(annotate_table): 桁幅はその桁の全セルを実フォントで測った最大(文字数で数えると和英混在で崩れる)、桁間は行高×0.6 なので font_size を 2 倍にすると桁間も 2.00 倍、align=”auto” は数の桁だけ右そろえで全部が同じ縁で終わる。
py -3.11 examples/annotate_paper_tour.py
signal_processing
- 点列の多項式近似・フーリエ・ローパス/ハイパス — 計測1D列をトレンド抽出(多項式)・周波数分析(FFT)・平滑化(ローパス)・細部抽出(ハイパス)する(signal1d)。各処理に beat-the-null のGT付き。
py -3.11 examples/signal_filter.py
- 減衰振動のセンサー信号を HALCON funct_1d ファミリで解析 — 平滑化→極値で周期→ゼロ交差で半周期→微分/積分往復→包絡線から減衰時定数→相互相関で遅延。各段に beat-the-null の GT 付き。
py -3.11 examples/signal_funct1d.py
- 音だけで回転機械を診断する(acoustics 音響状態監視) — マイク 1〜2 本の音圧列から、傷んだ部品・dB 値・加振との因果(伝達関数/コヒーレンス)を出す。合成音源の既知パラメータを GT に照合。
py -3.11 examples/acoustic_condition_monitoring.py
-
| レールの波状摩耗を弦で測る(伝達関数が 0 になる波長は 0 mm と出る) — 軌道の凹凸を弦(正矢)で測るときの伝達関数 |
H(λ) |
= |
1 - cos(πL/λ) |
を、真値を仕込んで実測する。★ゼロ点(正矢をそのまま高さと読む)は波長で 0.0 % 〜 200.0 % に化け、同じ 1 本の弦で過大評価と過小評価が同時に起きる。★死角は幾何で厳密: 10 波長 × 2 弦の 20 通りで予測と実測の差は最大 0.00000、λ=5.00 m の 0.600 mm は 200 m 全長の最大絶対値でも 0.00000 mm。★1/3 オクターブ帯(fullseye.octave_spectrum)でも比は 0.00041 〜 2.000 の 4924 倍。帯の和は全 FFT ビンの和の 0.519 しかなく、欠けた 48 % は λ=30 m が f_min の外に居るため。★逆フィルタは死角で 6.9e7 mm に発散し、正則化を入れると 3 波長が静かに「凹凸なし」になる。★弦 2 本(10 m + 6 m)で 10 中 8 波長が誤差 0.1 % 以内に戻るが、共通の死角 λ=1.000/k は櫛になり波状摩耗帯(0.03–0.30 m)だけで 30 本 —— 予測を 1 つ外し、λ=0.100 m が残ったのは k=10 の歯だった。★0.25 m 標本では 30 mm の波状摩耗が 0.750 m のうねり 0.0528 mm に化ける(対照群 0.00584 mm の 9 倍)。★非対称弦(3.7/6.3 m)は長波長の死角を消すが λ = gcd(a,b)/k = 0.100 m に死角を作る —— 波状摩耗を測るための弦が波状摩耗の帯域に死角を作った。 py -3.11 examples/poc_rail_corrugation.py |
- 搬送ロールの傷を周期から名指しする(崖に着く前に何も言えなくなる) — ロール to ロール連続材の周期欠陥から搬送ロールの周長を逆算し、台帳のどのロールが犯人かを当てる。★★素朴に「スペクトルの最大値」を読むと実在する無実のロールを名指しする: インパルス列の櫛では高調波が基本波と同じ高さなので最大値は C/2 = 235.62 mm を掴み、それが台帳の冷却ロール(314.16 mm)に落ちる。しかもこの誤差は見逃し 0 → 50 % で 235.9 mm のまま動かない —— 誤差が一定なのは頑健さの証拠ではない(同じ間違いを続けているだけ)。対策は k=1..3 の高調波が全部立つ最低周波数を採る fail-closed の櫛法。★ゼロ点(欠陥の MD 間隔)は検出が完璧なら当たる(中央値の誤差 -0.03 mm)が、見逃し 40 % で中央値 472.1 mm・平均 813.5 mm に対し櫛法は 3.2 mm —— 見逃しは位相を飛ばさない。平均は clutter に、中央値は見逃しに弱い。★fs.cepstrum は docstring の警告どおり族の別の線を掴み(見逃し 0 % で 3.50 C)この場面では使えなかった。★対照群(蛇行 25 mm)を補正しないと 1 本のロールの欠陥列が CD で 2 本に割れる(レーンに残る周期欠陥 100 → 44 %)が、MD スペクトルはビット単位で無傷 —— 蛇行が壊すのは CD でレーンを切る手法だけ。★健全ロールだけ 60 試行で偽陽性 1.7 %。床は 0 でなく、単独のしきい値(2.5 倍)は健全側の 3.99 倍に負ける —— 止めているのは高調波の全数要求のほう。★★崖は 2 つ: 予測 L_crit = C²/ΔC = 14137 mm に対し実測の分解の崖 14000 mm(比 0.99)だが、報告率 100 % を保つ検出の崖は 17000 mm とより長い —— Rayleigh の崖には辿り着けない。★判定そのものを直した: 24 試行では「隣へ落ちる 0 %」が成立したが 120 試行では最長 20000 mm でも 2 % 残り、0 % は床でなく小標本の産物だった(床の 3 倍で数え直して 14000 mm)。★取り違え先は掃引 9 点中 7 点で冷却ロール、471.24/314.16 = 1.500 の 3:2 —— 台帳に整数比があると櫛法にも固有の取り違えがある。★この PoC が炙り出した道具の穴 2 件を、その場で埋めた: 点列から直接スペクトルを取る
fs.point_spectrum(ビン幅を選ばない点過程の周期図。分解能 1/記録長 を返り値に持つ)と、1-D の山をサブビンで読む fs.peak_subbin(頂点を丸めずに返す —— ±0.5 を超えたら「そこは極大でない」という情報)。PoC 本体もその op を通るようにしたが、櫛の高調波を掴むという中心の所見は変わらない(道具ではなく読み方の問題)。 py -3.11 examples/poc_web_roll_periodicity.py
interpolation
- スプライン補間(開/閉曲線・2D/3D・時間変形) — 疎な点列を滑らかに補間・再サンプル。輪郭は閉曲線(滑らかに閉じる)、軌跡は開曲線、3D空間曲線も同API。座標を時間で補間すれば時間軸の変形も表せる。
py -3.11 examples/spline_curve.py
family_coverage
- 平滑化・ランク・復元フィルタ族を総なめ — gaussian/median/bilateral/rank/restoration など平滑化フィルタ族の全 op を実行し、有限性・out_sort・決定性を機械検証(代表 op は beat-the-null GT)。
py -3.11 examples/gallery2d_smoothing_rank.py
- エッジ・微分・コーナー演算子族を総なめ — sobel/laplace/canny/harris などエッジ・勾配・コーナー検出族の全 op を GT 検証。
py -3.11 examples/gallery2d_edges.py
- モルフォロジー(形態学)op 族を総なめ — 収縮/膨張/開閉/tophat/skeleton などグレー・二値形態学の全 op を GT 検証。
py -3.11 examples/gallery2d_morphology.py
- 領域(region)op 族を総なめ — 穴埋め/最大成分/距離変換/外接内接/RLE など region・region-morphology・region-transform を GT 検証。
py -3.11 examples/gallery2d_region.py
- セグメンテーション演算子族を総なめ — otsu/dyn_threshold/watershed/local_max などしきい値・領域分割族の全 op を GT 検証。
py -3.11 examples/gallery2d_segmentation.py
- 特徴抽出・テクスチャ・形状記述子族を総なめ — 特徴点/テクスチャ/形状記述/自己相似の全 op を有限性・決定性で GT 検証。
py -3.11 examples/gallery2d_features.py
- 2-D 幾何オペレータ族を総なめ — アフィン/射影/回転/リサンプル/座標変換など幾何変換族の全 op を GT 検証。
py -3.11 examples/gallery2d_geometry.py
- 濃淡・階調変換・算術・定義域 op 族を総なめ — gamma/contrast/算術演算/domain(定義域)など濃淡・階調族の全 op を GT 検証。
py -3.11 examples/gallery2d_gray_arith.py
- 輪郭・1次元計測・テンプレート照合族を総なめ — 輪郭抽出/subpix/1D 計測/テンプレートマッチ族の全 op を GT 検証。
py -3.11 examples/gallery2d_contour_measure.py
- テクスチャ・周波数・分解 op 族を総なめ — FFT/gabor/wavelet/分解(decomposition)などテクスチャ・周波数族の全 op を GT 検証。
py -3.11 examples/gallery2d_texture_freq.py
- 色・芸術・拡張(sim2real)op 族を総なめ — 色空間変換/芸術効果/augmentation など色・拡張族の全 op を GT 検証。
py -3.11 examples/gallery2d_color_artistic.py
- HALCON 拡充 tier(hx_ 一族)を総なめ — HALCON 互換の拡充 op(
hx_ prefix, category=halcon_ext)の全 op を GT 検証。 py -3.11 examples/gallery2d_halcon_ext.py
- 物理PDE・人工生命・トモグラフィ・3Dボリューム op 族を総なめ — 拡散/反応拡散/CA/tomography/volume など物理・人工生命・3D 族の全 op を GT 検証。
py -3.11 examples/gallery2d_physics_alife_3d.py
- 入口 op(img_to_*、category=bridge)を総なめ — 1 枚の画像から点群・1-D 信号・動画・体積・ライトフィールド・複素場・光子列・ビート立方体・行列・キーポイント・モノジェニック信号を作る 12 op を、型契約・有限性・決定性・ノブの効きに加え op ごとの閉形式(z = 値×10×s、フレームの変位、距離ビン …)で検証する。
py -3.11 examples/gallery2d_bridge.py
- 球の飛翔・跳ね・摩擦と、真上カメラの画素→台の座標(ballistics / puck) — 振り子の周期を RK4 の積分と、停止距離からの μ を数値積分と、跳ねの (e, μ) と空力係数を既知の値で作った軌跡からの往復で、皿の捕球判定を境目の手計算で、針穴カメラを閉形式で確かめる(10 op)。
py -3.11 examples/gallery_drive_ballistics.py
- けん玉の捕球の計画と卓球ラケットの当たり・動き・打ち方(kendama / racket) — 放物線の当てはめ・知覚の雑音の σ・捕球計画の閉形式(計画どおり玉を進めると捕れる)、ラケットの枠の境目・bang-bang の到着時刻・打球の合法判定(独立の RK4 でネットの上)・2 つの戦略の規則(9 op)。
py -3.11 examples/gallery_drive_kendama_racket.py
- カーブの限界・Stanley・定常旋回・視界の環境・横の安全距離・技能試験の数字 — 道路構造令の力のつり合い、フレネル積分を scipy と、Stanley の閉形式を積分と、ユリウス日を J2000.0 と、視程でコントラスト 5 %、CIE のグレア式、RSS 横の最小間隔の手計算、採点の境目(13 op)。
py -3.11 examples/gallery_drive_lateral_env.py
- 土・粒・群れ・触覚の膜(roverslip / scoop / granular / swarmflow / tacdome / tacslip) — Bekker の圧力、滑りの CVaR をモンテカルロと、ポアソンの円板から面密度を逆に、円錐の丸めの接線連続、SPH の格子密度、大変形補正の係数の 3 つの読み(厳密解と一致するのは導出だけ)、マーカーの対応、Mindlin の向き(8 op)。
py -3.11 examples/gallery_drive_soil_tactile.py
- ペグ挿入を手首 RGB-D と指の触覚で読む(pegsim / pegtactile) — 解析的なレイキャストの合成 RGB-D(真値つき)で穴の中心・ペグ先端・手首のたわみを、副画素の縁と既知半径の円柱を、成功率の表・触れる候補・2 パッドのせん断の分解を手計算と照合する(8 op、MuJoCo 不要)。
py -3.11 examples/gallery_drive_peg.py
- CARLA と自前の世界の橋(運転の台帳 op 10 本)を往復と閉形式で確かめる — carlabridge の 10 op: 水平画角 90° の f = W/2、主点の 0.5 画素を戻すとビット一致、回転行列の直交性と det = +1、CARLA → world → CARLA の往復(差 0)、y と yaw の符号反転、場面記録の検査(鍵の欠けは拒む)、地図で回して動かしても同じ世界に置き直す、撮り直しの深度とラベルが記録と画素単位で一致、一定深度の箱で先行車の距離 h·f/(v+½−c) が厳密。
py -3.11 examples/gallery_drive_carla_bridge.py
- 日本の道の部品(標識・信号機・電柱・踏切警標・カーブミラー・止まれ)を寸法で確かめる — drivejapan 4 op と roadjp 6 op: 「止まれ」の全長 9.2 m、電柱と腕金の AABB、× 印の上端の閉形式、鏡の頂点が半径 r の円の上、標識の寸法(円 0.6・逆三角形の高さ 一辺·√3/2・菱形の対角 0.45·√2)、alpha の平均 π/4 と 1/2、手作りの RGBA から板の面数・面積・α 重みの色・法線、灯器の幅 1.25 m と青・黄・赤の並び、信号機の灯器の底・表示面の向き・アームの側。
py -3.11 examples/gallery_drive_japan_roads.py
- 外から読むファイル(BVH・イベント列・3DGS)と区画の番号を往復で確かめる — 一時ディレクトリに小さなファイルを書いて読み戻す: BVH の関節の世界座標(閉形式)と骨の長さの不変、イベント列を見出しつき・見出しなし(列の推定)・npz の 3 通りで往復、コマの総和 = 極性の総和、.splat と INRIA .ply の位置・色・不透明度・大きさ・回転、SplitMix64 の公表ベクトルで検算した第 2 実装と tile_hash が一致、tile_uniform の χ²、global_to_tile の往復。
py -3.11 examples/gallery_drive_world_io.py
- けん玉・糸・歩く人を置き直す op を剛体の不変量と投影で確かめる — kendamaworld 6 op と drivehumanoid 1 op: 糸の角柱が閉じて体積 (2r)²L、けんの頂点 = 局所 @ Rᵀ + p、姿勢を変えてもほかの物体はビット一致、大皿の縁の中心の像を自前のピンホール投影と照合、皿の半径 f·r/深度、糸の張り直しで長さ更新、歩く人の頂点 = R(yaw)·局所 + (x, y)・頂点間の距離の保存・1 周期先は同じ形。
py -3.11 examples/gallery_drive_world_objects.py
- 建物・起伏・LiDAR の箱・倉庫の格子を面積・体積・閉形式の距離で確かめる — driveplateau 3 op・driveterrain・lidarsim・agvfleet 2 op: 凹多角形の三角形の面積和 = 靴紐公式、箱で 2 棟だけ切り出し、角柱の体積 = 足跡の面積 × 高さ、地面の格子の頂点数・道の面 160 枚・道の近くの高さ = うねりの閉形式、光線の距離を6 面を全部調べる第 2 実装と 2000 本照合、壁を回り込む最短手数 6 + c − r、計画の総コスト。
py -3.11 examples/gallery_drive_city_terrain.py
- 鏡の折り返し・ミラーに映る左右・坂道の譲り合い・人の群れの 1 歩を確かめる — drivedecide・drivepass 2 op・drivetraffic: 鏡映行列の対合と det = −1 と等長、ミラーの像を 3 次元の鏡映行列(別の op)で照合、仮想の眼の角速度 = −像の角速度、教則 6-2-1(6) の譲り合いの表、social force の 1 人の解が刻み幅に依らずv0(1 − e^{−t/τ}) と一致、点対称な配置は点対称のまま、斥力ですれ違いの間隔が開く。
py -3.11 examples/gallery_drive_mirrors_crowds.py
-
| 2 入力の画像算術と領域の集合演算(n-ary 層 17 op)と identity を numpy の検算で確かめる — fullseye.apply([x1, x2], name) で呼ぶ n-ary 層: ゲイン 1 になる a, b で和・差・積・商が numpy と一致(商は q·I2 / I2 で q が戻る)、 |
I1 − I2 |
= max − min、8 bit のビット AND/OR と (a AND b) + (a OR b) = a + b、convol_image は相関(右に重み 1 のマスクは右隣を読む)、和・積・差・対称差の包除と (A − B) ∪ (A ∩ B) = A、定義域・塗りつぶし・paint_gray(暗い source も塗る)、identity は入力そのまま。 py -3.11 examples/gallery_nary_image_algebra.py |
- 複素スペクトルと 1-D 信号の橋渡し op(tb_cx_* 7 本・tb_negate_funct_1d・tb_zero_crossing_rate)を往復と閉形式で確かめる — cx_fft → tb_cx_ifft で元の画像に 1e-12 で戻る、実部・虚部で組み直し、直流 = 画素の総和とパーセバル、1 画素ずらした点の位相がシフト定理どおり回る、log 振幅の最大は直流、σ = 0.02 + 0.48a のガウス低域 H を numpy で作って掛けたものと一致、−y と二重否定、零交差率の docstring の例と矩形波。
py -3.11 examples/gallery_spectrum_signal_bridge.py
- 球のメッシュ・分割表・太陽のブルームの円・RGB ゲイン(台帳 op 4 本)を閉形式と手計算で確かめる — icosphere の頂点 10·4^s + 2・面 20·4^s・オイラー標数 2・外向き・面積が下から 4πr² へ、seg_contingency を手で数えた組と行和・列和で、sun_bloom_fit は中心の分かる合成ブルーム(切れていても円の中心は 0.3 px 以内、重心は 2 px 偏る)、rgb_apply_gains は numpy の積と 0 以下のゲインの拒否。
py -3.11 examples/gallery_mesh_seg_sun_gains.py
- 分布の距離・検定・行列の分解と関数を閉形式と往復で確かめる(mathestimation / mathops) — N(0,1) と N(1,1) の KL = 1/2・Bhattacharyya = 1/8、重ならない分布の JS = log 2、歪対称の e^A = Rodrigues、log(e^X) = X の往復と負の固有値の拒否、χ² 適合度の χ² = 20 と自由度 3 の p の閉形式、KS の D = 1/(2n) と 2 標本の厳密な p = 0.1、対応のある t の t = 2√3 と自由度 2 の p の閉形式、Cholesky が L₀ に戻る、回転の固有値 e^{±iθ} と推移行列の定常分布、LU の PA = LU とピボット無しの古典的失敗(9 op)。
py -3.11 examples/gallery_math_stats_linalg.py
- 特殊関数・求積・NURBS・波源の数・Tustin・Daubechies を閉形式で確かめる — 半整数次の Bessel の閉形式と Wronskian、Gauss 求積が 2n−1 次まで厳密で 2n 次で外れる、有理 2 次 NURBS が円柱の上に厳密に乗る、MDL が 2 波源・1 波源・雑音だけを数え分ける(seed 固定)、Tustin の係数の閉形式と scipy.signal.bilinear(別実装)・前歪みで f_c の利得 1/√2、Haar と db2 の閉形式・db4 の直交性と消失モーメント(6 op)。
py -3.11 examples/gallery_math_numerics_filters.py
- 音のファイルを読み、特徴量と零交差率を出し、1-D 関数を組み替える(dsp / funct1d) — 一時ディレクトリに標準ライブラリで書いた 16 bit WAV(モノラル・ステレオ)を read_audio で読み戻して整数 / 32768 と完全一致、零交差率を解析的な交差時刻の個数と、整数周期の余弦の rms・peak・波高率・ピーク周波数・重心・帯域を閉形式と、compose / negate / transform_funct_1d を手計算と照合する(6 op)。
py -3.11 examples/gallery_oned_audio_funct.py
- 分割の評価・Chan–Vese のエネルギー・成分木・円の重なり・ボロノイを独立の検算で確かめる — 分割表と claims、Hausdorff と平均表面距離を cdist の総当たりと、Chan–Vese のエネルギーを式の書き直しと(鋭い版は周長 4s)、max-tree の節と面積を各しきい値の ndimage.label と、円の重なりを閉形式と格子の数え上げと、ボロノイの面積・内部の辺を手計算と照合する(7 op)。
py -3.11 examples/gallery_seg_measures.py
- 結合グラフの 10 op を教科書の閉形式で確かめる(星・道・環・完全グラフ・二つの塊) — conngraph の 10 op: 無向の星の媒介中心性 (n−1)(n−2)/2・道の i(n−1−i)、完全グラフのクラスタ係数 1・木 0・三角形 + 1 点で 7/12、環のラプラシアン固有値 2 − 2cos(2πk/n)・成分数 = 零固有値の数、道の Fiedler 配置が単調、離れた K4 二つのモジュラリティ 1/2・1 群で 0、有向三角形・FFL・完全 K4 のモチーフ数(6/24/8)、線分の端点 = 配置、隣接画像の log1p 正規化と次数順。
py -3.11 examples/gallery_conngraph_closed_forms.py
- 錯視図 7 op と終わらない絵 2 op を、目でなく数で確かめる — illusion / perpetual の 9 op: チェッカーシャドウの 2 マスが厳密に同値、同時対比のパッチが厳密に 0.5、ヘルマン格子の交点 = 帯 = 1.0 と帯の幅・間隔、きらめき格子の 81 個の白丸がビット一致で面積 π·6²、フレーザーの環は角度によらず半径一定、カニッツァの錯覚輪郭の上は背景の定数、ポンゾの 2 本の棒が等長、ハーモノグラフは a/b = 3/2 なら周期 2π で閉じ √2 では閉じない、ラングトンの蟻を独立に書いた蟻と照合し周期 104 の高速道路。
py -3.11 examples/gallery_illusion_invariants.py
- 体積の時系列(4D)を動きの分かった合成で確かめる(断面・MIP・速さ・コマ補間) — live4d の 4 op: 断面は k 枚目の切り出しとビット一致、1 点だけ光る voxel の MIP の位置と S.max との一致・断面 ≤ MIP、1 voxel/コマで動く塊の速さ 1 と止まった塊の 0、2 倍のコマ数で作って間引いた動画を流れで補間し抜いたコマとの誤差がただの平均の 1/3 未満。
py -3.11 examples/gallery_live4d_volseq_truth.py
- OpenVX 互換の 10 op を規格の式どおりの値で確かめる(vxcore) — vxcore の 10 op: 坂 3x + 5y の Sobel 24/40 と端の扱い、magnitude の丸めと 32767 の飽和、phase の 0/64/128/192/224 と floor・round の 2π 手前、表引きの反転・S16 の offset・表の外で停止、histogram の升と範囲外、median/min/max を scipy と全画素一致、非極大抑制の平らな頂上は右下だけ・S16 は INT16_MIN、remap の恒等と半画素の bilinear、warp_affine の 90° 回転 = np.rot90、warp_perspective の同次座標(行列を 2 倍しても同じ)。
py -3.11 examples/gallery_openvx_spec_values.py
optics_sensing
- 光学 op(optics)で検査機を 1 台、紙の上で設計する — 倍率→焦点距離/物体距離、ABCD 行列で結像確認、回折限界・被写界深度・MTF を要求分解能に対して合否判定する。
py -3.11 examples/optics_imaging.py
- X 線 1 個は Si フォトダイオードの電子何個になるか —— シンチレータ 7 種を K 吸収端・光収率の幅・発光の形で比べる — 止める割合 × 光の数 × 光が電子になる割合(fs.ledger.scintillator_sensor_qe)。厚さ 0.6 mm の吸収は重い元素のK 端で跳ぶ(Gd 50.2 keV で GOS:Tb 0.76 → 1.00)。BGO は 95 keV で CsI:Tl の 1.8 倍を止めるのに電子は 0.29 倍。CdWO4 の光収率の幅 20,000〜28,000(絶対測定どうしの違い)を帯で描くと電子の数が 30 % 動く。発光は材料表の成分(エネルギー軸のガウス、GOS:Tb は Tb の線の束)で、極大の線で近似すると Si の QE の山頂で重なりを大きく見積もる(BGO +6.6 %)。LSO は厚い結晶を通ると自己吸収で重なりが 0.506 → 0.560。
py -3.11 examples/scintillator_sensor_tour.py
- 理想レンズ面と、PSF から読む設計の指標(囲みエネルギー・子午/球欠 MTF・スルーフォーカス MTF) — 理想レンズ(f)の焦点とガウスの結像公式、Airy の囲みエネルギー 83.8 %、円形瞳の MTF の閉形式との一致を確かめ、絞った単レンズの 8 度の視野で子午/球欠 MTF が割れることを見る。
py -3.11 examples/optical_design_metrics.py
- 実光線設計 op(raytrace)で singlet と doublet を比べる — 処方(lens_system)から近軸表・面ごとの Seidel・軸上/5 deg のスポット RMS・OPD→Zernike・Monte-Carlo 公差 p95 を出し、閉形式(thick_lens / 放物面鏡の完全結像)と突き合わせる。
py -3.11 examples/lens_design_demo.py
- 実硝材で色収差を見て、減衰最小二乗でレンズを最適化する(lensopt) — glass_catalog(Sellmeier)→ chromatic_shift で singlet/doublet の F-C 焦点移動、bend_singlet の Coddington 形状因子を optimize_lens が等凸から再発見、円錐 k=-n² と非球面 A4..A8 で無収差化、merit_function を 3 視野 × 3 波長で評価。
py -3.11 examples/lens_optimize_demo.py
- 検査照明を設計する(illumdesign)— リング/ドーム/同軸/バックライトの照度と欠陥コントラスト — light_source → irradiance_map(cos⁴ 則で検証)→ illumination_uniformity、defect_contrast で暗視野/明視野の傷斜面コントラストとグレアによる顔料コントラスト希釈、lighting_sweep の最良仰角 = 90°−2×斜面、illumination_design の順位表と経験則の照合。
py -3.11 examples/illumination_design_demo.py
- 設計レンズでカメラ校正を閉ループ検証する(calibration_views → calib) — 処方の実歪曲で平面ターゲットの多視点対応点を合成し、calib.camera_calibration がK_true(EFL/画素ピッチ)をどこまで再現するかを、無歪曲の放物面鏡(1e-6)と樽型歪曲の singlet(焦点距離バイアス+再投影 RMS)で突き合わせる。
py -3.11 examples/lens_calibration_loop_demo.py
- 設計したレンズで欠陥画像を撮る(lensimage)— PSF・歪曲・センサ雑音つき学習データ — singlet / doublet の実収差瞳から回折 PSF(Airy 第 1 暗環・Strehl)と歪曲表を出し、defectgen の欠陥をレンズ越しに描いて、同じ歪曲だけ通したマスク(IoU)と COCO 風注釈を書き出す。
py -3.11 examples/lens_defect_dataset_demo.py
- ライトフィールド 17 op で plenoptic 検査機を通す — 画素/MLA ピッチから角度・空間分解能と基線長を設計し、センサ生データ→EPI→深度まで復元して既知深度と照合。
py -3.11 examples/lightfield_depth.py
- 光子計数・時間分解 op(photoncount)で単一光子距離計を仕立てる — SPAD の √N 雑音・デッドタイム・パイルアップを持つヒストグラムから距離と蛍光寿命を出し、17 op を閉形式 GT と照合。
py -3.11 examples/photon_timeresolved.py
- コヒーレンス走査干渉(interferometry)で段差表面を測る — 位相シフト法(fringe)が 2π 周期で壊れる段差を、同じ表面で白色干渉の包絡線ピークから正しく測り、両者の差を数値に出す。
py -3.11 examples/coherence_scanning.py
- 光沢面の外観検査(specularity 13 op) — Lambertian 前提の形状復元がハイライトで壊れる場所を見せてから、二色性射影分離・影下の頑健最小二乗・偏光分離を順に通し、破綻点(4 灯遮蔽)も隠さず出す。
py -3.11 examples/specular_photometric.py
- コヒーレント測距 op(rangedoppler)で 4D レーダを仕立てる — FMCW の位相を保つビート信号から距離-速度マップと角度を出す。lidar_scan には無い速度軸を既知ターゲットの GT と照合。
py -3.11 examples/fmcw_range_doppler.py
- 通常フレームからイベントカメラ(DVS)表現を作り運動を復元 — フレーム対/短クリップを events 表現(タイムサーフェス等)に変換し、コントラスト最大化で注入した運動を回収する(events.py ファサード、終了コードで判定)。
py -3.11 examples/events_from_frames.py
-
TDI ラインスキャンとラインスキャン用レンズ ―― 段数で欠陥が見え、同期がずれると流れ、C マウントでは長いセンサの端が消える — フィルム・鋼板・ウェハのように流れてくるものはラインセンサで撮り、暗いラインでは TDI で N 段ぶん露光を積む。新 op 6 本(linescan、opsoptics の linescan): tdi_snr(EMVA 1288 の式 21 を段数倍、電荷加算 / デジタル加算)/ tdi_sync_mtf(同期ずれ・ヨーの閉形式)/ linescan_acquire(反射率の地図を搬送して撮る: 速度誤差・ヨー・蛇行・エンコーダ同期・レンズ・雑音)/ lens_field_profile(像高ごとの照度と MTF を光線追跡で)/ linescan_lens_columns / linescan_lens_example。★1 段 40 光子の暗い冷延鋼板で、2 枚撮りの時間雑音から測った SNR は式 21 と全段数で 1.2 % 以内。デジタル加算は 64 段で ×8.09(√64 = 8)、電荷加算は読み出し雑音を 1 回しか払わないので ×26.9。薄い傷・ピンホール・異物の検出は 1 段 0 / 3 → 64 段 3 / 3(誤検出 0)。★同期ずれ ε で像が N·ε 画素流れ、流れ方向の MTF は |
sinc(f N ε) |
—— 閉形式を先に印字し、正弦波の板で 45 条件の最大差 0.0035。速度のうねり ±3 % は自走で局所 MTF 0.64 まで落ち、エンコーダ同期で 1.000 に戻る。ヨーの幅方向のぼけ |
sinc(f N sin θ) |
はエンコーダでは直らない(9 条件で最大差 0.0017)。★同じ形の三枚玉を 57 mm の像円用(f 90)と 2/3 型用(f 35、C マウントの流用)に作って光線追跡: 照度は cos⁴ × 瞳 × 歪曲に厳密に分かれ(最大差 2e-16)、ラインスキャン用は端で 0.976(cos⁴ は 0.855、樽型歪曲 −2.9 % が ×1.111)、C マウントは像高 19.7 mm から光が届かない。フラットフィールド補正で照度の幅は 0.961 → 1.000 に揃うが、正弦波の変調は補正の前後で差 0.0006(MTF は直らない)、像高 14 mm の異物の CNR は C マウントで 1.52 → 1.54 のまま(ラインスキャン用 2.49)。学習 0、較正 0、門 19 件。 py -3.11 examples/poc_tdi_linescan.py |
- フーリエ・タイコグラフィ ―― 4 倍の対物の広い視野のまま、20 倍相当の分解能と位相を、反復の位相回復で得る — 低倍率の対物の広い視野のまま、LED アレイで照明の角度を変えて撮った像の組を周波数空間でつなぎ、20 倍相当の分解能と位相を反復の位相回復(収束型の演算)で得る。新 op 6 本(
fourierptycho、opsoptics の fpm): fp_design(合成 NA・遮断周期・隣り合う瞳の重なり率・LED の数・画素の標本化・境の LED を撮る前に)/ fp_usaf_target / fp_capture(斜めの平面波 → 瞳 → 強度、雑音・収差・LED アレイのずれ・反射型の高さ)/ fp_stack_from_images(実データの入口)/ fp_reconstruct(逐次の位相回復 + 瞳の同時推定 + LED の位置の補正。収束の履歴・止めた理由・合成 NA を返し、収束しなければ拒否)/ fp_element_contrast(USAF の要素ごとの3 本の棒の変調)。4 倍 / NA 0.1・LED 13 × 13 で合成 NA 0.424、4 倍の 1 枚は G7 E4(5.53 µm、閉形式 λ/NA 5.32 µm)まで、FP は G9 E5(1.22 µm、閉形式 1.25 µm)まで分解し、20 倍 / NA 0.40 のコヒーレント像と同じ要素。位相だけの物体は帯域制限した真値と rms 0.13 rad、反射型の 20〜40 nm の段差は rms 4.0 nm。重なりを 64 → 7 % に下げると、43 % 以上は収束、32 % 以下は「2 本の初期値が別の答えに着いた」か回数切れで拒否 —— 境が公表の下限 35 % を挟む。★残差だけでは見抜けない(重なり 18 % の残差は 64 % より小さい)。瞳の同時推定は収差 rms 0.12 波を 0.005 波まで戻し、LED アレイのずれ (0.6, −0.4) mm・1°・1.5 mm を (0.62, −0.36) mm・0.93°・1.25 mm と読み戻す。★k の符号の反転は位相の符号が反転した像に着き、残差は同じ(強度では区別できない)。実データ(公開の USAF の FP データ、repo に入れずデータがあるときだけ)では、公表の装置の値からの遮断周期 1.60 µm に対し G9 E3(1.55 µm)まで分解(生の 1 枚は G7 E3)。学習 0、較正 0、門 33 件。 py -3.11 examples/poc_fourier_ptychography.py
- 波面収差ごとの Maréchal 近似の破綻境界 — 4種類の単位RMS Zernike収差を484条件で掃引し、PSF FFT、独立な瞳積分、Maréchal近似を比較する。
py -3.11 examples/poc_wavefront_aberration_limits.py
- 4方位偏光カメラの Mueller 可観測性 — 設計行列のrankと雑音増幅を計算し、線偏光だけのrank 9とQWP追加のrank 16を比較する。
py -3.11 examples/poc_mueller_dofp_observability.py
- 斜めエッジ SFR の角度・ガンマ・雑音限界 — ISO 12233型のSFRを420条件で測り、回折と画素開口の合成MTF真値からのずれを数値化する。
py -3.11 examples/poc_slanted_edge_sfr_limits.py
- ピクセルシフト撮像 ―― センサを 1 画素動かすと偽色が消え、半画素動かすと折り返しが消える。MTF は上がらない — 撮像素子を圧電アクチュエータで 1 画素 / 半画素ずつ動かして撮る「ピクセルシフト」が、外観検査で何を増やし何を増やさないか。新 op 6 本(
pixelshift、opsoptics の pixelshift): pixel_shift_pattern / pixel_shift_capture(画素の開口の箱で厳密に積分、Bayer か白黒)/ pixel_shift_merge(公称のシフトで格子へ、埋められないシフト列は拒否)/ pixel_shift_motion_mask / false_color_metric / pixel_shift_resolution_budget(sinc × 回折 MTF、Q = λN/p)。1 画素シフト 4 枚は基板の配線・織物・網点・解像チャートで偽色を 0.043〜0.084 から 0 にする(静止・誤差 0 では定義上 0 —— 各画素の R・G・B が同じ開口で同じ点を見る)。半画素シフトでは 0.6〜0.9 cyc/px の縞の FFT の山が、1 枚の折り返し 1 − f₀ から本当の f₀ へ戻り、高さは 0.4·sinc(f₀) と 2e-14 で一致。★傾いたエッジの MTF50 は 1 枚 0.478・半画素 0.475・閉形式 0.467 cyc/px —— シフトで変わるのは折り返しで MTF ではない。drizzle(独立の実装)でも山は 0.700 に立ち、★センサのシフトをそのまま渡すと 0.300(符号の取り違えが折り返しに化ける)。画素 3.45 µm で F 1.4〜22 を振ると 0.7 cyc/px の変調は sinc·回折の閉形式と 0.0008 以内、Q > 1.43 で消え、解像の得は Q = 2 より手前の Q* = 1.47 で尽きる。開口率 0.5 なら 0.8 cyc/px の変調が 3.2 倍。壊れる条件: 1 枚だけ 0.05 px ずれた色の誤差は閉形式 2πf·a·sinc·δ/√2 と 1.2 %、乱数の誤差 σ = 0.1 px で偽色 0.012(1 枚のデモザイク 0.053)。搬送中の部品は 0.25 px/枚 までは 4 枚の破綻(0.161)が 1 枚のデモザイク(0.205)より小さく、0.5 px/枚 から逆転。動き検出で 1 枚に差し戻すと 1 枚の画質の天井に届き、静止部の誤検出 0 %。雑音は R・B が σ/√c、G が σ/√(2c) と 2.1 % 以内、動く縞では枚数を増やすほど誤差が増える(4 → 16 枚で 0.081 → 0.273)。学習 0、較正 0、門 28 件。 py -3.11 examples/poc_pixel_shift.py
- 間接 ToF の多周波アンラップ ―― 周波数を上げるほど細かく測れるが、折り返し・多重反射・縁の混合・高調波で壊れる — 光を変調して戻り光との相関を 4 段の位相で測る間接 ToF(位相方式)を、生信号から距離まで通し、壊れる所まで測る。新 op 8 本(
itof、opsoptics の itof): itof_capture(距離の図 → 周波数ごと 4 段のバケット、ショット雑音・背景光・余分な経路・画素の開口での混合)/ itof_phase_amplitude / itof_noise_budget / itof_unwrap_multifreq(次数の仮説を全部試す最尤の復号・residue_crt・2 周波のうなり)/ itof_unwrap_error_rate / itof_multipath_separate(等間隔の多周波の行列ペンシル)/ itof_flying_pixel_mask / itof_wiggling_correct。σ_d は SNR ≥ 3 の 11 条件で閉形式 c/(4πf)·√((B+σ_r²)/2)/A の 0.999〜1.029 倍、Lange の式とも一致。16/80/120 MHz の組は 18.7 m まで一意で、次数の誤りは σ_φ = 0.33 rad で 0.116(和集合の上界 0.132)。★同じ生信号で residue_crt は 0.556 —— 16 MHz を錨にするので、低い周波数の位相誤差が Wang–Xia の保証 0.105 rad を越えた所から崩れる。80/100/120 MHz の組では 7.5 m より奥の棚が何の警告も無く手前に折り返す。包装フィルムの奥の箱は 1 周波で手前に引かれ(lighttransport.tof_multipath_phase と一致)、20〜160 MHz の 8 周波の行列ペンシルは間隔 0.8 m で全画素を 2 cm 以内に戻すが 0.2 m 以下は分けられない。部屋の隅は全面で 8〜99 mm 奥へ伸び、輸送行列の 1 回反射と 1e-15 m で一致。箱の縁で宙に浮いた画素の 97 % に印をつけ、段差の無い画素を消すのは 0.03 %。矩形波の周期誤差 ±84.8 mm は閉形式 atan(u/(1−u)) と一致し、模型の逆引きで雑音の床(2.1 mm)まで下がる。太陽光が信号の 50 倍だと 12 m 以遠の次数の誤りが 12 % → 93 %。同じ卓上の場面を直接 ToF で撮ると縁は浮かず、フィルムの下もずれない。公開の実機の生データ(3 周波 × 3 段、Lawin・Forssén・Ovrén、ECCV 2016、Zenodo、CC BY 4.0)では、真値に対する 30 cm 以上の飛びが最尤 0.131・residue_crt 0.293(10 枚の平均)、margin で際どい画素を捨てると 68 % を残して 0.020。学習 0、較正は周期誤差の 16 点と実データの左半分だけ、門 29 件。 py -3.11 examples/poc_itof_multifreq.py
- 光ファイバとライトガイド ―― 材料表の溶融石英から、モード・分散・モード径・照明の効率まで — 検査の照明はライトガイド(ファイバの束)で運び、干渉・分光の光は単一モードファイバで運ぶ。どちらもガラスの分散(材料表
materials)と導波の式で決まる。新 op 7 本(fiberoptics、opsoptics の fiber): material_group_index / material_gvd / fiber_numerical_aperture / fiber_v_number / fiber_lp_modes(弱導波の LP_lm の特性方程式を区間ごとに二分法で)/ fiber_mode_field_diameter / fiber_bundle_coupling。溶融石英の群屈折率は 1.55 µm で 1.4626、材料分散の零点は 1272.8 nm、D(1.55 µm) は 21.9 ps/(nm·km) と公表値の幅に入る。遮断は Bessel の零点(LP11 = 2.4048)の 0.001 上下でモード数が 2 → 6 と切り替わり、V = 30 でモード数 456 は V²/2 = 450 と 1.3 %、LP01 の b(V) は Rudolph–Neumann の近似と 0.24 %。★LP02 は遮断の直上で束縛が指数関数的に弱く、浮動小数で解けるのは遮断の 0.05 上から(op の docstring に限界として明記)。モード径は Marcuse 1977 の近似式と 0.8 % 以内、2 次モーメントの定義に変えると V = 1.2 で 11 % 大きい —— 「MFD」は定義を書かないと比べられない。コア半径 4.1 µm・NA 0.12 の設計は遮断 1285 nm、1310 nm の MFD 9.06 µm で ITU-T G.652 の 8.6〜9.5 µm に入る。Lambert の LED を NA の違う束に入れる割合は (NA_束/NA_光源)² の閉形式どおりで、LED → ライトガイド 2 m → Si ウェハ 775 µm → Si センサの鎖は光子 1 個あたり 2.2e-4 電子。学習 0、較正 0、門 17 件。 py -3.11 examples/poc_fiber_light_guide.py
- 光学設計ファイル(.zmx)を読んで、解析して、直して、書き戻す ―― 別の 2 実装と処方の往復で採点 — 市販の逐次光線追跡の設計ソフトが保存する処方のテキスト(.zmx)を、そのまま raytrace の処方にして実光線・Seidel・PSF・MTF・最適化に載せ、直した処方を同じ形式で返す。新 op 4 本(
lensfile、opsoptics の lensfile): lens_file_read / lens_file_system / lens_file_write / lens_file_report。全キーワードを「読んだ / 無視(理由つき)/ 扱えない」に分け、扱えない面(座標変換面・理想レンズ・トーリック …)・r² の非球面項・別名でしか表に無い硝材は拒否、近似は allow_partial のときだけ印つきで読む。同じファイルを ray-optics(BSD-3)と optiland(MIT)がそれぞれ自分の読み手で読んだ値と、近軸(EFL・BFL・入射瞳)が 4 設計で 6e-16、Seidel 和が 6e-8、実光線 14 本の像面座標が 3e-8 mm で一致。三枚玉の中央の硝材を 648/338 に差し替えると RMS は 13.9 → 332 µm に崩れ、lensopt で曲率 6 本を直すと 14.1 µm(EFL は元の 50.02 mm)に戻り、書き戻した .zmx を読み直すと処方が完全一致。★作る途中で raytrace の円錐面の交点の選び方の欠陥(長い空気間隔の後の R < 0 の面で全光線が「けられ」に化ける)を見つけて直した。学習 0、較正 0、門 21 件。 py -3.11 examples/poc_lens_file_roundtrip.py
- ズームレンズ(多構成)を 1 つの処方の差分で持つ ―― 薄肉 2 枚の閉形式と、設計ファイルの多構成の表への往復で採点 — 広角・標準・望遠のように間隔や曲率だけが違う複数の構成を、処方を複製せず構成ごとの差分で持つ。新 op 5 本(
lensconfig、opsoptics の lensconfig): lens_configurations / lens_with_configuration / lens_configuration_table(行 = 変わる量、列 = 構成)/ lens_configuration_metrics(EFL・後端焦点距離・RMS スポット・MTF・囲みエネルギーを構成ごとに)/ lens_add_configuration。lens_file_read / lens_file_write は設計ファイル(.zmx)の MNUM の表(THIC / CRVT / GLSS / PRAM の行)を読み書きする。行の形は公開のズームレンズ .zmx 24 本で確かめた。薄肉 2 枚(f1 = 100、f2 = 60 mm)の間隔 10 / 20 / 30 mm で EFL・後端焦点距離が閉形式 f1·f2/(f1+f2−d) と 1e-9 以内、単一の理想レンズの f を構成ごとに変えると囲みエネルギーは Airy の 83.8 %(最大の差 1e-4)。Cooke 三枚玉の前玉と中玉の間隔を変えた 3 構成(後端は構成ごとに合わせ直す)で EFL 50.26 / 50.02 / 49.79 mm、軸上 RMS スポット 3.6 / 12.0 / 26.2 µm。3 構成を MNUM 表つきの .zmx に書いて読み戻すと、構成ごとの全上書き値と EFL が 1e-12 以内で一致し、書き→読み→書きで同じ表になる。★構成ごとに口径・視野・波長が違う系は、検証できた行では運べないので .zmx への書き出しを拒否する(黙って落とさない)。学習 0、較正 0、門 14 件。 py -3.11 examples/poc_zoom_configurations.py
- 画素ごとの直交復調(ロックイン)―― 多重極リングの法線・符号化間歇照明の昼間化・ロックイン・サーモグラフィを、閉形式と Rice の位相分布で採点 — 画素ごとの直交復調(ロックイン)を画像列に対する汎用の op にして、時間相関イメージセンサの 3 つの使い方を同じ関数の変種で示す。新 op 9 本(
lockin、opsoptics の lockin): lockin_demodulate(振幅・位相・直流・同相・直交と窓の漏れの表)/ lockin_amplitude / lockin_phase / lockin_noise_floor(SN 比から振幅・位相の雑音を閉形式で)/ lockin_walsh_codes / lockin_separate(符号化した灯を最小二乗で分離)/ lockin_ring_synthesize / lockin_ring_normals(多重極変調リングの基本波応答から法線)/ lockin_thermal_wave(周期加熱した板の表面温度の厳密解)。振幅 2.5・位相 0.7 rad・直流 1.5 の正弦は 6.6e-15 以内で返り、参照の周波数をずらすと振幅は sinc で落ちる(Δf·T = 0.6033 で 0.4977、1.0 で 0)。周期が整数でない長さは矩形窓では拒否し、hann を宣言すると漏れ(3.75 周期で振幅誤差 0.0156、宣言した上限 0.0157)を表で返す。白色雑音の下の位相の標準偏差は、成分の SN 比 45・11・1.7 で実測 0.0220・0.0888・0.7244 rad、Rice の位相分布の閉形式 0.0221・0.0887・0.7306 と 0.9 % 以内(小雑音近似は SN 比 1.7 で 19 % 外れる)。(a) 8 灯の輪の光の位相を方位角と一緒に 1 周させると、基本波の応答から反射率が消えて法線が出る: 反射率の縞のある面(傾き最大 28.8°)で角度誤差 1.0e-13°、真の傾きとの相関は平均の像 −0.035 に対してリングの法線 1.000000。四重極は朗伯面で 0(3.5e-16)。雑音 σ = 0.004 の勾配の誤差は予測 0.0069 と実測 0.0069(法線の角度 RMS 0.56°)。影の限界を超える斜面は法線を作らず無効にする。(b) Walsh 符号で断続する 3 灯は、昼間の光が灯の 2.6〜4.2 倍あっても 1.9e-15 で分離でき、最良の 2 コマの差は誤差 0.94(灯の像の最大と同じ)。ちらつきとゆっくりした増加の下では灯 1 の誤差 0.053 → 増加の列を足して 0.031、ちらつきは残差の画像に出る。(c) CFRP 板 3 mm を 0.2 Hz で加熱すると(熱拡散長 0.818 mm)、位相は厳密解 −45° + arg coth((1+j)L/μ) と 1.0e-15 で一致し、加熱ムラは振幅を変えるが位相には入らない(差 5.6e-16)。雑音下の健全部の位相の標準偏差は実測 0.0213 rad、予測 0.0214 rad。深さ 0.3 / 0.6 / 1.0 / 1.5 mm の欠陥を位相から 0.30 / 0.60 / 1.00 / 1.54 mm と読む(位相の最大は L/μ = 1.963 で、それより深いと位相から一意に読めない)。参照を 10 % ずらす・天頂角を間違える・窓を宣言しない・符号が従属、は門が赤になるか拒否される。学習 0、較正 0、門 25 件。 py -3.11 examples/poc_lockin_imaging.py
- 硝材の置き換えと大域探索 ―― 色消し 2 枚の閉形式と、単レンズの曲げの 3 次収差の解で採点 — モデル硝材 (n_d, V_d) をカタログ硝材に置き換え、局所最適化を違う始点から何度も回して局所解を集める。新 op 3 本(
lensglobal、opsoptics の lensglobal): glass_nearest(Abbe 面の距離で最近傍のカタログ硝材 k 個。距離は nd_vd か、P_g,F の項を足した partial_dispersion)/ lens_substitute_glasses(系のモデル硝材を k 番目に近いカタログ硝材へ。許容距離の外は ValueError で、部分的には置き換えない)/ lens_global_search(多始点。局所最適化は lensopt.optimize_lens をそのまま使い、merit を再実装しない。merit 順に全局所解を返し、同じ解は重複の印、同じ seed は同じ結果)。カタログ硝材 8 種は自分自身が最近傍で距離 0、モデル硝材にしてから置き換えると元の名前に戻る。薄肉色消し 2 枚(クラウン 1.5168 / 64.17、フリント 1.6200 / 36.37)の屈折力は閉形式 φ1 = φV1/(V1−V2)、φ2 = −φV2/(V1−V2) で色消しが 1e-12 以内になり、硝材を置き換えると F−C の屈折力差は φ1’/V1’ + φ2’/V2’ に変わる(最近傍どうしで Φ に対し +5.9e-5、k = 2 で −4.5e-3)。光線追跡の値と手計算が相対 4e-11 以内。大域探索の真値は 3 つ。(a) 単レンズの曲げ: 開口 5 / 3 mm の最良の形状係数 0.7374 / 0.7383 を ap² で外挿すると 0.7388 で、3 次の解 q* = 2(n²−1)/(n+2) = 0.7397 と 1e-3 以内。(b) 色消し 2 枚: 8 始点すべてが閉形式の屈折力に相対 9.8e-9 で着き、1 つの解にまとまる。(c) 3 曲率の色消し 2 枚: 浅い解(merit 1.18e-5)に 20 始点中 19 本がはまり、深い解(5.04e-6)には 1 本だけ届く。1 始点では浅い解のまま。★局所最適化の既定の EFL の重みは開口の小さい系で硬すぎて収束が進まない(merit 5e-10 で止まる)ので、(b) は efl_weight = 1 で回した。学習 0、較正 0、門 10 件。 py -3.11 examples/poc_lens_global_search.py
- 要求の表で三枚玉を設計する ―― 縁厚・中心厚・空気間隔の境界つきメリット関数を、閉形式と独立実装で採点 — メリット関数を、行ごとに目標・重み・片側の境界を持つオペランド表にする。新 op 6 本(
lensmerit、opsoptics の lensmerit): merit_operands_list / merit_evaluate(行ごとの値・寄与・割合)/ merit_default(瞳全体の光線行 + EFL の保持)/ merit_boundary_operands(縁厚・中心厚・空気間隔)/ optimize_lens_operands(lensopt の LM に、硝材 g を選ぶ離散の外側ループを足す)/ merit_contributions。薄肉色消しの閉形式・平凸の縁厚・Snell の式・理想レンズの F ナンバーと、独立実装の記録値で採点し、縁の薄い三枚玉を最適化して支配する行が EFL の保持から波面へ移るのを示し、負レンズの硝材を間違えた出発点で硝材を変数にすると軸上色が 1/17 に落ちる。 py -3.11 examples/poc_lens_merit_operands.py
- レンズの製造公差を、MTF・歩留まり・補償ストロークまで一枚の予算にする — 公開処方の三枚玉に、曲率・厚み・屈折率・アッベ数・偏心・傾き・面の非点不整・くさび・群偏心を行ごとに割り当てる。新 op 8 本(
lenstol、opsoptics の tolerancing): tolerance_table / tolerance_criteria / tolerance_compensators / tolerance_monte_carlo / tolerance_sensitivity / tolerance_report / tolerance_table_zmx / tolerance_table_from_zmx。一様・正規・切断正規の分布、行ごとに独立した乱数、MTF と RMS spot の限界、Wilson 95 % 区間、失敗光線、複数の間隔補償と移動量、中央差分と解析分散による RSS を同じ報告にする。薄いくさびの像移動は f(n−1)α に 6e-8、1 fringe の非点不整の実光線 OPD RMS は Zernike の閉形式に 1.3 %。CI の 16 試行では歩留まり 0.688、内部間隔と像面の補償を足すと 1.000。一様・正規・切断正規は同じ ±公差でも 0.750 / 1.000 / 1.000、首位の公差を締めて低感度を緩めた再配分は 0.833。学習 0、較正 0。 py -3.11 examples/poc_lens_tolerancing.py
- 処方から撮るプレノプティックカメラ — 主レンズ、周期球面 MLA、センサを逆追跡し、一回の撮影から生のマイクロ像、サブアパーチャ像、再合焦像と距離を得る。
py -3.11 examples/poc_plenoptic_camera.py
- 処方と場面からプレノプティック生画像を生成する — 主レンズ、マイクロレンズアレイ、撮像面を組み合わせ、既知の場面から生のマイクロ像を生成して寸法と有限値を検証する。
py -3.11 examples/plenoptic_capture_pipeline.py
- プレノプティック生画像を復号して再合焦と深度を得る — 合成した生画像を光線場へ復号し、再合焦像と焦点系列からの深度推定までを一続きで検証する。
py -3.11 examples/plenoptic_decode_pipeline.py
- 処方どおりのレンズ越しに 3 次元の場面を撮る ―― 被写界深度・猫の目のボケ・隅の光量・色収差・ゴーストを、閉形式と既存の op と独立の追跡で採点 — レンズ設計の画面はスポットダイアグラムや MTF の数字までは出すが、「この処方で 1 m 先の資料を撮ると絵はどう写るか」は見せない。センサ側から射出瞳を標本化して処方の全面を逆向きに追跡し(Kolb, Mitchell & Hanrahan 1995)、物体空間の場面で陰影をつけ、光子・ショットノイズ・読み出しノイズ・量子化まで通す。新 op 8 本(
lensrender、opsoptics の lensrender): lens_scene(平面・球・メッシュ・光源の場面の検証)/ exit_pupil_samples / trace_sensor_rays(センサ → 瞳 → 全面を逆向きに、ケラレと全反射は NaN と印)/ scene_radiance(ランバート + ブリン・フォン + 影)/ render_scene_through_lens(放射照度 → 電子数 → ノイズ → 画像)/ bokeh_shape(猫の目)/ render_ghost_overlay(2 回反射のゴースト)/ render_compare_prescriptions(処方ごとの品質の表)。(1) 逆向きの追跡は ray_bundle の逆(入射点 8.7e-15 mm、方向 4.2e-16)、理想レンズ越しの白い面は π L sin²α に相対 2e-6、点光源は画素 1 つに入り光子数が I Ω t QE λ/hc に 1e-6、市松の刃 15 本は distortion_map に 0.096 px(歪みは外縁で 5.2 px)、0.7 視野の横色収差は chromatic_shift に 0.08 px。(2) 同じ EFL・同じ F ナンバーの三枚玉 2 本(片方は半径を 7〜10 % の 1.5 倍ずらした)で解像チャートを 1 m で撮ると、RMS スポット(軸上)は 10.7 と 53.4 µm(5.0 倍)、刃の 10–90 % は 4.6 と 15.4 px、MTF50 は 0.116 と 0.053 cyc/px で、順は spot_stats と一致する。(3) 理想レンズの 0.5 m の点光源のボケは薄肉レンズの錯乱円に 0.31 %、F/8 は F/2.8 の 0.349 倍(2.8/8 = 0.350)。理想レンズの 20 mm 後ろの丸い遮光板では猫の目の面積比が 2 つの円の重なりの閉形式 0.635 に 1.6 % 以内(凸包 0.625・描いた絵 0.639・瞳の通過率 0.636)、子午面に 3.6e-15 mm で対称。三枚玉の隅は像面湾曲でボケの円そのものが 1.3 倍になり、面積比は通過率と一致しない(そう書く)。(4) 白い面の相対照度は lensimage に 0.7 視野まで 1.61 %、8.7° で 3.2 %(物体側と像側の cos⁴ の差)。絞りを前に置いた単玉の格子は隅で −6.6 % の樽型。(5) ゴースト 15 本のエネルギー比は閉形式 r² (1−r)^(2(j−i)−2) に 4.4e-16、重心は ghost_analysis に 8e-4 px、反射率 0 で重ねは厳密に 0。(6) 0.2 mm の傷(センサ上 10.4 µm)の対比は良い方 0.547・ずらした方 0.261(48 %)で、前向きに追跡したスポットを線に畳み込んだ独立の予測 0.542 と 0.261 に合う。(7) ★正直な限界: 幾何光学のみで回折が無く、F/11 に絞った良いレンズの点像は Airy 円盤の 0.32 倍に描かれる(F/6.25 は収差が支配で 2.7 倍)。(8) 壊して確かめる探針(屈折率の向きを逆にする・絞りの半径を 10 % 違える・合焦を 1.5 m にずらす)は門が赤になる。学習 0、較正 0、門 30 件。 py -3.11 examples/poc_photograph_through_prescription.py
- 同じ3次元場面を間接ToFと直接ToFで測る――多経路・混合画素・pile-up・体積誤差 — 箱、コーナー、透明板、光沢面、細い柱、暗明市松を同じ解析的な光線真値で測る。20/80/100 MHz・4相の間接方式と光子到着ヒストグラムの直接方式を、曖昧距離、雑音予算、高調波、多経路、混合画素、時間ビン、pile-up、反射率、箱体積について閉形式と比較する。新しいopは追加しない。学習0、較正0、門27件。
py -3.11 examples/poc_tof_camera.py
- 公開 .zmx 処方を独立計算で照合し、検査レンズとして採点する — 4 本の処方を別の読取器と光線追跡器で照合し、無限遠・入口瞳径 1 mm・5.5 µm 画素の条件で照明、歪曲、色ずれ、MTF、3 画素傷の視認性を採点する。OPD の規約差も図に残す。
py -3.11 examples/poc_zmx_public_verify.py
- 全天球の検査撮影と立体表示を一つの測定工程として確かめる — 合成トンネルを全天球、キューブ面、魚眼対、立体視、赤シアン表示、移動映像へ変換し、継ぎ目、死角、球面画質、距離、安定化、タイル範囲、欠陥寸法を真値と照合する。
py -3.11 examples/poc_omni360_inspection.py
- 光弾性の族を一巡する ―― 応力場から縞、偏光像、そして応力へ — 直径圧縮の円板と Kirsch の板の応力場を閉形式で作り、応力光学則で位相差に、平面・円偏光器の縞と 6 強度の偏光計の像にして、閉形式で主応力差と主軸へ戻す。3 波長で 1 波長を超える次数を決め、Si(100) では結晶方位で複屈折が変わることを出典つきの係数で示す。
py -3.11 examples/photoelastic_roundtrip.py
- 全天球画像と既存の画像処理を双方向につなぐ最小例 — 全天球像から通常視野を切り出して刃を検出し、通常画像を立方体面経由で全天球へ戻す。立体配置と複数視点の合成例も同じ場面で実行する。
py -3.11 examples/omni360_roundtrip.py
- 水と透明媒質 ―― 海の波・水面の屈折・水中の色・瓶の焦線を、閉形式と公表値と第 2 実装で採点 — 水は上から見れば動くレンズ、下から見れば距離で濃くなる色フィルタ。新 op 10 本(
watermedia、opsoptics の watermedia): ocean_spectrum(Pierson–Moskowitz と JONSWAP の S(ω)、有義波高・周期)/ ocean_height_field(Tessendorf の FFT の海: 高さ・傾き・法線・荒れ・水深)/ fresnel_water_air(水の屈折率は材料表の実部で分散込み、全反射の旗つき)/ snell_window(窓の半径と見かけの深さ)/ refracted_view(水中の点の見かけの位置を光路長の停留点で。平面は二分法、波面はニュートン法でベクトルのスネルの式を検算し、外れた点は NaN)/ water_attenuation(Pope & Fry の純水の吸収、Smith & Baker の散乱、Solonenko & Mobley のジャーロフ型の a・b・Kd)/ underwater_image(Akkaynak & Treibitz の画像形成: 直接光 + 後方散乱)/ phase_function_hg / scattering_phase_petzold(Petzold の体積散乱関数)/ cylinder_lens_caustic(円柱の近軸焦点と実光線の焦線)。(1) 風速 8 m/s の PM の海: 有義波高 1.3656 m(0.21 U²/g = 1.3705 m、0.36 %)、ピーク 1.0753 rad/s(0.877 g/U = 1.0751、2e-4)、JONSWAP(γ = 1)は PM と 1e-9 で一致、高さは実数(虚部 3.5e-16)、空間の分散はスペクトルの積分に 0.02 %(8 種)、単一モードの周期は 2π/ω に 2.8e-16。傾きの分散は Cox & Munk(0.003 + 0.00512 U)と比べると、格子で解ける波だけでは 5 m/s で 11 %、10 m/s で 16 %(PM は毛管波を持たない)。飽和域を毛管波数 370 /m まで延ばすと 5 m/s は 98 %(−2.5 %)だが 10 m/s は 61 %(−38.7 %)で、PM の α は風速で増えない限界として門に残す。(2) 2 m のプールの底の市松模様: 真上の見かけの深さは d/n に 0、見つけた経路はスネルの式を 7.8e-16、平面の屈折点は 4 次方程式に 1e-15・光路長の直接最小化に 2.8e-8、波面では屈折点から画像を作る逆向きの光線追跡で同じ底の点に 9.6e-9 m で戻る。水中から見上げた魚眼で全反射が始まる角は臨界角 48.59° の直後の 1 画素(1.5°)以内。(3) 水を入れた瓶(R = 30 mm、n = 1.52、壁 1.5 mm、水 1.333): 近軸焦点 61.24 mm、周縁光線 40.01 mm(球面収差 21.23 mm)、棒の近軸焦点は n R / (2 (n − 1)) に一致し、実光線の焦点は弦の三角関数と 3.6e-14。屈折力は水入り 0.01633 /mm、空 −0.00120 /mm(比 13.6)で、背後 50 mm の面の強度は水のある所の中心が入射の 4.88 倍(最大 13.97 倍)、空の所は 0.94 倍。(4) 色票を深さ 1・5・15 m で: Pope & Fry の吸収は 417.5 nm で最小 0.00442 /m、700 nm で 0.624 /m(表の値)、Beer–Lambert は glassmirror と 1.1e-16、光子 20 万個の数え上げが指数則に 0.2σ、Kd(500 nm)は 0.029 < 0.064 < 0.109 < 0.120(I < II < III < 1C)、I 型で赤は青の 12.2 倍の速さで減衰(10 m で透過率 赤 0.074・緑 0.557・青 0.807)、15 m の赤の票の R は 0.010。(5) 限界: 平らな水の見かけの深さ d/n は斜めに見るほど外れる(30° で 7 %、60° で 52 % の過大評価)。壊して確かめる探針(屈折率 1.4、α を 10 % 変える、スネルの式の向きを逆にする)は門が赤になる。学習 0、較正 0、門 43 件。 py -3.11 examples/poc_water_transparent_media.py
- 水が検査画像にどう写るか ―― プールの底のコースティクス・瓶の側面像・濡れた板・船体の水中画像を、閉形式と第 2 の方法で採点 — 水は検査カメラの映像を 4 通りに変える。新 op 7 本(
watervision、opsoptics の watervision): caustic_irradiance(光子の数え上げとヤコビアンの 2 方法で水底の照度)/ bottle_image(円柱の断面を行ごとに追跡した瓶の側面像)/ fill_level_from_image / wet_surface_appearance(Lekner & Dorf)/ wet_dry_inspection_pair / underwater_inspection_image(ランプがカメラの横の船体と SNR)/ caustic_floor_segmentation。平らな水面は一様に cos θ · T(1e-9)、光子の総量は入射 × 平均透過率に 1e-6、光子とヤコビアンは滑らかな面で 0.30 %、折り目では波面法が inf と旗を出す。ひび割れ検出器(canny)はコースティクスの縁を拾って適合率 0.05、分割で縁を除くと 1.00(再現率 1.00 → 0.45)、強い波では照度で割って戻す。瓶は液面の上下が空・満の断面と bit 一致、明るい帯の半幅 9.50 mm(近軸焦点からの予測 9.91 mm)、液面は 1 画素以内、気泡の輪の外径は近軸の倍率 1.333 に ± 1 画素。濡れた面は a = 0.5 で 0.673 倍(閉形式に 1.1e-16)、傷のコントラストは 0.411 → 0.494。船体の SNR は距離で単調に落ちる。限界として、縦の傾き 40 度で帯の半幅が 29 % 動く。 py -3.11 examples/poc_water_inspection_images.py
- 設計の関係を「解」で持つ ―― 絞りを変えても焦点と F ナンバーが追従する二重ガウス型、afocal 望遠鏡、曲面の像面、奇数次の非球面 — 設計の関係を規則(解)として面に持たせ、絞りや硝材を変えると残りが解き直される。新 op 9 本(
lenssolve、opsoptics の lenssolve): lens_apply_solves / lens_solve_set / lens_solve_clear / lens_solves_list / afocal_system / lens_afocal_report / lens_image_surface / lens_petzval_radius / lens_zmx_solves_roundtrip。解は主光線・周辺光線の高さと角度、近軸の像、F/#、同心、アプラナティック、ピックアップ(曲率・厚み・非球面係数)。二重ガウス型で絞りを 5.0 → 7.6 mm と動かしても F/# は 5 のまま(8.9e-16)、像距離は近軸の焦点に追従し、数字を固めた版は F/# が 6.34 → 4.17 に流れる。F/# の解は根が 2 本。afocal: ケプラー・ガリレオ望遠鏡の角倍率は ∓4 に厳密で角度の収差 0、実ガラスの望遠鏡は 0〜1° で 0.60〜2.55 分角。曲面の像面: ペッツバール半径の像面は 0.7 視野の RMS を平らな像面の 1.94 µm から 0.226 µm に縮める(像面湾曲の項 1/42)。奇数次の非球面(odd)と r² の項(a2): 円錐面の板の軸との交点は Snell の閉形式と 7e-14、球面収差の補正板は r⁴ が 1/467、r³ が 1/7。.zmx はピックアップ 3 種と規則が不動点で往復する。学習 0、較正 0、門 35 件。 py -3.11 examples/poc_lens_solves_afocal.py
- 加工ポケットの相互反射を収束まで数える ―― 直接光だけのモデルは「反射率 1.32」で合い、収束解は真値に戻る — 加工ポケットのような凹んだ部品では、向かいの壁で反射した光が底を照らす(相互反射)。直接光だけの検査用描画 render_optscene はそれを数えず、多重反射を解く render_studio は明るさの絶対値に意味が無かった。新 op 7 本(radiosity3d)の render_optscene_gi は、同じシーン・同じ照明のまま直接光の測光を 1e-16 で保ち、反射を n 回か収束まで(Cohen ら 1988 の漸進 ラジオシティ)足す。反射率 0.7 のポケットでは底の明るさの 48 % が相互反射。simcal で反射率と照明の強さを合わせると、直接光だけの モデルは反射率 1.32(エネルギー保存に反する)で合い、χ²/ν 24・残差 PCA 4 成分で不合格、1 回反射は 0.87 で χ²/ν 7.9、収束解は 0.6996 / 0.9999(真値 0.70 / 1.00)で χ²/ν 1.01・残差は白色。反射は 7 回数えれば雑音(1.3 %)に埋もれる(観測収束比 0.51、GCI 型の見積もり)。Howell の表の形態係数 0.199825 / 0.200044 を閉形式と数値の両方で再現し、実測の論文(Bulczak ら 2018、CC BY 4.0)の表 2 —— 1 回反射を足すと誤差 0.20〜0.47 倍 —— と、本 PoC の 0.53 倍を並べた。
py -3.11 examples/poc_pocket_interreflection.py
- 光学系の図面 ―― 計算した処方から、レンズ断面図・装置の設置図・単レンズの製作図を SVG / DXF で — 外観検査・計測の打ち合わせでは、レンズの断面図と装置の設置図(作動距離・視野・照明の角度)が共通言語で、レンズを作ってもらうには ISO 10110 の製作図が要る。
raytrace も optscene.vision_layout も数しか返さなかったので、新 op 8 本(optdraw、opsoptics の drawing)で図を出す: lens_section_drawing(子午断面。面は円錐 + 非球面の sag、コバ・絞り・像面、視野ごとに色を分けた実光線、EFL・BFL・全長・像高の寸法線と処方表)/ vision_setup_drawing(側面図と上面図。視野の錐・WD・DOF の帯、照明 5 種 ring / dome / bar / coaxial / backlight の位置と仰角)/ lens_element_drawing(ISO 10110 の 3 分割の表。公差は tolerance_analysis の公差から写し、EFL の Monte-Carlo の幅を注記)/ drawing_svg / drawing_dxf(stdlib だけの SVG と DXF R12)/ drawing_raster / svg_entities / dxf_entities(読み戻し)。門は図を書いたファイルから読み戻して採点する: 教科書の Cooke triplet 2 本の EFL が公表値と 7e-6 / 2e-5、面の座標が球面の sag の閉形式と 6e-7 mm、光線の折れ点が面の上に 5e-7 mm、主光線が raytrace.chief_ray と 5e-7 mm、寸法と処方表の数字が表示の桁で一致。光線は絞りを狙って割線法で探すので入射瞳が無限遠のテレセンでも描け、主光線の傾きは telecentric.chief_ray_angle(Newton 法)と 3e-7°。設置図の視野の錐は閉形式と 2e-15 mm、WD・視野・DOF・仰角の数字も閉形式どおり。製作図の n_d・ν_d は BK7 相当の公開の硝材カタログ値 1.51680 / 64.17、注記の EFL は厚肉レンズの公式どおり。SVG / DXF の往復は 11 枚で座標 1e-6 mm、OSS の ezdxf(MIT)も 11 枚を監査エラー 0 で読んだ。★sag の符号を反転した図・光線を 0.01 mm ずらした SVG・EFL を書き換えた SVG・VERTEX を抜いた DXF で、門がすべて赤になることも確かめた。★検分で、設置図の視野(画素数 × 画素 × WD / f)とバジェットの倍率 f/(WD − f) が同じ図の中で 14 % 食い違うのが見つかり、optscene.vision_layout / observe_surface がピンホールの距離に焦点距離を渡していたのを像距離 f·WD/(WD − f) に直した。門は撮った画像の上の既知の幅の板の画素数(124 画素 = 12 mm × m / 画素)で、図と独立に倍率を見る。学習 0、較正 0、門 53 件。 py -3.11 examples/poc_optics_drawings.py
- 非共軸の光学系 ―― 同軸落射の半透鏡が鏡面の部品に偽の欠陥を写し、膜と傾きで消す。折り返しで装置を小さくする — 外観検査の光学系は、光軸が 1 本の直線とは限らない。鏡面の部品を真上から照らす同軸落射は 45° の半透鏡を通して見るし、装置を小さくするには折り返しミラーで光路を曲げ、傾いた面を全面で合焦させるには撮像素子を傾ける。
raytrace は共軸の系しか組めず、半透鏡の裏面が作るゴースト(2 回反射でできる像)も計算できなかった。新 op 13 本(raytrace3d、opsoptics の noncoaxial)と optdraw.noncoaxial_drawing: 面ごとに 3-D の姿勢を持たせ(座標の切り替えは偏心 → x → y → z の順、戻しは逆順)、raytrace の面の式のまま追跡する。共軸の処方 8 本では交点・光路長が raytrace.trace_rays と 0(1e-12 以内)。45° の鏡で折った像は展開した像の Householder 鏡映と 3e-14 mm、反射 1 回で像は裏返り 2 回で戻る。同軸落射の検査レンズのカメラ側を 2 枚の鏡で折り返すと装置の高さが 393 → 249 mm に縮み、像は変わらない。傾いた平板の横ずれ(Smith)と非点隔差(Coddington から導出、接線像が遠い)は実光線と 1e-12 mm、非点隔差は 1e-6 mm、シャインプルーフの像面の傾き tanθ’ = m·tanθ は実光線と 2e-4°。★半透鏡(3 mm、前面 R 50 %)の裏面と前面の 2 回反射のゴーストはエネルギー比 2.6 %(入射角 28° の Fresnel と 1e-6)で、鏡面の部品の凹みのずれた写し(倍率 × 2t·tanθ’·cosθ = 2.6 mm)を作り、単純な欠陥の検出で偽の凹みが予測位置から 0.010 mm に出る。MgF₂ の λ/4 単層は 45° では反射率 2.1 % にしか下がらず(垂直なら 1.25 %)、入射角に合わせた 2 層の膜(0.38 %)でゴーストは 0.19 % に落ちて偽の凹みが消え、裏面を 1° 傾けた楔ではゴーストが 9.5 mm ずれて撮像素子の外へ出る。第 2 実装として OSS の光線追跡 optiland(MIT)で同じ姿勢の面を絶対座標で組み、6 系(複合傾き・偏心した傾いたレンズ・半透鏡・軸外し放物面を含む)の全ての面の交点が 1e-13 mm で一致した(CI では記録値と 1e-7 mm で照合)。壊した座標系の曲げ・折り返しの切り替えの順序・ゴーストの逆向きの区間で門が赤になる。学習 0、較正 0、門 19 件。 py -3.11 examples/poc_noncoaxial_optics.py
- ピクセルシフトのずれと開口を実画像から合わせる ―― 縞しか写っていない所では、ずれは 1 方向にしか決まらない — ピクセルシフト(撮像素子を 1 画素 / 半画素ずつ動かして撮る)の公称のずれ・開口率・レンズの Q を、撮れた画像から sim-to-real 較正(simcal)で合わせ、決まらない所では数を返さない。見せ場はシーメンススターを 8 画素の升に区切った「決まらない地図」: 星の腕の上の升ではずれは接線の向きにしか決まらず、Cramér-Rao の楕円は半径の向きに伸び、simcal の返す「決まる組」の向きは閉形式の接線と最大 2.5°。★この章が simcal の誤り(決まる組の重みを感度の列の大きさで割っていた。正しくは掛ける)を見つけ、直した(回帰の試験つき)。注入した ±0.1 px のずれは下界どおりに散って戻り(Fisher 距離の χ² の p = 0.62)、雑音を 1/4 に見誤ると同じ門が p = 3e-21 で落ちる。回ったフレームを平行移動だけで合わせると残差 PCA と絶対の門(χ² の上側確率)が拒否する。半画素シフトでは開口率と Q を合わせて解像の得 1.420 ± 0.005(閉形式 1.414)、Q = 2.5 はレンズ律速で得 1。行のアクチュエータが止まった 4 枚と、信号 60 DN の暗い 4 枚では得を返さない。実データ(PixelShift200、Qian ほか ICCP 2022、CC BY 4.0)では G どうしの斜めの組のずれを G の格子の升 16 個で合わせ、位相相関と升ごとに一致(t 検定 p = 0.22 / 0.30)、色をまたぐ組は χ²/自由度 31 で拒否。学習 0。
py -3.11 examples/poc_simcal_pixel_shift.py
- 分光反射率で薄膜の膜厚を測る ―― 公開の実測データで採点し、縞・干渉色・FFT とあてはめ・膜厚むらの画像へ — Si 上の SiO₂ の膜厚を反射スペクトルの干渉縞から測る op 5 本(
filmoptics、opsoptics の film): multilayer_reflectance(転送行列)/ film_color / film_thickness_fft / film_thickness_fit / film_thickness_map。膜も基板も材料表(materials)の鍵で引く。★主役は他人が測った実物のデータ(どちらも CC BY 4.0): Schwarz ら 2024 の顕微分光では、裸の Si の実測反射率が材料表の Si と中央値 0.4 % 差、SiO₂ の膜厚は直入射のモデルで 92.9 nm(基準 98.5 nm と −5.7 %)、残差が最小の NA 0.5 を入れると 95.8 nm(−2.7 %)。測定点の被覆率は 11 点を平均 0.6 点の誤差で読み返す。同じ試料の実物のカラー顕微鏡写真からは、裸の Si で白を合わせるだけで画素ごとの膜厚が出て中央値 87.4 nm(−11 %、カメラの分光感度は不明)。Sánchez-Arriaga ら 2023 の安価な分光器では、標準 476.3 nm が 5 本すべて 2 % 以内、198.7 nm は中央値 +6.6 % で、1 本は最良の候補が 51 nm に外れて正しい値は 2 番目の候補に残る。FFT 法は 98 nm の膜を自分で「信頼できない」と言う(下限の閉形式 554 nm)。合成の章: 1 層は Airy の式(別実装)と 3e-15、縞の本数は d·Δx と ±1、FFT の下限の閉形式 538 nm と実測 525 nm、材料の取り違え・入射角・NA の偏りは閉形式どおり。公表の色表との色相の一致は 1〜3 次で 59 %(弱い門)。模型のウェハ(彗星は縁まで半径方向、縁の盛り上がり、芯ずれの輪 —— 量は文献表に結びつけ、無いものは模型と明記)では分光 31 帯域の膜厚マップが RMS 0.17 nm、RGB は候補が複数の画素が 14 %。学習 0、門 37 件。 py -3.11 examples/poc_thin_film_reflectometry.py
- 実物の画像の誤差から薄膜の模型の係数を合わせる ―― データが決めない係数には数を出さない(sim-to-real 較正) — 実物の画像の誤差から薄膜の模型の係数を合わせ、データが決めない係数には数を出さない(sim-to-real 較正、
simcal 10 op と multivar の計画・感度解析を再利用)。模型は転送行列(filmoptics)× 黒体の光源(spectralrad)× CIE 1931 → sRGB × 利得・ガンマ・周辺減光。★計画: つまみ 7 本を L18 で振り、Morris のふるいで照明 × 利得を「組み合わせ」に分け、共線性指数で照明と利得の感度の比 1.0000、1 波長の 500 nm の膜は A^1·d^0.93(光路長 n·d)と物理どおり(98 nm の膜では界面の反射が効いて n·d からずれる、と正直に)。★主役は公開の実測(Schwarz ら 2024、CC BY 4.0): 被覆率 100 % の顕微分光に膜厚・Cauchy の A と B・NA・利得の 5 本を合わせると、局所の共線性(γ > 10)で点推定は出さず、プロファイル尤度の 95 % 区間 [94.6, 99.0] nm(幅 4.4 nm)が論文の基準 98.5 nm を含む。雑音は別の測定(裸の Si)から取り、取り置いた波長で過適合の門 6 本を通る。直入射・材料表の n の貧しい模型は区間 [93.02, 93.07] nm と狭いのに基準を外し、絶対の χ² の門(χ²/ν 1.98)が拒否する。★実物の顕微鏡写真では色温度と周辺減光だけが決まり、膜厚・屈折率・分散・利得・ガンマは組み合わせ —— χ² の地形で点と溝に分かれる。材料表の n を固定すると d = 86.65 nm を ±0.2 nm で出すが基準から −12 %、絶対の χ²(χ²/ν 11.7)と残差 PCA(2 成分)がカメラの分光感度の欠けを見つけて拒否する。合成: 40 種中 40 種が 3σ_CRLB の内、500 nm・4 入射角で分散を無視した模型を残差 PCA が見つける。★正直な限界: A を自由にした一定の n は 98 nm の膜では拒否できない(分散 B は上限しか出ない)。探針 4 本(基準のずれ・白色だけの雑音・照明の固定・族の中の真値)で門が逆に鳴る。学習 0、門 17 件。 py -3.11 examples/poc_simcal_thin_film.py
-
分光器と照明系 ―― 帯域の幅はスリットと格子のどこから来るか、光源の模様は視野に写るか — ハイパースペクトルの PoC は「帯域の幅 10 nm」、クロマティック共焦点の PoC は「分光器の線幅」を与えられた数字として使っていた。その数字を、入口スリット・格子の溝・鏡の焦点距離・検出器の画素から格子の式で組み立てる。同じく顕微鏡と同軸落射の照明のむらを、光源のどの面がどこへ写るか(共役)から出す。新 op 8 本: gratingspec(opsoptics の新カテゴリ spectrometer)の grating_dispersion(格子の式・分散・分解能 mN・重なる次数)/ czerny_turner_design(帯域と検出器からカメラの焦点距離、Shafer のコマの条件)/ spectrometer_bandpass(スリットの像 ⊗ 画素 ⊗ 回折の装置関数の FWHM とエタンデュ)/ spectrometer_slit_image(溝に沿った方向余弦を保つ 3 次元の格子の式で smile と keystone)/ spectrometer_spectrum(入力スペクトル → 画素の読み、2 次・3 次の重なり)、illumdesign の illumination_train(ケーラー / クリティカルの共役)/ illumination_field(標本の点と方向から光源まで近軸で逆に追う放射照度)/ coaxial_illumination(ハーフミラーの往復 R·T と、鏡面・つや消しの部品の像)。★公表の分光器(CC BY 4.0 の論文 2 本): Shafer の条件でカメラ鏡の軸外し角 14.9679°(公表 14.968°)、式 (16) のカメラの焦点距離 68.88 mm(公表 r = 136 mm)、M 型の像の幅 39.2 / 43.7 / 52.6 µm(公表 40 / 43 / 50)と分解能 0.397 nm(公表 0.385〜0.391)。Feng 2021 の中心 0.4 nm だけは、本文の値からスリットの像だけで 0.49 nm になり合わない(差は残す)。★取引: 細いスリットは回折の床 0.886 λ/(mN) で止まり(矩形の瞳で 5e-4 以内)、広いスリットでは光の量 × 分解能 = 一定。Hg の 576.96 / 579.07 nm はスリット 50 µm(FWHM 0.79 nm)で分かれ、150 µm(2.37 nm)では山が 1 つに化ける。★smile: 長さ 4 mm のスリットの像は端で 41.9 µm(3 画素)長い波長の側へ曲がり、閉形式 y’²(sin α + sin β)/(2 f cos β) と 0.2 % 以内、Littrow の曲率半径 f/(2 tan β) と 1e-9。面内の式を流用した壊した模型は曲がりが 0 で門に落ちる。keystone は端の 750 nm で 60 µm。★迷光の次数: Hg ランプの 253.65 / 365.02 nm が 2 次で 507.30 / 730.04 nm の画素に偽の線を作り、ロングパス 400 nm で消える。★HSI(900〜1700 nm、150 本/mm、InGaAs 15 µm): HSI の PoC の「10 nm」はスリット 75 µm に当たる(全帯域で 10.01〜10.03 nm)、25 µm なら 3.4 nm、8 µm 以下で画素の 1.5 nm。装置関数は台形でガウスではない。★クロマティック共焦点: 可視の分光器のスリットを 25 → 400 µm に広げると、ホウケイ酸クラウンの 40 µm の板から順に表裏の 2 ピークが潰れ、400 µm では 100 µm の板まで readout が拒否する。★照明: コイルの縞の光源をクリティカル照明は視野に写し(CV 0.53)、ケーラー照明は消す(CV 2e-16)。視野の直径 = 視野絞り × |
M |
、E = L π NA² を 1 % で。開口絞りをコンデンサの焦点面から 4 mm 外す探針で縞が漏れる。同軸は往復 R·T = 1/4(optscene の同軸の光と同じ値)、吸収 6 % で最適 R = 0.47、鏡面の部品はパネルを 1 + h/H 倍に引き伸ばして写し(端のけられは閉形式どおり)、テレセントリックは 1 倍、つや消しは長方形の Lambert 面の閉形式と 0.2 % 以内。学習 0、較正 0、門 40 件。 py -3.11 examples/poc_spectrometer_illumination.py |
- クロマティック共焦点変位センサ ―― 硝材の分散で「虹のものさし」を作り、戻ってきた色で高さを読む — 白色光を軸上色収差の大きいレンズで集光すると、波長ごとに焦点の高さが変わる。面で反射してピンホールを通って分光器へ戻るのは面にピントの合った色だけなので、戻ってきた光の色が高さになる(Molesini 1984)。そのセンサを、対物レンズの処方(
raytrace)と硝材の分散(材料表 materials)から組み立て、観察対象(ホウケイ酸クラウンの板・金・アルミ・Si)も同じ材料表から引いた。新 op 6 本(chromconf、opsoptics の confocal): chromatic_confocal_probe(処方 → 波長ごとの焦点位置の較正表)/ confocal_axial_response(共焦点の軸応答、鏡面 sinc²(u/2)・点 sinc⁴(u/4)、縦球面収差つき)/ chromatic_confocal_spectrum(面と層 → 戻りスペクトル、Fresnel・傾き・粗さ・分光器・雑音)/ chromatic_confocal_peaks / chromatic_confocal_readout(高さと透明板の厚さ)/ chromatic_confocal_limits(範囲・分解能・傾き・最小膜厚)。★虹のものさし: 高分散の重フリント(n_d 1.923・V_d 20.9)の非球面単レンズ(f 16 mm、NA 0.16)で 450〜700 nm の焦点が 1,191 µm にわたって並び、近軸焦点は厚肉レンズの閉形式と 4e-12 µm、軸応答の幅は 0.443 λ/(1 − cos α) と一致(∝ λ/NA²)。非球面は 575 nm でしか球面収差を消さず、450 nm では縦収差 −40 µm、較正のピークはその半分 −20 µm ずれて高さは 0.74 に落ちる。同じ f の球面の単レンズは縦収差 −863 µm で応答の幅が 29 倍に崩れ、ハイパークロマート(フッ素クラウン V_d 90.9 の負 + 重フリントの正)は焦点距離あたりの範囲が 1.63 倍。★読み: 設計値の較正表のままだと推定法の偏りがガウス 0.060・放物線 0.108・重心 0.293・最大ビン 2.04 µm。実機と同じ「鏡を動かして読む較正」でガウスは 0.014 µm に消えるが、放物線は 0.090 µm 残る(ビンの刻みで振れる偏りは滑らかな表で消せない)。雑音では順位が入れ替わり、重心の再現性は光子 4 倍で 1/2.1(√N)、3 点のガウスは重心の 4.4 倍ばらつく。50 µm の段差は 49.96 µm。★透明な板: ホウケイ酸クラウン 500 µm は見かけの厚さ × n(λ₂) の近軸の補正で −1.23 µm(平板の球面収差)、NA の補正で −0.07 µm、カタログの n_d を使うと −2.18 µm。サファイア・PMMA を含む 4 枚で 0.1 % 以内。★失敗条件: 鏡面が 8.8°(赤)〜9.5°(青)を超えて傾くと何も戻らない(瞳の重なりはモンテカルロと 0.004)。金は反射率の立ち上がる509 nm 付近で読みが 0.15 µm 遠くなり、反射率の傾き / 応答の曲率の閉形式が予言する(材料表の金の反射率で割ると 0.005 µm)。32 µm より薄いホウケイ酸クラウンの膜は 2 ピークに分かれず(Sparrow の閉形式 30.6 µm)、readout は厚さを当て推量せず拒否する。白色 LED のむらは 0.93 µm の偏り、白色参照で割ると 0.014 µm。粗さの偏りは閉形式どおり小さい(σ 60 nm で 0.06 µm)。★実画像: 公開論文(Qin ほか, Sensors 24(20):6649, 2024, CC BY 4.0)の図 6(b) の目盛と印から標準溝の深さを 66.095 µm と読み、基準 66.14 µm と −0.045 µm、論文自身の当てはめ 66.244 µm と −0.149 µm(図の 1 画素 = 0.33 µm、読みの目安の内)。図 3(a) の生の分光画像は列ごとのピークで溝の段差を 4.0 画素と読めるが µm への換算は図に無い —— 論文の結果を図から読み直す検査で、センサの模型の実機検証ではない(図は同梱せず FULLSEYE_CCF_REAL_DIR)。範囲の式・軸応答の幅・傾きの上限・推定法の系統誤差・透明板に n と NA が要ることは一次文献で確かめ、NA の補正式と金・粗さ・光源による偏りの大きさは模型と明記した。学習 0、較正は合成データで鏡を動かす 1 回だけ、門 33 件(実画像の段 +6)。 py -3.11 examples/poc_chromatic_confocal.py
- 見た目が同じ異物をハイパースペクトルで選別する ―― 実画像 2 つ(樹脂の破片・豚バラの上の異物)と、材料表から作る合成で壊れ方を数える — 公開の実画像 2 つ(どちらも CC BY 4.0、repo には入れず取得スクリプト + キャッシュ)を Fullseye の op(
read_envi・spec_continuum_removal・spec_angle_mapper・spec_band_selection_fisher)で分類し、データの正解ラベルで採点した。樹脂の破片 6 種(RODARE 3390、400〜2500 nm の分光カメラ): 連続体除去 + SAM でクラス平均の再現率 0.816(生の反射率の SAM は 0.439 —— 暗い破片は足し算のベースラインに負ける)。別の撮影の基準試料をライブラリにすると PP / PET / PE を 0.878、この PoC の材料表の物理モデルだけをライブラリにすると 0.628(当て推量 0.333)。黒い樹脂は反射率 0.03 で C-H の谷が他の 1/6。試験ヘッダの fwhm が切り出す前の450 個のまま残っていたのを fail-closed の読み手が拒否した —— 波長の札は樹脂の谷の位置で確かめ、fwhm だけ直した写しを読む。豚バラの上の異物 10 種(Zenodo 17242553、InGaAs ラインスキャン分光カメラ): 撮影で分けて採点(65 万画素)、SAM は AUC 0.92・誤警報 10 %、全 184 帯の LDA で検出 0.92・誤警報 1.1 %、Fisher の 6 帯で誤警報 2.1 %、3 帯では 23 % —— 合成では 3 帯で足りたのに実データでは足りない。合成(材料表の吸収帯 → Kubelka–Munk → ハロゲン × 溶融石英のレンズ × InGaAs、新 op 8 本)は壊れ方の補助: 仁と同色の異物は RGB でAUC 0.48、仁の含水率 12 % で誤排出 98 %、白板の後にランプが 200 K 下がると 49 %、カーボンブラック 1 wt % で PP と PE が 1 画素の雑音に埋もれる。合成の 1.000 と実データの 0.82〜0.92 の差が逆犯罪の大きさ。パラメータは一次情報(USGS の実測、論文、データシート)で照合し、PE の帯の強さを 2〜3 倍下げ、PET の最も深い 2 帯を足し、材料表の水の k を Segelstein 1981 に直した。 py -3.11 examples/poc_hyperspectral_foreign_matter.py
- Si ウェハ越しの近赤外透過検査 ―― 光源 × ウェハ × センサの波長積分で LED の波長を選ぶ — Si のダイやウェハの裏側は、Si が透ける近赤外の光で見る。ところが Si が透ける波長は Si のセンサが感じない波長でもあり、同じ材料の吸収端が観察対象では窓・センサでは壁になる。材料表(
materials)の 1 つの Si のレコード(Green 2008)を、ウェハの透過率とフォトダイオードの QE の両方に使った。新 op 9 本(spectralrad、opsoptics の spectral): blackbody_spectrum / cie_illuminant_a / led_spectrum / bandpass_spectrum / silicon_photodiode_qe / energy_to_photons / spectral_product / spectral_integral / spectral_stats、どれも材料の曲線と同じ pairs(λ nm, 値)。光源は CIE A の表を定義式で 1.6e-6、黒体は Wien と Stefan–Boltzmann、QE は閉形式と 4e-19。最良の LED のピークはウェハが厚いほど長波長へ動く(50 µm → 935 nm、775 µm → 1065 nm)。定番の 1050 nm の LED は厚いウェハでは最良と 5 % 差だが、50 µm のダイでは最良の 1/3.4 しか電子が出ない。ウェハが最もよく透ける 1200 nm は、Si センサでは最良の 1/28。集める深さを 3 → 50 µm にすると電子は 16 倍だが、最良のピークは動かない(最適はウェハが決める)。775 µm 越しに CNR 20 を得るには開口 1 画素に 1.2e6 光子が要る。像から測った CNR は理論 e/√(e + 読出し²) と 10 % 以内。ウェハの厚さだけ機械的に焦点を下げると像は t(1 − 1/n) = 557 µm ずれ(W20 = 2.6 波長、回折の PSF)、縁の幅が 8 倍に崩れる。学習 0、較正 0、門 20 件。 py -3.11 examples/poc_nir_silicon_transmission.py
- 材料の光学物性ライブラリ —— 硝材・結晶・半導体・金属・液体・プラスチック 83 種を 1 つの表にし、カタログ公表値と第二実装で採点 — 観察用の光学系(レンズ・窓・鏡・膜)も観察対象(ウェハ・モールド・はんだ)も、見え方は材料の光学特性で決まる。両方が同じ材料表を引けるように、硝材・結晶・半導体・金属・液体・プラスチック 83 種を 1 つのレコード型に載せ、波長曲線をすべて同じ形(λ [nm], 値)で返す新 op 16 本(
opsoptics の matprop、実装 materials)。数値は refractiveindex.info database(CC0)の一次文献の係数と数表だけ(tools/gen_material_tables.py が生成、出典を各区間に残す)。★硝材 46 種(4 つの公開カタログ、Sellmeier 2 とべき級数の分散式): 分散式から計算した n_d / V_d がカタログ公表値と最大 4e-6 / 0.005(門は 1e-4 / 0.3)。Abbe 図に 67 材料(プラスチックは同じ n_d の硝子より左、CaF₂ と石英は右端)。第二実装 optiland 0.6.3(同じ一次文献を別のコードで評価)と 23 点で最大 5e-10。★Si の NIR 窓(Green 2008): 公表の表の点 n(1.0 µm) 3.572 / k 5.09e-4、k(1.2 µm) 2.1e-7 を再現、吸収係数は 1.0 → 1.2 µm で 64 → 0.022 /cm(3 桁)、775 µm のウェハの透過率は 1.0 µm で 0.3 %・1.2 µm で 52 %(閉形式 (1−R)²e^{−αt}/(1−R²e^{−2αt}) と 1e-9、R = 0.31 の多重反射込み)。自由キャリア吸収(Schroder 1978)は λ² 則と p/n = 2.7 を 1e-9 で、1e19 cm⁻³ の基板は 1.3 µm でそれだけで ×0.27 に暗くなる。平行平板の焦点ずれ t(1 − 1/n) = 556 µm、縦球面収差は NA 0.1 で 1.0 µm・NA の 2 乗。★鏡の材料 10 種(Johnson & Christy / Rakić / Weaver / Werner): 銀は 500 nm で 0.982、アルミの谷は 820 nm で 0.866、金は 500 nm 0.475 → 700 nm 0.971。色は CIE 等色関数から出し、金と銅は R > G > B・銀は 3 成分が 1 % 以内で中性(塗っていない)。斜入射 60° で s 0.953 > p 0.829。★硝子とプラスチック: ポリカーボネートの分散は BK7 相当の 2.3 倍、dn/dT はカタログの式 A で基準温度(20 ℃ / 25 ℃)で Δn = 0、有限差分と 4e-8、BK7 相当の e 線で 1.62e-6 /K。係数の無い材料(PMMA・水)は ValueError で黙って 0 にしない。★取り込み口: .agf(硝材カタログの形式、分散式 1〜13 全部)の雛形を読むと同梱レコードと 0、内部透過率の行から k を復元、自前の Sellmeier 係数と測った曲線(pairs)からもレコードを作れ、区間外は外挿しない。ユーザーのカタログは FULLSEYE_GLASS_DIR に置けば同名硝材を照合(無ければ「未配置」と明示)。学習した数 0、較正 0、門 38 件、図なしで 1 秒未満。 py -3.11 examples/poc_material_optical_library.py
- 肉の中の骨片とガラスを、2 つのエネルギーで材質ごとに分ける(デュアルエナジー / フォトンカウンティング X 線) — 食品の X 線検査の 1 枚の透過像は各画素で L = −ln(I/I₀) という 1 つの数しか測らない —— 厚い肉と薄い硬い異物は区別できない。光子のエネルギーを 2 つの窓で数え分ける検出器で撮ると、μ(E) の形が材質で違うので、各画素で厚みと材質が分かれる(Alvarez & Macovski 1976 の基底分解)。新 op 14 本(
opstomography の spectral_xray): 材料表の X 線の列(material_xray_attenuation ほか 3 本、NIST SRD 126 の部分集合と混合則)と dualxray 10 本(X 線管のスペクトル・線質・検出器のチャネル・投影・基底分解・CRLB・R 値・実効 Z・弁別の誤り率)。μ/ρ は NIST の公表値と一致(Cu 8 keV 52.55、K 端 38.4 → 278.4)、管の模型の半価層は IEC 61267 の線質 8 つと 5.8 % 以内(模型は公開のスペクトル計算(MIT)の形に合わせ、IEC の値は合わせに使っていない)。厚さ 25〜60 mm の肉のトレイで、骨片とガラスの段差は肉のむらの 0.9 倍、しきい値 1 本では肉の 86 % を誤検出、高域を取っても肉の重なりの縁が偽の塊 2 個になるが、赤身 + Al に分けた Al の像は偽の塊 0。厚い PE と薄い Al の交絡の組は 1 つの窓では d′ = 0、2 つの窓の誤り率 Φ(−d′/2) はモンテカルロと 0.004 以内、分けられなくなる Al の厚さ(誤り率 5 %)は閉形式 0.125 mm・実測 0.126 mm、肉 40 mm の下で 0.364 mm。分解の雑音はクラメール・ラオの下限の 0.995 / 0.997 倍。壊れ方: 電荷共有 25 % を知らずに分解すると肉が Al に化け、単色の近似は肉 6 cm で Al −1.5 mm に偏る。埋まった異物の見かけの Z は密度でも動く(PVC は 13.9 が 18.7 に見える)。学習 0、較正 0、門 21 件。 py -3.11 examples/poc_dual_energy_xray.py
appearance
- 構造色を波長から作る(回折・薄膜干渉・異方性) — 色を塗らず分光反射率→CIE等色関数→線形sRGB。等色関数ȳピーク554nm、反射率1が白(1,1,1)、膜厚0が基板フレネルに厳密一致、λ/4が解析値0.077113、CD 1.6µm・Δsin0.35の1次が560nm、異方性ローブの伸び39:5。同条件でBD 0.32µmは可視域に届かず総量が1/3以下。
py -3.11 examples/appearance_structural_colour.py
- 加工された金属表面と素材(粗い拡散・上塗り・布・木・濡れ・腐食) — Oren-Nayarがσ=0でLambertと厳密一致し端は1.35倍、上塗りは下地の寄与を単調に減らす、布の縁光沢は鏡面と逆(正面1e-6/縁0.09)、濡れは0.50→0.357、腐食面積0.30→実測0.2995、すりガラスは直進+拡散=平板の透過率0.923077でエネルギー保存。接線場は同心円が半径と直交。
py -3.11 examples/machined_metal_and_materials.py
tomography_3d
- CT で 1 本の試料をスキャンし、寸法 mm と欠陥の数まで出す — 楕円ファントムの閉形式サイノグラム→FBP 再構成→外径測定→空洞計数。真値(30.00 mm / 1 個)との誤差を印字し断定する。
py -3.11 examples/ct_reconstruction.py
- 投影からボクセルと体積 mm³ まで一本で閉じる(tomography 族) — サイノグラムから再構成した後は既存の 3-D op(窓/ラベル/境界/メッシュ/領域統計)をそのまま呼び、既知体積と照合。
py -3.11 examples/tomography_reconstruct.py
- X 線 CT / ラミノグラフィ検査: スライス毎に内部空洞を見つけて測る — 合成円柱ボリューム(空洞 2 つ)をスライス毎に denoise→材料分割→空洞抽出→計測。–laminography で限られた角度の軸方向ぼけを模す(テンプレート、数値を印字)。
py -3.11 examples/ct_inspection.py
- ボクセルのラベル色分け(volcolor)で CT の粒子を数えて見せる — vol_label/vol_region_props の結果を色付けし、「切ってから色を付ける」と「色を付けてから切る」の差を数値に出す。
py -3.11 examples/voxel_labels_color.py
- 2-D 画像で見つけた欠陥は CAD のどの面のどこか(cadmap) — 姿勢(ICP/PPF)から先、画素→レイ→CAD 面 ID と (x,y,z)・面積 mm² へ写す。既知配置の欠陥で往復誤差を確認。
py -3.11 examples/defect_to_cad.py
- 部品 2 回スキャンのずれ量を 8 つの表現で測って往復する — 法線/曲率/記述子/添字/スコア/シフト/回転倍率/フロー/変形/複素など 12 系統の表現を経由して既知剛体変位を測り、戻るものは誤差 0、戻らないものは落ちた量を数値で言う。
py -3.11 examples/representation_conversion.py
- 表現変換(reprconv)op を往復させて嘘を露見させる — 産む op はあるが食う op が無かった 25 型を消費する reprconv 族を往復させ、可逆なものは誤差 0、不可逆なものは何がどれだけ落ちるかを印字する。
py -3.11 examples/representation_roundtrip.py
- X 線 CT のボイド形態(合否 1 個の数字は、寿命に効く形に盲目) — ★★体積率を 3.000 % に厳密にそろえたまま位置・形・近接だけを変えた 5 条件を接合層に仕込むと、2 値化してボイド率だけを出すゼロ点は 2.46〜2.63 %(開き 0.17 ポイント)としか分けない ―― 合否 5 % なら全条件合格、1 % なら全条件不合格。同じ 5 条件を形態は桁で分ける(界面離隔 60.0 対 10.0 µm、扁平度 0.97 対 0.25、最近接 160.0 対 20.0 µm)。★応力の代理指標(界面に接するボイドの投影面積)は 0 → 14.68 % まで動き、界面に接する扁平ボイドは同体積の球の 2.09 倍(閉形式 1.93、実測との差は 1 ポイント以内)、連なりの跨ぎ率は 13.1 倍。★★崖の予想が 2 つとも外れた ―― ボクセル 60 µm(球の径の半分 58 µm を超える)でもボイド率は 3.21 % と崩れず(線形の被覆率で積むと体積は保存される。格子の位相を 3 通り振ると ±1.36 ポイント振れるだけ)、先に死ぬのは形のほうで、扁平度は 60 µm で測れなくなり界面欠損率は 14.16 → 9.78 %(-31 %)と合格の側へ落ちる。離隔も『42 µm より粗いと判別不能』は外れで、順序は最後まで残るが値は嘘になる(真値 0 µm の接触側がボクセル 1.0〜1.3 個に貼りつき、真値 42.2 µm の層中央は 120 µm と 2.8 倍)。★しきい値 0.50 で連なりのボイドが融合して塊が 24 → 5 個に落ち、その瞬間『最近接ボイド間隔』は 20 → 340 µm に跳ねる ―― 指標が壊れるのではなく測っている対象が黙って入れ替わる。連結半径の掃引は設計どおり(連なり 10.0 µm / 予測 8.7、散在 75.0 µm / 予測 70.5)で、雑音 sigma 0.15 では偽ボイドが 24 → 1794 個に爆発するのにボイド率は 2.61 → 2.94 % しか動かない。寿命そのものは測っていない ―― 示せたのは合否 1 個の数字の盲目さまで。
py -3.11 examples/poc_ct_void_morphology.py
- 電池セルの内部劣化を CT で測る(膨れの何割が外から見えるか) — 積層電極 17 層(ピッチ 0.320 mm)とアルミ缶を真値つきで組み、順投影→ビームハードニング→光子雑音→FBP まで通してから測る。ゼロ点=外形だけの指標。★電極が 10 % 膨れて積層が 0.340 mm 伸びても、クリアランス 0.240 mm が飲むので外形に出るのは 29.4 %(幾何の予測どおり)。その割合は劣化の大きさではなくセルの初期クリアランスで決まる設計量で、0.40 mm のセルでは何も見えない。★端板は周辺固定なので中央だけふくらみ、ノギスは体積等価な平均の 3.6 倍を読む(+0.235 対 +0.066 mm、予測 4.0 倍)。★★外形のふくらみを揃えた 3 つ(一様膨れ / 局所膨れ / ガス空隙)は缶の高さ 6.313 mm でばらつき 0.000 mm ―― 外形では原理的に分けられないが、内部は層厚 0.190/0.187/0.173 mm・空隙率 0.00/0.00/5.20 %・平面度 0.0156/0.0428/0.0784 mm で分かれる(一様と局所は層厚では分かれず平面度が分ける)。同じ外形を作る内部の膨張体積は 0.6715 対 0.3880 mm3 と 1.7 倍違い、外形の変化量から中の劣化量は逆算できない。★層厚は真値 0.200 に対し 0.175 mm と 12.5 % 過小(ぼけで縞が正弦波に近づき、微分ピーク間隔が半周期 0.160 mm へ引かれる)なのに、同じプロファイルの層間隔は 0.321 mm で真値を保つ。★★崖は 2 つ予測してから測った ―― 標本化定理なら voxel/層厚 0.80、隙間 0.120 mm を 2 標本で跨ぐなら 0.30。実測は 0.30 で、狭いほうの特徴(電極厚ではなく隙間)が崖を決めた。★雑音とビームハードニングでは壊れ方が違い、フォトン数 1000 分の 1 でも層数は 1 枚しか動かないのに空隙体積は -10.3 → -24.8 %、ビームハードニングは外形も層厚も動かさず空隙だけを -9.1 → -14.7 % 痩せさせる。SoH や寿命は測っていない(そう明記した)。
py -3.11 examples/poc_battery_ct_degradation.py
- 電極の屈曲度を CT から測る(Bruggeman は向きに盲目) — 合成マイクロ CT の多孔電極で、同じ 1 個のボリュームから屈曲度が 3 つ出る ―― Bruggeman 1.499 / 測地 1.182 / 輸送方程式(真値)1.843。ゼロ点の経験則 τ = ε^(-0.5) は必ず小さめに外し、ε = 0.691 → 0.168 で誤差 -8.2 % → -69.1 % と単調に開く。実測の Bruggeman 指数は ε>=0.40 で 1.78 / ε<0.25 で 2.70 で、1.5 乗則は高空隙率の近似ですらない。★★測地屈曲度の 2 乗は Bruggeman に 0.8 / 5.7 / 6.9 % で寄り添うが、2 つの「よく合う数字」は真値に対して同じ向きに外れているだけ。★★決定打は対照群 ―― 空隙率を 0.4448 対 0.4510 に揃えて粒子だけ 4:1 に潰す(カレンダリング)と、厚み方向 τ は 1.843 → 6.794(異方比 0.97 → 4.20)。経験則は ε しか見ないので同じ 1.5 を返し、面内は当たって見え(-8 %)厚み方向は壊滅(-78 %)。★もっともらしい犯人「閉気孔」は対照群で外れ(全空隙の 0.05 / 1.50 / 1.92 %)、効いているのは粒子半径の 0.40 倍しかない首。ただしそのスカラーも向きを分けられない(扁平床は内接半径 1 分布なのに τ_z / τ_x が 4.2 倍)。★予想が外れた ―― 「voxel が首の直径を超えたら崩れる」と予測したが崖は無く、voxel を 5.5 倍粗くすると τ_f は 1.771 → 3.041(+72 %)へ単調に増える一方、ε は -0.4 % しか動かない。図も検出数も壊れないまま数字だけが片側へずれる。
py -3.11 examples/poc_battery_electrode_tortuosity.py
- ダイの傾きと TSV の位置ずれ(同じ 1 つの CT から。傾きは回転まで偽装する) — 上下 2 枚のダイの 7×7 TSV に 真の位置ずれ (+0.800, −0.450) µm・回転 +0.01500° を仕込み、上ダイを接合面まわりに (1.20°, 0.70°) 傾けた CT 1 個だけで測り返す。ゼロ点(上面の開口の重心差)は 2.419 µm 外し、仕様 ±1.0 µm の 2.4 倍・真の位置ずれ 0.918 µm より大きい。★偽装量は「ダイ厚 × 上面法線の横成分」の閉形式で、ダイ厚 100.032 µm も傾き 1.1979°/0.6968° も同じ CT から測って 比 0.996 / 0.999 で一致する ―― ビアの軸で下面へ引き直すと 0.0023 µm(ゼロ点の 1/1049)。★★予想「傾きは並進と倍率だけを偽装し回転は偽装しない」は外れ: Rx(α)Ry(β) の上 2×2 は sinα sinβ のせん断を持ち、極分解すると偽の回転 予測 +0.00733° / 実測(対照群との差)+0.00696° が出る。真の回転の 46 % で、軸補正では消えない ―― 測った法線から α,β を解いて逆投影して初めて対照群と同じ +0.01386° に戻る(倍率も予測 −147.0 / 実測 −144.5 ppm)。崖は合成傾きで解いた 0.491° に対し実測 0.492°(比 1.001)、補正後は 2.0° でも 0.0113 µm。★★いちばん効いたのは幾何でなく標本化: 部分体積を 1 ボクセル幅の直線ランプで刻んでから畳み込むと折り返しが残り、同じ場の傾きを 0.5° で +7.3 %・1.2° で −8.0 % とばらばらに外す。PSF を場のほうに(erf の縁として)入れて標本化すると比 1.0000。しきい値で切った画素の重心も二値化が折り返しを呼び 1.223°/0.750°、生 gray を円板で積むと 1.200°/0.697°。
py -3.11 examples/poc_die_tilt_tsv_overlay.py
perception_templates
- 整流ステレオ対→深度→点群→地形高さマップ→通行可能性 — ロボット移動用の一本道テンプレート(–save で色付き PNG + PLY)。合成データ、実行して数値を印字するテンプレート型(tests/test_examples.py で煙試験)。
py -3.11 examples/perception_pipeline.py
- 物体を分割→記述(Hu+形状)→プロトタイプと照合して識別 — ピック/仕分けに必要な知覚のテンプレート。prototypes を 1 度作り、segment_objects の結果を分類する。
py -3.11 examples/segment_and_classify.py
- 2 フレーム→密なオプティカルフロー→大域運動除去→独立運動領域 — 動画対から運動を読むテンプレート(–save で色付きフロー PNG)。物理クリップ/身体言語の「本当に動いたか」に使う。
py -3.11 examples/motion_analysis.py
- 観測点群を既知モデルに登録して 6-DoF 姿勢と把持接近方向を出す — ノイズ・欠け・変位のある観測点群→ダウンサンプル→法線→登録→姿勢。マニピュレーション用テンプレート(合成データ、–save で PLY)。
py -3.11 examples/grasp_pose.py
- 実クリップの知覚: フロー→運動エネルギー/イベント→大域運動除去→点追跡 — mp4/gif を渡せば実映像で走り、無ければ合成クリップに落ちる。GT が無いので測光自己整合(identity 基準比)の honest 指標で判定。
py -3.11 examples/perception_on_video.py
- Physical-AI 知覚パイプライン 2 本(把持/歩行)を fullseye だけで組む — MANIPULATION: 地面除去→クラスタ→PPF 6-DoF→反対把持。LOCOMOTION: 深度→点群+法線→高さマップ→足場候補→支持多角形と安定余裕。
py -3.11 examples/physical_ai_perception.py
- 物体を取り込み→シム用に整える→把持位置→レンダリング — OBJ/STL/PLY/OFF メッシュを水密化し正確な慣性テンソル(MuJoCo 用)、反対把持候補のランク付け、深度/シルエットのレンダまで numpy だけで通す。
py -3.11 examples/import_and_grasp.py
- 3D Gaussian Splatting の出力(中心点群)を fullseye で処理する — 3DGS を学習はしない(GPU レンダラが要る)。結果の点群を取り込みダウンサンプル・法線推定・2 回撮影の登録まで(テンプレート、–save で PLY)。
py -3.11 examples/gaussian_splat_cloud.py
- sim2real 劣化(aug_*)・人工生命・触覚 op 族の一巡 — 光子雑音/固定パターン/ローリングシャッター/JPEG/歪み等でクリーンな描画を実カメラ風に劣化させ、人工生命・触覚 op も含めて実行する(数値を印字)。
py -3.11 examples/sim2real_and_alife.py
-
| 明るさの値ではなく「変化の向き」で探す —— 符号系の頑健照合 4 種と NCC の破綻点 — codematch 6 op(方向符号照合 OCM・増分符号相関 ISC・選択的相関係数 SCC・Radial Reach Filter)を、文献の式から再実装して採点する。公開の実写 5 枚(CC0)から切った 40 テンプレートに遮蔽・飽和ハイライト・片側の減光・回転を段階的に掛けると、当たりが半分を割る所は NCC が遮蔽 10 %・ハイライト 6 %、OCM が 67 %・44 %、ISC が 63 %・53 %、SCC が 36 %・10 %。回転には 4 種とも弱い(7〜9°)。門: 画素ごとの総当たりと OCM / ISC は整数で一致、マスクが全部立つとき SCC = 既存の NCC(差 7e-13)、単調な明るさの変換で ISC と RRF は 1 ビットも変わらない、OCM は rot90 と可換で巡回差を絶対差にした探針では 1,472 / 1,476 位置で崩れる、正解位置の ISC と SCC のマスク率は閉形式の期待値どおり(1,080 試行で |
z |
≤ 3.6)。平坦なテンプレート 11 枚では符号系の誤答 0(拒否 10〜11 枚)、NCC は 10 枚で外す。RRF は全体のガンマ変化と影に対し差分の閾値に 24 組中 24 組で勝つ。 py -3.11 examples/poc_code_matching_breakdown.py |
- 鳥瞰図への多センサ融合(px で合格の校正が、遠くでは長さになる) — ★★再投影 1 px = 1/f ラジアン = 距離 R で R/f メートル。f=265 px なら 22 m 先で 0.083 m/px で、yaw 0.20 度 = 0.98 px の「サブピクセル合格」でも BEV では既に 0.077 m ずれる。★★融合(IoU 0.7033)が単センサの最良 0.5417 を上回る分はすべて視界から来る —— 横に 1.8 m 離した 2 センサの影は 20 m 先で食い違い、左の遠方車は LiDAR が 24 セル / カメラが 0 セル、右は 0 / 52 セルと綺麗に入れ替わる。★予想が外れたのは崖の尺度で、点がセルを跨ぐ割合は幾何の予測と最大差 0.0553 で当たるのに、yaw 0.5 度で 68 % が跨いでも IoU は 5.8 % しか落ちない(効くのはセル 0.2 m でなく車幅 1.9 m)。★同じ yaw 1 度から最大値則は偽占有 96 セル、平均則は見逃し 85 セルを作るが IoU は 0.6583 と 0.6600 でほぼ同じ —— IoU 1 本では急停止と衝突を区別できない。★信頼度重み則は「なめらかに混ざる」はずが、雑音モデルが交差しないので評価セルの 80.4 % で LiDAR が勝ち、実質「LiDAR 優先」の順位規則に退化していた。
py -3.11 examples/poc_bev_sensor_fusion.py
- 人と機械の安全距離(「近い」を測る点を置き換えると危険が消える) — 多関節の人体(カプセル 10 本)と可動アームを合成し、真の最小分離距離を線分どうしの閉形式(総当たりと最大差 5.6e-05 m)と線分-直方体の凸 1 次元最小化で持ち、危険(真値 < 0.640 m)と停止判定(推定 < 0.690 m)を分けて数えた。★ゼロ点の重心 1 点は危険時に +0.166 m / 最大 +0.304 m 遠く言い(予想は腕の伸び - 被せた半径 = +0.232 m で桁も向きも当たり)、危険の 14.3 % を見落として誤検知は 0.8 % —— 足元 1 点はさらに 28.6 %。★★崖は 3 つあるが誤りの向きが違う: 理想でも誤検知は 3.4 % 出る(停止判定が物理の危険より 0.050 m 大きい設計余裕ぶん)のに対し、遮蔽を入れるとその誤検知が 0.0 % に減って代わりに見落としが 18.1 % 出る —— 見えない点は必ず『もっと遠い』としか言えないので、遮蔽は誤りを危険な側へ移すだけ。★遮蔽は点を増やしても消えない(1 台 800 点 18.1 % / 100 点 29.5 %、遮蔽なしの 100 点は 4.8 %)、効くのは 2 台目だけ(0.0 %)。★★Z_d を繰り返し性から見積もると 0.036 m(3σ)だが、同じ点群を測り直しても遮蔽の形は変わらないので原理的に写らず、遮蔽の偏りの 95 % 点 0.178 m の 5 分の 1 —— 見落としを 0 にする Z_d 0.150 m を入れると停止時間が 18.3 → 24.4 % に増える。★予想を外したのは点密度の式で、(s/2)²/(2r) は最疎で 0.107 m と踏んだが実測 +0.040 m(2.7 倍の過大)。★Chamfer 0.0388 m は隠れた手を薄めるが Hausdorff 0.2481 m(6.4 倍)は分離距離の過大評価と同じ桁に残る。★占有格子 + ESDF は距離を必ず遠く言い、40/20/10 mm で +0.0104 / +0.0056 / +0.0024 m —— 予想の半ボクセルではなく約 1/4 ボクセル(三線形補間が階段を均す)。
py -3.11 examples/poc_safety_clearance.py
consumer
- hillco / evis(筋骨格ヒューマノイド歩行)が fullseye を使う 3 つの検査 — 物理シムが真値を持つ前提で、fullseye は独立な知覚側の二重チェックのみ: 歩行安定性(支持多角形/COM 余裕)、レンダ動画の運動検証、姿勢の骨格化。制御は駆動しない。
py -3.11 examples/consumer_hillco.py
- onocollo(CPU 世界モデル/gaitlab)が fullseye を使う 2 つの検査 — MuJoCo 風状態からの静的安定性チェック(support_polygon/com_support_margin)と、物理レンダ動画 2 フレームからの運動検証。
py -3.11 examples/consumer_onocollo.py
optics_layout
- 型番から検査セルを組み、撮る前に成立するかを数字で決める — カタログのセンサー/レンズ/照明を選び、①レンズがセンサーを覆うか②必要な寸法を分解できるか③そのフレームレートを伝送路が運べるか④実際に撮ったらどう写るか、を閉じた式で確かめる(optscene)。
py -3.11 examples/vision_layout_from_catalog.py
-
| 光線を追ってレンダラを検算する(交点・法線・反射・遮蔽) — 絵の見た目でなく光線の量で答え合わせをする。交点 z、法線の向き、反射の法則 |
d·n+r·n |
<1e-14、遮蔽で可視率が落ちること、環境光の違いを固定してから studio 描画する(optscene)。 py -3.11 examples/studio_raytrace_scene.py |
shape_statistics
- 形態統計(Procrustes / GPA / 形態 PCA / 左右非対称 / 面距離)を真値つきで一巡 — 既知の 2 変形モードを持つ合成ランドマーク群で、相似変換の復元(1e-9)・GPA 平均の一致・PCA 往復・Mahalanobis 閉形式・正中面の復元・±0.2 の符号つき面距離を検算し、align=True が大きさを食う点と、面の再当てはめが非対称量を縮める点を印字する。
py -3.11 examples/shapestat_landmark_tour.py
blob_analysis
- 融合した 2 円板を距離変換 → h-maxima の種 → 分水嶺で割る(閉形式で検算) — blob_distance の中心値=半径、blob_seeds の種を h-maxima 閉形式と画素単位で照合、blob_split の 4 領域・前景保存を確かめる。h より低い塊にも種が立つ点と、割れ目が番号の大きい種の側へ食い込む偏りを隠さず印字する。
py -3.11 examples/blob_split_tour.py
detection
- 良品を並べて「いつもと違う」を言う(良品統計の変動モデル、誤検出率の宣言つき、公開 VisA で採点) — 位置をそろえた良品群から画素ごとの中心とばらつきを覚え、帯の外を欠陥とする古典の変動モデルを、帯の幅を宣言した誤検出率から決める新 op 5 本(varmodel_alignment / band_k / fit / calibrate / score)にした。★合成の良品では 4 種のばらつき(標準偏差・共通の分散・経験ベイズの縮小・中央値と MAD)とも、数えた誤検出率が宣言の二項 4σ の帯に入る。良品 5 枚で帯の幅は 9.4σ → 縮小で 5.0σ、5σ の傷の検出率 0.13 → 0.52。★★1〜2 px ずれた良品群は拒否、無理に通すと縁の帯が 22 倍に太り縁の傷を全部見逃す。Fourier シフトで合わせると 1.07 倍。汚れた良品群(3/20 枚に同じ傷)で std は見逃し、MAD は 0.98 で見つける。★公開実データ VisA pcb1(CC BY 4.0)で、合わせた帯は画素 AUROC 0.808・AUPRO 0.678、合わせない帯は 0.705・0.460、ゴールデン比較は 0.826・0.519(画素では上、欠陥を 1 つずつ数えると下)。宣言 1e-3 の誤検出率は実画像で 3.8 %、持ち出しの良品で較正しても 2.4 %(並進で取れない撮影の違い)。確率的なテクスチャ(DAGM 2007)は位置合わせが「測れない」と報告され、検出は偶然並み。実データ段は FULLSEYE_VISA_DATA / FULLSEYE_DAGM_DATA があるときだけ走り、CI は合成のみ(図なし数秒)。
py -3.11 examples/poc_good_sample_variation_model.py
- 良品だけから学ぶパッチ特徴の異常検知(古典特徴の位置ごとの分布と記憶バンク、再現率を保証する閾値、公開データで採点) — 深層特徴を使わず、多重解像度の勾配・Gabor・LBP・周波数帯・色の古典特徴で「位置ごとの正規分布」(縮小推定を宣言、特異なら拒否)と「記憶バンク」(貪欲な k 中心の被覆で間引き、被覆半径を返す。位置の重みつき)を組み、1 つの採点台(画素 AUROC・AUPRO・画像 AUROC・F1 最大)で比べる。新 op 8 本(patch_features / patchdist_fit・score / patchbank_fit・score と anomaly_pixel_f1_max / anomaly_image_f1_max / anomaly_operating_point)。確率場では位置ごとの分布(AUPRO 0.375)が、まとめた分布(0.559)・記憶バンク(0.603)に良品 5・20・80 枚のどれでも負ける。位置の重みは、棒が動く論理的な異常に効く(異常度が良品の 0.9 倍 → 3.9 倍)。記憶 10 % は AUPRO 0.638 対 0.684 で採点の CPU 時間は 0.84 秒対 12.55 秒。再現率 0.8・信頼 0.9 の運用点は 300 回の繰り返しで 0.957 が守られ、保証なしの分位点は 0.503。公開実データ(DAGM 2007 Class1 と VisA、CC BY 4.0)では、DAGM で変動モデルが偶然以下(画素 AUROC 0.436)のところ勾配だけの記憶が 0.768、VisA pcb1 の記憶バンクは画素 AUROC 0.990・AUPRO 0.875。
py -3.11 examples/poc_patch_anomaly.py
- PL 像で細い溝はなぜ見えなくなるか(公開 Si ウェハ PL データで採点) — フォトルミネッセンス(PL)像は、励起で作った過剰キャリアが拡散してから光る。だから像には光学の PSF のほかに、拡散長 L = √(Dτ) で決まるもう 1 つの PSF(2 次元のグリーン関数 K₀(r/L)/2πL²)が掛かる。新 op 3 本(
pl_diffusion_psf は核を総和 1 で、pl_image_simulate は励起の場と再結合の場から定常拡散方程式を格子で厳密に解き、pl_groove_visibility は溝の幅・拡散長・雑音からコントラスト・CNR・見える境界 L* を閉形式で返す)。★着手前の予想「拡散長の長い良質なウェハほど同じ溝が見えなくなる」は半分だけ当たった: 影の溝(励起・発光の欠け、1 − e^{−w/2L})は L 20 → 160 µm で 11.8 → 1.6 % に消えるが、沈みの溝(再結合の線、Donolato 型 SL/(SL+2D))は 48.9 → 89.0 % に深くなる(格子の閉形式と 1e-10、連続形と 2.4 % 以内、Donolato 型と 1.7 % 以内)。★★公開実データ(Si ウェハのレーザー溝、HF 処理後 0 min / 55 min / 1 week、CC BY 4.0、DOI 10.5281/zenodo.19603335)を生画像から読み、論文図のヒストグラム(L1 0)と線走査(RMS ≤ 1.1 %)を再現したうえで数えると、HF 直後ほど溝は深く(50 → 35 %)広い(半値幅 1.32 → 0.42 mm)= 沈み型の向き。PL 水準は拡散長の代理にならない(55 min は水準が最低なのに深さ・幅は中間)。埋め込み POD(pod_hitmiss_fit)では、拡散長の長い 0 min 側で影型の a90 は 4.6 倍大きく(隠れる)、沈み型は 0.28 倍(目立つ)。実地の a90 は白色雑音の閉形式より 1 桁以上甘い —— 限界を決めるのは雑音でなく地の構造。実データ段は環境変数 FULLSEYE_SI_PL_DATA があるときだけ走り、無ければ合成のみで「実データ門は未実行」と明示(CI は合成のみ、図なしで 2 秒)。 py -3.11 examples/poc_si_wafer_pl_defect_visibility.py
- 薄い欠陥はどこまで見えるか(実写の地に真値を仕込んで検出限界を測る) — 「どこまで薄い傷が見えるか」は普通、平らな地に白色雑音を載せた合成画像で見積もる。その見積もりがどれだけ甘いかを、CC0 実写テクスチャ(brick / grass / gravel)に位置・大きさ・振幅が既知のガウシアン欠陥を仕込んで測る。比較相手は検出器が実際に見る残差 σ を実写に揃えた合成の地 —— 雑音の量を同じにしてから構造の効果だけを取り出す。★★雑音を揃えても実写の限界は 2.03〜3.47 倍高い: 限界を決めているのは雑音ではなく地の構造。★背景窓 3 通り × 欠陥 σ 2 通り × 地 3 種の 18 通り全部で 比は 1 を超え(1.72〜4.56)、整合フィルタと
laplace_of_gauss という独立な 2 検出器でも残る。★外した予測: 「欠陥が大きいほど差が開く」は振幅の刻みが作った差だった(34 段では σ=1.5 と σ=3.0 が別の格子点に丸まる。60 段にすると両方 3.30 倍で差が消える)。★★「実写だから場所で変わる」も誤り —— 場所による散らばりは brick 16.8 倍に対し grass 2.4 / gravel 3.3 で、合成の 3.3 倍と区別がつかない。散らばりを生むのは目地という構造であって「実写であること」ではない。★★ゼロ点(背景を引かず生の画素の最大点)は、当てるだけなら整合フィルタより 0.65〜0.90 倍良い(整合フィルタは地の構造も増幅するので損をする)。無欠陥面の空振りも brick では 0 対 0 の引き分け。分かれるのは照明が 2 % ずれた瞬間で、ゼロ点は 1 万画素あたり 10.3 回鳴り整合フィルタは 0.0 回 —— 生の画素の閾値は明るさの絶対値だから。当てる力・空振り・ずれへの強さを別々に数えないと、役に立たない検出器を勝たせられる。 py -3.11 examples/poc_real_defect_floor.py
- 捜索救難の走査幅(画像から測った 1 本の数字が計画を決める) — 空撮画像から横距離曲線(機体直下からの横方向距離ごとの検出確率)を測り、その面積 W = ∫p dx を走査幅として捜索計画へ渡す。画像処理と意思決定を 1 本の数字でつなぐ展示。★走査幅の定義そのものを実証: 形の違う 4 本の曲線(実測 p / 幅 W の矩形 / 底辺 2W の三角形 / 二峰形)を同じ面積 256.2 m に揃えると、検出割合は 0.2559 / 0.2563 / 0.2556 / 0.2566 —— 4 つとも予測 0.2562 の 0.8σ 以内。形は消え、面積だけが残る。★崖は C = W v t / A = 1。閉形式を先に印字して min(1,C) = 1.0000 / 1-exp(-C) = 0.6321、矩形の対照で実測 1.0000 / 0.6348(+0.005 は航跡が有限本 n=64 のためで、厳密 1-(1-W/Wd)^64 = 0.6350)。★★予測を外した 1: 実測の p を入れると平行捜索は 0.8464 で 1.000 に届かない。min(1,C) は p が幅 W の矩形であること(定値域則)に依存していて、裾を引く実曲線では隣の航跡と裾が重なる。★★予測を外した 2: 「平らな曲線のほうが矩形に近く平行捜索に強い」と予測したが逆(0.7705 対 0.8464)。矩形に近いとは『平ら』ではなく『W の内側に立ち、外へ裾を引かない』こと(支持域/W が 2.40 対 2.25)。同条件でもランダム捜索では 2 本が一致する(面積しか見ない)。★★予測を外した 3: 「端は解像度が落ちる」—— ナディア向き中心投影では地上分解能は端まで一定(相対ばらつき 0.0e+00)。落ちるのは cos^4・大気・軸外ぼけのほうで、f-theta なら 2.132 倍粗くなる。★★予測を外した 4: 「背景を引けば良くなる」—— 画像全体の中央値と σ で割るのはアフィン変換で順位が変わらない(174.4 → 172.0 m)。効くのは場所ごとに引いたときだけ(239.6 m)。★最適高度は内点(220 m で W = 258.1 ± 4.0 m)。ただし 220 m と 300 m は標準誤差内で測り分けられていないと明記。掃引速度 W·v で見ると、v ∝ min(1,h/600) の機体では最適が 420 m へ動く。★見張り役: 誤検出は端ではなく直下に集中(0-32 m 帯 113 件 / 最外帯 0 件)—— 目標も白波も同じ cos^4 で暗くなるので、いちばんよく見える所がいちばん吠える。閾値だけで W は 406 → 170 m 動くので、『走査幅 400 m』は誤検出率と対でなければ何も言っていない。★素材側の穴も 1 つ: 点源を画素中心 1 点標本で描くと総フラックス誤差 4.6e-07 なのにピークが σ=0.9 px で 10.6 % 過大になり、σ が横距離で変わるので横距離曲線そのものが傾く。erf で画素を厳密積分するよう直した。★★道具の穴を 4 つ見つけ、うち 1 つはその場で埋めた: op_find の語の切り出しが ASCII 限定で、和文の複数語クエリは構造的に必ず 0 件だった(採点する doc も docstring の 1 行目だけ)。CJK の段を足し、star_detect の docstring に分野中立の説明語を書いた。
py -3.11 examples/poc_search_sweep_width.py
space
- 星の点像を副画素で測り、角距離で星表へ対応付けて衛星姿勢を求める — 固定 seed の合成星表 196 星と PSF・光子雑音・読み出し雑音を含む 128×128 像を作り、star_detect の 18 検出(真の星 16 + ホットピクセル 2)を三角形の角距離で全星表へ照合し、偽点を捨てて kabsch で姿勢を推定する。誤対応 0・偽点棄却 2/2・姿勢角誤差 0.0046 度。太陽・月の迷光、星不足、高速回転の星の流れは未計算の限界。
py -3.11 examples/poc_star_tracker.py
3-D 点群/体積/曲面(123 例)
registration
- CADモデルをノイズ入り3Dスキャンに位置合わせ — 初期姿勢なしで CAD 設計形状を実物スキャン点群に合わせ、置かれた向きと位置を復元する(FPFH+RANSACで粗く→ICPでセンサノイズ床まで)。
py -3.11 examples_3d/cad_to_scan.py
- 手法を自動選択する点群登録 — 2点群の近さを見て、近ければ ICP・大きく離れていれば FPFH+ICP を自動選択する(手法指定不要)。
py -3.11 examples_3d/auto_register.py
- 登録品質の評価(recall/RMSE/inlier) — 登録結果が成功か失敗かを inlier率・RMSE・recall で定量化。対応ゼロでは NaN を返し捏造しない。
py -3.11 examples_3d/reg_eval.py
- 2視点からの相対カメラ姿勢(SfM初期化) — 2枚の画像の対応点から基礎/基本行列を解き、相対カメラ姿勢と3D点を復元する(単眼SfM/VOの初手)。
py -3.11 examples_3d/two_view_pose.py
- N視点バンドル調整による精緻化 — 全カメラ姿勢と3D構造を再投影誤差最小で同時最適化し、摂動から機械精度へ回復する。
py -3.11 examples_3d/bundle_adjust.py
- ループ閉じ込みのポーズグラフSLAMバックエンド — ノイズ入りオドメトリ+ループ閉じ辺を最適化し、蓄積したドリフトを低減する。
py -3.11 examples_3d/pose_graph_slam.py
- 3D 幾何変換 — rotate 90°x4 恒等・resize の物理体積保存・affine 厳密シフト — vol_rotate は np.rot90 と bit 一致で回転方向規約を機械固定、vol_resize は spacing 再計算で物理体積 230.4 mm^3 厳密保存、vol_affine は pull 規約(out[o]=vol[M@o+offset])を voxel 単位で検証。
py -3.11 examples_3d/vol_geometry_transform.py
- 小惑星の姿勢を主成分で正準化 — 不明な向きで届いた小惑星形状を、慣性主軸で形状固有の正準姿勢へ整える(カタログ化・比較用)。
py -3.11 examples_3d/itokawa_pose_canonical.py
- 未知姿勢で置かれた小惑星スキャンの位置合わせ — 未知の探査機姿勢で撮った小惑星スキャンを ICP で基準形状に戻す。不規則形状は球と違い登録できる。
py -3.11 examples_3d/itokawa_self_register.py
- 平面主体スキャンのGICP位置合わせ — 床+直交2壁のコーナーを既知変換で動かし gicp(共分散重みマハラノビス)で復元。回転<1度、平面が滑る状況で点対点ICPを約6.5倍上回る。
py -3.11 examples_3d/gicp_register.py
- 疎特徴による3D点群レジストレーション(Harris/ISS + SHOT/Spin/FPFH) — 初期推定なしで57度回転した2点群を合わせる「疎特徴レジストレーション」道具箱の6opを1本で通し、各段を実測の真値で検証する。harris3d_keypointsは立方体密度場の解析的な8頂点(唯一の3Dコーナー)を狙い、上位8検出が8頂点と1対1対応(平均1.73voxel、無作為null 9.16を判別的に下回る)。iss_keypointsは回転不変性を真値とし、同一点群を既知(R,t)で回した雲でも選ばれる163点のindex配列が完全一致。sh…
py -3.11 examples_3d/feature_register.py
- 部分重なりスキャンの登録(FPFH+ICP) — 非対称ブロブを別方向2視点で部分スキャン(幾何重なり56%)。scan Bに55度回転+並進を掛け、register_pointclouds(FPFH+RANSAC→ICP)でAへ登録。回転誤差0.86度<4・RMSE0.150が床0.148水準。PCA主軸103度/単位行列ICP58度のnullを桁違いに下回る。
py -3.11 examples_3d/partial_overlap_icp.py
metrology
- 平面度メトロロジー(基準面からの偏差) — 点群に平面を当て、基準面からの偏差=平面度を測る。既知の膨らみ高さと一致することで検証。
py -3.11 examples_3d/plane_flatness.py
- 測地ドーム — オイラーの公式が 5 角形を 12 個に縛る — 正二十面体を細分して球に射影する。f を 1→6 と上げると頂点は 12→362 に増えるが、次数 5 の頂点はどれだけ細分してもちょうど 12 個(V−E+F=2 の帰結で、11 でも 13 でも球にならない)。次数は別実装の graph_degree_table に数えさせる。半径を変えても位相は不変、半球は切り口を持つので頂点が減る。
py -3.11 examples_3d/geodesic_dome.py
-
| 極小曲面と管メッシュ — 定義そのものが門になる — 極小曲面とは「平均曲率 H が至るところ 0」の曲面で、既存 vertex_curvature がまさにそれを測る —— 「これは極小曲面だ」という主張を作り方を知らない op が採点する。カテノイド・ヘリコイド・エンネパー・シェルクの |
H |
中央値は 0.00002〜0.00014 で、対照群の単位球は 1.00004・半径 1 の円柱は 0.50000(門が素通しでない証拠)。★ガウス曲率 K の一致は必要条件にすぎない(カテノイドとヘリコイドは等長なので K が一致するが、K が一致しても極小とは限らない)。等長な曲げの族は面積 17.6738〜17.6756 で不変。ジャイロイドは体積比 0.499928 / 0.499981 / 0.499991(体心反転の対称性・格子に依らない)だが、節面近似の残差は隠さず出す( |
H |
/ 主曲率スケール = 0.1250)。円を中心線にした管はトーラスなので体積 2π²Rr²・表面積 4π²Rr が解析解で、既存 mesh_volume / mesh_area が比 0.997 / 0.999。まっすぐな区間を含む曲線でも半径が 0.150000000000 で崩れない(平行移動フレーム —— フレネ枠は直線部で法線が定義できない)。 py -3.11 examples_3d/minimal_surfaces.py |
- 真球度/丸さ検査 — 点群に球を当て、真球からの偏差=真球度を測る。完全な球ほど偏差が小さいことを確認。
py -3.11 examples_3d/roundness.py
- 30%外れ値下での頑健プリミティブ適合 — 平面/球/円柱を RANSAC で当て、外れ値30%が混じってもパラメータを正しく復元する。
py -3.11 examples_3d/ransac_prim.py
- domain(処理領域)と boundary(境界殻)でメモリを絞って計測 — vol_reduce_domain で治具を消し vol_crop_domain でメモリ 1/34(実測)、vol_boundary の殻 19% を vol_boundary_points で物理mm点群化して fit_sphere3 が中心誤差 0.000mm、vol_uncrop は元フレームへ bit 一致で貼り戻し。
py -3.11 examples_3d/roi_domain_boundary.py
- RLE 領域 — HALCON region の効率の正体を voxel 界へ — vol_rle_encode が 192^3 部品マスクを dense bool の 1/73(実測)に、volume/bbox/centroid は run 直接演算で dense と厳密一致かつ 93x 速(実測)、和/積/差の集合演算 3.1ms(run のみ)、vol_rle_components の成分分解、vol_tiled_map は gaussian 全量計算と最大差 0、往復 bit 一致、改竄 RLE は fail-closed 拒否。
py -3.11 examples_3d/rle_region_efficiency.py
- virtual probe — パイプ壁厚をプローブ 1 本で計測 — vol_profile_line(異方 spacing の物理距離厳密)→ vol_edge_probe(サブボクセル 4 エッジ、極性 +,-,+,-)→ vol_wall_thickness が壁厚 2.042/2.042 mm(真値 2.000、誤差 0.042mm=0.085voxel)。measure1d の 3D 版。
py -3.11 examples_3d/wall_thickness_probe.py
- 曲座標展開: 極/円筒/Zernike/LiDAR円筒投影で回転体の m 回対称を一貫復元 — 回転体(3枚羽根=m=3回対称)の検査を、中心を原点にした曲座標へ展開する4つのopで横断検証する事例。fit_zernikeは既知の波面係数(piston/tilt/defocus/astigmatism)で合成した円板を極座標直交基底(n,m)へ分解し、各係数を誤差5e-5で復元(非点収差=m=2角モードが立つ)。polar_unwrapは2D画像の円板を(θ×r)へ展開しθ軸FFTでm=3を検出(power@m=179で他ビンを圧倒)、回転対称画像は…
py -3.11 examples_3d/curvilinear_proj.py
- 幾何メトロロジー: 直線/平面/球/円の当てはめ→角度・距離・交線計測 — 1 個の機械加工ブロック(2 面が稜線で交わり、面上に球と円穴が乗る)を舞台に、当てはめ op(fit_line_3d/fit_plane_3d/fit_sphere_3d/fit_circle_3d/ransac_line)の出力を計測 op(angle_3points/angle_between_lines/angle_between_planes/angle_line_plane/distance_point_plane/distance_point…
py -3.11 examples_3d/geometry_metrology.py
- 3-D プリミティブ当てはめ(直線/平面/球/円/最小包含球) — 点群から直線・平面・球・円を最小二乗で当て、中心/半径/向き/残差を (depth,row,col) で復元(機械精度)。各残差は『わざと外した』null を桁違いに下回る。measure3d.fit_line3/fit_plane3/fit_sphere3/fit_circle3/smallest_sphere3。2-D fit_line/fit_circle の 3-D 版。
py -3.11 examples_3d/primitive_fitting_3d.py
- 最大内接ボックス(inner_rectangle1 の 3-D 版) — 空洞のある部品(二値ボクセル)に内接する最大の軸平行ボックス=「保証できる最大の中実ブロック」を厳密に求める(総当たりと完全一致)。深さ区間の論理積×2-D最大内接長方形。空洞をまたぐ前景bbox(非中実)を判別的に下回る。regionprops3d.inner_box3。
py -3.11 examples_3d/inner_box_inspection.py
- 最小体積の有向境界箱(OBB=smallest_rectangle2 の 3-D 版) — 傾いた直方体の実寸を最小体積 OBB で復元(半径 (5,2,1)・中心・体積 80 を機械精度)。軸平行 AABB は回転で ~1.8 倍に膨張し、PCA 箱(pcseg.obb)は非対称形状で最小にならない — min-volume OBB(凸包面×回転キャリパー, measure3d.smallest_box3)が両者を判別的に下回る。把持/梱包の寸法検査。
py -3.11 examples_3d/oriented_bounding_box.py
- 点群のバウンディング(凸包/OBB/AABB/最小包含球) — 生点群から凸包・向き付き箱(OBB)・軸整列箱(AABB)・最小包含球を起こす。新規 min_enclosing_sphere は素朴球 r=9.95→5.63(比0.57・全点内包)、OBB体積は回転箱で AABB の0.20倍。把持/衝突/寸法検査の基本メトロロジー。
py -3.11 examples_3d/hull_bounds.py
- 平歯車の歯数をSDFジオメトリから逆計測 — sdf_opsのCSGで平歯車を手続き生成し、歯先帯r=0.44の占有を角度サンプルしてラン計数で歯数N=12→12/20→20を厳密復元(0.2度ジッタでも不変)。歯なし円板null=0本・誤半径 内1/外0本で判別的。
py -3.11 examples_3d/gear_metrology.py
- 円筒軸メトロロジー(30%外れ値ロバスト) — 汚れた産業スキャン(30%グロス外れ値・2000点)からパイプの軸方向と半径を計測。fit_cylinder_ransacで半径誤差1.27%・軸誤差0.78°・面残差0.00165m。非ロバスト全点フィット(半径誤差101%)と誤プリミティブ平面RANSAC(残差0.058m)を5倍超マージンで判別的に上回る。
py -3.11 examples_3d/cylinder_axis_metrology.py
segmentation
- CT windowing — 窓の選択が「見える構造」を入れ替える — vol_window_level の軟部窓は軟部 Δ0.50 が立ち骨は飽和、骨窓は骨が立ち軟部は背景と同化(実測)。vol_equalize(mask domain LUT)/ vol_gamma(γ=2 で 0.5→0.25 厳密)/ vol_stretch(パーセンタイル厳密写像)も検証。
py -3.11 examples_3d/gray_window_level.py
- ビンピッキング: 台平面除去→物体クラスタリング — 地面平面を plane_segmentation で剥がし、残りを euclidean_cluster で3物体に分離。クラスタ数・重心が真値一致、全点1クラスタ扱いの零点を上回る。
py -3.11 examples_3d/object_segmentation.py
- 3Dボリュームの連結成分ラベリングと塊ごとの計測(個数/体積/重心) — 複数ブロブを連結成分で分離し、体積誤差0voxel・重心誤差0.0で計測。largest_componentで最大塊、filter_by_volumeで小塊除去。全前景を1領域とする零点(重心ズレ13.5voxel)を上回る。
py -3.11 examples_3d/region_props_3d.py
- センサ幾何と領域処理パイプライン(角シーンの denoise→傾き→面分割→計画格子) — 深度センサが捉えた「2つの傾いた面が稜線で出会う角」の1シーンを、実際の知覚パイプラインの順に8opで連結処理する例。清浄ガイドで joint_bilateral して段差を残しつつノイズを削り(RMS 0.112→0.019、素のGaussianぼかしnullは稜線段差を-5.8→-1.16に潰すが本opは-5.79を保存)、bearing_angle_image で各面の傾きを degrees(atan(s)) と厳密一致で数値化(左26.565°/右…
py -3.11 examples_3d/sensor_seg.py
- 接触物体の分離(距離変換ベース3D watershed) — 接触して1連結成分に融合した2球をwatershedで2個に分離。重心を真値へ最大0.31voxel・体積誤差<5%。連結成分(null)はcount=1に融合し重心が10voxelずれる — 個数でも重心でも上回る。CT/粉体/細胞の計数。
py -3.11 examples_3d/watershed3d.py
- 分子の接触原子カウント(距離変換+マーカ分水嶺) — シクロヘキサンC6椅子型を6原子球の和集合(41万voxel・1連結成分)にボクセル化。距離変換+マーカ分水嶺で接触原子を6個に分離・重心を真値へ最大0.52voxel。素朴な連結成分null=1個に融合(43voxelずれ)を個数6vs1で上回る。
py -3.11 examples_3d/molecule_atom_count.py
- 屋外LiDARシーンの地面除去→物体分割 — 傾斜地面(~5.4度)上の4物体(球/箱/円柱/円錐)のLiDAR点群5316点を、fit_plane_ransac+height_above_planeで地面除去→euclidean_clustersで分割。検出4==K=4・重心を真物体へ全単射(最大0.128m)。地面除去なしnullは全物体癒着で1クラスタ。
py -3.11 examples_3d/lidar_scene_segmentation.py
reconstruction
- 顕微鏡スタック復元 — 3D FFT フィルタ + Richardson-Lucy — vol_fft_lowpass+highpass=入力の恒等式、照明ドリフト成分を 1/17 に抑制(線形性で分離計測、ガウス伝達のトレードオフごと開示)、vol_richardson_lucy 50 回で RMSE 0.68x(漸進と正直に主張)+前方一貫性 0.021x+総強度保存。
py -3.11 examples_3d/deconv_fft_restore.py
- 進化探索で見つけた点群デノイズ・パイプライン — 外れ値除去・平滑化・間引きの順番を遺伝的アルゴリズムに探させ、無処理と人手の定番を上回る。
py -3.11 examples_3d/denoise_evolution.py
- 複数深度フレームをTSDFで融合し表面抽出 — 複数視点の深度観測を TSDF に融合し、単一観測よりノイズに頑健な表面を得る。
py -3.11 examples_3d/tsdf_fusion_demo.py
- 複数断層の2D輪郭を積層して3D曲面(メッシュ)に — 各スライスの閉輪郭を塗って voxel 積層→marching cubes で曲面メッシュ化。頂点は球面に乗り体積も一致(断面一定=円柱仮定は1.5倍過大)。輪郭→領域→voxel→メッシュの表現変換。
py -3.11 examples_3d/contours_to_surface.py
- 等高線(標高付き輪郭)から地形の高さ場(DEM)を復元 — 等高線点(x,y,標高)を fit_poly_surface でサーフェス当てはめし DEM 格子へ展開。線の間も内挿し全域RMSEが最近傍等高線の階段近似を桁違いに下回る(GIS/測量)。
py -3.11 examples_3d/contours_to_terrain.py
- 多視点シルエットから visual hull を彫る — 既知形状を複数の既知視点で synthesize_silhouette→carve し visual_hull を得る(recall 1.0)。1視点は柱状に過大、多視点で真形状へ収束。
py -3.11 examples_3d/space_carving.py
-
| 評価指標4種の真値検証(F-score/RMSE対応/法線一致/voxel IoU) — 単位球点群(放射法線)と占有ボクセルを正解として合成し、metrics3d の 4 評価指標を解析真値と 1e-9 で照合する。fscore は 120 点厳密コピー+60 外れ点の再構成で precision=120/180・recall=120/150 を厳密に作り込み f=0.72727 を検証(完全コピー=1.0、無作為点 null≈0)。rmse_correspondence は恒等=0・既知オフセット |
v |
=0.1 の残差を厳密照合し、対応数… py -3.11 examples_3d/metrics_eval.py |
-
| 2視点SfMから表面再構成まで一つの球で通す — 中心[0,0,6]・半径1.5の単一の球を題材に、2視点SfMから表面再構成・観測合成までを6つのopで鎖状に接続し、すべて既知真値と照合する(ノイズ無し合成)。essential_8pointは球面上の対応点+Kから本質行列Eを復元し、真のE=[t]×Rと符号/スケールを除き |
cos |
=1.000000で一致・正規化エピポーラ残差1.1e-15を確認(直交並進+40度回転の誤E nullは |
cos |
=0.002・残差0.35)。triangulateは真… py -3.11 examples_3d/sfm_recon.py |
- トーラス点群のalpha shape再構成で穴(genus1)を保持 — 中実トーラス(主R1.0/管r0.35)9000点をestimate_alpha+alpha_shape_meshで再構成。z軸穴プローブ41点の内包率がalpha=0.000(穴を保持)、凸包null=1.000(穴を充填・厳密Delaunayでも1.000)。オイラー標数χ_alpha=0(トーラス)対χ_hull=2(球)でも判別的。
py -3.11 examples_3d/alpha_shape_topology.py
- Poisson軽量表面再構成(向き付き点群→水密メッシュ) — でこぼこ閉曲面(外向き法線を勾配で厳密算出)の向き付き点群6000点をrecon3d.poisson_liteで水密メッシュ(V11788/F23572)へ。真曲面との正規化chamfer0.01006が外接球null(0.081=8倍)・乱数法線null(0.041=4倍)より桁違いに小さい。
py -3.11 examples_3d/poisson_surface_recon.py
depth
- 2視点プレーンスイープ・ステレオ深度 — 既知カメラの2画像から、深度平面を掃引して photo-consistency 最小の深度を画素ごとに選ぶ。
py -3.11 examples_3d/plane_sweep_depth.py
- エッジ保存の深度デノイズ+穴埋め — 段差を跨がずにノイズを平滑化し、浅い穴を調和補間で埋める(深い穴はNaNのまま残す)。
py -3.11 examples_3d/depth_denoise.py
- 骨格CTからX線ラジオグラフ(DRR)を合成 — 手骨のCT密度ボリュームを厚み方向に積算し、2次元の手のX線像(DRR)を合成する。
py -3.11 examples_3d/ct_hand_radiograph.py
- 低線量スパースビューCT再構成(radon→SART) — 指の断面をX線投影し、SART(反復)とFBPで再構成する。低線量ゆえの控えめな品質を正直に評価。
py -3.11 examples_3d/ct_sparse_view_recon.py
- ステレオ視差からの多深度パッチ奥行き復元 — 校正済みステレオ対(f*B=96)に近8/中16/遠32mの3テクスチャパッチを視差12/6/3pxで合成し、disparity_map→depth_from_disparityで復元。パッチ内部の相対誤差0.00%・near>mid>far順序も正。最良定数null63.9%・視差ゼロnull(∞)を判別的に上回る。
py -3.11 examples_3d/stereo_depth_scene.py
modeling
- SDFのCSG合成(和/差)でソリッドを作りメッシュ化 — 符号付き距離場の集合演算(球∪箱−小球)で陰関数ソリッドを作り、等値面をメッシュへ。
py -3.11 examples_3d/sdf_csg.py
- CTボリュームから骨をセグメンテーションし、接触骨を分離して計数・体積計測 — 骨を閾値化し、関節で繋がる指骨を収縮で分離してから連結成分で数え、体積を測る(閾値内外の密度コントラストで検証)。
py -3.11 examples_3d/ct_bone_segmentation.py
- CTボリュームから骨表面メッシュを抽出(marching cubes) — CTボリュームに marching cubes をかけ、骨表面を三角メッシュ化する(3Dプリント/FEA向け)。
py -3.11 examples_3d/ct_surface_extraction.py
- 3Dモルフォロジ(opening/closing/gradient/top-hat)で体積を整える — closingで空洞8→0(本体は不変)、openingでトゲ3→0、gradientは境界殻のみ、top-hatはトゲだけ抽出。素のdilate/erodeが本体まで膨張/収縮する差で判別。
py -3.11 examples_3d/morphology_3d.py
- 手続き的に手全体の骨格を組む(27骨のカプセルSDF→メッシュ) — 手根骨8+中手骨5+指骨14をカプセルSDFで解剖学配置しmarching cubesでメッシュ化。指先バンドの連結成分=四指(>=4)・細長さ4.66で「手」と判別。同体積の球null(指1本)を上回る。教材/デモ/合成データの自前生成。
py -3.11 examples_3d/procedural_hand.py
features
- 主曲率・形状指数による把持アフォーダンス — 点群の主曲率と形状指数から、球・円柱・鞍点を識別する(把持面の当たり判定)。
py -3.11 examples_3d/curvature_grasp.py
- 反射・回転対称性の検出 — 点群の反射面と回転対称の位数を chamfer 採点で検出する。
py -3.11 examples_3d/symmetry.py
- 大域記述子(D2/A3)による形状検索 — 距離分布 D2・角分布 A3 の大域記述子で、回転しても同形状は近く・異形状は遠く照合する。
py -3.11 examples_3d/shape_retrieval.py
- 小惑星表面の曲率解析(尾根・クレーターの検出) — 表面の主曲率・曲率度・形状指数を求め、平坦部と尾根/窪みを仕分ける(値が実在表面の幾何であることを近傍相関で確認)。
py -3.11 examples_3d/itokawa_curvature.py
- chamfer距離による形状照合 — chamfer 距離で「同一の天体か別物か」を数値判定する(自身の回転コピーは近く・同大の球は遠い)。
py -3.11 examples_3d/itokawa_shape_match.py
- 対称性検出(正直な結果:小惑星は非対称) — 反射対称スコアを小惑星と対称な楕円体で比較。ラブルパイル小惑星は非対称=検出器が正しく低スコアを返す。
py -3.11 examples_3d/itokawa_symmetry_honest.py
- 点群に大域整合した外向き法線を付与(PCA推定→MST向き伝播) — 符号未定のPCA法線を Hoppe MST で外向きに揃える。球面サンプルで生法線の外向き一致0.50(コイン投げ)を向き付け1.00へ改善、接平面精度1.00。退化入力は捏造せず拒否。
py -3.11 examples_3d/oriented_normals.py
- 球面調和記述子による回転不変な3D形状検索 — 向き未知の形状(球/箱/円柱の回転コピー)を SH 帯域エネルギー記述子で照合。検索3/3正解・分離マージン>0で、回転で全マスが入れ替わる素ボクセル占有の1/3を上回る。
py -3.11 examples_3d/shape_descriptor.py
- 3Dボリュームのエッジ検出(canny3d: NMS+ヒステリシス) — なだらかな内部を持つ中実ボールの外周だけを1ボクセルに細線化。オンシェル率1.000・内部誤検出0で、生勾配の固定しきい値null(0.464・誤検出4012)を+0.536上回る。
py -3.11 examples_3d/edges_3d.py
- 3-D 微分特徴の抽出と検証(勾配・Hessian・曲率・距離場・black-hat) — 球状ソリッド部品を題材に、3-D スカラー場から 5 種の微分/形態特徴を抽出し、それぞれ解析的な真値で裏取りする。(1) 既知の 2 次多項式場で sobel3d が勾配を(分離 conv 利得 32 で割ると)機械精度 ~1.9e-5、hessian3d が 6 独立成分を ~6.3e-5 で解析勾配・解析 Hessian を厳密復元。定数場で勾配≈0・線形場で Hessian≈0 の null も確認。(2) curvature_maps が球殻=cap(S≈+1)/円柱=ridge(S≈+0.5)を判別分離し、curvedness は 1/r を絶対値で復元(c·r≈1.0、2026-08-30 の利得補正後は真の 1/voxel 単位)…
py -3.11 examples_3d/diff_features.py
-
| 実メッシュ曲率が詳細形状を判別(Stanford Dragon) — DL実データStanford Dragon(87万面)をread_mesh→vertex_curvature(cotangent Laplace-Beltrami)。正規化曲率はmedian9.2・MAD6.2・ |
Hn |
>2が88%と広く分布し、同スケールの滑球null(median1.00・0%)をMAD比1.4e7倍で判別。未取得時はSKIPしexit0。 py -3.11 examples_3d/dl_mesh_curvature.py |
- FPFH記述子で部分ビュー間の点対応を張る — 同一物体の2部分ビュー(58度回転+並進・重なり1514点)で法線推定→FPFH記述子(33次元)を計算し記述子最近傍で対応。幾何正答率0.633がランダム対応0.0034・記述子シャッフル0.0020(チャンス率)を約185倍上回る。register全体でなく記述子マッチ品質を直接測る。
py -3.11 examples_3d/fpfh_correspondence.py
motion
- 動的シーンの剛体運動セグメンテーション — 2時刻の点群から、別々に動く剛体ごとに分割する。無相関ノイズでは剛体を捏造しない。
py -3.11 examples_3d/motion_seg.py
- 剛体シーンフロー(既知R,tと密フィールドの復元) — 点群を既知剛体変換で動かし rigid_flow で復元(回転<1度・並進<1voxel)。smooth_flow が生NN流のEPEを約半分に、residual_flow は剛体部でノイズ床。
py -3.11 examples_3d/scene_flow_rigid.py
measurement
- 産業CTの形態計測 —— 気孔径分布・局所肉厚・開/閉気孔・繊維配向 — 真値の分かる合成ボリュームで、気孔径分布と体積分率、局所肉厚(ミリ換算)、貫通孔と閉気孔の別、配向の揃い具合を復元できることを数値で確かめる。
py -3.11 examples_3d/ct_porosity_and_fibre_morphometry.py
pose_estimation
- 外れ値ありの3D-2D対応からカメラ6自由度姿勢を推定(PnP+RANSAC) — 既知寸法の箱の3D-2D対応(30%外れ値・0.5px雑音)から pnp_ransac で姿勢復元。回転<2度・並進<2%で、恒等姿勢や素のDLTを明確に上回る。
py -3.11 examples_3d/pose_estimation.py
- 誤対応4割下のカメラ姿勢推定(PnP+RANSAC) — 200点の3D-2D対応の40%が誤対応でもpnp_ransacが姿勢復元: 回転誤差0.11度・inlier再投影0.66px・inlier適合率100%。同じ汚染データの素dlt_pose(RANSACなし)は33.7度に破綻し319倍判別的に上回る。
py -3.11 examples_3d/pnp_pose_outliers.py
mapping
- 占有格子+ESDFで連続クリアランスを問い合わせ — 部屋点群から occupancy_grid→esdf を作り、自由空間点で最近接障害物までの連続距離を query_distance。占有0/1のみの零点を約39倍上回る(衝突回避マージン判定)。
py -3.11 examples_3d/occupancy_esdf.py
- 地形の走行可能性マッピング(段差検出) — 平坦+緩スロープ+急段差(0.5m壁)の点群→標高マップ→走行可能性マップ。平坦/緩は走行可能率1.00・段差は非走行可能率1.00。段差検出 実op1.00 vs 全可null/巨大max_step null 0.00、GT精度1.00 vs 0.83。
py -3.11 examples_3d/terrain_traversability.py
shape_fitting
- 点群から角丸ブロックをスーパー楕円体で当てはめ — 既知スーパー楕円体からの雑音点群を fit_superquadric で復元(半径5%以内・内外分類>95%)。球1個を当てた残差を大きく下回る(把持点判定向け)。
py -3.11 examples_3d/superquadric_fit.py
- 3D Houghで平面・球のプリミティブを検出 — 投票ベースの hough_plane_3d/hough_sphere_3d で平面(法線誤差0.55度)・球(中心誤差0voxel)を復元。素朴PCA(80度)や重心(22voxel)の零点を明確に上回る。
py -3.11 examples_3d/detect_primitives_3d.py
- プリミティブ当てはめ拡張(円錐/トーラス/楕円体) — 点群に円錐(半角誤差0.008°)・トーラス(R,r誤差~3e-4)・楕円体(半径相対誤差<0.2%)を当てはめ。誤モデル(球/平面)の残差をそれぞれ38x/64x/50x下回る。漏斗/配管/細胞・慣性の寸法検査。
py -3.11 examples_3d/fit_primitives_ext.py
shape_descriptors
- 3Dモーメント不変量(剛体+一様スケールに不変) — 点群に既知の平行移動・回転・一様スケールを掛けても moment_invariants はほぼ不変で、別形状とは明確に区別。生モーメントは同変換で大きく変動。
py -3.11 examples_3d/moment_invariants.py
- 大域形状記述子と姿勢照合 — 3D 部品を姿勢に依らず「形」で同定し、次に実際の姿勢を復元する一連の流れを、大域形状記述子(D2 距離分布・A3 角度分布・PCA 広がり比 extent・主慣性モーメント)と姿勢照合(PCA 主軸整列・FFT 位相相関・log-polar/Fourier-Mellin)で示す。記述子側は厳密な数学則で検証: extent_signature と principal_moments は同一共分散の別表現なので、principal_moments から共分…
py -3.11 examples_3d/shape_desc_pose.py
- 球面調和記述子による回転不変な3D形状検索 — 球/立方体/トーラス/円柱/円錐の5クラスをボクセル化しsh_descriptor化。一様ランダム3D回転したクエリをmatch_sh_descriptorで検索→30/30=100%正解・分離マージン0.312。非回転不変null(軸周辺分布)は回転で100%→37%に崩れSHが+63pt上回る。
py -3.11 examples_3d/sh_descriptor_retrieval.py
shape_analysis
- CT の管・粒・肉厚を Hessian 特徴と物理量で計測 — vol_frangi/sato(管状度)と vol_hessian_blobness(粒状度)が相互否定対照で逆転、vol_local_maxima がピーク座標一致、vol_label の 26/6 連結規約、vol_region_props/vol_distance_transform が spacing 物理量(mm^3/mm)で手計算一致。
py -3.11 examples_3d/vessel_metrology.py
- 距離変換の「向き」— 最近の seed への変位で半径・肉厚・ラベルの縄張りを測る — vol_nearest_seed_vector(円柱の表面 → 骨格への変位の長さ = 半径 r を厳密再現)、vol_nearest_label(2 つの球のラベルを零 voxel に配ると分割面が垂直二等分面に一致)、異方 spacing で最近傍が入れ替わる、torch があれば edt_jfa_vector が scipy 経路と厳密一致。
py -3.11 examples_3d/nearest_seed_partition.py
- 中軸骨格と位相署名で形状を区別 — 中実円柱の芯を skeletonize_vol/medial_axis_points で抽出(既知中心軸上)、topology_signature+medial_match でトーラス(genus1)を球/円柱と区別。ランダム署名の零点を上回る。skeleton_graph3d でノードと枝のグラフに組み(半径の違う枝を区別、輪はオイラー式で検査、異方 spacing、成分は繋がない)。
py -3.11 examples_3d/medial_topology.py
- 曲面上の測地距離と最遠点サンプリング — 球面点群で kNN グラフ上の geodesic_distances が大円距離と一致(誤差1.7%)、farthest_point_sampling で均等な代表点。直線ユークリッド距離は曲面上で系統的に過小。
py -3.11 examples_3d/geodesic_distance.py
- 3D空間曲線の微分幾何(曲率κ・捩率τ・弧長・Frenet標構) — 順序付き点列からκ/τ/弧長とFrenet標構を求め、ヘリックスの解析解と相対誤差<0.01%で一致。直線(κ=0)・平面円(τ=0)の零点を判別的に上回り、変速でもGram-Schmidt射影の正しさを確認。
py -3.11 examples_3d/space_curve.py
- 円柱点群の前処理と測地距離・中心軸復元(SOR/radius/MLS + kNN/測地/距離リッジ) — 円柱(半径R=1, 高さ2)を「側面点群」と「中身入りvoxel」の2通りで合成し、6つのopを鎖にして数値的真値で検証する。側面点群(面2400点+遠方の飛び点40点)に対し statistical_outlier_removal と radius_outlier_removal がいずれも飛び点40/40を除去し面の点2400を1つも誤除去せず(SOR→radius合成で面のみ2400点が残存)。mls_smooth が各点の軸までの距離の真値Rからの…
py -3.11 examples_3d/pcl_geodesic.py
- 点群の鏡映対称面の復元 — 既知平面で鏡映対称な点群から初期推定なしにdetect_reflection_symmetryが対称面を復元: 法線誤差0.0度・鏡映残差1.5e-11。非対称null(残差1.14)は約7.8e10倍大きく、でたらめ平面(最良1.27)も桁違いで判別的。
py -3.11 examples_3d/reflection_symmetry.py
-
| トーラス結び目の弧長・捩率計測(非平面曲線) — (2,3)トーラス結び目を密ポリラインで生成しcurve3dのarc_length/curvature_torsionを検証。弧長は台形積分と相対7.6e-7一致・中央 |
τ |
0.283は同長の平面円(捩率6e-10)の5.1e8倍で非平面を判別。円のκ=1/rも誤差7e-13で正確。 py -3.11 examples_3d/torus_knot_curve.py |
- 恐竜骨格の左右対称面(矢状面)の復元 — スミソニアン三角竜骨格(CC0,10万頂点→4090点stride)をdetect_reflection_symmetryに渡し矢状面を残差2.48で復元(最薄主軸=左右方向に一致)。他2主平面4.28/4.30と区別、片側20%破壊で15.87(6.4倍)へ悪化=左右対称を判別的に検出。未取得時はSKIPしexit0。
py -3.11 examples_3d/dl_mesh_symmetry.py
-
| 回転対称位数の復元(6枚歯スパーギア) — 歯数6の平歯車リム2160点を生成。detect_rotational_symmetryで対称軸z( |
z |
=1.000)、約数構造(rotational_symmetry_score)から位数N=6を復元。約数{2,3,6}残差~1e-11・非約数{4,5,7,9,12}>0.5、位数6残差4.3e-11が無対称ランダム1.52の3.5e10倍。 py -3.11 examples_3d/rotational_symmetry_fold.py |
- ガウス曲率の符号で表面をドーム/鞍点に分類 — トーラス(R1.0/r0.35)密点群にgaussian_curvatureを当て、外周(楕円K>0)/内周(双曲K<0)を符号で分離精度1.000で分類(解析真値K=cos v/(r(R+r cos v))と一致)。このR,rは外周も内周もH>0なので平均曲率符号null=0.500(分離不能)を判別的に上回る。把持点選び/欠陥判定。
py -3.11 examples_3d/curvature_shape_index.py
range_sensing
- 360度点群⇄距離画像の往復(球面投影) — project_spherical→unproject_spherical の往復で形状を保存(誤差<voxel)。奥行きを潰す平面正射影より55倍良い。
py -3.11 examples_3d/lidar_projection.py
- 深度画像から法線・遮蔽エッジを読む — organized 深度から法線(平面で0度誤差)と手前/奥の段差エッジを検出。一次勾配しきい値は平面の傾きを誤検出、二次差分の occlusion_edges は誤検出0。
py -3.11 examples_3d/range_image.py
shape_from_shading
- 複数光源の陰影から法線・高さを復元(フォトメトリックステレオ) — 既知光源方向の陰影群から photometric_stereo で法線(誤差0.88度)、integrate_normals で高さ(相関1.0)。単一輝度=高さの素朴推定を大きく上回る。
py -3.11 examples_3d/photometric_stereo.py
structured_light
- 位相シフト縞投影で高さを復元 — 縞合成→wrapped_phase→unwrap_phase_2d→decode で高さ(RMSE 0.63%)。位相アンラップ無しは2π跳びで88%誤る。
py -3.11 examples_3d/structured_light.py
- 縞1枚と焦点スタックから深さを復元 — 単一搬送波縞を fringe_ftp_phase で高さへ、3枚の焦点スタックを depth_from_focus で深さへ変換し、既知真値で精度とテクスチャ無し領域の限界を検証。
py -3.11 examples_3d/ftp_and_focus_depth.py
- 構造化光スキャナ 1 台を閉ループで回す(投影→撮影→復号→三角測量) — 描画した実シーン(球+段差箱+床)へ相補Gray 18枚+位相シフト4枚を投影し、absolute_phaseで2π次数を確定、triangulate_columnで視線×コラム平面を解いて深度へ。真値深度をRMSE 0.233mm(レンジ287mmの0.081%)で再現。Gray整数のみ(0.548mm)の2.4倍、位相のみ(209.8mm)の901倍良い。Gray復号は全16521画素で誤り0。
py -3.11 examples_3d/structured_light_scan.py
- Gray code 構造化光の絶対デコード — 物体で湾曲した投影機コラム番号(0..127)をGray codeビット面7枚からgraycode_decodeで絶対復号。全12288画素で整数厳密一致(100%)。極性反転(0%)/面順取り違え(13%)/最頻値決め打ち(2%)のnullを判別的に上回る。撮影ノイズ42%まで厳密。
py -3.11 examples_3d/graycode_structured_light.py
deformable_registration
- TPSベースの非剛体位置合わせ — 既知TPS曲げ変形をかけた標的へ register_nonrigid で位置合わせし残差をノイズ床へ。剛体ICPは曲げを吸収できず残差が大きい(制御点で tps_warp が厳密に写ることも確認)。
py -3.11 examples_3d/nonrigid_deform.py
augmentation
- 点群データ拡張(回転/スケール/ドロップアウト/ジッタ) — 学習用の点群拡張4種を指定パラメータどおり適用(回転=距離不変・向き変化、scale倍率、dropout点数、jitter std)。恒等nullを判別的に上回り、連鎖でも複合性質を保つ。
py -3.11 examples_3d/augment_pointcloud.py
freeform_geometry
- B スプライン自由曲線・自由曲面の復元と計測 — 直線・平面・円のような大域基底では表せない「くねる曲線」「うねる曲面」を区分多項式(B スプライン)で復元し、再サンプル・平滑・残差計測まで 1 本に通す事例。曲面側は既知の f(x,y)=0.7 sin(1.6x)cos(1.3y)+0.3xy を散布 600 点から fit_bspline_surface で双三次フィットし、学習外の内部格子で eval_bspline_surface した値が解析真値と RMS 1.5e-3(大域平均 null 0.…
py -3.11 examples_3d/bspline_freeform.py
match_localize
- 3-D テンプレート定位(NCC/形状/chamfer/Hough/MIP/曲率) — 同一の合成シーン(滑らかな充実球=ターゲット と、球と同一ピーク濃度の立方体=おとり を離して配置)に対し、match3d の 6 定位手法を全て当てて、球テンプレートの中心を真値±2 voxel(実測の 6 手法合議 spread は 0.87vox)で復元できることを検証する事例。球は表面点群(match_points_ncc 用)と解析的 smooth 占有場(voxel 5 手法用)を同一幾何から生成し(bounds=(0,N-1) で world…
py -3.11 examples_3d/matching_localize.py
scene_flow
- 動く物体のシーンフローを点群・ボクセル・画像平面の3表現で復元 — 2時刻の同一物体を3つの見え方から観測し、既知の真値(剛体運動 R_gt=2度・t_gt<0.3、ボクセル並進 shift=[1.5,-2,1]、画素並進)を握って合成し、5つの op を鎖でつないで運動を復元・検証する。表現1(点群): estimate_flow が小運動で最近傍対応恒等(実測 1.000)となりフローが真の変位と機械精度一致(誤差 0.0)、その対応から fit_rigid が Kabsch で (R,t) を復元(回転誤差 1.7e…
py -3.11 examples_3d/motion_scene.py
pose_refinement
- 姿勢・ピーク精緻化(Newton/LM/LK/回転GN/点-面ICP) — 粗いマッチ(整数ボクセル/±3度級)を連続座標・連続角へ締め上げる 5 種の精緻化器を、既知真値の合成データで一括検証する。帯域制限した滑らかな解析場 F を整数格子(scene)と既知の分数オフセット格子(template)からサンプルし、「同一の真の並進」を refine_peak_newton(相関スコア山の整数ピーク→サブボクセル)・refine_translation_lk(逆合成 LK, corner 規約)・refine_lm(LM, cen…
py -3.11 examples_3d/refinement.py
representation
-
| 3-D データ表現の相互変換ハブ(点群↔ボクセル↔メッシュ↔SDF↔深度↔TSDF) — 半径・中心が既知の球(と、登録用に非対称な段付きブロック)を共通の被写体に、fullseye の 3-D 表現変換 op を 1 本の鎖に繋いで「表現を変えても物体の幾何が保たれる」ことを解析真値で検証する事例。depth→depth_to_points で球面点を厳密復元(median |
d-R |
=6.7e-16)、mesh_to_voxel と gaussians_to_voxel が同一格子上に同じ殻を作り occupancy IoU=0.454(ずら… py -3.11 examples_3d/transforms_repr.py |
mesh_process
- 三角形メッシュの平滑化(Laplacian/Taubin・非収縮) — ノイズメッシュを接続グラフ上で平滑化。RMS 0.627→Laplacian 0.306/Taubin 0.215。Taubin は平均半径ズレ0.025で Laplacian 0.298 の約1/12=非収縮。marching cubes/スキャン後処理向け。
py -3.11 examples_3d/mesh_smooth.py
- メッシュ簡略化(QEM edge-collapse)で目標面数へ軽量化 — 球1280面→384面(目標厳密)、頂点は球面上・watertight維持・対称Hausdorff 3.3%R。同数までランダム間引くnullは穴792本・Hausdorff 21.3%Rで6.4倍劣る。スキャン/CADの軽量化。
py -3.11 examples_3d/mesh_decimate.py
- メッシュの法線・表面積・平均曲率(接続情報から) — 面/頂点法線・表面積・cotangent平均曲率を面の巻き順とラプラシアンから測る。球(R2.5)で面積誤差0.12%・曲率0.4000(1/R)・法線外向き率1.00。面積null(49.7%誤差)・平面曲率nullを判別的に上回る。
py -3.11 examples_3d/mesh_props.py
- DL実データメッシュの多段LOD間引き(QEM) — DL版Stanford Bunny(6.9万面)をQEMで50/25/10%へ間引き。面数34725→17361→6944と単調減少・Hausdorff/diag<=0.020・Chamfer/diag<=0.0024(1/10面でも平均誤差一定)。同面数ランダムドロップ(0.0034)に平均誤差で勝ち、片側クロップnullはHausdorff0.59=30倍で帯外。未取得時はSKIPしexit0。
py -3.11 examples_3d/mesh_lod_download.py
decimation
- 点群の間引き(voxel grid / farthest-point)で密度を均す — 6万点の密度ムラ点群をvoxel格子(重心集約, カバレッジ0.134<=理論0.260)とFPS(0.097)で間引き。同数のランダム間引き(0.310, 穴あり)を判別的に上回る。LiDAR/深度カメラの前処理でICP・特徴計算を軽くする。
py -3.11 examples_3d/pointcloud_downsampling.py
- ボリューム(3D CT)の間引き — max/mean プールの使い分け — 260^3=1758万ボクセル(Frangi上限超過で拒否)を4倍間引きして上限内へ。既知8欠陥をmaxプールは8/8保持・meanプールは0/8にwashout。微小欠陥検出にはmaxが正しいことを計数で判別的に示す。工業CT/ラミノグラフィの前処理。
py -3.11 examples_3d/volume_downsampling.py
optics
- スネル屈折とフレネル反射(解析GT検証) — match3dの光線光学opを閉じた式で検証。Snell残差1e-16・屈折角一致3.9e-14度、Fresnel垂直入射0.040=解析値・grazing→1・臨界角超で全反射(NaN/None/1.0)。無屈折null(屈折角が平均20.5度ずれ)を判別的に棄却。
py -3.11 examples_3d/snell_refraction.py
rendering
- 点群をそのまま色の絵にする(足跡・深さの順・光の保存を閉じた式で) — points_render: 小数画素の点の像の重心が閉じた式の射影に 1e-3 画素以内、同じ画素の 2 点は入力の順に依らず手前が勝つ、add の像の総和 = 点の色の総和、光軸まわりの 90 度 = numpy.rot90。
py -3.11 examples_3d/points_render_basics.py
- レンダリング品質: アンビエントオクルージョン(接触影・凹部の環境影) — 物体空間AOで半球到達性を[0,1]化。平面に載る球で頂上AO1.00/接触部0.06(高さとSpearman1.00)、溝は深さに単調低下。一様AO=1(null)は凹凸を判別不能。拡散のみのLambertianに乗算し立体感を出す。
py -3.11 examples_3d/render_ao.py
- レンダリング品質: キャスト/ソフトシャドウ(接地影) — shadow mappingで接地影。球を床に載せ解析GTだ円とIoU 0.978。影なし(従来陰影)はIoU 0.00(接地影を全く当てられない)を判別的に上回る。半影は光源角サイズで単調に拡大。
py -3.11 examples_3d/render_shadow.py
- レンダリング品質: matcap/Phong鏡面シェーディング — 拡散のみに鏡面を追加。Phongハイライトのピークが反射方向N=norm(L+V)と0.63px一致。Lambertianの最輝点は反射方向を54px外す(nullを約85倍上回る)。matcapはlit-sphere転写で素材感を持ち込む。
py -3.11 examples_3d/render_shade.py
- レンダリング品質: スーパーサンプリング(SSAA)でジャギー除去 — ss倍レンダ→面積平均縮小。傾き22°エッジでエイリアスエネルギー0.275→0.164(0.59倍)・中間輝度画素0%→0.95%、ss=1..6で単調減少。z-bufferの階段状シルエットを滑らかに。
py -3.11 examples_3d/render_ssaa.py
- レンダリング品質: トーンマップ(HDR→LDR)で白飛び救済 — 鏡面HDR(max5.41)をReinhard/ACESで[0,1]へ。全域Spearman1.00で単調、素朴クリップがハイライト域を1段に潰す(分散0)のに対し順位相関1.0・194段の階調を保持。
py -3.11 examples_3d/render_tonemap.py
- 小惑星イトカワを物理ベースで描く(Hapke 反射則・太陽視直径 0.53° のレイキャスト影・解像度を意識した地形レリーフ) — 実形状モデル(49,152 面、辺長 2.6〜14 m と不均一。間引きなし)を mesh_edge_lengths で測り、mesh_subdivide(target 1.5 m の適応テッセレーション、面積体積不変)→ displacement_band_weights(元データが持つ波長の補集合 = 合成重み)→ mesh_displace_spectrum(3 m@60 m〜0.2 m@1.9 m、頂点ごとに 2×局所辺長で帯域制限)→ terrain_region_mask / mesh_scatter_boulders(shape=’hull’: 角張った凸包、べき則 D^-3.1、30–60 % 埋没、変位後の面に置く)→ render_regolith(Hapke + shadow_raycast + 環境光 0 + bump_normals_fbm の補集合 + exposure=’median’)。縁の明るさ、対向効果、硬い影、辺長ヒストグラム、帯域ゲート、岩の個数/埋没、露出中央値 0.45、AMICA 実画像に対するレリーフコントラストを GT で実測。
py -3.11 examples_3d/itokawa_regolith_hero.py
- レンダリング品質: hero レンダラ render_beauty(全層合成の映える静止3D) — ラスタライズ/Phong鏡面/AO/接地影/SSAA/トーンマップを1本に合成。sphere-on-groundで各層を実測: AOは接触凹部を0.07→0.02と選択的に暗化(露出頂部0.01は不変)、鏡面は小面積ハイライト(frac0.018)、接地影はwith-mesh993px vs null0px、reinhardは単調(clip34段潰しを回避)、SSAAはedge0.040→0.026。sdf_ops生成メッシュでhero画像を出力。
py -3.11 examples_3d/render_beauty.py
- 実解剖骨メッシュ(MyoSuite myo_sim, Apache-2.0)から手骨格 27 個を組み立てて描く — MJCF(include 構成)を stdlib だけで辿り body 木の pos/euler を累積して 27 骨(手根骨 8・中手骨 5・指骨 14、実寸 m)をワールドへ配置。mujoco があれば forward kinematics と突き合わせ(重心誤差 6e-11 m・最近傍頂点 2e-9 m で一致)。指長は中指 123>示指 117.5>薬指 112>小指 99.5 mm と解剖学順。render_beauty で骨質 hero(1280px)。手続きカプセルの手(procedural_hand)との違い=もっともらしさでなく実データの幾何。未取得時は SKIP し exit0。
py -3.11 examples_3d/anatomical_hand.py
- 3-D 図注: レンダリングの上に 3-D アンカーの矢印・引き出し線・スケールバー・座標軸・箱・距離を射影して描く — render_mesh で描いた球+床の絵に annotate3d 族(project/arrow/label/scale_bar/axes/bbox/measure)で図注を載せる。既知カメラの射影が閉形式と 1e-9 で一致、像面平行のバーが f·L/z px、球の裏のアンカーが depth で隠れ判定(破線)されることを GT で確かめる。
py -3.11 examples_3d/annotate3d_figure.py
mesh_processing
- 解像度管理: 粗密を測り、粗い所だけ細分/等方リメッシュし、減らすなら監査つきで(meshres) — UV 球の辺長 p95/p5=5.4(イトカワ実測 2.7)を測り、mesh_split_long_edges(頂点不変)と mesh_isotropic_remesh(5.4→1.7、面積誤差<1%、閉多様体)で揃える。LOD 鎖は各段の幾何誤差と画面誤差 px を返し、mesh_decimate_preserving は細部頂点を厳密固定(誤差 1e-16)で max_error 超は拒否。点群は pc_poisson_disk が孤立点を 1 つも落とさないことを pc_thinning_report で証明。
py -3.11 examples_3d/mesh_resolution_demo.py
スタンドアロン幾何/数学モジュール(関数 API)
1画像パイプラインに乗らない op(2画像・点列・可変引数)。関数として呼ぶ。
imagemorph — imagemorph — 対応点(ランドマーク)駆動の2D画像ワープとモーフ。
warp_piecewise_affine(img, src_pts, dst_pts, order=1) — img の src_pts にある内容を dst_pts へ動かす区分アフィンワープ。
warp_tps_image(img, src_pts, dst_pts, lam=0.0, order=1) — 薄板スプラインで img の src_pts を dst_pts へ動かす滑らかなワープ。
blend(a, b, alpha) — クロスディゾルブ (1-alpha)·a + alpha·b(a,b は同 shape・[0,1])。
morph(imgA, imgB, ptsA, ptsB, alpha, method='affine', lam=0.0, with_corners=True) — 2 枚の画像 A, B を対応点でモーフし、比率 alpha の中間画像を作る。
morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True) — alpha を 0→1 に n 段で振ったモーフ列(A から B へ滑らかに変わる各フレーム)。
add_frame_corners(pts, shape) — 点群に画像の四隅(+辺の中点)を固定点として足す。
fourierdesc — fourierdesc — 閉輪郭の楕円フーリエ記述子(EFD)と複素フーリエ平滑化。
elliptic_fourier(points, n_harmonics=10) — 閉輪郭の楕円フーリエ係数を Kuhl–Giardina 閉形式で求める。
reconstruct(model, n_points=300, n_harmonics=None) — EFD 係数から輪郭を再構成する((M,2))。
normalize(model, size_invariant=True) — EFD 係数を「正準ポーズ」の係数へ変換する(第1高調波を基準に整列)。
invariants(model, scale_invariant=True) — 回転・平行移動・始点・(任意で)スケールに不変な形状記述子((N,2))。
descriptor_distance(m1, m2, n_harmonics=None, scale_invariant=True) — 2 つの形状間の距離(小さいほど似た形)。回転/平行移動/始点/(任意で)スケール不変。
fourier_smooth(points, keep) — 輪郭を複素 FFT で帯域制限して平滑化する。
from_xld(contour, i=0) — XLD 輪郭 dict({"shape", "cs":[Nx2,...]})から i 番目の輪郭を取り出す。
contour_fourier_complex(points, n_harmonics=None, parametrisation='index') — 閉輪郭を複素フーリエ級数の係数にする —— z(t) = Σ c_k exp(2πi k t)。
contour_epicycle_chain(spectrum, phase, order='frequency') — 位相 t における回る振り子の連鎖を返す(pairs)。
contour_fourier_truncation_energy(spectrum, orders=None) — 打ち切り次数ごとの予言される誤差(table)—— パーセバルの厳密式。
imagedraw — imagedraw — 画像配列に直接マーカー/線/円/輪郭を焼き込むラスタ描画op(numpy)。
draw_line(img, p0, p1, color=<from style>, width=<from style>, style=None) — (x,y)=p0 から p1 へ太さ width の直線を描く。
draw_polyline(img, points, color=<from style>, width=<from style>, closed=False, style=None) — 点列 (N,2) を結ぶ折れ線を描く(closed=True で始点に戻る=多角形)。
draw_circle(img, center, radius, color=<from style>, width=<from style>, fill=<from style>, style=None) — 中心 (x,y)・半径 radius の円(fill=True で塗り潰し)。
-
draw_markers(img, points, color=<from style>, size=4, shape='cross', width=<from style>, style=None) — 点列 (N,2) の各点にマーカーを描く。shape=’cross’ |
‘square’ |
‘dot’。 |
draw_contour(img, contour, color=<from style>, width=<from style>, style=None) — XLD 輪郭 {cs:[Nx2 (row,col),...]} または (N,2) 配列を閉じて描く。
new_canvas(shape, color=<from style>, style=None) — 背景色つきの空キャンバスを作る(HALCON の set_draw + 塗り潰しに当たる下地)。
signal1d — signal1d — 点列(1D 信号)の多項式近似・フーリエ変換・ローパス/ハイパス(簡単API)。
poly_fit(x, y, degree) — 点列 (x, y) を次数 degree の多項式で最小二乗近似し、係数を返す(最高次から)。
poly_eval(coef, x) — 多項式係数 coef(最高次から)を点 x で評価する。
fft_spectrum(y, sample_spacing=1.0) — 点列 y の片側振幅スペクトルを返す (freqs, magnitude)。
lowpass(y, cutoff=0.2) — 点列 y をローパス(高周波=ノイズ/細部を落として平滑化)。cutoff=ナイキスト割合。
highpass(y, cutoff=0.2) — 点列 y をハイパス(トレンド=低周波を除き、細部・エッジ・変動だけ残す)。
bandpass(y, low=0.1, high=0.4) — 点列 y のバンドパス(low..high の中間帯だけ通す)。low<high(ナイキスト割合)。
smooth(y, window=5, method='exact') — 移動平均による平滑化(window は奇数の窓幅、端はエッジ複製)。
spline_fit(x, y, smooth=0.0) — 点列 (x, y) を3次スプラインで補間/平滑化し、評価可能な spline object を返す。
spline_eval(spline, x) — spline object を点 x で評価する。
spline_resample(x, y, n, smooth=0.0) — 点列を n 点に等間隔で滑らかに再サンプルし (x_new, y_new) を返す。
spline_curve_fit(points, closed=False, smooth=0.0) — 点列を 弧長パラメトリック3次スプライン で当てはめる(2D 輪郭 / 3D 空間曲線)。
spline_curve_eval(model, t) — 曲線スプライン model をパラメータ t∈[0,1] で評価し (M,D) 点を返す(D=2 or 3)。
spline_curve_resample(points, n, closed=False, smooth=0.0) — 曲線点列を n 点に滑らかに再サンプルして (n,D) を返す(2D/3D、閉曲線はシーム非重複)。
Operators by family(族 → カテゴリ、全 op)
計 3629 ops / 56 families。並びとノートの在り処は docs/ops/INDEX.md と同じ(ノート = docs/ops/<族>/<カテゴリ>/<op>.md)。台帳族の op は fs.ledger.<op> で呼ぶ。
族の一覧: 2d 959 · 3d 376 · fit 3 · math 114 · optics 483 · lightfield 17 · photon 17 · specular 20 · motionmag 9 · quat 19 · rangedoppler 8 · acoustics 27 · interferometry 9 · flyvision 22 · spc 41 · graph 20 · text 3 · residue 5 · vx 10 · drive 717 · tomography 32 · volcolor 11 · reprconv 42 · fileio 14 · cadmap 4 · annotate 51 · gfx2d 44 · multivar 18 · simcal 10 · converge 6 · codematch 6 · aoi 3 · calib 21 · generative 42 · imgmetrics 42 · oned 49 · colortransport 11 · imgforensics 16 · astrostack 14 · videostream 16 · profile 12 · shapestat 16 · measure1d 17 · roughness 9 · shape2d 16 · piv 29 · blob 11 · dem 25 · conngraph 28 · emproof 14 · videocube 6 · live4d 14 · printpath 23 · geocam 9 · llmcore 10 · segmentation 59
2d(959 ops / 49 categories)
1 画像を取り 1 画像/領域/輪郭/特徴を返すパイプライン op(ops.REGISTRY)と、複数画像を取る n-ary op(imgops_nary)。in → out のデータ種で連鎖を組む。HALCON 別名は用途の手掛かり。
2d / 3d(12)
vol_dilate volume → volume — 3D ボリュームのグレースケール膨張。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d, poc_warehouse_flow
vol_dilation_ball volume → volume — 球形構造要素による 3D 二値膨張。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_erode volume → volume — 3D ボリュームのグレースケール侵食。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d, poc_warehouse_flow
vol_erosion_ball volume → volume — 球形構造要素による 3D 二値侵食。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_gaussian volume → volume — 3D ボリュームの等方ガウシアン平滑化。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d, poc_am_thermal_to_ct
vol_median volume → volume — 3D ボリュームのメディアンフィルタ。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_mip volume → image — 最大値投影(Maximum Intensity Projection, MIP)で 3D ボリュームを 2D 画像に潰す。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d, poc_cold_chain_excursion
vol_opening_ball volume → volume — 球形構造要素による 3D 二値オープニング(侵食してから同じ球で膨張)。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d, poc_warehouse_flow
vol_reg_dilate volume → volume — 3D 二値領域の膨張(region ボリュームの膨張)。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_reg_erode volume → volume — 3D 二値領域の侵食(region ボリュームの侵食)。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_slice volume → image — 3D ボリュームから 1 枚の 2D スライスを取り出す。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
vol_threshold volume → volume — 3D ボリュームの大域しきい値処理(2-D の _threshold の 3D 版)。対応する HALCON op は指定されていない。 · 例: gallery2d_physics_alife_3d
2d / arithmetic(10)
abs_image (halcon: abs_image) image → image — 画素値の絶対値を取る(np.abs)。fullseye の image は既に [0,1] 契約 (非負)なので、通常の画像に対しては何も変えない恒等写像として働く。差分 画像など符号つきの中間結果を直接渡したときだけ意味を持つ。HALCON の abs_image(Calculate the absolute value (modulus) of an image.)の代役。 · 例: gallery2d_gray_arith, genspark_external_review
acos_image (halcon: acos_image) image → image — arccos(x) / π で [0,1] を [0,1] に写す逆余弦 LUT。asin_image を 反転させた形(単調減少)で、x=0 で最大(1)、x=1 で最小(0)になる。HALCON の acos_image(Calculate the arccosine of an image.)の代役。 · 例: gallery2d_gray_arith
asin_image (halcon: asin_image) image → image — arcsin(x) / (π/2) で [0,1] を [0,1] に写す逆正弦 LUT。x=0 近傍と x=1 近傍で傾きが急峻になり(定義域端で導関数が発散する)、中間階調を圧縮して 両端のコントラストを強調する効果を持つ。HALCON の asin_image (Calculate the arcsine of an image.)の代役。 · 例: gallery2d_gray_arith
atan_image (halcon: atan_image) image → image — arctan(x) / (π/2) で [0,1] を [0,1] に写す逆正接 LUT。中心付近 (x≈0.5)で傾きが最大、両端に近づくほど傾きが緩やかになる ―― asin_image とは逆に両端でなく中間のコントラストを強調するS字カーブ。HALCON の atan_image(Calculate the arctangent of an image.)の代役。 · 例: gallery2d_gray_arith
cos_image (halcon: cos_image) image → image — (cos(2πx) + 1) / 2 による周期 LUT。sin_image と位相が π/2 ずれた 版で、x=0 で最大(1)、x=0.5 で最小(0)に達してから再び上がる。HALCON の cos_image(Calculate the cosine of an image.)の代役。 · 例: gallery2d_gray_arith
exp_image (halcon: exp_image) image → image — (exp(x) - 1) / (e - 1) という指数写像で [0,1] を [0,1] に写す(x=1 で ちょうど 1 になるよう正規化してある)。低い階調を圧縮し明部を強調する コントラスト強調で、log_image とは逆向きのカーブ。HALCON の exp_image(Calculate the exponentiation of an image.)の代役。 · 例: gallery2d_gray_arith
log_image (halcon: log_image) image → image — log1p(x) / log(2) で [0,1] を [0,1] に写す対数圧縮(x=1 で 1 になる 正規化つき)。明部を圧縮し暗部のディテールを持ち上げる、exp_image と逆の トーンカーブ。HALCON の log_image(Calculate the logarithm of an image.) の代役。 · 例: gallery2d_gray_arith, poc_weld_radiograph_porosity
sin_image (halcon: sin_image) image → image — (sin(2πx) + 1) / 2 で階調を正弦波状に折り返す周期 LUT。x=0 と x=1 で 0.5 に戻り、x=0.25/0.75 付近で 0/1 に達する ―― 単調増加ではなく同じ出力を 複数の入力階調が共有する非可逆変換になる。HALCON の sin_image (Calculate the sine of an image.)の代役。 · 例: gallery2d_gray_arith
sqrt_image (halcon: sqrt_image) image → image — [0,1] に clip した画素値の平方根を取る。暗部を持ち上げるガンマ的な階調 圧縮になる(√x は x=0.25 を 0.5 へ、x=0.04 を 0.2 へ押し上げる)。HALCON の sqrt_image(Calculate the square root of an image.)に相当。 · 例: gallery2d_gray_arith
tan_image (halcon: tan_image) image → image — 画素値の正接(tangent)をとる逐点(pointwise)変換。HALCON の tan_image(画像の正接を計算)に相当するが正規化規約が異なる近似。 · 例: gallery2d_gray_arith
2d / artificial-life(12)
alife_curvature_flow image → image — Mean-curvature motion / level-set smoothing (curve-shortening flow). · 例: gallery2d_physics_alife_3d
alife_cyclic_ca image → image — Cyclic cellular automaton (Fisch-Gravner-Griffeath) -> spiral waves. · 例: gallery2d_physics_alife_3d, sim2real_and_alife
alife_dla image → image — Deterministic diffusion-limited-aggregation (DLA) growth proxy. · 例: gallery2d_physics_alife_3d, sim2real_and_alife
alife_gray_scott image → image — Gray-Scott reaction-diffusion seeded by the image. · 例: gallery2d_physics_alife_3d
alife_langton_ant image → image — Langton’s ant (turmite) walking the thresholded image lattice. · 例: gallery2d_physics_alife_3d
alife_lenia image → image — Lenia continuous cellular automaton (Bert Chan, Complex Systems 2019). · 例: gallery2d_physics_alife_3d
alife_life_step image → image — Life-like totalistic cellular automaton (Conway-family B/S rules). · 例: gallery2d_physics_alife_3d, sim2real_and_alife
alife_perona_malik image → image — Perona-Malik anisotropic (edge-preserving) diffusion. · 例: gallery2d_physics_alife_3d
alife_reaction_bz image → image — Belousov-Zhabotinsky-like excitable medium (Greenberg-Hastings automaton). · 例: gallery2d_physics_alife_3d, sim2real_and_alife
alife_sandpile image → image — Abelian sandpile / self-organised criticality (Bak-Tang-Wiesenfeld 1987). · 例: gallery2d_physics_alife_3d
alife_turing image → image — Gierer-Meinhardt activator-inhibitor system (Turing morphogenesis). · 例: gallery2d_physics_alife_3d, sim2real_and_alife
alife_wolfram1d image → image — Wolfram elementary 1-D cellular automaton, drawn as a spacetime diagram. · 例: gallery2d_physics_alife_3d
2d / artistic(3)
xcv_pencil_sketch image → image — OpenCV の pencilSketch(鉛筆画風レンダリング)。 · 例: gallery2d_color_artistic
xcv_stylization image → image — OpenCV の stylization(絵画風/カートゥーン風のノンフォトリアリスティック・ レンダリング)。 · 例: gallery2d_color_artistic
xpil_emboss image → image — Pillow のエンボス(浮き彫り)フィルタ。PIL.ImageFilter.EMBOSS の固定3x3 カーネルを掛ける(斜め方向の勾配を検出し、平坦部を中間グレーに落とす古典的な NPR フィルタ)。 · 例: gallery2d_color_artistic
2d / augmentation(10)
aug_barrel image → image — Radial lens distortion using the standard polynomial model r_src = r*(1 + k*r^2) on normalised radius r (1 = image corner): BARREL (straight lines bow outwards) when b < 0.5, PINCUSHION when b >= 0.5, with k = 0.6*a (a=0 -> undistorted). The destination grid is inverse-mapped and resampled bilinearly with ndimage.map_coordinates (mode="reflect"), so no pixel is left undefined. Output keeps HxW. · 例: gallery2d_color_artistic, sim2real_and_alife
aug_chromatic image → image — Lateral chromatic aberration proxy for a gray image. True lateral CA magnifies the colour channels differently, so edges gain a coloured fringe; on a single channel the observable signature is a SHIFTED copy of the edge (high-pass) energy superposed on the image. Here the high-pass v - gaussian(v, 1) is shifted by s = 1 + int(4*a) px horizontally and added back with amplitude 0.1 + 0.9*b. Flat regions have zero high-pass, so only edges fringe – exactly the real behaviour. · 例: gallery2d_color_artistic
aug_cutout image → image — Cutout / random-erasing occlusion (DeVries & Taylor 2017; Zhong et al. 2020): a square patch of side max(1, a*min(H,W)) is erased from the image, forcing a pipeline to survive partial occlusion instead of relying on one salient blob. b selects the (deterministic, seeded-from-b) patch position AND the fill value: b <= 0.5 -> black (0.0), b > 0.5 -> mid-gray (0.5). The patch is always fully inside the frame. · 例: gallery2d_color_artistic
aug_fixed_pattern image → image — Fixed-pattern noise (FPN / photo-response non-uniformity). Unlike read noise this pattern is STATIC across frames: a per-column offset plus a per-row offset, each drawn once and held. a sets the amplitude 0.02 + 0.2*a; b selects WHICH fixed pattern (the generator is seeded from b alone, so sweeping a changes only the strength of one pattern). Column FPN dominates (2/3 weight) as it does in CMOS column-parallel ADCs. · 例: gallery2d_color_artistic, sim2real_and_alife
aug_jpeg_blocks image → image — JPEG blocking / ringing artefacts. The image (scaled to 0..255) is cut into 8x8 blocks, each transformed with an orthonormal 2-D DCT-II (scipy.fft.dctn), quantised with the STANDARD JPEG Annex-K luminance table scaled by (1 + 40*a)/16 (a=0 -> near-lossless, a=1 -> heavy quantisation), then reconstructed with the inverse DCT. b shifts the 8x8 block grid phase by int(7*b) px in both axes, i.e. moves where the block seams fall. Images that are not a multiple of 8 are edge-replicate padded and cropped back to HxW (so 4x4 inputs are handled). · 例: gallery2d_color_artistic, poc_prnu_camera_fingerprint, sim2real_and_alife
aug_motion_blur image → image — Linear motion blur: convolution with a normalised LINE (box) kernel, the point-spread function of a constant-velocity camera/scene pan during the exposure. a sets the streak length L = 3 + 20*a px (forced odd and clamped so the kernel never exceeds the image), b sets the streak angle b*180 degrees. Border handling is reflect so the frame edge does not darken. Energy-preserving (kernel sums to 1). · 例: gallery2d_color_artistic
aug_read_noise image → image — Additive Gaussian READ noise (amplifier + ADC noise), sigma-independent of signal (unlike shot noise). sigma = 0.005 + 0.15*a. b mixes in a row-correlated component: a per-row bias of std 0.5*b*sigma shared by the whole row, which is what a shared row amplifier / row-wise ADC produces (visible as horizontal banding). Seeded from (a, b). · 例: gallery2d_color_artistic
aug_rolling_shutter image → image — Rolling-shutter skew. A CMOS rolling shutter exposes rows sequentially, so a scene (or camera) panning horizontally shifts each row by an amount linear in its row index – a pure horizontal shear. a sets the peak shift 0.125*W*a px at either edge (the shear is centred so the middle row is unmoved), b sets the pan direction (b < 0.5 -> shift right with increasing row, otherwise left). Resampled bilinearly with reflecting borders. · 例: gallery2d_color_artistic, sim2real_and_alife
aug_shot_noise image → image — Photon (Poisson) shot noise – the quantum floor of every image sensor. · 例: gallery2d_color_artistic, sim2real_and_alife
aug_vignette image → image — Radial lens vignetting following the natural cos^4 falloff law. With r the normalised distance from the image centre and R = 0.35 + 1.15*b the falloff radius, the transmission is cos(atan(r/R))^4 = 1/(1 + (r/R)^2)^2 – the textbook cos^4 law. a blends it in: out = v * (1 - a + a*falloff), so a=0 is a no-op and a=1 is full vignetting. Centre stays brightest; strictly darkening, never amplifying. · 例: gallery2d_color_artistic, poc_solar_el_inspection, sim2real_and_alife
2d / barcode(1)
decode_barcode (halcon: find_bar_code) image → feature — 中央走査線上の明暗の切り替わり回数を数える簡易バーコード風特徴量。HALCON の find_bar_code(Detect and read bar code symbols in an image.)とは似て非なるもので、シンボル体系の判定やデータのデコードは一切行わない(バー「数」を数えるだけ)。 · 例: gallery2d_physics_alife_3d, poc_barcode_1d
2d / bridge(18)
contour_to_img contour → image — XLD 輪郭をその輪郭自身の座標系に描き戻す —— 43 本の op が作るのに、 画像に落とせる op は 1 本も無かった。 · 例: gallery2d_bridge
counts_to_img counts → image — 非負整数の 1-D カウント列を棒グラフにして画像へ戻す。 · 例: gallery2d_bridge
feature_to_img feature → image — スカラの feature を目盛りつきの帯にして画像へ戻す —— 2-D 台帳で 125 本の op が作るのに、画像に落とせる op が 1 本も無かった sort。 · 例: gallery2d_bridge
img_to_beatcube image → beatcube — 画像の明点を FMCW レーダーの標的(距離 = 列、速度 = 行)として読み、複素ビート立方体 (A,C,S) にする。 · 例: gallery2d_bridge
img_to_cimage image → cimage — 画像を振幅とし、位相を画素値と傾きから与えた複素場 (H,W) complex128 にする。 · 例: gallery2d_bridge
img_to_counts image → counts — 画像の 1 行(または 1 列)を光子の期待値として読み、Poisson 標本の 1-D カウント列にする。 · 例: gallery2d_bridge
img_to_keypoints image → keypoints — 画像の局所極大を像面上の点 (u, v) = (col, row) の (N,2) にする。 · 例: gallery2d_bridge
img_to_lightfield image → lightfield — 画像を前景/背景の 2 層に分け、視差つきの 4-D ライトフィールド (V,U,H,W) にする。 · 例: gallery2d_bridge
img_to_matrix image → matrix — 画像 (H,W) をそのまま H×W の数値行列(sort matrix)として扱う —— 純粋なキャスト。 · 例: gallery2d_bridge
img_to_monogenic image → qimage — 画像の単一スケールのモノジェニック信号(四元数場 (H,W,4)、sort qimage)を作る。 · 例: gallery2d_bridge
img_to_points image → points — 画像を高さ場として読み、(x, y, z) の点群 (N,3) にする。 · 例: gallery2d_bridge
img_to_projection_profile image → signal — 画像を 1 方向へ潰した射影プロファイルを 1-D の signal にする ―― 版面解析の基本量。 · 例: gallery2d_bridge
img_to_rgb image → rgbimage — グレー画像に色相・彩度を与え、(H,W,3) の RGB 画像(sort rgbimage)にする。 · 例: gallery2d_bridge
img_to_signal image → signal — 画像の 1 行(または 1 列)の濃度プロファイルを 1-D の signal にする。 · 例: gallery2d_bridge
img_to_video image → video — 画像を一定速度で平行移動させた T フレームの動画 (T,H,W) にする。 · 例: gallery2d_bridge
img_to_volume image → volume — 画像を高さ場として押し出し、(D,H,W) の体積(z 先頭)にする。 · 例: gallery2d_bridge
matrix_to_img matrix → image — 行列を見るための濃淡にして画像へ戻す —— キャストではない。 · 例: gallery2d_bridge
signal_to_img signal → image — 1-D の signal を折れ線の図にして画像へ戻す —— 「作った列を見る」入口。 · 例: gallery2d_bridge
2d / classification(1)
classify_shape region → feature — 最大の連結領域について円形度(circularity)を計算する形状分類の基礎特徴量。対応する単体の HALCON op は指定されていない。 · 例: gallery2d_features
2d / color(8)
access_channel (halcon: access_channel) color → image — 多チャンネル画像から 1 チャンネルを取り出す。HALCON の access_channel (多チャンネル画像の 1 チャンネルにアクセスする)に相当。 · 例: gallery2d_color_artistic, genspark_external_review, poc_leaf_disease_area, poc_solder_fillet_aoi
cfa_to_rgb (halcon: cfa_to_rgb) image → color — Bayer 配列(CFA: Color Filter Array)から RGB 画像へのデモザイク処理。HALCON の cfa_to_rgb(単板カラーフィルタアレイ画像を RGB 画像に変換する)に近似。 · 例: gallery2d_color_artistic
linear_trans_color (halcon: linear_trans_color) color → color — 3x3 の混合行列でチャンネル間を線形変換する(アフィン色変換)。HALCON の linear_trans_color(多チャンネル画像の色値のアフィン変換を計算する) に相当(本実装はオフセット項なしの純粋な線形変換)。 · 例: gallery2d_color_artistic
principal_comp (halcon: principal_comp) color → color — 3 チャンネルの主成分分析(PCA)を行い、色空間を分散の大きい順に並べ替える。 HALCON の principal_comp(多チャンネル画像の主成分を計算する)に相当。 · 例: gallery2d_color_artistic
rgb1_to_gray (halcon: rgb1_to_gray) color → image — RGB 画像を輝度(グレースケール)に変換する。HALCON の rgb1_to_gray / rgb3_to_gray(RGB 画像をグレースケール画像に変換する)の両方が、 このひとつの実装に割り当てられている。 · 例: gallery2d_color_artistic
rgb3_to_gray (halcon: rgb3_to_gray) color → image — RGB 画像を輝度(グレースケール)に変換する。HALCON の rgb1_to_gray / rgb3_to_gray(RGB 画像をグレースケール画像に変換する)の両方が、 このひとつの実装に割り当てられている。 · 例: gallery2d_color_artistic
trans_from_rgb (halcon: trans_from_rgb) color → color — RGB 画像を別の色空間(HSV / Lab / YUV / XYZ)へ変換する。HALCON の trans_from_rgb(RGB 色空間から任意の色空間への変換)に相当。 · 例: gallery2d_color_artistic, poc_leaf_disease_area, poc_solder_fillet_aoi
trans_to_rgb (halcon: trans_to_rgb) color → color — 色空間から RGB へ戻す逆変換。HALCON の trans_to_rgb(任意の色空間から RGB 色空間への変換)に相当するとされるが、実装は HSV→RGB の 1 方向だけ しか持たない。 · 例: gallery2d_color_artistic
2d / contour(25)
affine_trans_contour_xld (halcon: affine_trans_contour_xld) contour → contour — 輪郭の各点を画像中心を軸に回転(-20°〜+20°、a で決まる)する。 HALCON の affine_trans_contour_xld(Apply an arbitrary affine 2D transformation to XLD contours.)は任意のアフィン行列(平行移動・拡大縮小・ せん断を含む)を取れるが、この代役では純粋な回転のみに単純化している (近似)。 · 例: gallery2d_contour_measure
affine_trans_polygon_xld (halcon: affine_trans_polygon_xld) contour → contour — XLD 輪郭(多角形/曲線の頂点列)にアフィン回転を掛ける。画像中心を基準に角度 -20°+40a で回転させる(せん断・平行移動は行わない、回転のみの部分アフィン)。b は未使用。 · 例: gallery2d_contour_measure
close_contours_xld (halcon: close_contours_xld) contour → contour — 各輪郭の始点を末尾に複製して追加し、開いた折れ線を閉じたループにする (点数 2 以上の輪郭のみ)。HALCON の close_contours_xld(Close an XLD contour.)に相当。 · 例: gallery2d_contour_measure
contour_point_num_xld (halcon: contour_point_num_xld) contour → feature — XLD 輪郭群のうち最も点数の多い輪郭を選び、その頂点数を 500 点で正規化して [0,1] で返す(500 点以上は 1.0 に飽和)。a, b は未使用。輪郭が無ければ 0 を返す。 · 例: gallery2d_contour_measure
contours_to_region (halcon: gen_region_contour_xld) contour → region — XLD 輪郭をラスタ化して region に変換する。HALCON の gen_region_contour_xld(Create a region from an XLD contour.)に相当。 · 例: gallery2d_contour_measure, quickstart
edges_color_sub_pix (halcon: edges_color_sub_pix) color → contour — カラーエッジ上の連結成分を輪郭(contour)として取り出す。HALCON の edges_color_sub_pix(Deriche/Shen/Canny でサブピクセル精度のカラー エッジを抽出する)に相当するとされるが、実装はサブピクセル精度では ない——_edges_color の勾配強度をしきい値二値化し、8 連結の ラベリング(scipy.ndimage.label)でつないだ画素座標をそのまま 輪郭点として返す(座標はすべて整数格子上)。3 画素未満の成分は捨てる。 · 例: gallery2d_contour_measure
edges_sub_pix (halcon: edges_sub_pix) image → contour — サブピクセル精度のエッジ点抽出。勾配とその法線方向(gradient_ normals)を求め、しきい値(0.15+0.5*a)を超える画素を連結成分化した 後、放物線当てはめで各点をサブピクセル位置へ精密化する(subpixel_ refine_edges、ops 側の同名 op と共有する実装 ―― 2026-09-02 修正で 真の意味でサブピクセルになった。旧実装は整数画素座標をそのまま返して いた)。HALCON の edges_sub_pix(Extract sub-pixel precise edges using Deriche, Lanser, Shen, or Canny filters.)に相当。 · 例: gallery2d_contour_measure, quickstart
fit_line_contours (halcon: fit_line_contour_xld) contour → contour — 各 XLD 輪郭を 1 本の直線で近似する。HALCON の fit_line_contour_xld(Approximate XLD contours by line segments.)に相当。 · 例: gallery2d_contour_measure, poc_screw_thread_metrology
gen_contour_region_xld (halcon: gen_contour_region_xld) region → contour — region(画素マスク)の外周を、トレース順(輪郭に沿った順序)を保った XLD 輪郭として抽出する。find_contours(marching squares によるサブピクセル輪郭)で取る。scikit-image が無い環境では MissingDependencyError で止まる(2026-10-25 までは自前の Moore 近傍追跡——画素解像度で点数も座標も違う別の輪郭——に黙って落ちていた。追跡は backends_auto._moore_boundaries を名指しで呼べば使える)。a, b は未使用。 · 例: gallery2d_contour_measure
gen_region_contour_xld (halcon: gen_region_contour_xld) contour → region — 輪郭(点列)を画素グリッドにラスタライズしてから、1+2*a 回だけ 二値膨張して太らせ、連結した領域マスクを作る(細い線のままだと region の {0,1} 契約上「線が繋がって見えない」ことがあるための補強)。HALCON の gen_region_contour_xld(Create a region from an XLD contour.)に相当。 · 例: gallery2d_contour_measure
gen_region_polygon_xld (halcon: gen_region_polygon_xld) contour → region — XLD 輪郭(多角形の頂点列)を region(画素マスク)へ変換する。輪郭点を最近傍画素に打点したのち、1+2a 回の二値膨張(dilation)で線を太らせて連結させる。b は未使用。 · 例: gallery2d_contour_measure
lines_color (halcon: lines_color) color → contour — カラー画像の線(リッジ)を検出する。HALCON の lines_color(カラーの 線とその幅を検出する)に相当するとされるが、線幅は推定しない——輝度 画像上のガウシアン・ラプラシアン応答をしきい値二値化して連結成分を 輪郭として返すだけで、線幅(HALCON 側が返す値)に相当する出力は持たない。 · 例: gallery2d_contour_measure
lines_facet (halcon: lines_facet) image → contour — 線状構造(リッジ)を検出して輪郭(XLD contour)として返す。実装は Frangi フィルタ(skimage.filters.frangi、多スケール σ=1..3 のリッジ強調)で線らしさを求め、閾値 0.1+0.4a を超える連結成分の画素座標をそのまま輪郭点列として出力する。b は未使用。 · 例: gallery2d_contour_measure
lines_gauss (halcon: lines_gauss) image → contour — 線状構造(リッジ)検出。skimage.filters.frangi(血管様のリッジ強調 フィルタ)の応答をしきい値(0.1+0.4*a)で二値化し、連結成分を輪郭点群 として返す。HALCON の lines_gauss(Detect lines and their width.)が 本来行う「線の中心線+幅の推定」ではなく、リッジ強調画像のしきい値化に 単純化している(線幅の情報は返らない近似)。 · 例: example_scratch_width, gallery2d_contour_measure, poc_solar_el_inspection, poc_weld_bead_scan_angle
polar_trans_contour_xld (halcon: polar_trans_contour_xld) contour → contour — 輪郭の各点を画像中心からの極座標(半径・角度)に変換し、疑似的な画素 座標(半径を H or W の大きい方でスケール、角度を [0,1] に写像)へ 詰め直す。HALCON の polar_trans_contour_xld(Transform a contour in an annular arc to polar coordinates.)に相当する簡易な座標変換。 · 例: gallery2d_contour_measure
projective_trans_contour_xld (halcon: projective_trans_contour_xld) contour → contour — 輪郭の各点に、列位置に応じた疑似的な遠近収縮(d = 1 + 0.3*a*(col - 中心)/幅で各点の座標を割る)を適用する。真の 3x3 ホモグラフィ行列による 射影変換ではなく、片方向だけの簡易な縮尺変化で近似している点に注意。 HALCON の projective_trans_contour_xld(Apply a projective transformation to an XLD contour.)の代役。 · 例: gallery2d_contour_measure
select_contours (halcon: select_contours_xld) contour → contour — 点数(長さ)でフィルタして XLD 輪郭を選別する。HALCON の select_contours_xld(Select XLD contours according to several features.)に相当。 · 例: gallery2d_contour_measure, quickstart
select_contours_xld (halcon: select_contours_xld) contour → contour — 既存の輪郭(XLD contour)集合から、点数が閾値(3+40*a)以上のものだけ を残すフィルタ。HALCON の select_contours_xld(Select XLD contours according to several features.)は面積・円形度など任意の特徴で選別できる 汎用演算子だが、この代役では点数(長さの代理指標)による足切り 1 種類に 固定している(近似)。 · 例: gallery2d_contour_measure
select_shape_xld (halcon: select_shape_xld) contour → contour — 点数の少ない XLD 輪郭を足切りするフィルタ。輪郭の頂点数が 3+40a 点未満のものを除去する。b は未使用。 · 例: gallery2d_contour_measure
shape_trans_xld (halcon: shape_trans_xld) contour → contour — 輪郭の凸包(cv2.convexHull)を計算し、輪郭形式のまま返す (shape_trans の輪郭版)。HALCON の shape_trans_xld(Transform the shape of contours or polygons.)が持つ複数の変形モードのうち、凸包 1 種類 のみを実装している(近似)。 · 例: gallery2d_contour_measure
sk_find_contours image → contour — 等高線抽出(marching squares)。グレースケール画像上で指定したレベル値と交差する曲線を辿り、サブピクセル精度の輪郭座標列の集合として返す —— 二値画像の外周だけでなく、連続値の等高線も扱える点が二値輪郭抽出と違う。 · 例: gallery2d_bridge, gallery2d_contour_measure
smooth_contours (halcon: smooth_contours_xld) contour → contour — 移動平均による XLD 輪郭の平滑化。HALCON の smooth_contours_xld(Smooth an XLD contour.)に相当。 · 例: gallery2d_contour_measure
smooth_contours_xld (halcon: smooth_contours_xld) contour → contour — 輪郭の座標列を移動平均(窓幅 2*(1+3*a)+1)で平滑化する。輪郭の ギザギザ(画素境界由来のジグザグ)を滑らかにする。HALCON の smooth_contours_xld(Smooth an XLD contour.)に相当。 · 例: gallery2d_contour_measure
threshold_sub_pix (halcon: threshold_sub_pix) image → contour — マーチングスクエア法(skimage.measure.find_contours)によるレベル クロッシング(等高線)抽出。指定した階調レベル(0.2+0.5*a)を横切る位置を サブピクセル精度で輪郭として返す。HALCON の threshold_sub_pix (Extract level crossings from an image with subpixel accuracy.)に相当。 · 例: gallery2d_contour_measure, poc_peg_insertion_tactile, poc_screw_thread_metrology
zero_crossing_sub_pix (halcon: zero_crossing_sub_pix) image → contour — LoG(ガウス平滑化込みラプラシアン、シグマ 0.5+2*a)のゼロ交差を find_contours でサブピクセル精度の輪郭として抽出する。領域版の zero_crossing(画素解像度)に対するサブピクセル精度版。HALCON の zero_crossing_sub_pix(Extract zero crossings from an image with subpixel accuracy.)に相当。 · 例: gallery2d_contour_measure
2d / decomposition(7)
dc_homomorphic image → image — Homomorphic filter: high-emphasis of log(I) in the Fourier domain -> [0,1]. · 例: gallery2d_texture_freq, poc_document_scan, poc_mri_bias_field
dc_local_contrast_norm image → image — Local contrast normalisation: (I - mean_w) / (std_w + eps), centred at 0.5. · 例: gallery2d_texture_freq
dc_retinex image → image — Single-scale retinex reflectance: log(I) - log(Gauss_sigma(I)) -> [0,1]. · 例: gallery2d_texture_freq, poc_bone_trabecular_thickness
dc_rpca_lowrank image → image — Robust-PCA low-rank (background) part. · 例: blas_thread_budget, gallery2d_texture_freq
dc_rpca_sparse image → image — Robust-PCA sparse (defect / anomaly) residual = input - low-rank, at 0.5. · 例: gallery2d_texture_freq, poc_good_sample_variation_model
dc_structure_texture image → image — Structure / cartoon part of the image (TV-L2, Chambolle). · 例: gallery2d_texture_freq, poc_fiber_orientation
dc_texture_residual image → image — Texture / detail layer = input - structure, centred at 0.5. · 例: gallery2d_texture_freq
deform_ffd image → image — Cubic B-spline free-form deformation (Rueckert et al., IEEE TMI 1999). · 例: gallery2d_geometry
deform_mls image → image — Moving-least-squares image deformation, affine variant (Schaefer 2006). · 例: gallery2d_geometry
deform_tps image → image — Thin-plate-spline warp over a 5x5 control grid (Bookstein, TPAMI 1989). · 例: gallery2d_geometry
2d / domain(2)
it_crop_domain (halcon: crop_domain) image → image — crop_domain: restrict the image domain to the central a window, zeroing every pixel outside it (pixels outside the domain are undefined -> 0). a sets the kept window fraction; b is ignored. · 例: gallery2d_gray_arith
it_full_domain image → image — full_domain: expand the domain of the image to the full rectangle. A plain numpy array already carries a full domain, so this is the identity – the genuine, correct behaviour of full_domain for such images. a/b ignored. · 例: gallery2d_gray_arith
2d / edges(59)
corner_response (halcon: points_harris) image → image — Harris コーナー検出の応答値(コーナーらしさ)を画像として返す。HALCON の points_harris(Detect points of interest using the Harris operator.)に相当。 · 例: gallery2d_edges, poc_document_scan, poc_matrix_code_reading
cv_corner_harris (halcon: points_harris) image → image — Harris コーナー応答(OpenCV 実装)。sk_corner_harris と同じ Harris の考え方だが、勾配計算・平滑化のブロックサイズなどを固定パラメータで計算するOpenCV 版。 · 例: gallery2d_edges
cv_laplacian (halcon: laplace) image → image — ラプラシアンフィルタ(OpenCV 実装)。2 階微分による等方的なエッジ/ブロブ検出で、輪郭のみならず孤立点にも強く反応する(ノイズにも敏感)。 · 例: gallery2d_edges
cv_min_eigen (halcon: points_harris) image → image — 最小固有値によるコーナー強度(Shi-Tomasi 系、OpenCV 実装)。勾配の構造テンソルの 2 つの固有値のうち小さい方を返す —— Harris のような重み付け(k 依存)が無く、より直接的に「良い特徴点」らしさを測る指標(cv_good_features の内部でも使われる基準と同種)。 · 例: gallery2d_edges
cv_precorner (halcon: corner_response) image → image — コーナー候補検出(preCornerDetect、OpenCV 実装)。1 次・2 次微分を組み合わせた特殊な式でコーナーらしさを符号付きスコア化する —— 本来は cv2.cornerSubPix によるサブピクセル精密化の前段候補検出として使う関数。 · 例: gallery2d_edges
cv_scharr (halcon: edges_image) image → image — Scharr 勾配の大きさ(OpenCV 実装)。水平・垂直それぞれの Scharr 微分の絶対値を足し合わせて勾配強度とする —— sk_scharr(skimage 版)と同種のエッジ検出だが、合成方法(平方和のノルムではなく絶対値の和)が異なるため同一結果にはならない。 · 例: gallery2d_edges
derivate_gauss (halcon: derivate_gauss) image → image — ガウス微分(order=(1,0) と (0,1))の勾配強度 hypot を [0,1] に正規化したもの。ガウシアンで平滑化してから微分するので、ノイズに強い エッジ検出器として働く。HALCON の derivate_gauss(Convolve an image with derivatives of the Gaussian.)に相当。 · 例: gallery2d_edges
diff_of_gauss (halcon: diff_of_gauss) image → image — DoG(Difference of Gaussians、2 段階の異なるシグマでぼかした画像の差) によるバンドパスエッジ/ブロブ検出。LoG の高速近似として知られる古典的手法。 HALCON の diff_of_gauss(Approximate the LoG operator (Laplace of Gaussian).)に相当。 · 例: gallery2d_edges
dog (halcon: diff_of_gauss) image → image — 差分ガウシアン(Difference of Gaussians, DoG)。HALCON の diff_of_gauss(Approximate the LoG operator (Laplace of Gaussian).)に相当。 · 例: gallery2d_edges
dots_image (halcon: dots_image) image → image — ガウシアンラプラシアン(Laplacian of Gaussian, LoG)フィルタ。σ = 0.5+2.5a のガウス核でラプラシアンを取り、signed01(符号つき値を [0,1]、0.5=応答ゼロ)で正規化する。b は未使用。円形の点状パターン(ドット)はガウシアンの等方性からくる強い LoG 応答を示すため、円形ドットの強調に使われる。 · 例: gallery2d_edges
edge_transition_width image → image — エッジの遷移幅(= その場の実効 PSF の広がり)を画素単位で測る。 · 例: gallery2d_edges
edges_color (halcon: edges_color) color → image — カラーエッジの強度を検出する。HALCON の edges_color(Canny/Deriche/Shen フィルタでカラーエッジを抽出する)に相当するとされるが、実装はフィルタ 選択式ではなく Di Zenzo のマルチチャンネル勾配法に固定されている。 · 例: gallery2d_edges
-
f2_shock (halcon: shock_filter) image → image — Osher-Rudin shock filter: I_t = -sign(Lap I)* |
grad I |
, morphological form. · 例: gallery2d_edges |
f2_shock_diffuse image → image — Regularised shock filter: diffuse, then shock, repeated (Alvarez-Mazorra). · 例: gallery2d_edges
f2_topographic (halcon: topographic_sketch) image → image — Haralick topographic primal sketch: classify every pixel from its gradient magnitude and the two Hessian eigenvalue signs into peak / pit / ridge / ravine / saddle / flat / hillside and emit the class as a gray code. · 例: gallery2d_edges
frei_amp (halcon: frei_amp) image → image — Frei-Chen 等方性エッジ検出。重み √2 を持つ 2 本のカーネル対から hypot で振幅を求める ―― Sobel より各方向への感度差が小さい(等方的) とされる古典的カーネル。HALCON の frei_amp(Detect edges (amplitude) using the Frei-Chen operator.)に相当。 · 例: gallery2d_edges
frei_dir (halcon: frei_dir) image → image — Frei-Chen 型カーネルによるエッジ方向(角度)マップ。水平カーネル _FREI[0](行/縦方向勾配)と垂直カーネル _FREI[1](列/横方向勾配)への畳み込み応答から arctan2(gy, gx) を計算し、sobel_dir/prewitt_dir と同じ規約で [0,1] に写す(0/1 が -180°、0.5 が 0°)。a, b は未使用。 · 例: gallery2d_edges
grad_dir image → image — 勾配方向(エッジの向き)を画像として返す。対応する HALCON op は指定されていない(fullseye 独自)。 · 例: gallery2d_edges
kirsch_amp (halcon: kirsch_amp) image → image — Kirsch コンパスフィルタの振幅。8 方向に回転させたカーネル群それぞれで 畳み込み、絶対値の最大値を取ることで方向に依らない強いエッジ応答を得る。 HALCON の kirsch_amp(Detect edges (amplitude) using the Kirsch operator.)に相当。 · 例: gallery2d_edges
kirsch_dir (halcon: kirsch_dir) image → image — Kirsch コンパスフィルタで最も強く応答した方向のインデックス(8 方向中の argmax)を [0,1] に正規化して返す。kirsch_amp と対になる方向成分。 HALCON の kirsch_dir(Detect edges (amplitude and direction) using the Kirsch operator.)に相当。 · 例: gallery2d_edges
laplace (halcon: laplace) image → image — ラプラシアン(ndimage.laplace、有限差分による 2 階微分)の絶対値を 正規化したもの。方向性を持たない二階微分エッジ検出で、Sobel 系より高周波 ノイズに敏感。HALCON の laplace(Calculate the Laplace operator by using finite differences.)に相当。 · 例: gallery2d_edges, poc_focus_stacking, poc_search_sweep_width, poc_white_balance
laplace_of_gauss (halcon: laplace_of_gauss) image → image — LoG(Laplacian of Gaussian、ガウス平滑化後にラプラシアンを掛けた 二階微分エッジ検出)。signed01 により符号つき応答を [0,1] へ写像し (0.5 がゼロ交差に相当)、ゼロ交差検出やブロブ検出の下地に使える。HALCON の laplace_of_gauss(LoG-Operator (Laplace of Gaussian).)に相当。 · 例: gallery2d_edges, poc_real_defect_floor
log (halcon: laplace_of_gauss) image → image — ラプラシアン・オブ・ガウシアン(LoG)フィルタ。HALCON の laplace_of_gauss(LoG-Operator (Laplace of Gaussian).)に相当。 · 例: gallery2d_edges, gallery_spectrum_signal_bridge, poc_colormap_readability, poc_datacenter_thermal_field, poc_dehazing, poc_driving_longitudinal, poc_emva1288_in_camera_processing, poc_eye_to_brain, poc_pocket_interreflection, poc_powder_grinding_ae, poc_registration_basin, poc_simcal_pixel_shift, poc_simcal_thin_film, poc_wound_area_tracking, simcal_checks_tour, simcal_tour
points_foerstner (halcon: points_foerstner) image → image — Förstner 演算子によるコーナー強度マップ(skimage.feature. corner_foerstner の重み w とロバスト形状指標 q の積、NaN は 0 に 置換)。誤差楕円の大きさ(w)と円形度(q)を組み合わせて点特徴らしさを評価する。 HALCON の points_foerstner(Detect points of interest using the Förstner operator.)に相当。 · 例: gallery2d_edges
points_harris_binomial (halcon: points_harris_binomial) image → image — 二項(ガウス)平滑化を前段に挟んだ Harris コーナー応答。まず b で 決まるシグマで画像を平滑化し、その上で Harris 応答(skimage があれば corner_harris、無ければ構造テンソルを手計算、k=0.04)を求める。HALCON の points_harris_binomial(Detect points of interest using the binomial approximation of the Harris operator.)に相当。 · 例: gallery2d_edges
prewitt_amp (halcon: prewitt_amp) image → image — Prewitt 勾配の振幅。Sobel と同じ 1 次微分だが重み付けが均一 ([1,1,1])なカーネルを使う ―― Sobel よりノイズにやや弱いが計算は単純。 HALCON の prewitt_amp(Detect edges (amplitude) using the Prewitt operator.)に相当。 · 例: gallery2d_edges, poc_white_balance
prewitt_dir (halcon: prewitt_dir) image → image — Prewitt 勾配の向き。prewitt_amp と対になる方向成分 (arctan2 を [0,1] に写像)。HALCON の prewitt_dir(Detect edges (amplitude and direction) using the Prewitt operator.)に相当。 · 例: gallery2d_edges
prewitt_mag (halcon: prewitt_amp) image → image — Prewitt フィルタによる勾配強度(エッジ検出)。HALCON の prewitt_amp(Detect edges (amplitude) using the Prewitt operator.)に相当。 · 例: find_ops_by_meaning, gallery2d_edges
roberts (halcon: roberts) image → image — Roberts クロス演算子。2x2 の対角差分(左上−右下、右上−左下)から hypot で振幅を求める、最小サイズのエッジ検出カーネル。斜め方向の エッジに敏感だがノイズにも敏感。HALCON の roberts(Detect edges using the Roberts filter.)に相当。 · 例: find_ops_by_meaning, gallery2d_edges, poc_white_balance
roberts_mag (halcon: roberts) image → image — Roberts クロス勾配による勾配強度(エッジ検出)。HALCON の roberts(Detect edges using the Roberts filter.)に相当。 · 例: find_ops_by_meaning, gallery2d_edges
robinson_amp (halcon: robinson_amp) image → image — Robinson コンパスフィルタの振幅。基本カーネル 2 本をそれぞれ 4 回転 させた計 8 本で畳み込み、絶対値の最大を取る(Kirsch と同じ発想の コンパス法)。HALCON の robinson_amp(Detect edges (amplitude) using the Robinson operator.)に相当。 · 例: gallery2d_edges
robinson_dir (halcon: robinson_dir) image → image — Robinson コンパス演算子によるエッジ方向マップ。8 方向(45° ずつ回転させた _ROBINSON[0]/_ROBINSON[1] カーネル計 8 個)それぞれへの畳み込み応答のうち最大のものを選び、そのカーネル番号を 0〜1 に正規化して返す。a, b は未使用。 · 例: gallery2d_edges
sk_corner_harris (halcon: points_harris) image → image — Harris コーナー応答(skimage 実装)。勾配の構造テンソルから、平坦部/エッジ/コーナーを見分ける符号付きスコアを計算する古典的なコーナー検出器。 · 例: gallery2d_edges
sk_dog (halcon: diff_of_gauss) image → image — DoG(Difference of Gaussians、ガウス差分)フィルタ。2 つの異なる σ でぼかした画像の差分を取り、LoG(Laplacian of Gaussian)に近いバンドパス応答(特定の空間周波数帯だけを強調するエッジ/ブロブ検出)を安く得る。 · 例: gallery2d_edges
sk_farid (halcon: edges_image) image → image — Farid-Simoncelli 勾配の大きさ。skimage の filters.farid をそのまま呼ぶ。5 タップの最適化された微分カーネルによる勾配強度で、Sobel/Scharr よりさらに回転対称性(方向誤差)が小さいとされる。 · 例: gallery2d_edges
sk_hessian_det image → image — Hessian 行列式によるブロブ検出応答。2 階微分の行列(Hessian)の行列式は、ブロブ状の構造で正、鞍点状の構造で負になる符号付き応答。 · 例: gallery2d_edges
sk_scharr (halcon: edges_image) image → image — Scharr 勾配の大きさ。skimage の filters.scharr をそのまま呼び、水平/垂直それぞれの Scharr カーネル(3x3)の応答を合成した勾配強度を返す。 · 例: gallery2d_edges
sobel_amp (halcon: sobel_amp) image → image — Sobel 勾配の振幅(hypot(sobel_x, sobel_y) を正規化)。縦横それぞれの 1 次微分カーネルから勾配ベクトルの大きさを求める最も基本的なエッジ検出。 HALCON の sobel_amp(Detect edges (amplitude) using the Sobel operator.)に相当。 · 例: degenerate_inputs, find_ops_by_meaning, gallery2d_edges, genspark_external_review, poc_fiber_orientation, poc_focus_stacking, poc_real_coin_metrology, poc_white_balance
sobel_dir (halcon: sobel_dir) image → image — Sobel 勾配の向き(arctan2(dy, dx) を [0,1] に写像。0=−π, 1=+π)。 振幅を返す sobel_amp と対になる、エッジの走る方向を求める演算。HALCON の sobel_dir(Detect edges (amplitude and direction) using the Sobel operator.)に相当(HALCON は振幅と方向を同時に返すが、ここでは方向のみの 別 op として分離)。 · 例: gallery2d_edges, poc_document_scan, poc_fiber_orientation
sobel_mag (halcon: sobel_amp) image → image — Sobel フィルタによる勾配強度(エッジ検出)。HALCON の sobel_amp(Detect edges (amplitude) using the Sobel operator.)に相当。 · 例: find_ops_by_meaning, gallery2d_edges
tf_phase_congruency image → image — phase_congruency: a simplified monogenic phase-congruency feature map. · 例: gallery2d_edges, poc_iqa_fsim_gmsd_vif
tf_steerable_filter image → image — steerable_filter: oriented first-derivative-of-Gaussian response. · 例: gallery2d_edges
xdog image → image — XDoG(拡張ガウス差分、Winnemoller・Kyprianidis・Olsen 2012)による線画・墨絵調のスタイライズ。 · 例: gallery2d_edges
xkor_dog image → image — DoG(Difference of Gaussians)ブロブ応答。kornia.feature.dog_response_single(無ければ dog_response にフォールバック)を既定パラメータで呼び、絶対値を取って最大絶対値で正規化する。 · 例: gallery2d_edges
xkor_gftt image → image — GFTT(Good Features To Track、Shi-Tomasi)コーナー応答。kornia.feature.gftt_response を既定パラメータで呼び、絶対値を取って最大絶対値で正規化する。 · 例: gallery2d_edges
xkor_harris image → image — Harris コーナー応答。kornia.feature.harris_response を呼び、符号付き応答を signed01 で [0,1] に写像する(コーナーは正、エッジは負に出るHarris 応答の符号情報を保ったまま可視化域に収める)。 · 例: gallery2d_edges
xkor_hessian image → image — ヘシアン行列の行列式 det H = Ixx·Iyy − Ixy² によるブロブ・コーナー応答。kornia.filters.spatial_gradient の 5x5 Sobel 2 階微分カーネルを正規化なし(normalized=False)で掛けて 64 で割り(2 次・3 次の曲面で微分値そのものになる)、端は複製、絶対値を取って最大絶対値で正規化する。 · 例: gallery2d_edges
xkor_laplacian image → image — ラプラシアン(2 階微分)によるエッジ・ブロブ応答。 kornia.filters.laplacian を呼び、絶対値を取ってから最大絶対値で 正規化する。 · 例: gallery2d_edges
xpil_contour image → image — Pillow の輪郭抽出フィルタ。PIL.ImageFilter.CONTOUR の固定カーネルで輪郭線だけを白背景に黒線で残すような効果を作る(ペン画・線画調のエフェクト)。 · 例: gallery2d_edges
xpil_find_edges image → image — Pillow のエッジ検出フィルタ。PIL.ImageFilter.FIND_EDGES の固定カーネル(ラプラシアン系)でエッジを強調する。 · 例: find_ops_by_meaning, gallery2d_edges
xsk2_corner_kr image → image — Kitchen-Rosenfeld コーナー検出応答。skimage.feature.corner_kitchen_rosenfeld を呼び、NaN を 0 に置き換えてから signed01 で符号付き応答を [0,1] に写像する。 · 例: gallery2d_edges
xsk2_inv_gauss_grad image → image — 逆ガウシアン勾配画像(Active Contour / GAC のエッジ停止関数)。skimage.segmentation.inverse_gaussian_gradient を呼ぶ。 · 例: gallery2d_edges
xsk3_corner_fast image → image — FAST コーナー検出(skimage feature.corner_fast)。中心画素の周囲の円周上の画素と比較し、連続して明るい/暗い画素が一定数以上続く場所をコーナーとして検出する高速な手法。結果は最大絶対値で正規化した応答マップ。 · 例: gallery2d_edges
xsk3_corner_moravec image → image — Moravec コーナー検出(skimage feature.corner_moravec)。各画素を中心とした小窓を上下左右斜めにずらしたときの画素値差の最小値をコーナー強度とする、最も古典的なコーナー検出の一つ(Harris/Shi-Tomasi の前身)。結果は最大絶対値で正規化。 · 例: gallery2d_edges
xsk_hessian_eig image → image — ヘッセ行列の最大固有値(絶対値)によるブロブ/リッジ強度。 · 例: gallery2d_edges
xsp_gauss_grad_mag image → image — ガウシアン勾配の大きさ(scipy.ndimage.gaussian_gradient_magnitude)によるエッジ検出。 · 例: find_ops_by_meaning, gallery2d_edges
xsp_morph_laplace image → image — 形態学的ラプラシアン(scipy.ndimage.morphological_laplace)によるエッジ強調。 · 例: gallery2d_edges
xwt_directional_detail image → image — 方向別エッジ検出。1 段の db2 分解から水平(cH)・垂直(cV)・対角(cD)のいずれか 1 つの詳細サブバンドを選び、絶対値を正規化してから元の解像度までブロック拡大(kron で 2x2 複製)して返す。 · 例: gallery2d_edges
xwt_hf_reconstruct image → image — 高周波再構成画像。db2 で 2 段分解し、近似係数(低周波成分)だけを 0 に潰してから逆変換で再構成する —— 結果はハイパスフィルタをかけたような、エッジとテクスチャだけが残る画像になる。再構成後に min-max 正規化する。 · 例: gallery2d_edges
xsitk_closing_by_recon image → image — 再構成によるクロージング(SimpleITK ClosingByReconstruction、xsitk_opening_by_recon の双対)。膨張後の収縮をマスク付き再構成で行い、輪郭を保ったまま小さな暗い窪みだけを埋める。 · 例: gallery2d_color_artistic
xsitk_confidence_connected image → region — 信頼区間連結領域拡張(SimpleITK ConfidenceConnected)。画像中心を種にし、現在の領域内の平均・標準偏差から「平均 ± multiplier * 標準偏差」の区間を作り、それを反復的に更新しながら連結領域を広げていく(xsitk_connected_threshold より統計的な閾値の決め方)。 · 例: gallery2d_color_artistic
xsitk_connected_threshold image → region — 連結閾値領域拡張(SimpleITK ConnectedThreshold、region growing)。画像中心の画素を種(シード)にし、その画素値を中心とした強度区間内で中心と連結している画素だけを領域として拡張する。 · 例: gallery2d_color_artistic
xsitk_curv_aniso_diff image → image — 曲率異方性拡散(SimpleITK CurvatureAnisotropicDiffusion)。Perona-Malik 型の異方性拡散の一種で、エッジ(勾配が大きい場所)では拡散を抑え、平坦な場所ではよく拡散させることでエッジを保ったまま平滑化する。 · 例: gallery2d_color_artistic
xsitk_curvature_flow image → image — 曲率流平滑化(SimpleITK CurvatureFlow)。等高線の曲率に比例した速度で画像をぼかす非線形拡散で、直線的なエッジは保たれやすく、丸まった細部から先に消えていく。 · 例: gallery2d_color_artistic
xsitk_grayscale_fillhole image → image — グレースケール穴埋め(SimpleITK GrayscaleFillhole)。モルフォロジー再構成により、画像の暗い孔(周囲より暗い局所的な窪み)を周囲の明るさまで埋める。二値の穴埋めのグレースケール版で、しみ抜きや欠損補完の前処理に使う。 · 例: gallery2d_color_artistic
xsitk_grayscale_grindpeak image → image — グレースケール山削り(SimpleITK GrayscaleGrindPeak、xsitk_grayscale_fillhole の双対)。モルフォロジー再構成により、周囲より明るい局所的な山(ピーク)を周囲の高さまで削り落とす。ハイライトのスパイク除去に使う。 · 例: gallery2d_color_artistic, poc_weld_radiograph_porosity
xsitk_huang_thresh image → region — Huang のファジィエントロピー法による二値化(SimpleITK HuangThreshold)。ファジィ集合として見た前景/背景のあいまいさ(ファジィエントロピー)が最小になる閾値を選ぶ。 · 例: gallery2d_color_artistic, threshold_family_agreement
xsitk_laplacian_sharpen image → image — ラプラシアン鮮鋭化(SimpleITK LaplacianSharpening)。画像からラプラシアン(2 階微分)を引くことでエッジを強調するアンシャープマスクの一種。結果を min-max 正規化して返す。 · 例: gallery2d_color_artistic
xsitk_maxentropy_thresh image → region — 最大エントロピー法による二値化(SimpleITK MaximumEntropyThreshold、Kapur の方法)。ヒストグラムを前景/背景の 2 クラスに分けたときのエントロピー和が最大になる閾値を選ぶ大域二値化。 · 例: gallery2d_color_artistic, threshold_family_agreement
xsitk_minmax_curv_flow image → image — Min/Max 曲率流平滑化(SimpleITK MinMaxCurvatureFlow)。xsitk_curvature_flow と同じ曲率流に、近傍のミニマム/マキシマムに基づく判定を加えて小さな穴やスペックルノイズを埋めながら平滑化する変種。 · 例: gallery2d_color_artistic, genspark_external_review
xsitk_moments_thresh image → region — モーメント保存法による二値化(SimpleITK MomentsThreshold、Tsai の方法)。二値化後のヒストグラムの統計モーメント(平均・分散など)が元のヒストグラムのものと一致するように閾値を選ぶ。 · 例: gallery2d_color_artistic, threshold_family_agreement
xsitk_opening_by_recon image → image — 再構成によるオープニング(SimpleITK OpeningByReconstruction)。通常のグレースケールオープニング(収縮→膨張)と異なり、収縮後の膨張をマスク付き再構成で行うため、残った領域の輪郭を歪めずに小さな明るい突起だけを除去できる。 · 例: gallery2d_color_artistic
xsitk_signed_maurer_dist region → image — 符号付き距離マップ(SimpleITK SignedMaurerDistanceMap)を tanh で [0,1] に押し込んだもの。二値領域の境界からの距離(内側/外側とも)を、境界付近ほど 0.5 から離れる連続値の画像として表す。 · 例: gallery2d_color_artistic
2d / features(73)
area_center (halcon: area_center) region → match — 領域の面積と重心を (面積 [画素数], 重心の行 [px], 重心の列 [px]) の 3 成分ベクトルで返す。HALCON の area_center(Area and center of regions.)と同じ 3 値・同じ単位。 · 例: example_inner_diameter_mm, gallery2d_features
area_center_xld (halcon: area_center_xld) contour → match — 最大の点数を持つ輪郭 1 本が囲む多角形の面積と重心を (面積 [px²], 重心の行 [px], 重心の列 [px]) の 3 成分ベクトルで返す。HALCON の area_center_xld(Area and center of gravity (centroid) of contours and polygons.)の 4 値のうち、向きの印 PointOrder を除く 3 値。 · 例: gallery2d_features
area_frac (halcon: area_center) region → feature — 領域が占める画素の割合(面積率)を返す特徴量。HALCON の area_center(Area and center of regions.)とは異なり、面積のみを返し重心は計算しない(機能の一部だけの対応)。 · 例: gallery2d_features, shape_factors_closed_form, threshold_family_agreement
area_holes (halcon: area_holes) region → feature — 領域内の穴が占める面積比 (穴埋め後面積 - 元面積) / 穴埋め後面積。 0 に近いほど穴が無く、1 に近いほど大半が穴という極端な形状を示す。HALCON の area_holes(Compute the area of holes of regions.)に相当。 · 例: gallery2d_features
blob_count (halcon: count_obj) region → feature — Number of connected components in the region (HALCON count_obj). · 例: gallery2d_features, poc_real_coin_metrology, quickstart
circularity (halcon: circularity) region → feature — 円形度 min(1, 面積 /(π・max²))。max は重心から輪郭画素までの最大距離 で、円なら 1、細長い形や大きな出っ張り・穴があるほど小さい。連結成分が複数ある 場合は最大面積のものだけを評価する。HALCON の circularity(Shape factor for the circularity (similarity to a circle) of a region.)と同じ式。 · 例: gallery2d_features, poc_cell_counting, poc_particle_sizing, poc_rotation_invariance_audit, shape_factors_closed_form
circularity_xld (halcon: circularity_xld) contour → feature — 最大の輪郭について、シューレース公式の面積 F と、囲まれた面積の重心から 輪郭点までの最大距離 max から min(1, F/(π・max²)) を計算する (領域版 circularity の輪郭版)。HALCON の circularity_xld (Shape factor for the circularity (similarity to a circle) of contours or polygons.)と同じ式。 · 例: gallery2d_features
compactness (halcon: compactness) region → feature — コンパクトさ 周囲長² / (4π・面積)。円で 1、細長い/ぎざぎざ/穴が多いほど 大きくなり、上限は無い。HALCON の compactness(Shape factor for the compactness of a region.)と同じ量。 · 例: gallery2d_features, shape_factors_closed_form
compactness_xld (halcon: compactness_xld) contour → feature — 最大の輪郭についてコンパクトさ max(1, 周囲長²/(4π・面積)) を計算する (compactness の輪郭版)。円で 1、細長い/ぎざぎざなほど大きく、上限は無い。 HALCON の compactness_xld(Shape factor for the compactness of contours or polygons.)と同じ式。 · 例: gallery2d_features
connect_and_holes (halcon: connect_and_holes) region → feature — 領域の連結成分数を数える(8 連結、count_obj と同じ _sh_region_feat の count 分岐)。a, b は未使用。 · 例: gallery2d_features
contlength (halcon: contlength) region → feature — 領域の周囲長 [px] (regionprops の perimeter)。HALCON の contlength(Contour length of a region.)と同じ量・同じ単位。 · 例: gallery2d_features, scale_law_of_features
convexity (halcon: convexity) region → feature — 凸性 面積 / 凸包面積(1 に近いほど凸形状に近い)。skimage. measure.regionprops の area と area_convex の比。HALCON の convexity(Shape factor for the convexity of a region.)に相当。 · 例: gallery2d_features, shape_factors_closed_form
convexity_xld (halcon: convexity_xld) contour → feature — 最大の輪郭について凸性 輪郭の面積 / 凸包の面積 を計算する (cv2.convexHull + cv2.contourArea)。cv2 が無い環境では MissingDependencyError で止まる(2026-10-25 までは常に 1.0 = 完全凸を返していた)。HALCON の convexity_xld (Shape factor for the convexity of contours or polygons.)に相当。 · 例: gallery2d_features
count_channels (halcon: count_channels) color → feature — 画像のチャンネル数を数える。HALCON の count_channels(画像のチャンネル 数を数える)に相当。 · 例: gallery2d_features
count_contours (halcon: count_obj) contour → feature — 輪郭(オブジェクト)の本数を返す特徴量。HALCON の count_obj(Number of objects in a tuple.)に相当。 · 例: gallery2d_features
count_obj (halcon: count_obj) region → feature — 連結成分の個数を数える(ndimage.label、既定 8 連結)。HALCON の count_obj/connection の既定と同じ 8 連結を採用しており、斜めに 接する 2 つの塊は 1 個として数える(4 連結にすると過剰カウントになる例 =セルカウントで実測 342 個 vs 327 個、コード内コメント参照)。HALCON の count_obj(Number of objects in a tuple.)に相当。 · 例: gallery2d_features
cv_cc_count (halcon: connection) region → feature — 連結成分数のカウント(1 スカラー特徴量、OpenCV 実装)。二値領域中の連結成分(前景の塊)の個数を数える —— 背景ラベル分の 1 を引いてから返す。 · 例: gallery2d_features, genspark_external_review
cv_good_features image → feature — Shi-Tomasi 法による高品質コーナー検出(1 スカラー特徴量、OpenCV 実装)。cv_min_eigen と同じ最小固有値基準でコーナーらしさを評価し、非極大抑制と最小距離フィルタで間引いた上位のコーナーを検出する —— ここでは検出できた個数だけを返す(0 個なら 0)。 · 例: gallery2d_features
cv_hough_circles (halcon: hough_circles) image → feature — Hough 変換による円検出(1 スカラー特徴量、OpenCV 実装)。エッジの勾配情報を使う HOUGH_GRADIENT 法で円の中心・半径を投票検出する —— ここでは検出できた円の個数だけを返す(0 個なら 0)。 · 例: gallery2d_features
cv_hough_lines (halcon: hough_lines) image → feature — 確率的 Hough 変換による直線(線分)検出(1 スカラー特徴量、OpenCV 実装)。まず Canny でエッジ画像を作り、そこから直線状に並ぶエッジ画素の集合を投票方式で探して線分として検出する —— ここでは検出できた線分の本数だけを返す(0 本なら 0)。 · 例: gallery2d_features
diameter_region (halcon: diameter_region) region → feature — 領域の直径 [px] = 境界上の 2 点間の最大距離(最大弦)。HALCON の diameter_region(Maximal distance between two boundary points of a region.)と同じ量・同じ単位。 · 例: gallery2d_features
diameter_xld (halcon: diameter_xld) contour → feature — 最大の点数を持つ輪郭の直径 [px] = 輪郭点 2 点間の最大距離(最大弦)。HALCON の diameter_xld(Maximum distance between two contour or polygon points.)と同じ量・同じ単位。 · 例: gallery2d_features
eccentricity (halcon: eccentricity) region → match — 楕円パラメータ由来の 3 つの形状指標 (Anisometry, Bulkiness, StructureFactor) を、match ソートの 3 成分ベクトルで返す(1 スカラーでは 3 値を表せないため、 area_center と同じ形)。 · 例: gallery2d_features, poc_rotation_invariance_audit
eccentricity_xld (halcon: eccentricity_xld) contour → match — eccentricity の輪郭版。最大の輪郭について (Anisometry, Bulkiness, StructureFactor) を match ソートの 3 成分ベクトルで返す。HALCON の eccentricity_xld(Shape features derived from the ellipse parameters of contours or polygons.)と同じ 3 値・同じ式。 · 例: gallery2d_features
effective_bit_depth image → feature — 画像が実際に使っているビット数を推定して [0,1] に写して返す(feature)。 · 例: gallery2d_features
elliptic_axis (halcon: elliptic_axis) region → match — 領域に等価な楕円(equivalent ellipse、慣性モーメントが一致する楕円)の(Ra, Rb, Phi) を match ソートの 3 成分ベクトルで返す —— Ra/Rb は長半径・短半径(画素)、Phi は主軸の角(ラジアン、列軸から反時計回り)。HALCON の elliptic_axis (Calculate the parameters of the equivalent ellipse.)と同じ 3 値。 · 例: gallery2d_features
elliptic_axis_xld (halcon: elliptic_axis_xld) contour → match — 最大の点数を持つ輪郭に楕円を当てはめ(cv2.fitEllipse)、(Ra, Rb, Phi) を match ソートの 3 成分ベクトルで返す —— Ra/Rb は長半径・短半径 [px]、Phi は主軸の角(ラジアン、列軸から反時計回り、-π/2 より大きく π/2 以下)。HALCON の elliptic_axis_xld(Parameters of the equivalent ellipse of contours or polygons.)と同じ 3 値。 · 例: gallery2d_features
entropy_gray (halcon: entropy_gray) image → feature — グレースケール階調の Shannon エントロピー(64 ビンヒストグラムから計算 し、最大値 log2(64)=6 bit で正規化)。階調分布の「ばらつき/情報量」を 表し、一様な画像ほど値は大きく、単一階調に偏るほど 0 に近づく。HALCON の entropy_gray(Determine the entropy and anisotropy of images.)は エントロピーと異方性の組を返すが、この代役ではエントロピーのみを実装 している。 · 例: gallery2d_features
estimate_noise (halcon: estimate_noise) image → feature — 加法性ノイズの標準偏差 σ をロバスト推定する(_noise_sigma: ラプラシアン応答の MAD を正規分布換算し、5 点ラプラシアン核のノイズ利得 sqrt(20) で割る)。エッジ由来の外れ値には鈍く、平坦部のノイズだけを 拾う設計(2026-09-02 に旧実装の「σ が単位を持たず σ≈0.08 以上で 1.0 に 張り付く」不具合を修正済み、詳細は _noise_sigma の docstring)。HALCON の estimate_noise(Estimate the image noise from a single image.)に 相当。 · 例: gallery2d_features, poc_weld_radiograph_porosity
euler_number (halcon: euler_number) region → feature — オイラー数(skimage.measure.euler_number、連結成分数から穴の数を 引いた位相不変量)。値が小さい(負に近い)ほど穴が多いことを示す。HALCON の euler_number(Calculate the Euler number.)に相当。 · 例: gallery2d_features
fractal_dimension image → feature — テクスチャの複雑さを測る Minkowski-Bouligand(ボックスカウント)フラクタル次元。 · 例: gallery2d_features, poc_endless_zoom_and_turning_solids, poc_theorems_as_pictures
get_region_thickness (halcon: get_region_thickness) region → feature — 領域の太さ [px] の近似値 2 × 最大内接円半径(distance_transform_edt の最大値の 2 倍)。 · 例: gallery2d_features, poc_bone_trabecular_thickness
gray_histo_abs (halcon: gray_histo_abs) image → feature — 画像の階調の標準偏差(x.std())を返す。HALCON の gray_histo_abs (Calculate the gray value distribution.)は本来ヒストグラム全体 (各階調のビン度数)を返す演算子だが、この代役ではヒストグラムそのものでは なく分布の広がりを表す標準偏差 1 個のスカラーに要約している(近似 ―― この パイプラインの feature ソートが 1 スカラーである契約上の制約)。 · 例: gallery2d_features
height_width_ratio (halcon: height_width_ratio) region → feature — 軸平行の外接矩形の縦横比 高さ / 幅。上限は無く、縦長なら 1 を超える (160x4 なら 40.0)。HALCON の height_width_ratio(Compute the width, height, and aspect ratio of the surrounding rectangle parallel to the coordinate axes.)が返す 3 値のうち Ratio と同じ量(Height と Width は 画素の長さなので返していない —— docs/KNOWN_ISSUES.md §51)。 · 例: gallery2d_features
hough_circle_trans (halcon: hough_circle_trans) image → image — 円検出のための Hough 変換。エッジマスクに対して半径 4〜19(3 刻み)の 円テンプレート群で skimage.transform.hough_circle を計算し、全半径での 最大応答を [0,1] に正規化して返す。HALCON の hough_circle_trans (Return the Hough-Transform for circles with a given radius.)に相当 (HALCON は半径を明示指定するが、ここでは固定レンジを総当たりする近似)。 · 例: gallery2d_features, poc_real_coin_metrology
hough_line_trans (halcon: hough_line_trans) image → image — 直線検出のための Hough 変換アキュムレータ。まず Sobel 勾配からエッジ マスクを作り、skimage.transform.hough_line でアキュムレータ空間 (角度×距離)を計算、正規化してから入力と同じ画素形状にリサイズして返す (アキュムレータそのものの座標系ではなく画像として可視化する形)。HALCON の hough_line_trans(Produce the Hough transform for lines within regions.)に相当。 · 例: gallery2d_features
intensity (halcon: intensity) image → feature — 画像の平均輝度(x.mean())を返す。HALCON の intensity (Calculate the mean and deviation of gray values.)は平均と標準偏差の 組を返す演算子だが、この代役では平均のみを返す(標準偏差が欲しい場合は gray_histo_abs(標準偏差 std を返す)を併用する)。 · 例: gallery2d_bridge, gallery2d_features, poc_multibeam_bathymetry, poc_patch_anomaly, poc_pocket_interreflection, poc_pxrd_phase_peel, poc_solder_fillet_aoi, poc_video_cube
length_xld (halcon: length_xld) contour → feature — すべての輪郭の線分長(隣接点間のユークリッド距離)を合計した総延長。 複数の輪郭がある場合はまとめて加算する。HALCON の length_xld(Length of contours or polygons.)に相当。 · 例: gallery2d_features
min_max_gray (halcon: min_max_gray) image → feature — 画像の最大階調値のみを返す(x.max())。HALCON の min_max_gray (Determine the minimum and maximum gray values within regions.)は本来 最小値と最大値の両方を返す演算子だが、この代役では最大値のみを実装 しており最小値の情報は失われる(データが欠落した近似 ―― 名前が示す 「min_max」の半分しか計算していない点は正直に明記しておく)。 · 例: gallery2d_features
moments_region_2nd (halcon: moments_region_2nd) region → feature — 正規化中心 2 次モーメントの和の絶対値 |μ20 + μ02|(skimage. measure.moments_normalized 由来)。HALCON の moments_region_2nd (Calculate the geometric moments of regions.)は本来 M20/M02/M11 を それぞれ返すが、この代役では 1 スカラーに単純化するため 2 成分を単純 加算した合成値で近似している(個々の方向成分は失われる)。 · 例: gallery2d_features, scale_law_of_features
moments_region_2nd_invar (halcon: moments_region_2nd_invar) region → feature — Hu の第 1 不変モーメント(skimage.measure.moments_hu の hu[0])の絶対値。回転・スケール・平行移動に対して不変な形状記述子。 HALCON の moments_region_2nd_invar(Geometric moments of regions.) に相当する近似(HALCON 独自の相対不変モーメント定義とは厳密には異なり、 古典的な Hu モーメントで代用している)。 · 例: gallery2d_features, poc_rotation_invariance_audit
moments_region_2nd_rel_invar (halcon: moments_region_2nd_rel_invar) region → feature — Hu の第 3 不変モーメント(hu[2])の絶対値。名前(2nd_rel_invar)と 実装(Hu の 3 番目の不変量)が厳密には対応していない点に注意 ―― HALCON 独自の「2 次相対不変モーメント」ではなく、汎用の Hu 不変モーメント系列 から割り当てただけの近似。HALCON の moments_region_2nd_rel_invar (Geometric moments of regions.)の代役。 · 例: gallery2d_features
moments_region_3rd (halcon: moments_region_3rd) region → feature — 正規化中心 3 次モーメントの和の絶対値 |μ30 + μ03|。 moments_region_2nd の 3 次版で、こちらも複数成分を単純加算した合成値 による近似(個々の方向成分は失われる)。HALCON の moments_region_3rd(Geometric moments of regions.)に相当。 · 例: gallery2d_features, scale_law_of_features
moments_region_3rd_invar (halcon: moments_region_3rd_invar) region → feature — Hu の第 4 不変モーメント(hu[3])の絶対値。moments_region_*_invar 系列の一つとして Hu モーメント配列から順番に割り当てている(HALCON 独自の 定義との厳密な対応はない近似)。HALCON の moments_region_3rd_invar (Geometric moments of regions.)の代役。 · 例: gallery2d_features
moments_region_central (halcon: moments_region_central) region → feature — 正規化中心モーメント(2 次まで)の和の絶対値 |μ20+μ11+μ02|。 HALCON の moments_region_central(Geometric moments of regions.)に 相当する、複数成分を 1 スカラーへ合成した近似。 · 例: gallery2d_features, scale_law_of_features
moments_region_central_invar (halcon: moments_region_central_invar) region → feature — Hu の第 2 不変モーメント(hu[1])の絶対値。HALCON の moments_region_central_invar(Geometric moments of regions.)に相当 する近似(moments_region_2nd_invar が Hu[0] を使うのに対し、こちらは Hu[1] を使う ―― どちらも HALCON 独自の相対不変モーメントの厳密な代用では ない)。 · 例: gallery2d_features, poc_rotation_invariance_audit
moments_xld (halcon: moments_xld) contour → feature — 輪郭の生モーメント(cv2.moments)から (mu20+mu02)/面積² という 単一スカラーを計算する ―― HALCON の moments_xld(Geometric moments M20, M02, and M11 of contours or polygons.)が返す M20/M02/M11 の 3 成分を 1 つに合成した近似(個々の方向成分・M11 は失われる)。 · 例: gallery2d_features
orientation_region (halcon: orientation_region) region → feature — 領域の主軸の向き(regionprops の orientation、[-π/2,π/2] を [0,1] へ線形写像)。楕円フィットした際の長軸の傾きを表す。HALCON の orientation_region(Orientation of a region.)に相当。 · 例: gallery2d_features
orientation_xld (halcon: orientation_xld) contour → feature — 楕円フィットした輪郭の傾き角(cv2.fitEllipse の角度を 180° で 折り返して [0,1] に正規化)。HALCON の orientation_xld(Calculate the orientation of contours or polygons.)に相当。 · 例: gallery2d_features
rectangularity (halcon: rectangularity) region → feature — 矩形度。同じ 1 次・2 次モーメントを持つ矩形を作り、領域との差の面積を その矩形の面積で正規化する(1 - |領域 XOR 矩形| / |矩形|)。矩形なら 1。 HALCON の rectangularity(Shape factor for the rectangularity of a region.)と同じ定義。 · 例: gallery2d_features, shape_factors_closed_form
rectangularity_xld (halcon: rectangularity_xld) contour → feature — 矩形度の輪郭版。輪郭を塗りつぶして、同じ 1 次・2 次モーメントを持つ矩形との 差の面積をその矩形の面積で正規化する。矩形なら 1。HALCON の rectangularity_xld(Shape factor for the rectangularity of contours or polygons.)と同じ定義。 · 例: gallery2d_features
roundness (halcon: roundness) region → feature — 真円度 1 - σ/μ。μ と σ は重心から輪郭画素までの距離の平均と 標準偏差で、距離が一様なほど(= 真円に近いほど)1 に近い。HALCON の roundness(Shape factors from contour.)と同じ式。 · 例: gallery2d_features, shape_factors_closed_form
sk_blur_effect image → feature — ぼけ具合の推定(1 スカラー特徴量)。画像を意図的に少し再ぼかしして、元と再ぼかし後でどれだけエッジの鋭さが変わるかを比較する手法で、0(ぼけ無し)〜1(最大限ぼけている)のスコアを返す —— 参照画像なしでピント/ブレを定量化できる。 · 例: gallery2d_features, poc_real_deblur_honesty
sk_entropy_feat (halcon: entropy_gray) image → feature — 画像全体のシャノンエントロピー(1 スカラー特徴量)。輝度ヒストグラムの分布の広がり・情報量を 1 個の数値で要約する —— 値が高いほど輝度分布が均一に散らばっている(情報量が多い/コントラストが豊富)ことを示す。 · 例: gallery2d_features
sk_euler (halcon: euler_number) region → feature — オイラー数(Euler number)。「連結成分の数 − 穴の数」で定義されるトポロジー的な特徴量で、領域の形そのもの(位置・大きさ)ではなく「繋がり方」だけを表す整数値になる。 · 例: gallery2d_features
total_length (halcon: length_xld) contour → feature — 全 XLD 輪郭の合計弧長を返す特徴量。HALCON の length_xld(Length of contours or polygons.)に相当。 · 例: gallery2d_features, poc_solar_el_inspection
vol_count volume → feature — 3D ボリューム中の連結成分(ブロブ)の個数を返す特徴量。対応する HALCON op は指定されていない。 · 例: gallery2d_features
xcv2_fast_count image → feature — FAST コーナー検出器が検出したキーポイントの個数(cv2.FastFeatureDetector)。 · 例: gallery2d_features
xcv2_lap_var image → feature — ラプラシアン分散によるフォーカス(ボケ)指標(cv2.Laplacian の分散)。 · 例: gallery2d_features, poc_focus_stacking
xcv3_agast_count image → feature — AGAST 特徴点数(OpenCV AGAST 検出器、FAST の適応的木構造版)。検出されたキーポイント数を feature として返す。 · 例: gallery2d_features
xcv3_brisk_count image → feature — BRISK 特徴点数(OpenCV BRISK 検出器)。二値記述子ベースの高速特徴点検出器で検出されたキーポイント数を feature として返す。 · 例: gallery2d_features
xcv3_gray_hu1 image → feature — グレースケール画像の第 1 Hu 不変モーメント(OpenCV cv2.HuMoments(cv2.moments(...))[0,0])。画像を二値形状ではなく濃淡そのものを質量分布とみなしたときの、回転・拡大縮小・平行移動に不変な広がり具合を表す特徴量(2 次の中心モーメントに基づく)。1.0 で頭打ち。 · 例: gallery2d_features
xcv3_lsd_count image → feature — 検出直線分の本数(OpenCV cv2.createLineSegmentDetector による Line Segment Detector、LSD)。画像中から検出された直線セグメントの本数を feature として返す(検出 0 件のとき None が返る実装のため、その場合は 0 として扱う)。 · 例: gallery2d_features
xcv3_sift_count image → feature — SIFT 特徴点数(OpenCV cv2.SIFT_create().detect)。画像から検出されたスケール不変特徴点(SIFT keypoints)の個数を feature として返す —— テクスチャの複雑さ/マッチングに使える特徴点の豊富さの指標になる。 · 例: gallery2d_features
xcv_orb_count image → feature — OpenCV 版 ORB(Oriented FAST and Rotated BRIEF)キーポイント検出数。 · 例: gallery2d_features
xsk3_estimate_sigma image → feature — ノイズ標準偏差の推定(skimage restoration.estimate_sigma、ウェーブレット係数の中央絶対偏差(MAD)に基づく Donoho の推定量)。推定値を 5 倍したのち 1.0 で頭打ちにして feature として返す。 · 例: gallery2d_features
xsk3_is_low_contrast image → feature — 低コントラスト画像判定(skimage exposure.is_low_contrast)。画像の輝度レンジが取りうる全レンジの fraction_threshold 未満しか使っていないかを判定する真偽値を、0.0/1.0 の feature として返す。 · 例: gallery2d_features
xsk_blob_dog image → feature — ブロブ(斑点状構造)の検出数(LoG/DoG/DoH のいずれかで検出)。 · 例: gallery2d_features
xsk_blob_doh image → feature — ブロブ(斑点状構造)の検出数(LoG/DoG/DoH のいずれかで検出)。 · 例: gallery2d_features
xsk_blob_log image → feature — ブロブ(斑点状構造)の検出数(LoG/DoG/DoH のいずれかで検出)。 · 例: gallery2d_features, poc_search_sweep_width
xsk_orb_count image → feature — ORB(Oriented FAST and Rotated BRIEF)キーポイント検出数。 · 例: gallery2d_features
xwt_detail_energy image → feature — ウェーブレット詳細成分のエネルギー比。db2 で 3 段分解し、全詳細係数(各段の水平/垂直/対角)の二乗平均の合計を、それに近似成分の二乗平均を足した全エネルギーで割った値を返す —— 高周波(テクスチャ/ノイズ/エッジ)が画像全体に占める割合の指標で、値域はおおむね [0,1)。 · 例: gallery2d_features
xwt_packet_entropy image → feature — ウェーブレットパケットのエネルギー分散度(Shannon エントロピー)。db1 で深さ 2 のウェーブレットパケット分解を行い、16 個の葉サブバンドそれぞれのエネルギー(係数二乗和)を正規化した分布とみなし、そのシャノンエントロピーを log2(16) で割って [0,1] に正規化する。 · 例: gallery2d_features
2d / filtering(1)
tf_gradient_domain_reintegrate image → image — gradient_domain_reintegrate: threshold the gradient, then Poisson-reintegrate. · 例: gallery2d_smoothing_rank
2d / frequency(19)
bandpass_image (halcon: bandpass_image) image → image — 周波数領域で指定した帯域だけを通すバンドパスフィルタ(低域と高域を 遮断)、逆 FFT で実空間に戻す。highpass_image と同様に零平均の符号つき 応答なので signed01 で [0,1] に写像する。HALCON の bandpass_image (Edge extraction using bandpass filters.)に相当。 · 例: gallery2d_texture_freq
fft_generic (halcon: fft_generic) image → image — 画像のフーリエ変換の振幅スペクトルを対数圧縮して返す(log1p(|F|) を最大値で正規化)。中心が低周波、周辺が高周波成分に対応する(fftshift 済み)。a, b は未使用。 · 例: gallery2d_texture_freq
fft_image (halcon: fft_image) image → image — 2 次元 FFT のパワースペクトルを log1p(|F|) で圧縮し正規化した画像。 低周波(直流)成分が中心にくるよう fftshift 済み。周期的なノイズや テクスチャの空間周波数を可視化するのに使う。HALCON の fft_image (Compute the fast Fourier transform of an image.)に相当。 · 例: degenerate_inputs, gallery2d_texture_freq, poc_moire_screen
fft_image_inv (halcon: fft_image_inv) image → image — 入力画像をそのまま周波数領域の配列とみなして逆 FFT を掛け、実部を signed01 で [0,1] に写す(0.5 がゼロ)。本来 HALCON の fft_image_inv(Compute the inverse fast Fourier transform of an image.)は fft_image が作った複素スペクトル(実部・虚部の組)を戻す 演算だが、この代役はグレー画像 1 枚しか扱えないパイプライン契約のため、 画素値をそのまま(虚部 0 の)複素配列として逆変換する近似になっている (fft_image の出力をそのまま渡しても意味的な往復にはならない点に注意)。 · 例: gallery2d_texture_freq
highpass (halcon: highpass_image) image → image — FFT による高域通過フィルタ(輪郭・高周波成分の抽出)。HALCON の highpass_image(Extract high frequency components from an image.)に相当。 · 例: gallery2d_texture_freq, optics_four_f_processor, signal_filter
highpass_image (halcon: highpass_image) image → image — 周波数領域で低域(半径 <= 0.02+0.3*a)を遮断し、残りを逆 FFT で 実空間に戻したハイパスフィルタ。零平均の符号つき応答になるため signed01 で [0,1] に写像している(0.5 がゼロ、つまり画素の約半分が 0.5 未満になるのが正常)。HALCON の highpass_image(Extract high frequency components from an image.)に相当。 · 例: gallery2d_texture_freq, poc_river_surface_velocity
lowpass image → image — FFT による低域通過フィルタ(ぼかし)。HALCON に対応する単体 op は指定されていない。 · 例: degenerate_inputs, gallery2d_texture_freq, optics_four_f_processor, signal_filter
phase_deg (halcon: phase_deg) image → image — 複素画像の位相角マップ。np.angle(F)(-π〜π)を (angle+π)/(2π) で [0,1] に線形写像する。a, b は未使用。 · 例: gallery2d_texture_freq
phase_rad (halcon: phase_rad) image → image — FFT の位相 angle(F) をラジアンから [0,1] に線形写像したもの(0=−π, 1=+π)。パワースペクトルが失う位相情報(構造の空間的な位置情報の大半を 担う)を可視化する。HALCON の phase_rad(Return the phase of a complex image in radians.)に相当。 · 例: gallery2d_texture_freq
power_byte (halcon: power_byte) image → image — 実装は fft_image と同じ(kind: "fft_power"、log1p パワース ペクトル)。HALCON では power_byte は 8bit 出力用のバイト量子化された パワースペクトルを指すが、この代役では power_real/fft_image と 区別せず同じ処理を返す(近似の限界)。HALCON の power_byte(Return the power spectrum of a complex image.)の代役。 · 例: gallery2d_texture_freq
power_ln (halcon: power_ln) image → image — 複素画像のパワースペクトルの代役。実装は fft_generic と同一で、入力画像に自前で FFT をかけてから振幅の対数 log1p(|F|) を最大値正規化して返す(_sh_freq の fft_power 分岐を共有)。a, b は未使用。 · 例: gallery2d_texture_freq
-
power_real (halcon: power_real) image → image — FFT の実部の絶対値 |Re(F)| を正規化した画像(fft_image の対数 パワースペクトルとは異なり、対数を取らず実部だけを見る)。HALCON の power_real(Return the power spectrum of a complex image.)に相当する 近似(HALCON の本来の定義は |
F |
² のパワーだが、ここでは実部絶対値で代用)。 · 例: gallery2d_texture_freq |
rft_generic (halcon: rft_generic) image → image — 実数フーリエ変換(real FFT, RFFT)の代役。実装は通常の複素 FFT を計算してから実部の絶対値 |Re F| を最大値正規化して返すもので、HALCON の rft_generic が実際に計算する半分サイズの実数専用高速変換(対称性を利用したデータ量削減)ではない。a, b は未使用。 · 例: gallery2d_texture_freq
sk_butterworth image → image — Butterworth フィルタ(周波数領域)。画像を FFT した上で、指定したカットオフ周波数より高い成分だけを通すハイパスフィルタとして働く(既定 high_pass=True のまま呼んでいる)。輪郭やテクスチャの高周波成分を強調する。 · 例: gallery2d_texture_freq
xsk2_radon image → image — ラドン変換によるサイノグラム(投影データ)。 skimage.transform.radon を、画像の長辺に合わせた本数の角度 (0〜180 度、linspace で等間隔)で呼び、結果を元の画像サイズに リサイズしてから最大値で正規化する。 · 例: gallery2d_texture_freq
xsp_dct image → image — 2 次元離散コサイン変換(DCT-II, ortho 正規化)のパワースペクトルを対数圧縮して表示する。 · 例: gallery2d_texture_freq
xsp_dct_lowpass image → image — DCT 係数を低周波の正方ブロックだけ残してから逆変換するローパスフィルタ。 · 例: gallery2d_texture_freq
xwt_mra_component image → image — 多重解像度解析(MRA、pywt.mra2)の 1 段分の詳細成分。db2 で 3 段の MRA 分解を行うと、各段の水平/垂直/対角成分が元画像と同じ解像度の画像として得られる(通常のウェーブレット分解と違い縮小されない)。ここではそのうち 1 段を選び、水平+垂直+対角を足し合わせた合成ディテール画像を min-max 正規化して返す。 · 例: gallery2d_texture_freq
xwt_subband_tile image → image — 1 段ウェーブレット分解(pywt.dwt2、Haar)の 4 サブバンド(近似 cA・水平 cH・垂直 cV・対角 cD)を 2x2 に敷き詰めて 1 枚の画像にし、min-max 正規化したもの。ウェーブレットピラミッド表示そのもの。 · 例: gallery2d_texture_freq
2d / geometry(29)
affine_trans_image (halcon: affine_trans_image) image → image — 回転(-20°〜+20°、a で決まる)とせん断(b で決まる)を組み 合わせた一般的なアフィン変換。中心を基準に ndimage.affine_transform を 適用し、枠外は反射で埋める。HALCON の affine_trans_image(Apply an arbitrary affine 2D transformation to images.)に相当(HALCON は任意の 2x3/3x3 変換行列を直接渡せるが、ここでは回転+せん断の 2 パラメータ化に 限定した近似)。 · 例: gallery2d_geometry, poc_change_detection_misreg
affine_trans_image_size (halcon: affine_trans_image_size) image → image — アフィン変換(回転+シアー)を画像に掛ける。実装は affine_trans_image と同じ _sh_geom の affine 分岐を共有しており、a で回転角を -20°〜+20° に、b でシアー量を振る。枠外は鏡映(reflect)で埋める。 · 例: gallery2d_geometry
affine_trans_region (halcon: affine_trans_region) region → region — 領域にアフィン変換(回転+シアー)を掛ける。affine_trans_image と同じ _sh_geom の affine 分岐で連続値として変換したのち、_rebinarise により 0.5 で二値化し直して {0,1} の領域として返す(幾何変換の補間で生じる中間値を除去するため)。a が回転角(-20°〜+20°)、b がシアー量を振る。 · 例: gallery2d_geometry
affine_warp (halcon: affine_trans_image) image → image — 任意のアフィン変換(回転+せん断)を画像に適用する。HALCON の affine_trans_image(Apply an arbitrary affine 2D transformation to images.)に相当。 · 例: gallery2d_geometry
deskew image → image — 傾きを測って起こす(deskew)。角度をノブで与えるのではなく、画像から推定する。 · 例: gallery2d_geometry
it_add_image_border (halcon: add_image_border) image → image — add_image_border: pad a reflected border of width w around the image and fit the bordered canvas back into the original HxW frame. a sets the border width w = 1 + round(a*6); b is ignored. · 例: gallery2d_geometry
it_change_format (halcon: change_format) image → image — change_format: change the image matrix size to a square of the maximum dimension by cropping/padding at the origin (NO resampling, exactly as HALCON change_format does). A square image is returned unchanged; a non-square image is zero-expanded to the square. a/b are ignored. · 例: gallery2d_geometry
it_crop_part (halcon: crop_part) image → image — crop_part: cut out the central a-fraction of the image and resample it back to HxW – a genuine zoom-in on the centre. b is ignored. · 例: gallery2d_geometry
it_crop_rectangle1 (halcon: crop_rectangle1) image → image — crop_rectangle1: cut out the centred rectangle spanning rows/cols [a .. 1-a] and resample it back to HxW. a=0 is (near) identity; larger a zooms further in. b is ignored. · 例: gallery2d_geometry
mirror_image (halcon: mirror_image) image → image — a の値で 3 通りの鏡映を切り替える(a<0.34: 上下反転、 a<0.67: 左右反転、それ以外: 転置)。連続的な鏡映変換ではなく離散的な モード選択である点に注意。HALCON の mirror_image(Mirror an image.)に 相当(HALCON は上下/左右/対角を明示的なモード引数で選ぶが、ここでは a の値域で疑似的に選ぶ近似)。 · 例: gallery2d_geometry
mirror_region (halcon: mirror_region) region → region — 領域を反転(ミラー)する。a の値で軸を切り替える: a<0.34 で上下反転(flipud)、0.34≤a<0.67 で左右反転(fliplr)、それ以外で転置(対角線反転、x.T)。b は未使用。フリップは値を変えない演算なので _rebinarise は実質何もしない。 · 例: gallery2d_geometry
polar_trans_image (halcon: polar_trans_image) image → image — 直交座標→極座標変換(cv2.warpPolar)。画像中心を極の中心、 min(H,W)/2 を最大半径として、円環状の内容を横長の展開図に変換する。 未マッピングの画素は 0 埋め(dst を事前ゼロクリアしてから、cv2 が返す 戻り値を読む ―― dst バッファ自体を読むと空になることがある実装上の 注意点がコードコメントに詳しい)。HALCON の polar_trans_image (Transform an image to polar coordinates)に相当。 · 例: gallery2d_geometry, poc_allsky_cloud_cover, poc_gear_tooth_metrology
polar_trans_image_ext (halcon: polar_trans_image_ext) image → image — 画像全体を極座標(半径・角度)表現へ変換する(cv2.warpPolar、順方向・線形補間)。中心は画像中心固定、半径の最大値は min(h,w)/2。a, b は未使用(同じ _sh_geom の polar 分岐を polar_trans_image と共有)。 · 例: gallery2d_geometry
polar_trans_image_inv (halcon: polar_trans_image_inv) image → image — 極座標→直交座標への逆変換(cv2.warpPolar + WARP_INVERSE_MAP)。 polar_trans_image の逆写像で、半径 min(H,W)/2 の円盤の外側は 0 で 埋める。2026-09-02 に「cv2 が書かなかった画素が未初期化のまま返る」バグを 修正済み(戻り値でなく渡した dst を読んでいたため実行毎に値が変わって いた ―― 詳細はコード内コメント)。HALCON の polar_trans_image_inv(Transform an image in polar coordinates back to Cartesian coordinates)に相当。 · 例: gallery2d_geometry
polar_trans_region_inv (halcon: polar_trans_region_inv) region → region — 極座標表現を通常の直交座標(デカルト座標)へ逆変換する(cv2.warpPolar の逆写像モード)。中心から半径 min(h,w)/2 の円盤の外側は 0 で埋め、_rebinarise により 0.5 しきい値で二値領域に戻す。a, b は未使用(polar_trans_image_inv と同じ _sh_geom の polar_inv 分岐を共有)。 · 例: gallery2d_geometry
projective_trans_image (halcon: projective_trans_image) image → image — 透視(射影)変換(cv2.warpPerspective)。4 隅のうち上 2 隅を d=0.06+0.12*a の比率で内側に寄せることで台形(パースがかかった)歪みを 作る。枠外は反射で埋める。HALCON の projective_trans_image(Apply a projective transformation to an image.)に相当(HALCON は任意のホモグラフィ 行列を渡せるが、ここでは台形歪み 1 パターンに限定した近似)。 · 例: gallery2d_geometry, poc_water_level
projective_trans_image_size (halcon: projective_trans_image_size) image → image — 実装は projective_trans_image と同一(kind: "projective")。 名前は出力サイズを指定できることを示唆するが、このバックエンドでは 出力キャンバスサイズは変更されず、projective_trans_image と全く同じ 台形歪みを返す(近似の限界、サイズ変更機能は再現されていない)。HALCON の projective_trans_image_size(Apply a projective transformation to an image and specify the output image size.)の代役。 · 例: gallery2d_geometry
projective_trans_region (halcon: projective_trans_region) region → region — projective_trans_image と同じ台形歪みを領域(2 値マスク)に適用する。 out_sort が region のため build() が _rebinarise で包み、 補間で生じた小数値を >0.5 で二値に戻してから返す(領域の {0,1} 契約を 壊さないための後処理)。HALCON の projective_trans_region(Apply a projective transformation to a region.)に相当。 · 例: gallery2d_geometry
rescale_img (halcon: zoom_image_factor) image → image — Isotropic centre-preserving rescale by s = 0.7 + 0.6·a, canvas kept. · 例: gallery2d_geometry
rotate_image (halcon: rotate_image) image → image — 画像を中心を軸に -45°〜+45°(a で決まる)回転する (scipy.ndimage.rotate、reshape=False でキャンバスサイズを維持)。 枠外にはみ出す部分は反射(mode="reflect")で埋めるため、四隅には元画像が 折り返して写り込む(帳票の傾き補正のように「枠外を背景色で埋めたい」用途 にはそのままでは向かない、既知の設計上の制約)。HALCON の rotate_image(Rotate an image about its center.)に相当。 · 例: gallery2d_geometry
rotate_img (halcon: rotate_image) image → image — Rotate about the image centre by -45° + 90°·a (a=0.5 → 0°). b unused. · 例: gallery2d_geometry
sk_swirl (halcon: polar_trans_image) image → image — 渦巻き変形(swirl warp)。画像中心の周りで、中心に近いほど大きく回転させる非線形な幾何変換 —— 極座標変換を応用した歪みエフェクト。 · 例: gallery2d_geometry
tf_log_polar image → image — log_polar: resample the image on a log-polar grid about its centre. · 例: gallery2d_geometry
transpose_region (halcon: transpose_region) region → region — 領域(2 値マスク)を転置する(x.T、対角線に関する鏡映=行と列の 入れ替え)。カテゴリは geometry だが in/out は region。幾何変換の一種 として _sh_geom で実装されているが、転置は補間を伴わないため build() の _rebinarise を通しても値は変化しない(すでに {0,1} の まま)。HALCON の transpose_region(Reflect a region about a point.)に 相当(HALCON の「点に関する反転」とは厳密には別の変換で、行列の転置= 対角線に関する反転という近似)。 · 例: gallery2d_geometry
xcv2_warp_logpolar image → image — 対数極座標変換(ログポーラー変換)で画像を (半径, 角度) 平面に写像する。 · 例: gallery2d_geometry
xpil_offset image → image — 画像をトロイダル(周回・wrap-around)にシフトする。PIL.ImageChops.offset を呼ぶ——画面端からはみ出た画素が反対側の端に現れる循環シフトで、通常の平行移動と違って画像端が黒くならない。 · 例: gallery2d_geometry
zoom_image_factor (halcon: zoom_image_factor) image → image — 高さ方向・幅方向で独立な倍率(0.7+0.6*a, 0.7+0.6*b)を持つ等方 でないズーム。中心を基準にアフィン変換で拡大縮小し、キャンバスサイズは 変えない(はみ出す/余る部分は反射で埋める)。HALCON の zoom_image_factor(Zoom an image by a given factor.)に相当し、 HALCON と同じく 2 つの倍率(ScaleHeight/ScaleWidth)を取る。 · 例: gallery2d_geometry, poc_pv_thermal_survey
zoom_image_size (halcon: zoom_image_size) image → image — 目標サイズ(高さ H*(0.5+a)、幅 W*(0.5+b))へリサンプルする ズーム。zoom_image_factor が倍率を 2 つ取るのに対し、こちらはサイズ そのものを縦横独立に指定する ―― HALCON の意味論としては別物。ただし このパイプラインの image は「入力と同じキャンバスサイズで返る」契約 なので、リサンプル結果は元の解像度のキャンバス左上に置き、余白は 0、 はみ出す分は切り捨てる(実際に画像が縮小/拡大されたことは見た目で分かる が、配列の shape 自体は変わらない)。HALCON の zoom_image_size (Zoom an image to a given size.)に相当。 · 例: gallery2d_geometry
zoom_region (halcon: zoom_region) region → region — 領域を等方(縦横同倍率)にズームする。倍率 s = 0.7+0.6a(0.7〜1.3 倍)で中心基準に拡大縮小し、境界外は鏡映(reflect)で埋めたのち _rebinarise で 0.5 しきい値により二値領域に戻す。b は未使用。 · 例: gallery2d_geometry
2d / gray(48)
banding_map image → image — 階調の段差(バンディング)が見えている場所を返す。a がビット数、b が窓。 · 例: gallery2d_gray_arith
bit_not (halcon: bit_not) image → image — 階調の反転(ネガポジ反転)。実装は 1 - x([0,1] の連続値としての反転)で、a, b は未使用。 · 例: gallery2d_gray_arith
clahe image → image — Contrast-Limited Adaptive Histogram Equalization (tiled, bilinearly blended). · 例: gallery2d_gray_arith, poc_dehazing
companding_mu_law image → image — μ 則の圧伸(compand = compress + expand)。a が μ、b がビット数。 · 例: gallery2d_gray_arith
cv_clahe image → image — CLAHE(コントラスト制限付き適応ヒストグラム均等化、OpenCV 実装)。sk_adapthist と同じ考え方の局所コントラスト強調だが、OpenCV の実装・タイル分割方式を使う。 · 例: gallery2d_gray_arith
cv_trunc (halcon: scale_image) image → image — 階調の上側切り詰め(THRESH_TRUNC、OpenCV 実装)。指定値より明るい画素はすべてその値に丸め、それ以下の画素はそのまま —— ハイライトだけを潰す階調操作(暗部には触れない)。 · 例: gallery2d_gray_arith
dither_floyd_steinberg image → image — 誤差拡散ディザ(Floyd–Steinberg)。a がビット数 1〜8、b は未使用。 · 例: gallery2d_gray_arith
dither_ordered image → image — 順序ディザ(Bayer 行列)で量子化する。a がビット数 1〜8、b が行列の大きさ。 · 例: gallery2d_gray_arith
equ_histo_image (halcon: equ_histo_image) image → image — 画像全体のヒストグラム平坦化(累積分布関数によるトーンカーブ生成、256 ビン)。暗部・明部に偏った階調分布を均して見かけのコントラストを上げる古典的 な手法。HALCON の equ_histo_image(Histogram linearization of images) に相当。 · 例: gallery2d_gray_arith
equ_histo_image_rect (halcon: equ_histo_image_rect) image → image — ブロック単位のヒストグラム平坦化。画像を nb x nb(nb=2+4*a) 個のブロックに分割し、各ブロックごとに独立して(64 ビンの)ヒストグラム 平坦化を行う ―― 局所的な照明ムラに対して equ_histo_image(画像全体を 一括処理)より頑健だが、ブロック境界に段差(ブロックアーティファクト)が 出ることがある。HALCON の equ_histo_image_rect(Histogram linearization within a rectangluar mask.)に相当。 · 例: gallery2d_gray_arith
equalize (halcon: equ_histo_image) image → image — ヒストグラム均等化(線形化)。HALCON の equ_histo_image(Histogram linearization of images)に相当。 · 例: gallery2d_gray_arith, poc_dehazing
f2_bit_slice (halcon: bit_slice) image → image — Extract one bit-plane after 8-bit quantisation. Normalised a in 0..1 selects plane round(7*a) (0 = LSB, 1 = MSB); b is ignored. Returns {0,1}. · 例: gallery2d_gray_arith
f2_expand_domain (halcon: expand_domain_gray) image → image — Expand the domain of the image (the non-zero region) outward by a margin and set the new pixels to the nearest existing gray value. a sets the margin width (1..7 px); b is ignored. · 例: gallery2d_gray_arith
f2_lut_trans (halcon: lut_trans) image → image — Transform the image through a monotone (gamma-free) gray-value look-up table. The 256-entry table is a contrast sigmoid whose gain is set by a and pivot by b, endpoint-normalised to span [0,1]; the image is then a genuine table lookup on its 8-bit-quantised value. · 例: gallery2d_gray_arith
gamma (halcon: pow_image) image → image — ガンマ補正(べき乗変換)。HALCON の pow_image(Raise an image to a power.)に相当。 · 例: gallery2d_gray_arith, poc_itof_multifreq, poc_simcal_thin_film
gamma_image (halcon: gamma_image) image → image — ガンマ補正 x ** (0.3 + 2.5*a)。a が 0 に近いほど指数は 0.3 に 近づき暗部を持ち上げ、a が 1 に近いほど指数は 2.8 に近づき暗部を潰して コントラストを強める。HALCON の gamma_image(Perform a gamma encoding or decoding of an image.)の代役。 · 例: gallery2d_gray_arith
illuminate (halcon: illuminate) image → image — アンシャープマスク型の局所コントラスト強調。sm = ガウシアンぼかし (半径 3+12*a)を引いた差分 x - sm を元画像に足し戻すことで、 低周波の照明ムラを残しつつ局所的なエッジ・テクスチャを持ち上げる。HALCON の illuminate(Illuminate image.)の代役。 · 例: gallery2d_gray_arith, poc_document_scan, poc_matrix_code_reading
invert (halcon: invert_image) image → image — 階調反転(ネガポジ反転)。HALCON の invert_image(Invert an image.)に相当。 · 例: gallery2d_gray_arith, genspark_external_review, poc_tacscalib_sphere_lut
invert_image (halcon: invert_image) image → image — 階調を反転する 1.0 - x(ネガポジ反転)。HALCON の invert_image (Invert an image.)にそのまま対応する、近似ではなく厳密に等価な演算。 · 例: gallery2d_gray_arith, poc_metal_grain_size
it_bit_lshift (halcon: bit_lshift) image → image — bit_lshift: 8-bit quantise, left-shift every pixel by round(a*7), mask to 8 bits (wrap-around, as HALCON does), and map back to [0,1]. b ignored. · 例: gallery2d_gray_arith
it_bit_mask (halcon: bit_mask) image → image — bit_mask: logical AND of the 8-bit image with the constant bit mask round(a*255). b is ignored. · 例: gallery2d_gray_arith
it_bit_rshift (halcon: bit_rshift) image → image — bit_rshift: 8-bit quantise then right-shift every pixel by round(a*7) (an integer divide by 2**shift -> a coarser, darker image). b ignored. · 例: gallery2d_gray_arith
it_convert_image_type (halcon: convert_image_type) image → image — convert_image_type: model a conversion to a lower-precision pixel type by quantising to L = round(2 + a*254) evenly spaced levels (bit-depth reduction). b is ignored. · 例: gallery2d_gray_arith
monotony (halcon: monotony) image → image — 画素値がその 8 近傍の中で何番目に大きいか(単調性、monotony)を [0,1] で返す。中心より小さい近傍の数を数えて 8 で割るので、値 1.0 は中心が近傍全てより大きい局所最大、0.0 は局所最小に近いことを示す。a, b は未使用。 · 例: gallery2d_gray_arith
pow_image (halcon: pow_image) image → image — 実装は gamma_image とまったく同じ関数(_sh_lut の kind: "gamma" 分岐)を指す。つまり pow_image と gamma_image は このバックエンド上では計算結果が一致する ―― HALCON では別の演算子(指数を 明示的に指定する pow_image と符号化/復号を意図した gamma_image) だが、ここでは代役の実体が重複している(近似の限界として明記)。 · 例: gallery2d_gray_arith
quantization_error image → image — 量子化で失われた量 |x - Q(x)| を Δ/2 で割って [0,1] にした地図。 · 例: gallery2d_gray_arith
quantize_lloyd_max image → image — 入力の分布に合わせた最適な量子化(Lloyd–Max、1-D の k-means)。 · 例: gallery2d_gray_arith
quantize_uniform image → image — 一様量子化器(丸め)。a がビット数 1〜8、b は未使用。 · 例: gallery2d_gray_arith
scale_clip (halcon: scale_image) image → image — ゲインとオフセットによる線形階調変換。HALCON の scale_image(Scale the gray values of an image.)に相当。 · 例: gallery2d_gray_arith
scale_image (halcon: scale_image) image → image — 線形の階調スケーリング clip((0.5 + 1.5*a) * x + (b - 0.5), 0, 1)。 傾き(コントラスト)とオフセット(明るさ)を同時に動かすリニア LUT で、 はみ出した値は [0,1] にクリップされる。HALCON の scale_image(Scale the gray values of an image.)に相当。 · 例: gallery2d_gray_arith
scale_image_max (halcon: scale_image_max) image → image — 画像の最小値〜最大値を [0,1] いっぱいに引き伸ばす min-max 正規化 ((x - min) / (max - min)、定数画像なら無変更)。HALCON の scale_image_max(Maximum gray value spreading in the value range 0 to 255.)に相当(値域は 0〜255 ではなく [0,1] 契約)。 · 例: gallery2d_gray_arith
sigmoid (halcon: scale_image_max) image → image — ロジスティック関数(シグモイド)による S 字型のコントラスト強調。HALCON の scale_image_max(Maximum gray value spreading in the value range 0 to 255.)に対応付けられているが、ダイナミックレンジを最大まで引き伸ばす scale_image_max とは処理内容が異なる(近似というより別物に近い)。 · 例: gallery2d_gray_arith, gallery_drive_world_io
sk_adapthist image → image — CLAHE(Contrast Limited Adaptive Histogram Equalization、コントラスト制限付き適応ヒストグラム均等化)。画像を小領域に分けて局所的にヒストグラムを均等化し、明暗差の大きい画像でも局所コントラストを底上げする。 · 例: gallery2d_gray_arith
sk_adjust_log (halcon: log_image) image → image — 対数階調変換(log transform)。out = gain * log(1 + in) 型の対数カーブで暗部を持ち上げる階調補正 —— ガンマ補正と似た用途だが、暗部だけをより強く持ち上げる非線形カーブになる。 · 例: gallery2d_gray_arith
sk_autolevel (halcon: scale_image_max) image → image — 局所オートレベル。各画素周辺の局所ヒストグラムの最小〜最大値を 0〜255 いっぱいに引き伸ばす —— グローバルな階調ではなく場所ごとにコントラストを最大化する適応的なレベル補正。 · 例: gallery2d_gray_arith
sk_enhance_contrast image → image — 局所コントラスト強調。各画素を、局所近傍の最大値と最小値のどちらに近いかで判定し、近い方の値へ置き換える —— 中間的な値を持つ画素が両極端に押し出され、見かけ上のコントラストが上がる(2 値化に近い効果が出ることもある)。 · 例: gallery2d_gray_arith
xcv_detail_enhance image → image — OpenCV の detailEnhance(細部強調)。 · 例: gallery2d_gray_arith
xkor_clahe image → image — CLAHE(コントラスト制限適応ヒストグラム均等化)。 kornia.enhance.equalize_clahe を呼ぶ。 · 例: gallery2d_gray_arith
xpil_autocontrast image → image — オートコントラスト(ヒストグラムの両端を切ってフルレンジに引き伸ばす)。PIL.ImageOps.autocontrast を呼ぶ。 · 例: gallery2d_gray_arith
xpil_contrast image → image — コントラスト調整(画像の平均輝度を軸にした線形伸縮)。PIL.ImageEnhance.Contrast を呼ぶ。 · 例: gallery2d_gray_arith
xpil_detail image → image — Pillow のディテール強調フィルタ。PIL.ImageFilter.DETAIL の固定カーネルで細部のコントラストを持ち上げる(シャープ化に近いが、エッジよりテクスチャ側を強調する係数)。 · 例: gallery2d_gray_arith
xpil_edge_enhance image → image — Pillow のエッジ強調フィルタ(強め)。PIL.ImageFilter.EDGE_ENHANCE_MOREの固定カーネルでエッジ付近のコントラストを持ち上げる(EDGE_ENHANCE より強い版)。 · 例: gallery2d_gray_arith
xpil_posterize image → image — ポスタリゼーション(階調数の削減)。PIL.ImageOps.posterize を呼び、各チャンネルの有効ビット数を減らして色数を落とす。 · 例: gallery2d_gray_arith
xpil_solarize image → image — ソラリゼーション(フィルム現像の中間反転効果)。PIL.ImageOps.solarizeを呼び、しきい値を超える画素値を反転する。 · 例: gallery2d_gray_arith
xsk3_integral_image image → image — 積分画像(summed-area table、skimage transform.integral_image)。原点から各画素までの累積和を格納した画像で、任意矩形領域の合計をたった 4 点の参照で計算できるようにする、Haar 特徴量や矩形フィルタの高速化に使う古典的な下ごしらえ。最大値で正規化して表示用に潰している。 · 例: gallery2d_gray_arith
xsk3_rank_equalize image → image — 局所ヒストグラム均等化(skimage filters.rank.equalize)。円盤近傍ごとにヒストグラム均等化を行う適応的コントラスト強調で、大域的な equalize op より局所的な明暗ムラに強い。 · 例: gallery2d_gray_arith
xsk3_rank_subtract_mean image → image — 局所平均差分(skimage filters.rank.subtract_mean)。各画素からその円盤近傍の平均輝度を引いた差分を返す。skimage の実装はアンダーフロー防止のため差分を 1/2 に縮小しレンジ中央へシフトする仕様になっている。大域的な明暗ムラを打ち消しローカルコントラストを強調する。 · 例: gallery2d_gray_arith
xsp_detrend_flatten image → image — 画像全体の一次トレンド(傾き)を縦横それぞれ除去してから正規化するフラット化フィルタ。 · 例: gallery2d_gray_arith
2d / halcon_ext(81)
hx_add_noise_contour (halcon: add_noise_white_contour_xld) contour → contour — contour 点に白色ガウス雑音を付加(std は a、固定 seed で決定的)。 · 例: gallery2d_halcon_ext
hx_char_threshold (halcon: char_threshold) image → region — 暗い文字を明るい背景から抽出(region): thresh = mean - k*std(k は a)で下側を選ぶ。 · 例: gallery2d_halcon_ext
hx_clip_contours (halcon: clip_contours_xld) contour → contour — contour を画像ドメイン(中央 margin a/b を残す矩形)にクリップ(範囲外点を除去)。 · 例: gallery2d_halcon_ext
hx_clip_end_points (halcon: clip_end_points_contours_xld) contour → contour — 各 contour の端点を k 個ずつ切り落とす(k は a)。 · 例: gallery2d_halcon_ext
hx_clip_region_rel (halcon: clip_region_rel) region → region — region をその外接矩形に対し相対的にクリップ(各辺から a の割合を削る)。 · 例: gallery2d_halcon_ext
hx_close_edges (halcon: close_edges) image → image — エッジ振幅画像の隙間を閉じる: しきい値 a で二値化 → morphological closing(半径 b)。 · 例: gallery2d_halcon_ext, poc_metal_grain_size
hx_close_edges_length (halcon: close_edges_length) image → image — close_edges に加え、長さ(画素数)が閾値未満の短いエッジ断片を除去する。 · 例: gallery2d_halcon_ext
hx_closing (halcon: closing) region → region — 円板構造要素で region をクロージング(膨張→収縮)する。HALCON の closing(region をクローズする)に相当。 · 例: gallery2d_halcon_ext
hx_cooc_feature (halcon: cooc_feature_image) image → feature — 量子化して距離 d の水平共起行列を作り、Haralick contrast を返す(a=距離, b は角度選択)。 · 例: gallery2d_halcon_ext
hx_crop_contours (halcon: crop_contours_xld) contour → contour — contour を中央の a×b 割合の矩形に crop(範囲内の点のみ残す)。 · 例: gallery2d_halcon_ext
hx_detect_edge_segments (halcon: detect_edge_segments) image → region — 直線的なエッジ断片を検出: NMS で細線化 → 連結成分のうち PCA で細長い(直線状)ものを残す。 · 例: find_ops_by_meaning, gallery2d_halcon_ext
hx_dilation1 (halcon: dilation1) region → region — 円板構造要素で region を膨張(dilation)する。HALCON の dilation1 (region を膨張する)に相当。 · 例: gallery2d_halcon_ext
hx_dilation2 (halcon: dilation2) region → region — 参照点つき dilation: 膨張後に参照点オフセット(b で並進)。 · 例: gallery2d_halcon_ext
hx_disparity_to_xyz (halcon: disparity_image_to_xyz) image → image — 視差画像から深度 Z = f*baseline/disparity を計算(焦点/基線は a,b で可変)。正規化 Z。 · 例: gallery2d_halcon_ext
hx_dist_ellipse_contour (halcon: dist_ellipse_contour_xld) contour → feature — contour 点の当てはめ楕円境界からの平均距離を返す(小=楕円に近い、feature)。 · 例: gallery2d_halcon_ext
hx_dist_ellipse_points (halcon: dist_ellipse_contour_points_xld) contour → feature — contour 各点の当てはめ楕円境界からの最大距離を返す(点別 distance の集約=max、feature)。 · 例: gallery2d_halcon_ext
hx_dist_rect2_points (halcon: dist_rectangle2_contour_points_xld) contour → feature — contour 各点から最小面積外接矩形の辺までの正規化距離の平均(feature)。 · 例: gallery2d_halcon_ext
hx_distance_pc (halcon: distance_pc) contour → feature — クエリ点(正規化 a,b)から contour までの最小距離を返す(feature)。 · 例: gallery2d_halcon_ext
hx_distance_pr (halcon: distance_pr) region → feature — クエリ点(正規化 a,b)から region までの最小距離(feature)。距離変換で。 · 例: gallery2d_halcon_ext
hx_distance_sc (halcon: distance_sc) contour → feature — 水平線分(行 a*H)から contour までの最小距離(feature)。 · 例: gallery2d_halcon_ext
hx_erosion1 (halcon: erosion1) region → region — 円板構造要素で region を収縮(erosion)する。HALCON の erosion1 (region を収縮する)に相当。 · 例: gallery2d_halcon_ext
hx_estimate_al_am (halcon: estimate_al_am) image → feature — albedo(反射率)と ambient(環境光)の推定: albedo ~ 輝度レンジ、ここでは albedo を返す。 · 例: gallery2d_halcon_ext
hx_estimate_sl_al_lr (halcon: estimate_sl_al_lr) image → feature — Lee-Rosenfeld: 光源の slant を推定(天頂角、0=正面〜pi/2=真横)。[0,1] 正規化。 · 例: gallery2d_halcon_ext
hx_estimate_sl_al_zc (halcon: estimate_sl_al_zc) image → feature — Zheng-Chellappa: slant を勾配エネルギーで補正して推定。 · 例: gallery2d_halcon_ext
hx_estimate_tilt_lr (halcon: estimate_tilt_lr) image → feature — Lee-Rosenfeld: 光源方位角 tilt = atan2(, )(平均勾配方向)。[0,1] 正規化。 · 例: `gallery2d_halcon_ext`
hx_estimate_tilt_zc (halcon: estimate_tilt_zc) image → feature — Zheng-Chellappa: 正規化勾配の平均方向で tilt を推定(局所コントラスト非依存)。 · 例: gallery2d_halcon_ext
hx_expand_region (halcon: expand_region) region → region — 領域間の隙間を埋める(region -> region): 二値領域を dilation で膨張して連結を促す。 · 例: gallery2d_halcon_ext
hx_fill_interlace (halcon: fill_interlace) image → image — 2 枚のビデオ半画像を補間(奇数行を隣接偶数行の平均で置換=デインターレース)。 · 例: gallery2d_halcon_ext
hx_fit_circle_contour (halcon: fit_circle_contour_xld) contour → feature — Kåsa 代数法で contour 点に円を当て、フィット残差(RMS)を返す(小=円に近い)。 · 例: gallery2d_halcon_ext
hx_fit_ellipse_contour (halcon: fit_ellipse_contour_xld) contour → feature — 2 次モーメントから楕円を当て、軸比(短/長=真円で 1、細長いほど 0)を返す。 · 例: gallery2d_halcon_ext
hx_fit_rectangle2_contour (halcon: fit_rectangle2_contour_xld) contour → feature — 最小面積外接矩形を当て、そのアスペクト比(短辺/長辺)を返す(feature)。 · 例: gallery2d_halcon_ext
hx_fit_surface1 (halcon: fit_surface_first_order) image → image — gray 値を 1 次多項式面(平面)で最小二乗近似する。HALCON の fit_surface_first_order(gray 値モーメントを計算し 1 次曲面で近似する) に相当。 · 例: gallery2d_halcon_ext
hx_fit_surface2 (halcon: fit_surface_second_order) image → image — gray 値を 2 次多項式面で最小二乗近似する。HALCON の fit_surface_second_order(gray 値モーメントを計算し 2 次曲面で近似する) に相当。 · 例: gallery2d_halcon_ext
hx_full_domain (halcon: full_domain) image → region — 画像の定義域を全面に広げる。HALCON の full_domain(画像の定義域を 最大に拡張する)に相当。 · 例: gallery2d_halcon_ext
hx_fuzzy_measure_pairs (halcon: fuzzy_measure_pairs) image → feature — 中央の水平プロファイルでエッジ対(明バーの立上り境界→立下り境界)を数える(1D 計測)。 · 例: gallery2d_halcon_ext
hx_gabor (halcon: convol_gabor) image → image — Gabor フィルタ(方位 theta=a*pi、周波数 freq=0.08+0.35b)。応答の大きさを返す。 · 例: gallery2d_halcon_ext
hx_gen_bandfilter (halcon: gen_bandfilter) image → image — 理想バンドフィルタ画像(周波数円環、中心半径 a・幅 b)。gen_bandpass と別 operator。 · 例: gallery2d_halcon_ext
hx_gen_bandpass (halcon: gen_bandpass) image → image — 理想バンドパス(周波数領域の円環マスク、内半径 a・帯域幅 b)。 · 例: gallery2d_halcon_ext
hx_gen_checker_region (halcon: gen_checker_region) image → region — 市松模様(チェッカーボード)region を生成する。HALCON の gen_checker_region(チェッカー領域を生成する)に相当。 · 例: gallery2d_halcon_ext
hx_gen_circle (halcon: gen_circle) image → region — 円形の region を生成する。HALCON の gen_circle(円を生成する)に相当。 · 例: gallery2d_halcon_ext
hx_gen_circle_sector (halcon: gen_circle_sector) image → region — 円のセクタ region(開始角 b2pi、掃引 a2pi)。 · 例: gallery2d_halcon_ext
hx_gen_derivative_filter (halcon: gen_derivative_filter) image → image — 周波数領域の微分フィルタ。a が微分の階数、b が向き。 · 例: gallery2d_halcon_ext
hx_gen_disc_se (halcon: gen_disc_se) image → region — 円板構造要素を region として生成(半径 a)。 · 例: gallery2d_halcon_ext
hx_gen_ellipse (halcon: gen_ellipse) image → region — 軸並行の楕円 region を生成する。HALCON の gen_ellipse(楕円を生成する) に相当(向き固定の近似 —— 本家は回転角パラメータも取る)。 · 例: gallery2d_halcon_ext
hx_gen_ellipse_sector (halcon: gen_ellipse_sector) image → region — 楕円の扇形(セクタ)region を生成する。HALCON の gen_ellipse_sector (楕円セクタを生成する)に相当。 · 例: gallery2d_halcon_ext
hx_gen_empty_region (halcon: gen_empty_region) image → region — 空(全画素 0)の region を生成する。HALCON の gen_empty_region (空 region を生成する)に相当。 · 例: gallery2d_halcon_ext
hx_gen_grid_region (halcon: gen_grid_region) image → region — 格子線 region を生成する。HALCON の gen_grid_region(直線または画素から region を生成する)の格子パターンに相当する簡略版。 · 例: gallery2d_halcon_ext
hx_gen_highpass (halcon: gen_highpass) image → image — 理想ハイパスフィルタの周波数マスクを生成する。HALCON の gen_highpass (理想ハイパスフィルタを生成する)に相当。 · 例: gallery2d_halcon_ext
hx_gen_image_proto (halcon: gen_image_proto) image → image — 入力と同サイズの定数グレー画像(値 a)を生成。 · 例: gallery2d_halcon_ext
hx_gen_lowpass (halcon: gen_lowpass) image → image — 理想ローパスフィルタ画像(周波数領域の中心円板マスク、遮断半径 a)。 · 例: gallery2d_halcon_ext
hx_gen_parallel_contour (halcon: gen_parallel_contour_xld) contour → contour — 各 contour の平行(法線オフセット)contour を生成(距離は (a-0.5) で符号つき)。 · 例: gallery2d_halcon_ext
hx_gen_rectangle2 (halcon: gen_rectangle2) image → region — 任意角度の矩形 region を生成する。HALCON の gen_rectangle2 (任意方向の矩形を生成する)に相当。 · 例: gallery2d_halcon_ext
hx_get_domain (halcon: get_domain) image → region — 画像の定義域を region として取得(既定は全面)。 · 例: gallery2d_halcon_ext
hx_histo_to_thresh (halcon: histo_to_thresh) image → region — ヒストグラムの谷から閾値を決めて二値化(Otsu の分散基準でなく谷検出=別 op)。 · 例: gallery2d_halcon_ext
hx_lowlands (halcon: lowlands) image → region — gray 値の窪地(局所最小の平坦域)を検出: 近傍最小と一致する画素 region。 · 例: gallery2d_halcon_ext
hx_mean_shape (halcon: mean_image_shape) image → image — 任意マスク(円 disk)による平均平滑化。半径 r を a で可変(矩形 mean と別 op)。 · 例: gallery2d_halcon_ext
hx_moments_any_xld (halcon: moments_any_xld) contour → feature — 全 contour 点の 2 次中心モーメント(広がり)を返す(正規化 feature)。 · 例: gallery2d_halcon_ext
hx_move_region (halcon: move_region) region → region — region を平行移動(dy=a, dx=b を中心 0 のオフセットに)。 · 例: gallery2d_halcon_ext
hx_nonmax_dir (halcon: nonmax_suppression_dir) image → image — 勾配方向に沿った非最大抑制(Canny の NMS 段)。エッジを 1 画素に細線化する。 · 例: gallery2d_halcon_ext
hx_opening (halcon: opening) region → region — 円板構造要素で region をオープニング(収縮→膨張)する。HALCON の opening(region をオープンする)に相当。 · 例: gallery2d_halcon_ext
-
hx_plane_deviation (halcon: plane_deviation) image → image — gray 値の 1 次平面近似からの偏差 |
v - plane |
(平坦度/欠陥検査)。 · 例: gallery2d_halcon_ext |
hx_plateaus_center (halcon: plateaus_center) image → region — gray 値の平坦域(勾配~0)の中心を検出: 平坦連結成分の重心画素を marker region に。 · 例: gallery2d_halcon_ext
hx_polar_trans_inv (halcon: polar_trans_contour_xld_inv) contour → contour — contour 点を (radius, angle) とみなし直交座標へ逆変換(polar_trans の逆)。 · 例: gallery2d_halcon_ext
hx_radial_distort_contour (halcon: change_radial_distortion_contours_xld) contour → contour — contour に放射歪み r’ = r(1 + k r^2) を適用(k は (a-0.5) で樽/糸巻き)。 · 例: gallery2d_halcon_ext
hx_rectangle1_domain (halcon: rectangle1_domain) image → region — 画像の定義域を軸並行矩形に縮小(中央の a×b の割合)region。 · 例: gallery2d_halcon_ext
hx_region_to_label (halcon: region_to_label) image → image — しきい値 a で二値化した領域の連結成分をラベル画像に変換(正規化)。 · 例: gallery2d_halcon_ext
hx_region_to_mean (halcon: region_to_mean) image → image — 各連結領域をその平均 gray 値で塗る(image -> image)。閾値 a で前景/背景を分け label 化。 · 例: gallery2d_halcon_ext
hx_regress_contours (halcon: regress_contours_xld) contour → feature — 各 contour に回帰直線を当て、平均残差(直線からのズレ)を返す(feature)。小=直線的。 · 例: gallery2d_halcon_ext
hx_select_xld_point (halcon: select_xld_point) contour → contour — クエリ点(正規化 a,b)を外接矩形に含む contour のみ選ぶ(filter)。 · 例: gallery2d_halcon_ext
hx_shade_height_field (halcon: shade_height_field) image → image — 高さ場 v を Lambertian 陰影で描画(法線×光源)。方位 a・仰角 b の光源。 · 例: gallery2d_halcon_ext
hx_smallest_circle_xld (halcon: smallest_circle_xld) contour → feature — 全 contour 点の最小包含円(近似=重心中心)の半径を返す(正規化 feature)。 · 例: gallery2d_halcon_ext
hx_smallest_rect1_xld (halcon: smallest_rectangle1_xld) contour → feature — 全 contour 点の外接軸並行矩形の面積比を返す(feature)。 · 例: gallery2d_halcon_ext
hx_smallest_rect2_xld (halcon: smallest_rectangle2_xld) contour → feature — 最小面積外接矩形の面積比(矩形面積 / 画像面積)を返す(feature)。 · 例: gallery2d_halcon_ext
hx_sort_contours (halcon: sort_contours_xld) contour → contour — contour を相対位置(重心 row→col)でソート。 · 例: gallery2d_halcon_ext
hx_split_contours (halcon: split_contours_xld) contour → contour — 各 contour を支配点(RDP)で線分に分割する(許容 eps は a)。 · 例: gallery2d_halcon_ext, poc_screw_thread_metrology
hx_split_skeleton_region (halcon: split_skeleton_region) region → region — 1 画素幅 skeleton を分岐点で分割: 近傍数>=3 の junction を除いて連結成分に分ける。 · 例: gallery2d_halcon_ext, poc_fresco_craquelure
hx_test_closed_xld (halcon: test_closed_xld) contour → feature — 閉じている contour の割合を返す(端点間距離が閾値未満=閉、feature)。 · 例: gallery2d_halcon_ext
hx_test_region_point (halcon: test_region_point) region → feature — region が点(正規化 a=行, b=列)を含むか(1/0、test_region_point)。 · 例: gallery2d_halcon_ext
hx_test_region_points (halcon: test_region_points) region → feature — 格子状の複数点のうち region に含まれる割合(test_region_points)。 · 例: gallery2d_halcon_ext
hx_test_self_intersect (halcon: test_self_intersection_xld) contour → feature — 自己交差する contour の割合を返す(feature)。非隣接セグメント対を判定。 · 例: gallery2d_halcon_ext
hx_union_adjacent (halcon: union_adjacent_contours_xld) contour → contour — 端点が近い(閾値 a)contour を貪欲に連結する。 · 例: gallery2d_halcon_ext
xmh_soft image → image — ソフト閾値処理(mahotas.thresholding.soft_threshold、シュリンケージ)。閾値未満の絶対値を持つ画素を 0 に潰し、それ以外は閾値分だけ 0 に近づける。ウェーブレット/スパース信号のノイズ除去でよく使う処理を画素値に直接適用する。 · 例: gallery2d_gray_arith
2d / macro(4)
macro_binarize image → image — 進化探索が発見した固定パイプライン: bilateral(a=0.06,b=0.89) → unsharp(a=0.51,b=0.34) → bilateral(a=0.04,b=0.24) → lowpass(a=0.75,b=0.59) → gopen(a=0.38,b=1.00) → unsharp(a=0.78,b=0.68)(平滑化とアンシャープマスクを交互に重ね、ローパスとグレースケールオープニングで整えてから再度シャープ化する 6 段)。 · 例: gallery2d_physics_alife_3d
macro_denoise image → image — 進化探索(evolve.py / robust.py)が発見した固定パイプライン: bilateral(a=0.10,b=0.76) → bilateral(a=0.12,b=0.27) → bilateral(a=0.73,b=0.11)(既存 op のバイラテラルフィルタを、強さの違うパラメータで 3 段連ねたもの)。 · 例: gallery2d_physics_alife_3d, sim2real_and_alife
macro_edge image → region — 進化探索が発見した固定パイプライン: gamma(a=0.39,b=0.94) → bilateral(a=0.22,b=0.08) → sobel_mag(a=0.81,b=0.80) → scale_clip(a=1.00,b=0.90) → otsu(a=0.78,b=0.93)(ガンマ補正 → 平滑化 → 勾配強度 → スケーリング → 大津の判別分析法(Otsu’s method)による二値化、の 5 段)。 · 例: gallery2d_physics_alife_3d
macro_vol_denoise volume → volume — 進化探索が発見した固定パイプライン(3-D ボリューム版): vol_threshold(a=0.52,b=0.76) → vol_gaussian(a=0.08,b=0.89)(3-D しきい値処理をかけてからガウシアン平滑化する 2 段)。 · 例: gallery2d_physics_alife_3d
2d / matching(2)
ncc_locate (halcon: find_ncc_model) image → match — 正規化相互相関(NCC)によるテンプレートマッチングで最良位置を探す。HALCON の find_ncc_model(Find the best matches of an NCC model in an image.)に相当。 · 例: gallery2d_contour_measure, poc_code_matching_breakdown, poc_search_sweep_width, poc_template_tracking
shape_locate (halcon: find_shape_model) image → match — 回転を考慮したテンプレートマッチング(shape-based matching)。HALCON の find_shape_model(Find the best matches of a shape model in an image.)に相当。 · 例: gallery2d_contour_measure, poc_template_tracking
2d / measure1d(5)
m1_fuzzy_measure_pos (halcon: fuzzy_measure_pos) image → contour — 中心を通るキャリパー線上のエッジを、ファジィなメンバーシップスコアでふるいにかけて返す(HALCON fuzzy_measure_pos に相当: 矩形/円弧に垂直な直線エッジをファジィ判定で検出する)。 · 例: gallery2d_contour_measure
m1_measure_pairs (halcon: measure_pairs) image → feature — 中心を通るキャリパー線上で、立ち上がり→立ち下がりのエッジ対(明るい物体の両端)の個数を数える(HALCON measure_pairs に相当: 矩形/円弧に垂直な直線エッジのペアを抽出する)。 · 例: gallery2d_contour_measure, poc_dimensional_inspection
m1_measure_pos (halcon: measure_pos) image → contour — 中心を通るキャリパー線上のサブピクセルエッジ位置を抽出する(HALCONmeasure_pos に相当: 矩形/円弧に垂直な直線エッジを検出する)。 · 例: gallery2d_contour_measure, poc_dimensional_inspection
m1_measure_projection (halcon: measure_projection) image → feature — 測定用のキャリパー線(直線)を画像に当て、垂直方向に平均した輝度プロファイルの平均値を返す(HALCON measure_projection に相当:矩形/円弧に垂直な 1 次元射影を抽出する)。 · 例: gallery2d_contour_measure
m1_measure_thresh (halcon: measure_thresh) image → feature — 中心を通るキャリパー線上で、輝度プロファイルが指定レベルを横切った回数を数える(HALCON measure_thresh に相当: 矩形/円弧に沿って特定のグレー値を持つ点を抽出する)。 · 例: gallery2d_contour_measure
2d / misc(1)
identity (halcon: copy_image) any → any — 恒等写像。HALCON の copy_image(Copy an image and allocate new memory for it.)に対応付けられているが、実装は新しいメモリを確保して複製する copy_image とは異なり、入力の配列をそのまま返すだけ(複製しない)。 · 例: gallery_nary_image_algebra, optics_four_f_processor, poc_em_branch_territory, poc_food_cutting_measure
2d / morphology(36)
bothat (halcon: gray_bothat) image → image — ブラックトップハット(クロージング − 原画像)。HALCON の gray_bothat(Perform a gray value bottom hat transformation on an image.)に相当。 · 例: example_scratch_width, gallery2d_morphology, poc_metal_grain_size
cv_blackhat (halcon: gray_bothat) image → image — ブラックハット変換(black-hat、OpenCV 実装)。「閉処理結果 − 元画像」を計算し、暗い背景の上にある、構造要素より小さい暗い特徴だけを抽出する(cv_tophat の暗版)。 · 例: gallery2d_morphology, poc_fresco_craquelure
cv_close (halcon: gray_closing) image → image — グレー値モルフォロジー閉処理(closing、OpenCV 実装)。膨張してから収縮することで、構造要素より小さい暗い穴・隙間を埋める(cv_open の逆の効果)。 · 例: gallery2d_morphology
cv_dilate (halcon: gray_dilation) image → image — グレー値モルフォロジー膨張(dilation、OpenCV 実装)。近傍の最大値へ置き換える操作で、明るい領域を拡大・暗い領域を縮小する(cv_erode の逆)。 · 例: gallery2d_morphology
cv_erode (halcon: gray_erosion) image → image — グレー値モルフォロジー収縮(erosion、OpenCV 実装)。近傍の最小値へ置き換える操作で、明るい領域を縮小・暗い領域を拡大する。 · 例: gallery2d_morphology
cv_gradient (halcon: gray_range_rect) image → image — モルフォロジー勾配(OpenCV 実装)。「膨張結果 − 収縮結果」で、領域の輪郭(縁取り)だけを取り出す —— 通常の微分ベースのエッジ検出とは別系統の輪郭抽出。 · 例: gallery2d_morphology
cv_open (halcon: gray_opening) image → image — グレー値モルフォロジー開処理(opening、OpenCV 実装)。収縮してから膨張することで、構造要素より小さい明るい突起・孤立点を消す。 · 例: gallery2d_morphology
cv_tophat (halcon: gray_tophat) image → image — トップハット変換(top-hat、OpenCV 実装)。「元画像 − 開処理結果」を計算し、明るい背景の上にある、構造要素より小さい明るい特徴だけを抽出する。 · 例: gallery2d_morphology
f2_gray_inside (halcon: gray_inside) image → image — Grayscale hole-fill: for each pixel, the lowest gray value attainable on any path to the image border == morphological reconstruction of the image by erosion from a border-anchored marker. Dark basins enclosed by brighter walls are raised toward the wall height; regions connected to the border stay dark. a sets the maximum fill depth h = 0.02 + 0.98*a; b is ignored. · 例: gallery2d_morphology
f2_gray_skeleton (halcon: gray_skeleton) image → image — Thinning of a gray-value image: skeletonise the bright region (threshold set by a) and lift the 1-px medial ridge back to the original gray values. b is ignored. · 例: gallery2d_morphology
gclose (halcon: gray_closing) image → image — グレースケールクロージング(膨張してから侵食)。HALCON の gray_closing(Perform a gray value closing on an image.)に相当。 · 例: gallery2d_morphology
gdilate (halcon: gray_dilation) image → image — グレースケール膨張(明るい側に広げる)。HALCON の gray_dilation(Perform a gray value dilation on an image.)に相当。 · 例: gallery2d_morphology
gerode (halcon: gray_erosion) image → image — グレースケール侵食(暗い側に広げる)。HALCON の gray_erosion(Perform a gray value erosion on an image.)に相当。 · 例: gallery2d_morphology
gopen (halcon: gray_opening) image → image — グレースケールオープニング(侵食してから膨張)。HALCON の gray_opening(Perform a gray value opening on an image.)に相当。 · 例: gallery2d_morphology
gray_bothat (halcon: gray_bothat) image → image — ブラックトップハット(クロージング − 元画像)。周囲より暗い小さな構造 (穴・くぼみ)だけを抽出する、gray_tophat と明暗が逆の演算。HALCON の gray_bothat(Perform a gray value bottom hat transformation on an image.)に相当。 · 例: gallery2d_morphology, poc_metal_grain_size
gray_closing (halcon: gray_closing) image → image — グレースケールクロージング(膨張の後に同じ構造要素で収縮)。暗い小さな 穴・くぼみを埋める、gray_opening と対の演算。HALCON の gray_closing(Perform a gray value closing on an image.)に相当。 · 例: gallery2d_morphology, poc_solar_el_inspection
gray_closing_rect (halcon: gray_closing_rect) image → image — 正方形窓(一辺 _k(a)=3/5/7/9)によるグレースケール・クロージング(gray closing、膨張の後に収縮)。小さな暗い穴・くぼみを埋めながら大まかな明るさは保つ。b は未使用。 · 例: gallery2d_morphology
gray_closing_shape (halcon: gray_closing_shape) image → image — 円盤形構造要素を使うグレースケールクロージング。gray_closing との 違いは構造要素の形のみ。HALCON の gray_closing_shape(Perform a gray value closing with a selected mask.)に相当(円形固定の近似)。 · 例: gallery2d_morphology
gray_dilation (halcon: gray_dilation) image → image — グレースケール膨張(ndimage.grey_dilation)。矩形構造要素内の最大値 で画素を置き換え、暗い細部を埋める、gray_erosion と対の演算。HALCON の gray_dilation(Perform a gray value dilation on an image.)に相当。 · 例: gallery2d_morphology
gray_dilation_shape (halcon: gray_dilation_shape) image → image — 円形(disk, 半径 _rad(a)=1〜4)構造要素によるグレースケール膨張(gray dilation)—— 窓内の最大値に置き換える。b は未使用。 · 例: gallery2d_morphology
gray_erosion (halcon: gray_erosion) image → image — グレースケール収縮(ndimage.grey_erosion)。矩形構造要素(既定 shape=”rect”)内の最小値で画素を置き換え、明るい細部を侵食する。HALCON の gray_erosion(Perform a gray value erosion on an image.)に相当。 · 例: gallery2d_morphology
gray_erosion_shape (halcon: gray_erosion_shape) image → image — 円形(disk, 半径 _rad(a)=1〜4)構造要素によるグレースケール収縮(gray erosion)—— 窓内の最小値に置き換える。b は未使用。 · 例: gallery2d_morphology
gray_opening (halcon: gray_opening) image → image — グレースケールオープニング(収縮の後に同じ構造要素で膨張)。明るい 小突起・細線を除去しつつ、全体の明るさの分布は概ね保つ。HALCON の gray_opening(Perform a gray value opening on an image.)に相当。 · 例: gallery2d_morphology
gray_opening_rect (halcon: gray_opening_rect) image → image — 正方形窓(一辺 _k(a)=3/5/7/9)によるグレースケール・オープニング(gray opening、収縮の後に膨張)。小さな明るい突起・ノイズを除去しながら大まかな明るさは保つ。b は未使用。 · 例: find_ops_by_meaning, gallery2d_morphology, poc_weld_radiograph_porosity
gray_opening_shape (halcon: gray_opening_shape) image → image — 円盤形(disk)構造要素を使うグレースケールオープニング。gray_opening との違いは構造要素の形だけで、演算そのもの(収縮→膨張)は同じ。HALCON の gray_opening_shape(Perform a gray value opening with a selected mask.)に相当(HALCON は矩形/円/八角形などから選べるが、ここでは円形に 固定)。 · 例: gallery2d_morphology
gray_tophat (halcon: gray_tophat) image → image — ホワイトトップハット(元画像 − オープニング)。周囲より明るい小さな 構造(スポット・細線)だけを抽出する。_norm で正規化して返すため、 絶対的な明るさではなく相対的な突出度になる。HALCON の gray_tophat (Perform a gray value top hat transformation on an image.)に相当。 · 例: gallery2d_morphology, poc_document_scan, poc_real_coin_metrology, poc_search_sweep_width
local_thickness image → image — 各前景画素に「そこを覆える最大の円の直径」を入れて返す(局所肉厚)。 · 例: gallery2d_morphology, poc_bone_trabecular_thickness
morph_grad (halcon: gray_range_rect) image → image — モルフォロジー勾配(膨張 − 侵食)。HALCON の gray_range_rect(Determine the gray value range within a rectangle.)に相当。 · 例: gallery2d_morphology
persistence_map image → image — 閾値を選ばずに「山の目立ち具合」を測る(0 次元パーシステンス)。 · 例: gallery2d_morphology
runlength_smear image → image — 走査長平滑化(RLSA)。行内の字の隙間を埋めて、字を「行」の塊にまとめる。 · 例: gallery2d_morphology
sk_area_opening image → image — 面積オープニング(area opening)。通常のモルフォロジー的開処理が構造要素の形で小さい明部を削るのに対し、こちらは面積(連結画素数)だけで判定し、指定面積未満の明るい連結成分を消す —— 形状に依らず「小さい」ものを落とせる。 · 例: gallery2d_morphology, poc_bone_trabecular_thickness, poc_fresco_craquelure
tophat (halcon: gray_tophat) image → image — ホワイトトップハット(原画像 − オープニング)。HALCON の gray_tophat(Perform a gray value top hat transformation on an image.)に相当。 · 例: degenerate_inputs, example_scratch_width, gallery2d_morphology, poc_search_sweep_width
xsk2_diameter_opening image → image — 直径オープニング(面積オープニングの直径版、微小な明るい構造の除去)。skimage.morphology.diameter_opening を呼ぶ。 · 例: gallery2d_morphology
xsk2_reconstruction image → image — モルフォロジー再構成(reconstruction by dilation)。 skimage.morphology.reconstruction を method=”dilation” で呼ぶ。 · 例: gallery2d_morphology
xsk3_area_closing image → image — 面積クロージング(skimage morphology.area_closing)。面積が閾値未満の暗い領域(窪み)だけを埋める、サイズベースのモルフォロジー演算 —— 通常のクロージングと違い構造要素の形状ではなく連結成分の面積で対象を選ぶ。 · 例: gallery2d_morphology
xsk3_diameter_closing image → image — 直径クロージング(skimage morphology.diameter_closing)。xsk3_area_closing の面積の代わりに、連結成分の外接矩形の対角線長(直径)で対象を選ぶクロージング —— 細長い構造には直径基準、丸い構造には面積基準が向く、と使い分けられる。 · 例: gallery2d_morphology
2d / morphology/markers(1)
xmh_regmin image → region — 領域極小点の抽出(mahotas.regmin)。ガウシアン平滑化した画像に対し、局所的に最も暗い谷を領域としてマークする。分水嶺分割(watershed)のマーカー生成に使う典型的な前処理。 · 例: gallery2d_segmentation
2d / nary(17)
abs_diff_image (halcon: abs_diff_image) image × image → image — 2 枚の画像の差の絶対値。HALCON の abs_diff_image に相当。out = clip(|I1 - I2| * (0.5 + 1.5a), 0, 1)。変化検出の基本形で、符号を捨てる代わりに明暗どちらの変化も拾う。b は未使用。 · 例: gallery_nary_image_algebra
add_image (halcon: add_image) image × image → image — 2 枚の画像を加算する。HALCON の add_image に相当。out = clip((I1 + I2) * (0.5 + a) + (b - 0.5), 0, 1) —— a がゲイン(0.5〜1.5 倍)、b がオフセット(-0.5〜+0.5)。飽和は 0/1 で切る。 · 例: degenerate_inputs, gallery_nary_image_algebra, genspark_external_review
bit_and (halcon: bit_and) image × image → image — 2 枚の画像のビット単位 AND。HALCON の bit_and に相当。★一度 8bit 整数に量子化してから演算し 255 で割って戻すので、浮動小数の階調は失われる(0.501 と 0.503 は同じ値になる)。a, b は未使用。 · 例: gallery_nary_image_algebra
bit_or (halcon: bit_or) image × image → image — 2 枚の画像のビット単位 OR。HALCON の bit_or に相当。★bit_and と同じく 8bit へ量子化してから演算するため階調が落ちる。a, b は未使用。 · 例: gallery_nary_image_algebra
convol_image (halcon: convol_image) image × image → image — 第 2 入力をフィルタマスクとして畳み込む。HALCON の convol_image に相当。★HALCON と同じく相関(マスクを書いたまま重ねる)で計算する —— scipy の convolve はマスクを反転するので、非対称なマスクだと画像が逆向きにずれる。マスクは画像より小さくてよく(形の一致は要らない)、絶対値の総和 + 1e-8 で割って正規化する(総和が 0 のマスクで割り算が爆発しないため。出力は相対 1e-8 だけ小さくなる)。端は reflect。a, b は未使用。 · 例: gallery_nary_image_algebra
difference (halcon: difference) region × region → region — 2 つの領域の差(第 1 に入り第 2 に入らない画素)。HALCON の difference に相当。順序が意味を持つ(引く側と引かれる側を入れ替えると別の結果)。a, b は未使用。 · 例: gallery_nary_image_algebra, gfx2d_scene, poc_granular_heap_repose, poc_powder_scoop_pour, poc_pxrd_phase_peel
div_image (halcon: div_image) image × image → image — 2 枚の画像を画素ごとに割る。HALCON の div_image に相当。out = clip(I1 / max(I2, 1e-3) * (0.1 + 0.9a), 0, 1) —— ゼロ割を避けるため分母に下限 1e-3 を敷く(そこでは商が最大 1000 倍になり飽和する)。b は未使用。 · 例: gallery_nary_image_algebra
intersection (halcon: intersection) region × region → region — 2 つの領域の積(両方に入る画素)。HALCON の intersection に相当。入力は > 0.5 で二値化する。a, b は未使用。 · 例: gallery_nary_image_algebra, poc_battery_electrode_tortuosity, poc_connectome_across_decades, poc_connectome_across_worms, poc_driving_crossing, poc_driving_japan_town, poc_driving_pass, poc_driving_school, poc_driving_town, poc_worm_neurites_grow
max_image (halcon: max_image) image × image → image — 2 枚の画像の画素ごとの最大値。HALCON の max_image に相当。a, b は未使用。明るい方を残すので、複数露光の合成や欠損の穴埋めに使う。 · 例: gallery_nary_image_algebra
min_image (halcon: min_image) image × image → image — 2 枚の画像の画素ごとの最小値。HALCON の min_image に相当。a, b は未使用。暗い方を残すので、反射ハイライトの抑制に使う。 · 例: gallery_nary_image_algebra
mult_image (halcon: mult_image) image × image → image — 2 枚の画像を画素ごとに掛ける。HALCON の mult_image に相当。out = clip(I1 * I2 * (0.5 + 1.5a) + (b - 0.5), 0, 1)。積は必ず暗くなるので a のゲイン幅を広く取ってある。 · 例: gallery_nary_image_algebra
overpaint_region (halcon: overpaint_region) image × region → image — 画像の領域の中を一定値で塗りつぶす。HALCON の overpaint_region に相当。塗る値は a(0〜1)。b は未使用。 · 例: gallery_nary_image_algebra
paint_gray (halcon: paint_gray) image × image → image — 第 2 画像(source)の濃淡を第 1 画像へ塗り込む。HALCON の paint_gray に相当。★塗る範囲は source の非ゼロ画素すべて(この層の約束「定義域の外は 0」に合わせた)。2026-09-03 までは > 0.5 の画素だけを塗っていたため、暗い source が消えていた。a, b は未使用。 · 例: gallery_nary_image_algebra
reduce_domain (halcon: reduce_domain) image × region → image — 画像の定義域を領域で絞る。HALCON の reduce_domain に相当。この層は明示的な定義域を持たないので、領域外を 0 にする(画像に領域を掛ける)ことで表す。a, b は未使用。 · 例: gallery_nary_image_algebra
sub_image (halcon: sub_image) image × image → image — 2 枚の画像を減算する。HALCON の sub_image に相当。out = clip((I1 - I2) * (0.5 + a) + b, 0, 1) —— 負になる差を b で持ち上げないと 0 に潰れる(既定 b=0.5 で中央値が灰色になる)。 · 例: gallery_nary_image_algebra
symm_difference (halcon: symm_difference) region × region → region — 2 つの領域の対称差(どちらか一方だけに入る画素)。HALCON の symm_difference に相当。重なりを消すので、2 つのマスクのずれを見るのに使う。a, b は未使用。 · 例: gallery_nary_image_algebra
union2 (halcon: union2) region × region → region — 2 つの領域の和(どちらかに入る画素)。HALCON の union2 に相当。入力は > 0.5 で二値化する。a, b は未使用。 · 例: gallery_nary_image_algebra
2d / noise(2)
add_noise_distribution (halcon: add_noise_distribution) image → image — 画像に加法性ノイズを加える。実装はガウス(正規分布)ノイズのみで、add_noise_white と同じ _sh_noise の gaussian 分岐を共有する。乱数は a から決まる固定シード(int(a*997)+7)で発生させるため同じ a なら毎回同じノイズになる(決定的)。b がノイズの標準偏差を 0.02〜0.22 に振る。 · 例: gallery2d_smoothing_rank
add_noise_white (halcon: add_noise_white) image → image — ガウス性ホワイトノイズを加える(np.random.default_rng で生成、 標準偏差 0.02+0.2*b)。乱数シードは int(a*997)+7 で a から 決定的に導出されるため、同じ a なら常に同じノイズパターンが再現 される(真にランダムではなく、a を「ノイズの見え方の型」を選ぶ 擬似的なノブとして使っている点に注意)。HALCON の add_noise_white (Add noise to an image.)に相当。 · 例: gallery2d_smoothing_rank
2d / physics(6)
ph_coherence_enhancing_diffusion image → image — Weickert coherence-enhancing diffusion (HALCON coherence_enhancing_diff). · 例: gallery2d_physics_alife_3d
ph_heat_flow image → image — Linear heat equation / isotropic diffusion (HALCON isotropic_diffusion). · 例: gallery2d_physics_alife_3d
ph_mean_curvature_motion image → image — Mean-curvature motion / curve-shortening flow (HALCON mean_curvature_flow). · 例: gallery2d_physics_alife_3d
ph_perona_malik image → image — Perona-Malik anisotropic diffusion (HALCON anisotropic_diffusion). · 例: gallery2d_physics_alife_3d
ph_reaction_diffusion image → image — Gray-Scott reaction-diffusion (no HALCON operator, halcon=””). · 例: gallery2d_physics_alife_3d
ph_total_variation_flow image → image — Total-variation (Rudin-Osher-Fatemi) denoising flow (no HALCON operator, “”). · 例: find_ops_by_meaning, gallery2d_physics_alife_3d
2d / rank(23)
cv_median (halcon: median_image) image → image — メディアンフィルタ(OpenCV 実装)。正方形近傍内の中央値に置き換える定番のノイズ除去(特に胡椒塩ノイズに強く、エッジも比較的保たれる)。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank
dual_rank (halcon: dual_rank) image → image — パーセンタイル(順位統計)フィルタ。窓内画素を昇順に並べ、b で指定した百分位(5〜95%、rank_image/rank_rect と同じ _sh_rank の rank 分岐)の値を返す。a が窓サイズを 3/5/7/9 に振る。 · 例: gallery2d_smoothing_rank
eliminate_min_max (halcon: eliminate_min_max) image → image — 中央値フィルタ(median filter)による平滑化。実装は median_image などと同じ _sh_rank の median 分岐で、窓内画素の中央値に置き換えるだけ。a は窓サイズを 3/5/7/9 の 4 段階に振る(_k(a))。b は未使用。 · 例: gallery2d_smoothing_rank
eliminate_sp (halcon: eliminate_sp) image → image — シグマフィルタ(sigma filter, Lee 型)によるノイズ抑制。窓内平均値との差が閾値(0.05〜0.4、b で振る)未満の画素だけを使って再平均化し、極端に外れた画素(ソルト&ペッパー雑音など)の影響を除く。該当画素が窓内に無ければ元の値をそのまま返す。a が窓サイズを 3/5/7/9 に振る。 · 例: gallery2d_smoothing_rank
gray_dilation_rect (halcon: gray_dilation_rect) image → image — 矩形窓内の最大値を返すグレースケール膨張(ndimage.maximum_filter)。 暗い細線・小穴を明部側から埋めて消す、gray_erosion_rect と対の演算。 HALCON の gray_dilation_rect(Determine the maximum gray value within a rectangle.)に相当。 · 例: gallery2d_smoothing_rank
gray_erosion_rect (halcon: gray_erosion_rect) image → image — 矩形窓内の最小値を返すグレースケール収縮(ndimage.minimum_filter)。 明るい細線・小突起を暗部側から侵食して消す。HALCON の gray_erosion_rect(Determine the minimum gray value within a rectangle.)に相当。 · 例: gallery2d_smoothing_rank
gray_range_rect (halcon: gray_range_rect) image → image — 矩形窓内の最大値と最小値の差(局所レンジ)を正規化して返す。テクスチャの 局所的な起伏の激しさ(コントラスト量)を可視化する。HALCON の gray_range_rect(Determine the gray value range within a rectangle.) に相当。 · 例: gallery2d_smoothing_rank
max_filter (halcon: gray_dilation_rect) image → image — 矩形窓内の最大値フィルタ(グレースケール膨張に相当)。HALCON の gray_dilation_rect(Determine the maximum gray value within a rectangle.)に相当。 · 例: gallery2d_smoothing_rank
mean_sp (halcon: mean_sp) image → image — ロバスト平滑化フィルタ。窓内の 20 パーセンタイルと 80 パーセンタイルの平均を返す(トリム平均、trimmed mean)ことで、極端に明るい/暗い外れ値(ソルト&ペッパー雑音など)の影響を抑える。a が窓サイズを 3/5/7/9 に振る(_k(a))。b は未使用。 · 例: gallery2d_smoothing_rank
median (halcon: median_image) image → image — メディアン(中央値)フィルタ。HALCON の median_image(Compute a median filter with various masks.)に相当。 · 例: astro_stacking, blas_thread_budget, ct_reconstruction, gallery2d_smoothing_rank, genspark_external_review, lightfield_depth, photon_timeresolved, piv_flow_from_particles, poc_am_thermal_to_ct, poc_astro_photometry, poc_compound_eye, poc_dtof_ranging, poc_geodetic_height_frames, poc_hyperspectral_foreign_matter, poc_lidar_terrain_change, poc_nuclei_ploidy, poc_pv_thermal_survey, poc_river_surface_velocity, poc_tacscalib_sphere_lut, poc_web_roll_periodicity, poc_weld_bead_profile, quickstart, specular_photometric
median_image (halcon: median_image) image → image — メディアンフィルタ(ndimage.median_filter、正方窓)。窓内の中央値で 置き換えるノイズ除去で、平均フィルタと違いエッジを保ったまま塩胡椒ノイズを 除去できる。HALCON の median_image(Compute a median filter with various masks.)に相当(HALCON は円形・八角形等の任意マスクを選べるが、 ここでは正方形マスクに固定)。 · 例: degenerate_inputs, find_ops_by_meaning, gallery2d_smoothing_rank, genspark_external_review, poc_prnu_camera_fingerprint
median_rect (halcon: median_rect) image → image — 矩形メディアンフィルタ。median_image と同じ scipy 実装だが、 高さと幅を独立に指定できる(size=(k_a, k_b))。HALCON の median_rect (Compute a median filter with rectangular masks.)に相当。 · 例: gallery2d_smoothing_rank, poc_tree_ring_dendro, poc_weld_radiograph_porosity
median_separate (halcon: median_separate) image → image — 実装は median_image と同じ(kind: "median"、正方窓の 2 次元 メディアン)。HALCON の median_separate(Separated median filtering with rectangle masks.)は行方向・列方向に分離した 1 次元メディアンを 2 パス 掛ける高速近似演算子だが、この代役では区別せず通常の 2 次元メディアンを 返す(結果は近い場合が多いが厳密には別アルゴリズム ―― 近似の限界)。 · 例: gallery2d_smoothing_rank
median_weighted (halcon: median_weighted) image → image — 中央値フィルタ(median filter)。実装は eliminate_min_max/median_image と同じ _sh_rank の median 分岐で、円形・八角形などマスク形状ごとの重み付けは行わず、正方形窓の単純な中央値を返す。a が窓サイズを 3/5/7/9 に振り、b は未使用。 · 例: gallery2d_smoothing_rank
min_filter (halcon: gray_erosion_rect) image → image — 矩形窓内の最小値フィルタ(グレースケール侵食に相当)。HALCON の gray_erosion_rect(Determine the minimum gray value within a rectangle.)に相当。 · 例: gallery2d_smoothing_rank
percentile (halcon: rank_image) image → image — 任意パーセンタイルのランクフィルタ。HALCON の rank_image(Compute a rank filter with arbitrary masks.)に相当。 · 例: gallery2d_smoothing_rank, poc_colormap_readability
rank_image (halcon: rank_image) image → image — 窓内の画素値を昇順に並べて指定パーセンタイル位置の値を返す汎用ランク フィルタ(ndimage.percentile_filter)。パーセンタイル 0 で収縮相当、 100 で膨張相当、50 でメディアン相当になる連続的な一般化。HALCON の rank_image(Compute a rank filter with arbitrary masks.)に相当 (HALCON は任意形状マスクを取れるが、ここでは正方形マスクに固定)。 · 例: gallery2d_smoothing_rank, poc_dehazing
rank_rect (halcon: rank_rect) image → image — 実装は rank_image と同一(kind: "rank"、正方窓のパーセンタイル フィルタ)。HALCON では rank_image(任意マスク)と rank_rect(矩形 マスク限定)は別演算子だが、この代役ではどちらも同じ正方窓実装を指す。 HALCON の rank_rect(Compute a rank filter with rectangular masks.) の代役。 · 例: gallery2d_smoothing_rank
sk_median_disk (halcon: median_image) image → image — 円盤(disk)形の footprint によるメディアンフィルタ。通常の正方形カーネルと違い、円形に近い等方的な平滑化になる。 · 例: gallery2d_smoothing_rank
trimmed_mean (halcon: trimmed_mean) image → image — 20 パーセンタイルと 80 パーセンタイルのフィルタ結果の平均を返すことで トリム平均を近似する。外れ値(最小・最大側)の影響を除いた平均に近い値になる が、真の「中央 60% を平均する」トリム平均とは計算方法が異なる近似である点に 注意。HALCON の trimmed_mean(Smooth an image with an arbitrary rank mask.)の代役。 · 例: gallery2d_smoothing_rank
xkor_median image → image — メディアン(中央値)フィルタ。kornia.filters.median_blur を呼ぶ。 · 例: gallery2d_smoothing_rank
xpil_mode_filter image → image — 最頻値フィルタ。PIL.ImageFilter.ModeFilter で窓内の最頻出画素値に置き換える(中央値でなく最頻値を取る点がメディアンフィルタと異なる)。 · 例: gallery2d_smoothing_rank
xsk2_rank_geomean image → image — ランクフィルタの一種、幾何平均フィルタ。skimage.filters.rank.geometric_mean を 8bit 化した画像に円形構造要素(skimage.morphology.disk)で掛ける。 · 例: gallery2d_smoothing_rank
2d / region(79)
boundary (halcon: boundary) region → region — 領域からその 1 画素収縮版を引くことで外周境界線(輪郭の内側 1 画素の リング)を取り出す。塗りつぶされた領域を輪郭線に変換する。HALCON の boundary(Reduce a region to its boundary.)に相当。 · 例: gallery2d_region, poc_complex_plane_fields, poc_driving_commonroad, voxel_labels_color
closest_point_transform (halcon: closest_point_transform) region → image — 領域の補集合に対するユークリッド距離変換を正規化して返す ―― 各 画素から最も近い領域(前景)画素までの距離を表す、distance_transform とは前景/背景が逆の距離場。出力は image 型。HALCON の closest_point_transform(Compute the closest-point transformation of a region.)に相当。 · 例: gallery2d_region
closing_circle (halcon: closing_circle) region → region — 円盤形構造要素による二値クロージング(膨張の後に収縮)。小さな穴や くびれを埋める、opening_circle と対の演算。HALCON の closing_circle(Close a region with a circular structuring element.)に相当。 · 例: gallery2d_region, poc_bev_sensor_fusion
closing_golay (halcon: closing_golay) region → region — 円形構造要素(disk, 半径 _rad(a)=1〜4)による二値クロージング(closing、膨張の後に収縮)。小さな穴やくびれを埋める。b は未使用。 · 例: gallery2d_region
closing_rectangle1 (halcon: closing_rectangle1) region → region — 正方形構造要素による二値クロージング。closing_circle の矩形版。 HALCON の closing_rectangle1(Close a region with a rectangular structuring element.)に相当。 · 例: gallery2d_region
convex_fill (halcon: shape_trans) region → region — 凸包に近い形へ穴・くびれを埋める(クロージングによる近似)。HALCON の shape_trans(Transform the shape of a region.)の凸包変換に相当することを意図しているが、実装は反復回数の多いクロージングであり、厳密な凸包計算ではない(近似)。 · 例: gallery2d_region
cv_dist (halcon: distance_transform) region → image — 距離変換(distance transform、OpenCV 実装、L2/ユークリッド近似)。前景領域の各画素について、最も近い背景画素までの距離を計算し、画像として返す —— 領域の「太さ」や中心線抽出の下処理に使う。 · 例: gallery2d_region
dilation_circle (halcon: dilation_circle) region → region — 円盤形構造要素による二値膨張(ndimage.binary_dilation)。前景領域を 外側へ広げる、erosion_circle と対の演算。HALCON の dilation_circle(Dilate a region with a circular structuring element.)に相当。 · 例: gallery2d_region, poc_focus_stacking
dilation_golay (halcon: dilation_golay) region → region — 円形構造要素(disk, 半径 _rad(a)=1〜4)による二値の膨張(dilation)。b は未使用。 · 例: gallery2d_region
dilation_rectangle1 (halcon: dilation_rectangle1) region → region — 正方形構造要素による二値膨張。dilation_circle の矩形版。HALCON の dilation_rectangle1(Dilate a region with a rectangular structuring element.)に相当。 · 例: gallery2d_region
dilation_seq (halcon: dilation_seq) region → region — 既定の十字形構造要素(4 近傍)で、a に応じて 1〜4 回反復して膨張(dilation)する逐次的膨張。b は未使用。 · 例: gallery2d_region
dist_transform (halcon: distance_transform) region → image — ユークリッド距離変換。HALCON の distance_transform(Compute the distance transformation of a region.)に相当。 · 例: gallery2d_region, poc_bone_trabecular_thickness
dist_transform_abs (halcon: distance_transform) region → image — 正規化しない絶対画素距離の距離変換。HALCON の distance_transform(Compute the distance transformation of a region.)に相当。 · 例: gallery2d_region
distance_transform (halcon: distance_transform) region → image — ユークリッド距離変換(ndimage.distance_transform_edt)を最大値で 正規化した画像。各前景画素について最も近い背景画素までの距離を表す ―― 値が大きいほど領域の「奥」にある画素。出力は region ではなく image 型になる点に注意。HALCON の distance_transform(Compute the distance transformation of a region.)に相当。 · 例: gallery2d_region, poc_cell_counting, poc_crack_width, poc_fresco_craquelure, poc_particle_sizing, poc_vessel_network
em_skeleton region → region — Eckhardt–Maderlechner 型の不変細線化(HALCON skeleton と同系統)。 · 例: gallery2d_region
erosion_circle (halcon: erosion_circle) region → region — 円盤形構造要素による二値収縮(ndimage.binary_erosion)。前景領域を 外周から侵食して縮める、最も基本的な二値モルフォロジー演算。HALCON の erosion_circle(Erode a region with a circular structuring element.) に相当。 · 例: gallery2d_region, poc_livestock_body_volume
erosion_golay (halcon: erosion_golay) region → region — 円形構造要素(disk, 半径 _rad(a)=1〜4)による二値の収縮(erosion)。b は未使用。 · 例: gallery2d_region
erosion_rectangle1 (halcon: erosion_rectangle1) region → region — 正方形構造要素による二値収縮。erosion_circle との違いは構造要素の 形のみ(円ではなく正方形)。HALCON の erosion_rectangle1(Erode a region with a rectangular structuring element.)に相当。 · 例: gallery2d_region
erosion_seq (halcon: erosion_seq) region → region — 既定の十字形構造要素(4 近傍)で、a に応じて 1〜4 回反復して収縮(erosion)する逐次的収縮。b は未使用。反復回数を増やすほど収縮量が大きくなる(1 回あたり半径 1 画素相当)。 · 例: gallery2d_region
fill_holes (halcon: fill_up) region → region — 領域内の穴埋め。HALCON の fill_up(Fill up holes in regions.)に相当。 · 例: gallery2d_region, poc_cell_counting, poc_document_scan, poc_leaf_disease_area, poc_mesh_quality_repair, poc_real_coin_metrology, poc_symmetry_restoration
fill_up (halcon: fill_up) region → region — 領域内部の穴(背景に完全に囲まれた領域)を埋める (ndimage.binary_fill_holes)。外周とつながっていない背景の孔だけが 埋まり、外周とつながった凹みは埋まらない。HALCON の fill_up(Fill up holes in regions.)に相当。 · 例: gallery2d_region, poc_bev_sensor_fusion
fill_up_shape (halcon: fill_up_shape) region → region — 領域内の小さな穴を埋める。area_threshold = 16+200a 画素以下の穴だけを埋める(skimage の remove_small_holes)。b は未使用。 · 例: gallery2d_region
get_region_contour (halcon: get_region_contour) region → region — 領域の輪郭(境界線、1 画素幅)を抽出する。領域からその収縮版(1 回の二値収縮)を引いて輪郭を残す。穴のある領域では外周だけでなく穴の輪郭も返る(実測 2026-09-16: 8x8 の枠に 4x4 の穴を開けた入力で、穴に隣接する前景 20 画素のうち 16 画素が輪郭として立つ)。「領域 − 収縮版」は定義上、外側からも穴の側からも 1 画素を残すので、外周だけが欲しいなら穴を先に埋めること。a, b は未使用。boundary seed op と同じ実装。 · 例: gallery2d_region, poc_document_scan
get_region_convex (halcon: get_region_convex) region → region — 領域の凸包(convex hull)を塗りつぶした領域として返す(skimage.morphology.convex_hull_image)。a, b は未使用。shape_trans(凸包への形状変換 seed op)と同じ実装。 · 例: gallery2d_region
invert_region (halcon: complement) region → region — 領域の補集合(前景/背景の反転)。HALCON の complement(Return the complement of a region.)に相当。 · 例: gallery2d_region
junctions_skeleton (halcon: junctions_skeleton) region → region — 骨格化した領域のうち、3x3 近傍に 3 つ以上の骨格画素を持つ画素(分岐点・ 交差点)だけを残す。骨格の端点(pruning が削る対象)ではなく、枝分かれ する結節点を検出する。HALCON の junctions_skeleton(Find junctions and end points in a skeleton.)に相当(HALCON は端点も同時に返すが、ここでは 分岐点のみを検出する近似)。 · 例: gallery2d_region, poc_fresco_craquelure
morph_skeleton (halcon: morph_skeleton) region → region — 領域の骨格線(スケルトン)を抽出する。実装は skimage の skeletonize(Zhang–Suen 型の反復細線化アルゴリズム)で、a, b は未使用。 · 例: gallery2d_region
opening_circle (halcon: opening_circle) region → region — 円盤形構造要素による二値オープニング(収縮の後に膨張)。小さな突起や 細い連結部を除去しつつ、大まかな形状は保つ。HALCON の opening_circle(Open a region with a circular structuring element.) に相当。 · 例: gallery2d_region, poc_bone_trabecular_thickness, poc_change_detection_misreg, poc_document_scan
opening_golay (halcon: opening_golay) region → region — 円形構造要素(disk, 半径 _rad(a)=1〜4)による二値オープニング(opening、収縮の後に膨張)。小さな突起や孤立点を除去する。b は未使用。 · 例: gallery2d_region
opening_rectangle1 (halcon: opening_rectangle1) region → region — 正方形構造要素による二値オープニング。opening_circle の矩形版。 HALCON の opening_rectangle1(Open a region with a rectangular structuring element.)に相当。 · 例: gallery2d_region
pruning (halcon: pruning) region → region — 骨格化(skeletonize、無ければ入力をそのまま使用)の後、近傍数が 1 以下の端点画素(スパー=枝毛)を繰り返し 1+4*a 回削り取ることで、 骨格から短い枝を除去する。HALCON の pruning(Prune the branches of a region.)に相当(HALCON は枝の長さを指定できるが、ここでは反復回数による 近似)。 · 例: gallery2d_region, poc_fresco_craquelure
r2_endpoints_skeleton region → region — 骨格の端点(8 近傍にちょうど 1 個の骨格画素を持つ点)を抽出する。 · 例: gallery2d_region, poc_fresco_craquelure
r2_inner_circle (halcon: inner_circle) region → region — Largest inscribed circle drawn as a mask (a scales drawn radius; a=0.5=exact). · 例: gallery2d_region
r2_inner_rectangle1 (halcon: inner_rectangle1) region → region — Largest axis-aligned inscribed rectangle (a shrinks the drawn rect; a=0=exact). · 例: gallery2d_region
r2_partition_rectangle (halcon: partition_rectangle) region → region — Split the region bbox into an NxN grid; keep cells overlapping the region. · 例: gallery2d_region
r2_runlength_features (halcon: runlength_features) region → feature — Region -> feature: mean length of horizontal foreground runs. · 例: gallery2d_region
r2_smallest_circle (halcon: smallest_circle) region → region — Minimum enclosing circle as a mask (Welzl); a inflates radius (>=0). · 例: gallery2d_region
r2_smallest_rectangle1 region → region — Axis-aligned bounding box (smallest_rectangle1). · 例: gallery2d_region
r2_smallest_rectangle2 (halcon: smallest_rectangle2) region → region — Minimum-area ORIENTED bounding rectangle as a mask (rotating calipers). · 例: gallery2d_region
r2_sort_region (halcon: sort_region) region → region — Keep the k-th largest connected component; k = round(a*(n-1)). · 例: gallery2d_region
r2_split_skeleton_lines (halcon: split_skeleton_lines) region → region — Thin the region to a skeleton, then break it at junctions (>=3 neighbours). · 例: gallery2d_region, poc_vessel_network
r2_union1 (halcon: union1) region → region — Union of all connected components into a single mask (OR of labels). · 例: gallery2d_region
r3_background_seg (halcon: background_seg) region → region — 領域の背景(前景の補集合)を連結成分に分け、小さすぎる成分を捨てて返す(HALCON background_seg に相当)。 · 例: gallery2d_region
r3_clip_region (halcon: clip_region) region → region — 領域を画像中心の矩形窓でクリップする(HALCON clip_region に相当)。 · 例: gallery2d_region
r3_eliminate_runs (halcon: eliminate_runs) region → region — 水平方向の連結ラン(連続する前景画素の並び)のうち、指定長未満のものを消す(HALCON eliminate_runs に相当)。 · 例: gallery2d_region
r3_label_to_region (halcon: label_to_region) region → region — ラベル画像から 1 つのグレー値(ラベル)を持つ画素だけを抽出する(HALCONlabel_to_region に相当)。 · 例: gallery2d_region
r3_partition_dynamic (halcon: partition_dynamic) region → region — 領域を、垂直方向の広がりが小さい列(くびれ)で水平に分割する(HALCONpartition_dynamic に相当)。 · 例: gallery2d_region
r3_polar_trans_region (halcon: polar_trans_region) region → region — 領域を重心中心の極座標へリマップする(HALCON polar_trans_region に相当)。 · 例: gallery2d_region
r3_rank_region (halcon: rank_region) region → region — 領域の形態学的ランクオペレータ(HALCON 正真正銘の rank_region: 収縮でも膨張でもない一般化)。 · 例: gallery2d_region
r3_region_features (halcon: region_features) region → feature — 領域の形状特徴量を 1 つ返す(HALCON region_features の一部を実装)。 · 例: gallery2d_region
r3_runlength_distribution (halcon: runlength_distribution) region → feature — 水平方向のラン長分布の要約統計量を 1 つ返す(HALCON runlength_distribution に相当)。 · 例: gallery2d_region
r3_select_region_point (halcon: select_region_point) region → region — 指定した 1 点を含む連結成分だけを残す(HALCON select_region_point に相当)。 · 例: gallery2d_region
reg_close (halcon: closing_circle) region → region — 領域(region)の二値クロージング(膨張してから侵食)。HALCON の closing_circle(Close a region with a circular structuring element.)に相当。 · 例: gallery2d_region, poc_leaf_disease_area
reg_dilate (halcon: dilation_circle) region → region — 領域(region)の二値膨張。HALCON の dilation_circle(Dilate a region with a circular structuring element.)に相当。 · 例: gallery2d_region
reg_erode (halcon: erosion_circle) region → region — 領域(region)の二値侵食。HALCON の erosion_circle(Erode a region with a circular structuring element.)に相当。 · 例: degenerate_inputs, gallery2d_region, poc_colocalization_crosstalk, poc_leaf_disease_area
reg_open (halcon: opening_circle) region → region — 領域(region)の二値オープニング(侵食してから膨張)。HALCON の opening_circle(Open a region with a circular structuring element.)に相当。 · 例: gallery2d_region
region_boundary (halcon: boundary) region → region — 領域の輪郭(境界リング)を抽出する。HALCON の boundary(Reduce a region to its boundary.)に相当。 · 例: gallery2d_region
remove_noise_region (halcon: remove_noise_region) region → region — 円形構造要素(半径 _rad(a)=1〜4)による二値オープニング(opening、収縮の後に膨張)で、孤立した小さな点状ノイズを除去する。b は未使用。 · 例: find_ops_by_meaning, gallery2d_region
remove_small (halcon: select_shape) region → region — 小さい連結領域を面積で除去する。HALCON の select_shape(Choose regions with the aid of shape features.)に相当。 · 例: gallery2d_region, quickstart
select_largest (halcon: select_shape_std) region → region — 最大面積の連結領域だけを残す。HALCON の select_shape_std(Select regions of a given shape.)に相当。 · 例: gallery2d_region, poc_document_scan, poc_leaf_disease_area
select_shape (halcon: select_shape) region → region — 面積が閾値(16+a*200 画素)未満の連結成分を除去する(小さなノイズ状 領域の除去)。HALCON の select_shape(Choose regions with the aid of shape features.)は面積・円形度・凸性など任意の形状特徴で選別できる 汎用演算子だが、ここでは面積による足切り 1 種類に固定している(近似)。 · 例: gallery2d_region
select_shape_std (halcon: select_shape_std) region → region — 連結成分のうち最大の面積を持つものだけを残す(_largest_label で 選択)。HALCON の select_shape_std(Select regions of a given shape.) は max_area を含む複数の標準基準を選べる演算子だが、ここでは 「面積最大」1 種類に固定している(近似)。 · 例: gallery2d_region
shape_trans (halcon: shape_trans) region → region — 領域の凸包(skimage.morphology.convex_hull_image)を返す。HALCON の shape_trans(Transform the shape of a region.)は本来 convex/ rectangle1/ellipse など複数の変形モードを Type 引数で選べる演算子 だが、この代役では凸包 1 種類に固定している(近似の限界)。 · 例: gallery2d_region
sk_clear_border region → region — 画像端に接する成分の除去。前景領域のうち画像の外周に触れている連結成分をすべて背景に落とす —— 視野の端で切れた(全体像が写っていない)物体を解析対象から除外する定番の前処理。 · 例: gallery2d_region
sk_convex (halcon: shape_trans) region → region — 凸包(convex hull)による領域の変形。前景領域を包む最小の凸多角形を求め、その内部を塗りつぶした領域を返す —— くびれや凹みを全て埋める。 · 例: gallery2d_region
sk_find_boundaries (halcon: boundary) region → region — 領域境界の抽出。ラベル画像(ここでは真偽値領域)の中で、異なるラベル同士(前景/背景)が接する画素だけを True にした境界マスクを返す。 · 例: gallery2d_region
sk_medial (halcon: skeleton) region → region — 中心軸変換(medial axis transform)。距離変換の尾根線を抽出する方式で骨格を求める、sk_skeleton とは別アルゴリズム。輪郭からの距離情報を保った骨格になりやすい。 · 例: gallery2d_region, poc_crack_width, poc_vessel_network
sk_remove_holes (halcon: fill_up) region → region — 小さい穴埋め。前景領域の内部にある背景の孔(穴)のうち、面積がしきい値未満のものだけを塗りつぶす —— 大きな孔(意図した開口部)は残す。 · 例: gallery2d_region
sk_skeleton (halcon: skeleton) region → region — 領域の骨格化(skeletonization)。前景領域をトポロジー(連結関係・穴の数)を保ったまま 1 画素幅の線に細める。 · 例: gallery2d_region, poc_solar_el_inspection
sk_thin (halcon: thinning) region → region — モルフォロジー的細線化(thinning)。sk_skeleton と似た 1 画素幅化だが、アルゴリズムが異なりヒット・オア・ミス変換ベースで、骨格の枝(スパー)が出にくい傾向がある。 · 例: gallery2d_region
skeleton (halcon: skeleton) region → region — 位相を保ったまま領域を 1 画素幅の骨格線に細める (skimage.morphology.skeletonize)。分岐や端点の位置は保存されるため、 枝分かれした形状の解析(指の本数を数える等)によく使われる。HALCON の skeleton(Compute the skeleton of a region.)に相当。 · 例: gallery2d_region, poc_crack_width, poc_em_branch_territory, poc_fresco_craquelure, poc_swc_tree_truth, poc_vessel_network
smallest_rectangle1 (halcon: smallest_rectangle1) region → region — 領域を囲む座標軸平行の外接矩形(axis-aligned bounding box)で塗りつぶした領域を返す。a, b は未使用。領域が空なら全ゼロを返す。 · 例: gallery2d_region
thinning (halcon: thinning) region → region — skimage.morphology.thin(Zhang-Suen 系の細線化アルゴリズム)による 1 画素幅化。skeleton と目的は似ているが内部アルゴリズムが異なるため、 分岐点周辺などで結果がわずかに違うことがある。HALCON の thinning (Remove the result of a hit-or-miss operation from a region.)の代役。 · 例: gallery2d_region, poc_crack_width, poc_vessel_network
thinning_golay (halcon: thinning_golay) region → region — 領域を細線化する。実装は skimage の thin(Guo–Hall 型の反復細線化)で完全に 1 画素幅になるまで繰り返し、a, b は未使用。 · 例: gallery2d_region
thinning_seq (halcon: thinning_seq) region → region — 領域を細線化する。実装は thinning_golay と同一(skimage の thin、収束するまで反復する Guo–Hall 型細線化)で、a, b は未使用。 · 例: gallery2d_region
xcv2_hitmiss region → region — ヒットオアミス変換で「中心は背景・上下左右は前景」という十字パターンを 検出する(cv2.MORPH_HITMISS)。 · 例: gallery2d_region
xsk2_isotropic_close region → region — 等方閉じ(isotropic closing)。二値領域に対してskimage.morphology.isotropic_closing を掛ける(region → region専用で、通常のモルフォロジー closing と違い距離変換ベースで等方的に働く)。 · 例: gallery2d_region
xsk3_rank_majority region → region — 局所多数決フィルタ(skimage filters.rank.majority)。xmh_majority と同じ多数決平滑化の skimage 版で、円盤近傍内で過半数の画素が 1 なら 1 にする。 · 例: gallery2d_region
xsp_chamfer_dist region → image — City-block (chamfer) distance to the nearest background pixel, normalised to [0,1]. · 例: gallery2d_region
2d / region-morphology(1)
xmh_majority region → region — 多数決フィルタ(mahotas.majority_filter)。二値領域に対し、正方近傍内で 1 が過半数を占める画素だけを 1 に残す平滑化。孤立ノイズの除去や領域境界のギザギザ均しに使う。 · 例: find_ops_by_meaning, gallery2d_region
xmh_bwperim region → region — 領域の輪郭抽出(mahotas.bwperim)。二値領域から、背景と接する境界画素だけを残した 1 画素幅の輪郭を作る。 · 例: gallery2d_region
2d / restoration(12)
iv_backproject_superres image → image — Single-image iterative back-projection super-resolution (Irani-Peleg). Upscale to a higher grid, simulate the low-res observation by blurring and downscaling, back-project the residual into the high grid, then downscale the consistent estimate back to HxW. Net effect: high-frequency detail is boosted (sharpening-by-consistency). a sets iterations n = 1 + round(a*4) (1..5); b sets the back-projection step gain g = 0.5 + b (0.5..1.5). · 例: gallery2d_smoothing_rank
iv_gradient_inpaint image → image — Harmonic (Laplace) inpainting of a central masked window. The interior of a centred window (side fraction from a) is discarded and refilled by solving nabla^2 u = 0 with Dirichlet boundary equal to the surrounding known pixels (Jacobi relaxation = repeatedly replacing each masked pixel by its 4-neighbour mean). The recovered interior is the smoothest (minimum-gradient) fill of the hole. a sets the window size; b is ignored. · 例: gallery2d_smoothing_rank
iv_motion_deblur image → image — Wiener deconvolution of an assumed LINEAR MOTION blur. a sets the blur length L = 3 + round(a10) (3..13 px); b sets the blur angle theta = b180 deg (b=0 -> horizontal). The op builds that motion PSF and inverts it, narrowing a bar that was smeared along the motion direction. · 例: gallery2d_smoothing_rank, poc_real_deblur_honesty
iv_richardson_lucy image → image — Richardson-Lucy deconvolution assuming a small Gaussian PSF (sigma = RL_SIGMA). a sets the iteration count n = 1 + round(a*14) (1..15); b is ignored. RL multiplicatively drives the estimate u so that u (*) psf matches the blurred measurement, sharpening real edges. · 例: gallery2d_smoothing_rank, poc_real_deblur_honesty
iv_unsharp_deblur image → image — Iterative unsharp masking as an approximate deblur. Each pass adds a scaled high-pass (image minus its Gaussian blur) back to the image. a sets the iteration count n = 1 + round(a*5) (1..6); b sets the per-pass amount amt = 0.4 + b (0.4..1.4). More iterations / larger amount -> sharper. · 例: gallery2d_smoothing_rank, poc_real_deblur_honesty
iv_wiener_deconv_spatial image → image — Self-contained spatial Wiener deconvolution of an assumed small Gaussian PSF. a sets the assumed blur sigma in [0.4, WIENER_SIGMA_MAX] to invert (larger a -> stronger sharpening); b sets the noise-to-signal ratio nsr = 1e-3 + b*0.15 (larger b -> gentler, more regularized restoration). · 例: gallery2d_smoothing_rank
xcv3_inpaint_ns image → image — Navier-Stokes 法によるインペインティング(OpenCV cv2.inpaint、INPAINT_NS)。周辺画素から流体力学的に情報を伝搬させて欠損領域を埋める修復アルゴリズム。 · 例: gallery2d_smoothing_rank
xcv_inpaint image → image — 欠損領域を推定して埋める修復(inpainting)。 · 例: gallery2d_smoothing_rank
xsk2_wiener image → image — ウィーナー逆畳み込み(既知の点拡がり関数を使ったデブラー)。 skimage.restoration.wiener を呼ぶ。 · 例: gallery2d_smoothing_rank
xsk_inpaint image → image — 欠損領域を推定して埋める修復(inpainting)。 · 例: gallery2d_smoothing_rank
xsk_richardson_lucy image → image — Richardson-Lucy デコンボリューション。ぼけを 3x3 の平均カーネル(box PSF)と 仮定して反復的に鮮鋭化する(skimage.restoration.richardson_lucy をそのまま呼ぶ)。 · 例: gallery2d_smoothing_rank
xsk_unwrap_phase image → image — 位相アンラップ(phase unwrapping)。入力 [0,1] を位相 [-pi, pi] とみなし、 skimage.restoration.unwrap_phase で 2*pi の折返し(ラップ)を取り除いてから、 signed01 で符号を保ったまま [0,1] へ戻す(0 -> 0.5)。 · 例: gallery2d_smoothing_rank
2d / segment(7)
sg_felzenszwalb image → region — Felzenszwalb のグラフベース領域分割の境界を返す(skimage.segmentation.felzenszwalb、HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation
sg_gmm_segment image → region — 輝度値に対する 2 クラス・ガウス混合モデル(EM 法)で明るい方のクラスタを領域として返す(skimage 非依存の自前 EM 実装、HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation, poc_nuclei_ploidy
sg_kmeans_intensity image → region — 輝度値の k-means クラスタリングで最も明るいクラスタを領域として返す(自前の Lloyd 法実装、HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation
sg_normalized_cut_2 image → region — 輝度グラフの正規化カット(スペクトラル 2 分割、Shi & Malik)で画像を明暗 2 領域に分ける(HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation
sg_region_growing_seeded image → region — 画像中心を種として、輝度が近い画素を繋げていく領域拡張(シードグロウイング)(HALCON regiongrowing は既に別 op でカバー済みのため、重複申告を避けて halcon="" としている)。 · 例: gallery2d_segmentation
sg_slic_superpixels image → region — SLIC 法によるスーパーピクセル過分割の境界格子を返す(skimage.segmentation.slic、HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation
sg_watershed_gradient image → region — 勾配画像の h-minima マーカーからのウォーターシェッド分割の境界を返す(skimage、HALCON に対応オペレータなし)。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet
2d / segmentation(54)
adaptive_gauss_thresh (halcon: local_threshold) image → region — ガウシアン平滑化した局所平均を基準にした適応的しきい値処理。HALCON の local_threshold(Segment an image using local thresholding.)に相当。 · 例: gallery2d_segmentation, poc_matrix_code_reading
auto_threshold (halcon: auto_threshold) image → region — 実装は binary_threshold と同一(Otsu の判別分析法による自動 しきい値化)。HALCON の auto_threshold(Segment an image using thresholds determined from its histogram.)は本来ヒストグラムの複数の谷 から複数のしきい値(多クラス分割)を決める演算子だが、この代役では 単一の Otsu しきい値による二値化に単純化している(近似の限界)。 · 例: gallery2d_segmentation, poc_battery_electrode_breathing, poc_bump_coplanarity, threshold_family_agreement
bin_threshold (halcon: bin_threshold) image → region — 大津の判別分析法(Otsu’s method)による自動しきい値二値化。binary_threshold/auto_threshold と同じ _sh_threshold の otsu 分岐を共有し、a, b は未使用。しきい値より明るい画素を前景(1)とする。scikit-image が無い環境では同じ 256 ビンの Otsu を numpy の双子(numpy_twins.threshold_otsu)で計算する(bit 一致。2026-10-25 までは画像平均値をしきい値とする別の答えに落ちていた)。 · 例: gallery2d_segmentation, poc_metal_grain_size
binary_threshold (halcon: binary_threshold) image → region — 大津の判別分析法(Otsu’s method)による自動しきい値二値化 (skimage.filters.threshold_otsu、無ければ平均値で代用)。クラス間分散 を最大化するしきい値を画像のヒストグラムから自動決定する。HALCON の binary_threshold(Segment an image using binary thresholding.)に 相当(HALCON は Otsu 以外の複数アルゴリズムを選べるが、ここでは Otsu 固定)。 · 例: gallery2d_segmentation, threshold_family_agreement
canny (halcon: edges_image) image → region — 簡易 Canny 風エッジ検出(region を返す)。HALCON の edges_image(Extract edges using Deriche, Lanser, Shen, or Canny filters.)に対応付けられているが、非極大抑制やヒステリシスしきい値処理は行わない簡略版(近似)。 · 例: gallery2d_segmentation, poc_real_coin_metrology, poc_water_inspection_images
cv_adaptive_gauss (halcon: local_threshold) image → region — 局所ガウス重み付き平均によるしきい値二値化(adaptive threshold、Gaussian 版、OpenCV 実装)。cv_adaptive_mean と同じ枠組みだが、局所平均を単純平均ではなくガウス重み付き平均で取るため、窓の境界付近の急な変化が出にくい。 · 例: gallery2d_segmentation
cv_adaptive_mean (halcon: dyn_threshold) image → region — 局所平均によるしきい値二値化(adaptive threshold、mean 版、OpenCV 実装)。各画素の周辺の単純平均から定数を引いた値をしきい値として使う —— 照明ムラのある画像で大域しきい値より安定する。 · 例: gallery2d_segmentation
cv_canny (halcon: edges_image) image → region — Canny エッジ検出(領域版、OpenCV 実装)。sk_canny と同じアルゴリズムだが、OpenCV 版はガウス平滑化の σ ではなく 2 本のしきい値を直接指定する API になっている。 · 例: gallery2d_segmentation
cv_otsu (halcon: binary_threshold) image → region — 大津の判別分析法による大域しきい値二値化(OpenCV 実装)。sk_otsu と同じアルゴリズムだが、内部で 8 bit に量子化してから計算する点が異なる(結果がわずかにずれ得る)。 · 例: gallery2d_segmentation, poc_vegetation_cover, threshold_family_agreement
dual_threshold (halcon: dual_threshold) image → region — 符号つき画像向けのしきい値処理。中央値 0.5 を「ゼロ」とみなし、 |x - 0.5| > 0.1+0.35*a を満たす画素(0.5 から十分離れた画素)を前景と する ―― 正負どちらの側にも対称に反応する。HALCON の dual_threshold (Threshold operator for signed images.)に相当(HALCON は正負で別々の しきい値を持てるが、ここでは 0.5 を中心とした対称な帯域に単純化)。 · 例: gallery2d_segmentation
dyn_threshold (halcon: dyn_threshold) image → region — 局所しきい値処理。局所平均(窓一辺 _k(a) の uniform_filter)に オフセット (b-0.5)*0.4 を加えたものをしきい値として使う ―― 照明ムラの ある画像でも局所的なコントラストで前景を抽出できる。HALCON の dyn_threshold(Segment an image using a local threshold.)に相当。 · 例: gallery2d_segmentation, poc_metal_grain_size
edges_image (halcon: edges_image) image → region — Canny エッジ検出(skimage.feature.canny、シグマ 0.5+2*a)による 領域抽出。ガウス平滑化→勾配→非極大抑制→ヒステリシスしきい値という多段の 処理をまとめて行う、広く使われるエッジ検出法。HALCON の edges_image (Detect edges using Deriche, Lanser, Shen, or Canny filters.)に相当 (HALCON は Deriche/Lanser/Shen/Canny を選べるが、ここでは Canny 固定)。 · 例: find_ops_by_meaning, gallery2d_segmentation
fast_threshold (halcon: fast_threshold) image → region — 固定しきい値による二値化。x が (a, a+0.5+0.5b) の帯域に入る画素を前景(1)とする(threshold seed op と同じ _sh_threshold の fixed 分岐)。a が下限、b が帯域幅(上限)を振る。 · 例: gallery2d_segmentation
h_threshold (halcon: threshold) image → region — 帯域しきい値処理(a < x < a+0.5+0.5*b を満たす画素を前景とする)。 HALCON の threshold(Segment an image using global threshold.)は Min/Max の 2 値を直接指定する演算子だが、この代役では下限を a から、 帯域幅を b から導出する 1 パラメータ相当の簡略化になっている。登録名は threshold が Python 側で予約語的に扱われるため h_threshold になる (spec の halcon フィールドは threshold のまま)。 · 例: gallery2d_segmentation
hysteresis_threshold (halcon: hysteresis_threshold) image → region — ヒステリシスしきい値処理(skimage.filters.apply_hysteresis_ threshold)。低いしきい値(0.2+0.3*a)を超えた画素のうち、高い しきい値(0.5+0.3*b)を超えた画素につながっているものだけを前景として 残す ―― Canny エッジ検出の後処理としても使われる、途切れにくいエッジ 抽出手法。HALCON の hysteresis_threshold(Perform a hysteresis threshold operation on an image.)に相当。 · 例: gallery2d_segmentation, poc_fresco_craquelure, poc_solar_el_inspection
it_region_to_bin (halcon: region_to_bin) image → image — region_to_bin: threshold the image at a to obtain a region, then render that region as a two-gray-level binary image – foreground pixels get the high gray value, background pixels the low one. b sets the two levels: lo = 0.5 - 0.5b, hi = 0.5 + 0.5b. · 例: gallery2d_segmentation
local_max (halcon: local_max) image → region — 局所極大点検出。x が窓内の最大値(_k(a))に一致し、かつ x > 0.3+0.4*b を満たす画素だけを前景とする ―― 平坦な高原状の領域では 複数の隣接画素が同時に「極大」として残る点に注意(真の孤立点ピークだけを 残す保証はない)。HALCON の local_max(Detect all local maxima in an image.)に相当。 · 例: gallery2d_segmentation
local_min (halcon: local_min) image → region — 局所極小点(領域極小)検出。x が窓内の最小値(_k(a))に一致し、 かつ x < 0.7-0.4*b を満たす画素を前景とする、local_max の暗部版。 HALCON の local_min(Detect all local minima in an image.)に相当。 · 例: gallery2d_segmentation
local_threshold (halcon: local_threshold) image → region — 局所ガウス平滑化+オフセットによるしきい値処理(gaussian_filter(x, 1+3*a) にオフセット (b-0.5)*0.3 を加えたものがしきい値)。 dyn_threshold と似た発想だが、局所平均を矩形窓でなくガウシアンで 求める点が異なる。HALCON の local_threshold(Segment an image using local thresholding.)に相当。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet
nonmax_suppression_amp (halcon: nonmax_suppression_amp) image → region — 極大点(ローカルマキシマム)を抽出する非極大値抑制。窓内最大値と一致し、かつ閾値 0.3+0.4b を超える画素だけを前景として残す。a が窓サイズを 3/5/7/9 に振る。 · 例: gallery2d_segmentation
otsu (halcon: binary_threshold) image → region — 大津の判別分析法(Otsu’s method)による自動しきい値処理。HALCON の binary_threshold(Segment an image using binary thresholding.)に相当。 · 例: ct_inspection, degenerate_inputs, example_inner_diameter_mm, find_ops_by_meaning, gallery2d_segmentation, genspark_external_review, line_handshake, poc_bone_trabecular_thickness, poc_colocalization_crosstalk, poc_dimensional_inspection, poc_document_scan, poc_fresco_craquelure, poc_matrix_code_reading, poc_metal_grain_size, poc_real_coin_metrology, poc_segmentation_gauntlet, poc_solar_el_inspection, poc_vegetation_cover, poc_water_inspection_images, quickstart, segment_and_classify, threshold_family_agreement, typed_results_json
pouring (halcon: pouring) image → region — 分水嶺法(watershed)による領域分割の境界抽出。勾配画像(Sobel 振幅)を地形とみなし、暗い領域(x < 0.2+0.3a)を種(マーカー)として分水嶺を計算、skimage.segmentation.find_boundaries で境界を前景として返す。b は未使用。 · 例: gallery2d_segmentation
regiongrowing (halcon: regiongrowing) image → region — 領域成長の簡易近似。まず高いしきい値(x > 0.5+0.3*a)でシード (種)領域を作り、それを 1+4*b 回だけ二値膨張して広げる ―― 真の領域成長 (隣接画素との類似度を逐次判定しながら広げる)ではなく、しきい値+膨張という 軽量な代用になっている(近似の限界)。HALCON の regiongrowing (Segment an image using region growing.)の代役。 · 例: gallery2d_segmentation
regiongrowing_mean (halcon: regiongrowing_mean) image → region — 実装は regiongrowing と同一(しきい値によるシード生成+膨張)。 HALCON の regiongrowing_mean(Perform a region growing using mean gray values.)は本来、各領域の平均輝度との近さを基準に成長させる演算子だが、 この代役では平均輝度による判定を行わず regiongrowing と同じ処理を 返す(近似の限界)。 · 例: gallery2d_segmentation
segment_image_mser (halcon: segment_image_mser) image → region — MSER(Maximally Stable Extremal Regions、最大安定極値領域)検出 (cv2.MSER_create)。しきい値を連続的に変化させても形が安定して残る 領域を検出し、その境界線を返す(文字・ロゴなど照明変化に頑健な領域検出に 使われる)。HALCON の segment_image_mser(Segment image using Maximally Stable Extremal Regions (MSER).)に相当。 · 例: gallery2d_segmentation
sk_canny (halcon: edges_image) image → region — Canny エッジ検出(領域版)。ガウス平滑化 → 勾配計算 → 非極大抑制 → ヒステリシスしきい値、という古典的な多段パイプラインでエッジ画素を求め、真偽値の領域として返す。 · 例: find_ops_by_meaning, gallery2d_segmentation, genspark_external_review
sk_chan_vese image → region — Chan-Vese セグメンテーション。レベルセット(等位集合)を輝度の分散が領域内で最小になるように反復して動かす能動輪郭モデルで、エッジがはっきりしない対象でも領域を検出できる。 · 例: gallery2d_segmentation, poc_active_contours, poc_segmentation_gauntlet
sk_felzenszwalb image → region — Felzenszwalb のグラフベース領域分割。画素をノードとする最小全域木クラスタリングで、明確な境界が無くても画像を過分割(オーバーセグメンテーション)する高速な手法。ここでは分割結果の境界線を領域として返す。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet
sk_hysteresis (halcon: hysteresis_threshold) image → region — ヒステリシスしきい値処理。2 段のしきい値を使い、高い方を超える画素をまず確定させ、低い方を超えつつ確定画素と連結している画素も追加で採用する —— Canny のエッジ連結ステップと同じ考え方を汎用の応答画像に適用したもの。 · 例: gallery2d_segmentation
sk_li (halcon: binary_threshold) image → region — Li の最小相互エントロピー法(Minimum Cross Entropy)による大域しきい値二値化。前景/背景の分布間の相互エントロピーを反復的に最小化してしきい値を決める、大津法とは別系統の自動しきい値法。 · 例: gallery2d_segmentation, threshold_family_agreement
sk_local_maxima (halcon: local_max) image → region — 局所極大点の検出。近傍のどの画素よりも真に大きい(プラトー=同値の連結領域も許容)画素の集合を領域として返す —— ピーク検出・特徴点抽出の下処理。 · 例: gallery2d_segmentation
sk_niblack (halcon: var_threshold) image → region — Niblack の局所適応しきい値。Sauvola と同じく局所平均・標準偏差からしきい値を決めるが、係数の与え方がより単純(古典的)で、Sauvola より前景を広めに(=ノイズを拾いやすく)判定する傾向がある。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet, threshold_family_agreement
sk_otsu (halcon: binary_threshold) image → region — 大津の判別分析法(Otsu’s method)による大域しきい値二値化。クラス間分散を最大化するしきい値を自動で選び、画像全体を前景/背景に二分する。 · 例: gallery2d_segmentation, poc_am_thermal_to_ct, poc_cell_counting, poc_fresco_craquelure, poc_leaf_disease_area, poc_nuclei_ploidy, poc_vegetation_cover, threshold_family_agreement
sk_sauvola (halcon: var_threshold) image → region — Sauvola の局所適応しきい値。各ピクセル周辺の局所平均・標準偏差からローカルにしきい値を決める手法で、照明ムラのある文書画像の二値化(文字抽出)向けに設計されている。 · 例: gallery2d_segmentation, poc_matrix_code_reading, poc_segmentation_gauntlet, threshold_family_agreement
sk_slic image → region — SLIC(Simple Linear Iterative Clustering)によるスーパーピクセル分割。色(ここではグレー値)と座標を合わせた空間で k-means クラスタリングを行い、ほぼ均等な大きさの領域に分割する。ここでは分割結果の境界線を領域として返す。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet
sk_yen (halcon: binary_threshold) image → region — Yen の最大相関基準(maximum correlation criterion)による大域しきい値二値化。ヒストグラムのエントロピーベースの評価量を最大化してしきい値を選ぶ、大津法・Li 法とはまた別の自動しきい値法。 · 例: gallery2d_segmentation, threshold_family_agreement
threshold (halcon: threshold) image → region — 大域しきい値処理(グローバルスレッショルド)。HALCON の threshold(Segment an image using global threshold.)に相当。 · 例: gallery2d_segmentation, poc_bone_trabecular_thickness, poc_change_detection_misreg, poc_fresco_craquelure, poc_gear_tooth_metrology, poc_metal_grain_size, poc_screw_thread_metrology, poc_tof_camera, poc_traffic_counting, poc_virtual_sem_kv_cd_bse, poc_water_level, tof_realdata, video_streaming
var_threshold (halcon: var_threshold) image → region — Sauvola の局所適応的二値化(skimage.filters.threshold_sauvola、 窓サイズ 2*int(a*6)+3)。局所平均と局所標準偏差の両方を使ってしきい値 を決めるため、dyn_threshold より照明ムラや低コントラスト文書に強い。 HALCON の var_threshold(Threshold an image by local mean and standard deviation analysis.)に相当する近似(定式化は似た発想だが Sauvola の式と HALCON の式は係数が異なる ―― 同一の数値結果にはならない)。 · 例: gallery2d_segmentation, poc_document_scan
watersheds (halcon: watersheds) image → region — 分水嶺(watershed)セグメンテーション。勾配画像を地形とみなし、 暗い領域(x < 0.2+0.3*a)をマーカーとして分水嶺線を求め、その境界線を 返す。HALCON の watersheds(Extract watersheds and basins from an image.)に相当。 · 例: gallery2d_segmentation, poc_segmentation_gauntlet
watersheds_threshold (halcon: watersheds_threshold) image → region — 実装は watersheds と同一(kind: "watershed")。HALCON の watersheds_threshold(Extract watershed basins from an image using a threshold.)は本来、隣接する集水域を統合する深さのしきい値を持つ演算子 だが、この代役では統合しきい値を実装せず watersheds と同じ結果を返す (近似の限界)。 · 例: gallery2d_segmentation
xcv2_meanshift image → image — 平均値シフト(mean-shift)フィルタリングで色/輝度を領域ごとに均す (cv2.pyrMeanShiftFiltering)。 · 例: gallery2d_segmentation
xcv_grabcut image → region — GrabCut(反復グラフカット)による前景/背景の自動分離。 · 例: gallery2d_segmentation
xcv_watershed_markers (halcon: watersheds) image → region — マーカー制御ウォーターシェッドによる境界線抽出。 · 例: gallery2d_segmentation
xkor_canny image → region — Canny 法によるエッジ(二値領域)検出。kornia.filters.canny を呼び、 返り値のうち二値エッジマップ(edges)を採用する(勾配強度側は捨てる)。 · 例: find_ops_by_meaning, gallery2d_segmentation
xmh_bernsen image → region — Bernsen 局所二値化(mahotas.thresholding.bernsen)。近傍の最大輝度と最小輝度の中間値をローカル閾値とし、コントラストが低い領域だけ大域しきい値にフォールバックする。 · 例: gallery2d_segmentation, threshold_family_agreement
xsk2_h_maxima image → region — h-maxima 変換(局所極大のうち高さ h 未満のものを消す)。 skimage.morphology.h_maxima を呼ぶ。 · 例: gallery2d_segmentation, poc_cell_counting
xsk2_multiotsu image → image — 大津の判別分析法(Otsu’s method)を多値に拡張した多値大津法で階調を 量子化する。skimage.filters.threshold_multiotsu を使う。 · 例: gallery2d_segmentation, poc_mri_bias_field
xsk3_h_minima image → region — h-極小変換(skimage morphology.h_minima)。深さが h 未満の浅い谷(局所極小)を平坦化してから残った極小点を二値マークする —— xmh_regmin と似た谷を拾う処理だが、深さでノイズ由来の浅い谷を明示的に除外できる。 · 例: gallery2d_segmentation, genspark_external_review
xsk3_peak_local_max image → region — 局所極大点マップ(skimage feature.peak_local_max)。互いに min_distance 画素以上離れた局所輝度極大の座標を検出し、その座標だけを 1 にした疎な二値画像(1 画素ずつの点で、面としての領域ではない)を返す。 · 例: gallery2d_segmentation
xsk3_rank_otsu image → region — 局所大津二値化(skimage filters.rank.otsu)。近傍円盤内だけで大津の判別分析法(Otsu’s method)の閾値を求め、画素値がその局所閾値を上回るかで二値化する —— 大域大津と違い、照明ムラのある画像でも局所的に妥当な閾値が選べる。 · 例: gallery2d_segmentation, threshold_family_agreement
xsk3_threshold_local_median image → region — 局所中央値適応的二値化(skimage filters.threshold_local の method='median')。ブロックごとの中央値を局所閾値とし、画素値がそれを上回るかで二値化する。局所平均を使う版よりも外れ値(ノイズ画素)に強い。 · 例: gallery2d_segmentation
xsk_flood image → region — 塗りつぶし(flood fill)領域抽出。 · 例: gallery2d_segmentation
xsk_random_walker image → region — ランダムウォーカー法によるグラフベース領域分割。 · 例: gallery2d_segmentation, genspark_external_review, poc_segmentation_gauntlet
zero_crossing (halcon: zero_crossing) image → region — ラプラシアン(ガウス平滑化込み、シグマ 0.5+2*a)の符号が反転する 画素(ゼロ交差)を検出する。LoG のゼロ交差はエッジの位置を高精度に示す ことで知られる古典的な検出法。HALCON の zero_crossing(Extract zero crossings from an image.)に相当。 · 例: gallery2d_segmentation
2d / self-similarity(1)
xmh_selfmatch image → image — 自己相似マップ(mahotas.template_match による自己テンプレートマッチング)。画像中心から切り出した小さなパッチを画像全体に対してテンプレートマッチングし、パッチに似た場所ほど 1 に近い値になるよう正規化して返す。 · 例: gallery2d_features
2d / smoothing(50)
anisotropic_diffusion (halcon: anisotropic_diffusion) image → image — Perona-Malik 型の異方性拡散。上下左右 4 方向の画素差にガウス型の 伝導度関数 exp(-(Δ/K)^2) を掛けて反復的に加算する ―― 差が閾値 K より 大きい(=エッジ)方向には拡散させず、小さい(=平坦)方向だけ滑らかにする エッジ保存平滑化。HALCON の anisotropic_diffusion(Perform an anisotropic diffusion of an image.)に相当。 · 例: gallery2d_smoothing_rank
bilateral (halcon: bilateral_filter) image → image — エッジ保存平滑化(bilateral filter)。HALCON の bilateral_filter(bilateral filtering of an image.)に相当。 · 例: gallery2d_smoothing_rank, quickstart
bilateral_filter (halcon: bilateral_filter) image → image — OpenCV のバイラテラルフィルタ(cv2.bilateralFilter)。近傍画素を 空間距離と輝度差の両方で重み付けして平均する、エッジを保ったまま平滑化する 定番手法。HALCON の bilateral_filter(bilateral filtering of an image.)に相当。 · 例: gallery2d_smoothing_rank
binomial_filter (halcon: binomial_filter) image → image — 二項係数(パスカルの三角形)を重みとする分離型平滑化フィルタ。 ndimage.correlate1d を縦・横に順に掛けることでガウシアンを離散二項核で 近似する ―― HALCON の binomial_filter(Smooth an image using the binomial filter.)が使う核と同じ発想の実装。 · 例: gallery2d_smoothing_rank
coherence_enhancing_diff (halcon: coherence_enhancing_diff) image → image — 実装は anisotropic_diffusion と同一(kind: "anisotropic")。 本来の coherence-enhancing diffusion は構造テンソルの固有ベクトルに沿って 拡散方向を制御する(線状構造をつなげる)手法だが、この代役ではその構造 テンソル計算を行わず、単純な Perona-Malik 異方性拡散で代用している (近似の限界 ―― 線状構造の連結効果は再現されない)。HALCON の coherence_enhancing_diff(Perform a coherence enhancing diffusion of an image.)の代役。 · 例: gallery2d_smoothing_rank
cv_bilateral (halcon: bilateral_filter) image → image — バイラテラルフィルタ(OpenCV 実装)。空間的な近さと輝度値の近さの両方を重みにしたガウス的平滑化で、エッジ(輝度差の大きい境界)をぼかさずに平坦部だけを滑らかにする。 · 例: gallery2d_smoothing_rank
cv_box (halcon: mean_image) image → image — 単純平均化フィルタ(box filter、OpenCV 実装)。正方形近傍内の単純平均を取るだけの最も基本的な平滑化 —— ガウス平滑化より計算は軽いが、リング状のアーティファクトが出やすい。 · 例: gallery2d_smoothing_rank
cv_gaussian (halcon: gauss_filter) image → image — ガウス平滑化(OpenCV 実装)。ガウスカーネルによる標準的なぼかしで、box filter よりリンギングが出にくい。 · 例: gallery2d_smoothing_rank
cv_nlmeans image → image — Non-local means ノイズ除去(OpenCV 実装、グレースケール版)。sk_nlm と同じ考え方(画像全体から似たパッチを探して平均する)を OpenCV の高速実装で行う。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank
cv_sharpen (halcon: emphasize) image → image — アンシャープ的な鮮鋭化フィルタ(3x3 カーネル畳み込み、OpenCV 実装)。中心 1+4a、上下左右 -a のカーネル(a=0 では単位カーネル=無変化、a が大きいほど離散ラプラシアン的な高域強調が強くかかる)を畳み込み、エッジ付近のコントラストを持ち上げる。 · 例: gallery2d_smoothing_rank
dl_aniso_diffusion (halcon: anisotropic_diffusion) image → image — Perona-Malik 型の異方性拡散フィルタ(torch 実装、GPU があれば GPU 上で実行)。 · 例: gallery2d_smoothing_rank
dl_guided_filter (halcon: guided_filter) image → image — 自己ガイド付きフィルタ(guided filter、ガイド画像=入力自身、torch 実装)。 · 例: gallery2d_smoothing_rank
f2_gauss_pyramid (halcon: gen_gauss_pyramid) image → image — Return one level of the image’s Gauss pyramid, down-sampled by 2 level times (blur + decimate) and then up-sampled back to the original HxW so the result is a band-limited (low-pass) version at reduced resolution. a selects the level (1..4); b is ignored. · 例: gallery2d_smoothing_rank
gauss_filter (halcon: gauss_filter) image → image — ガウシアンぼかし(scipy.ndimage.gaussian_filter、シグマ 0.3+2.7*a) による平滑化。HALCON の gauss_filter(Smooth using discrete Gauss functions.)の代役 ―― HALCON は離散ガウス核(整数演算)、こちらは連続ガウス核 の scipy 実装で、近似ではあるが結果は非常に近い。 · 例: gallery2d_smoothing_rank, poc_cell_counting, poc_document_scan, poc_focus_stacking, poc_gear_tooth_metrology, poc_pv_thermal_survey, poc_sea_ice_concentration, poc_search_sweep_width, poc_solar_limb_darkening, poc_vanishing_detail_and_morphing_area, poc_vessel_network, poc_white_balance
gauss_image (halcon: gauss_image) image → image — 実装は gauss_filter と同一(同じ kind: "gauss" 分岐、シグマ 0.3+2.7*a のガウシアンぼかし)。HALCON では gauss_filter(離散近似) と gauss_image(周波数領域/連続ガウス)は別演算子だが、この代役では 区別せず同じ関数を指す。HALCON の gauss_image(Smooth an image using discrete Gaussian functions.)の代役。 · 例: gallery2d_smoothing_rank, poc_colocalization_crosstalk, poc_moire_screen, poc_prnu_camera_fingerprint, poc_weld_radiograph_porosity
gaussian (halcon: gauss_filter) image → image — 等方ガウシアン平滑化。HALCON の gauss_filter(Smooth using discrete Gauss functions.)に相当。 · 例: coherence_scanning, color_transport, ct_inspection, degenerate_inputs, example_inner_diameter_mm, gallery2d_smoothing_rank, genspark_external_review, inspection_workflow, perf_pointcloud_descriptors, photon_timeresolved, poc_bone_trabecular_thickness, poc_chromatic_confocal, poc_dtof_ranging, poc_flybrain_pointcloud, poc_interferometry_step, poc_itof_multifreq, poc_leaf_disease_area, poc_nir_silicon_transmission, poc_nuclei_ploidy, poc_simcal_telecentric, poc_simcal_thin_film, poc_solar_el_inspection, poc_solar_limb_darkening, poc_star_astrometry, poc_wound_area_tracking, quickstart, typed_results_json, video_streaming
guided_filter (halcon: guided_filter) image → image — 実装は bilateral_filter と同一(kind: "bilateral")。本来の ガイド付きフィルタ(guided filter、局所線形モデルに基づくエッジ保存平滑化) とは数学的に別のアルゴリズムだが、この代役ではバイラテラルフィルタで 代用している(似た用途=エッジ保存平滑化を満たすための近似、結果の数値は 一致しない)。HALCON の guided_filter(Guided filtering of an image.) の代役。 · 例: gallery2d_smoothing_rank
isotropic_diffusion (halcon: isotropic_diffusion) image → image — 実装は単純なガウシアンぼかし(gaussian_filter、シグマ 0.5+2.5*a)。等方拡散方程式の解はガウシアン核による畳み込みと数学的に 等価なので、この近似は理論的にも妥当(異方性拡散のようなエッジ保存効果は 無く、方向を問わず一様に滑らかになる)。HALCON の isotropic_diffusion (Perform an isotropic diffusion of an image.)に相当。 · 例: gallery2d_smoothing_rank
kuwahara image → image — Kuwahara フィルタ(1976)。4 つの重なる窓のうち分散が最小の窓の平均を出す、縁を保つ平滑化。 · 例: gallery2d_smoothing_rank
mean_box (halcon: mean_image) image → image — 矩形窓の単純平均(box)フィルタ。HALCON の mean_image(Smooth by averaging.)に相当。 · 例: gallery2d_smoothing_rank
mean_box_wh (halcon: mean_image) image → image — 幅と高さを独立に選ぶ平均(box)フィルタ。HALCON の mean_image(Smooth by averaging.)に相当。 · 例: gallery2d_smoothing_rank
mean_curvature_flow (halcon: mean_curvature_flow) image → image — 小さなシグマ(0.6)のガウシアンぼかしを繰り返し適用することで平均曲率流を 近似したスムージング。真の平均曲率 PDE(ops 側の別実装が本来やる 拡散方程式)ではなく、反復ぼかしという計算コストの軽い代用になっている点が このバックエンド固有の近似の限界。HALCON の mean_curvature_flow (Apply the mean curvature flow to an image.)の代役。 · 例: gallery2d_smoothing_rank
mean_image (halcon: mean_image) image → image — 矩形平均フィルタ(box filter)。HALCON の mean_image(Smooth by averaging.)に相当する近似で、注目画素を一辺 k の窓の平均で置き換える。 · 例: gallery2d_smoothing_rank, poc_document_scan, poc_focus_stacking, poc_white_balance
sigma_image (halcon: sigma_image) image → image — シグマフィルタによる非線形平滑化。中心画素値に近い(|x-mean|<σ) 近傍画素だけを平均する ―― エッジ付近では反対側の階調が平均に混ざらないため、 平均フィルタよりエッジを保ちやすいノイズ除去になる。HALCON の sigma_image(Non-linear smoothing with the sigma filter.)に相当。 · 例: gallery2d_smoothing_rank
simulate_defocus (halcon: simulate_defocus) image → image — 一様なピンボケ(デフォーカス)をシミュレートする平滑化。実装は矩形窓の平均フィルタ(box filter, ndimage.uniform_filter)で、円形絞りによる本来のボケ形状(circle-of-confusion)ではなく正方形窓で近似する。a が窓幅を 3/5/7/9 の 4 段階に振り(_k(a))、b は未使用。 · 例: gallery2d_smoothing_rank
simulate_motion (halcon: simulate_motion) image → image — 線形の動きぼけ(モーションブラー)をシミュレートする。角度 π*a(0〜180°)方向に長さ 5+10*b 画素の線分カーネルを作り畳み込む。 HALCON の simulate_motion(Simulation of (linearly) motion blur.)に 相当。 · 例: gallery2d_smoothing_rank
sk_nlm image → image — Non-local means(非局所平均法)ノイズ除去。近接画素だけでなく画像全体から似たパッチを探して平均する —— 反復模様やテクスチャを保ったまま平坦部のノイズだけを落とせるのが、単純な平滑化との違い。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank, poc_prnu_camera_fingerprint
sk_rolling_ball image → image — ローリングボール法による背景差し引き。画像の輝度を地形と見立て、指定半径の球をその下から転がして得られる包絡面を背景と推定し、元画像から引き算する—— 照明ムラ(緩やかな輝度勾配)の除去に使う。 · 例: gallery2d_smoothing_rank, poc_weld_radiograph_porosity
sk_tv image → image — 全変動ノイズ除去(TV denoising、Chambolle 法)。エッジを保ったまま平坦部のノイズを滑らかにする —— メディアン/ガウスぼかしと違い、輪郭のシャープさを崩しにくいのが特徴。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank, poc_prnu_camera_fingerprint
sk_tv_bregman image → image — 全変動ノイズ除去(TV denoising、Split-Bregman 法)。sk_tv と同じ TV正則化の考え方だが最適化アルゴリズムが異なり(Bregman 分割法)、収束が速いとされる。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank
sk_wavelet image → image — ウェーブレット変換によるノイズ除去。画像をウェーブレット領域に分解し、BayesShrink 基準のしきい値処理で小さい(=ノイズとみなせる)係数を落としてから逆変換する。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank, poc_prnu_camera_fingerprint
smooth_image (halcon: smooth_image) image → image — ガウシアンぼかし(シグマ 0.5+2.0*a)一本で近似した汎用スムージング。 HALCON の smooth_image(Smooth an image using various filters.)は Deriche/Gauss/Mean など複数のフィルタ種別を選べる万能演算子だが、ここでは ガウシアン 1 種類に単純化している(近似の限界)。 · 例: gallery2d_smoothing_rank
unsharp (halcon: emphasize) image → image — Unsharp mask. ★出口で [0,1] に clip する(2026-09-02)。 · 例: gallery2d_smoothing_rank, poc_camera_shake_deblur, poc_real_deblur_honesty, poc_superresolution_limits
xcv3_denoise_tvl1 image → image — 全変動 L1 ノイズ除去(OpenCV cv2.denoise_TVL1、Primal-Dual アルゴリズム)。エッジを保ちながらノイズを除去する全変動最小化に基づく手法で、通常のガウシアン平滑化よりエッジがシャープに残る。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank
xcv3_pyr_laplacian image → image — ラプラシアンピラミッドによる鮮鋭化。pyrDown で縮小してから pyrUp で戻した画像(低周波成分)を元画像から引いた差分(ラプラシアンピラミッドの 1 層、バンドパス成分に相当)を、元画像に加算して強調するアンシャープマスクの一種。 · 例: gallery2d_smoothing_rank
xcv_edge_preserving image → image — OpenCV の edgePreservingFilter(エッジ保存平滑化、flags=1 = RECURS_FILTER = 再帰フィルタ方式)。 · 例: gallery2d_smoothing_rank
xkor_bilateral image → image — バイラテラルフィルタ(エッジ保存平滑化)。kornia.filters.bilateral_blur を 5x5 カーネルで呼ぶ。 · 例: gallery2d_smoothing_rank
xkor_gaussian image → image — ガウシアンぼかし(kornia の GPU ネイティブ実装)。torch テンソル上で kornia.filters.gaussian_blur2d を 5x5 カーネル・シグマ可変で掛ける。 · 例: gallery2d_smoothing_rank
xkor_motion_blur image → image — モーションブラー。kornia.filters.motion_blur を呼ぶ。 · 例: gallery2d_smoothing_rank
xkor_unsharp image → image — アンシャープマスク(鮮鋭化)。kornia.filters.unsharp_mask を 5x5 カーネルで呼ぶ。 · 例: gallery2d_smoothing_rank
xpil_smooth_more image → image — Pillow の平滑化フィルタ(強め)。PIL.ImageFilter.SMOOTH_MORE の固定カーネルで SMOOTH よりも強くぼかす。 · 例: gallery2d_smoothing_rank
xpil_unsharp_mask image → image — Pillow のアンシャープマスク。PIL.ImageFilter.UnsharpMask を呼ぶ(kornia 版 xkor_unsharp に対応する CPU 実装)。 · 例: gallery2d_smoothing_rank
xsk3_rank_mean_bilateral image → image — 局所バイラテラル平均(skimage filters.rank.mean_bilateral)。円盤近傍のうち、中心画素の値から下方 s0〜上方 s1 の範囲に収まる画素だけを平均する、エッジ保存型の平滑化。 · 例: gallery2d_smoothing_rank
xsp_cspline_smooth image → image — 3 次スプライン平滑化フィルタ(scipy.signal.cspline2d)。 · 例: gallery2d_smoothing_rank
xsp_dct_denoise image → image — DCT 係数のハード閾値処理によるノイズ除去(ウェーブレット縮退の DCT 版)。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank, poc_prnu_camera_fingerprint
xsp_savgol image → image — Savitzky-Golay フィルタで画像を平滑化する(列方向→行方向の順に 1 次元適用)。 · 例: gallery2d_smoothing_rank
xsp_wiener image → image — Wiener 適応フィルタ(scipy.signal.wiener)でノイズを抑える。 · 例: gallery2d_smoothing_rank, poc_prnu_camera_fingerprint
xwt_firm_denoise image → image — ファーム閾値処理(firm/semisoft thresholding、pywt.threshold_firm)によるウェーブレットノイズ除去。ソフト閾値とハード閾値の中間の特性を持ち、sym4 で 2 段分解した各詳細係数に適用してから再構成する。 · 例: find_ops_by_meaning, gallery2d_smoothing_rank
xwt_lf_reconstruct image → image — 低周波再構成画像。db2 で分解し、全ての詳細係数を 0 に潰して近似成分だけから逆変換で再構成する —— ガウシアンぼかしに近い、多段ウェーブレットによる平滑化画像になる。 · 例: gallery2d_smoothing_rank
xwt_visushrink image → image — VisuShrink 風のウェーブレットノイズ除去。db4 で 2 段分解し、各段の詳細係数をソフト閾値処理してから逆変換で再構成する(VisuShrink はこの閾値をノイズ量から自動決定する手法だが、ここでは a で直接与える簡略版)。 · 例: gallery2d_smoothing_rank
2d / subpix(6)
sp_critical_points_sub_pix (halcon: critical_points_sub_pix) image → contour — 極大・極小・鞍点のサブピクセル位置をまとめて検出する(HALCON critical_points_sub_pix に相当)。 · 例: gallery2d_geometry
sp_local_max_sub_pix (halcon: local_max_sub_pix) image → contour — グレー値曲面の極大点をサブピクセル精度で検出する(HALCON local_max_sub_pix の代替実装。halcon="": 同名の座標は既存のcore op が既にカバー済みなので二重申告しない)。 · 例: gallery2d_geometry, poc_tacsim_marker_shear
sp_local_min_sub_pix (halcon: local_min_sub_pix) image → contour — グレー値曲面の極小点をサブピクセル精度で検出する(HALCON local_min_sub_pix に相当)。 · 例: gallery2d_geometry
sp_lowlands_center (halcon: lowlands_center) image → contour — 極小の「盆地」(周囲より低い平坦領域)の重心を返す(HALCON lowlands_center に相当)。 · 例: gallery2d_geometry
sp_plateaus (halcon: plateaus) image → contour — 同じ(量子化した)グレー値が連結した平坦領域(プラトー)の重心をサブピクセル位置として返す(HALCON plateaus に相当)。 · 例: gallery2d_geometry
sp_saddle_points_sub_pix (halcon: saddle_points_sub_pix) image → contour — グレー値曲面の鞍点(サドルポイント)をサブピクセル精度で検出する(HALCON saddle_points_sub_pix に相当)。 · 例: gallery2d_geometry
2d / tactile(5)
tac_contact_mask image → region — Contact region of a tactile frame by pseudo-reference background subtraction: dev = |v - G_sigma(v)| with sigma = max(2, min(H,W)/6) (the low-frequency envelope stands in for the undeformed reference frame), thresholded at thr = 0.005 + 0.145*a gray levels, then cleaned with round(3*b) iterations of binary opening followed by binary closing (3x3, 8-connected). a = deviation threshold (sensitivity), b = morphological cleanup strength. Returns a BINARY 0/1 float64 region of the input HxW; a perfectly flat (constant) frame has zero deviation everywhere and therefore yields an EMPTY mask. · 例: poc_tacsim_elastic_membrane, sim2real_and_alife
tac_height_from_shading image → image — Height/relief map by Poisson integration of the shading gradients – the integration stage of GelSight depth reconstruction (and of photometric stereo): the image gradients are read as surface slopes p = gain*gx, q = gain*gy and the Poisson equation lap(h) = div(p,q) is solved spectrally, h_hat = div_hat / lap_hat with the discrete Laplacian symbol 2cos(2*pi*u/W)+2cos(2*pi*v/H)-4 and the (undetermined) DC mode pinned to zero. a = gradient gain (0.25..4.25x), b = pre-smoothing sigma of the gradient field (0..3). Output is min-max normalised to [0,1] and refit to HxW; a constant frame integrates to a flat (all-zero) relief. · 例: sim2real_and_alife
tac_pressure_proxy image → image — Contact-pressure proxy map: the rectified deviation from the pseudo-reference background dev = |v - G_sigma(v)| is gated to the high-deviation (contact) area – a relative gate at 0.15 * max(dev) plus an absolute floor of 0.005 – amplified by the sensitivity gain and Gaussian-smoothed, which is the standard “indentation depth is monotone in normal force” surrogate used when a tactile pad carries no force sensor. a = sensitivity (gain 1..10x), b = smoothing radius (sigma 0.5..4.5). Output clipped to [0,1], HxW; a flat frame yields an all-zero pressure map (no contact, no force). · 例: sim2real_and_alife
tac_shear_field image → image — In-plane shear proxy from the 2-D structure tensor (Foerstner / Bigun-Granlund orientation coherence). The tensor J = G_sigma(grad v * grad v^T) has eigenvalues l1 >= l2, and the coherence (l1-l2)/(l1+l2) = sqrt((J11-J22)^2 + 4*J12^2) / (J11+J22) is 1 where the gel texture is stretched into a single dominant orientation (as it is under tangential/shear load) and 0 where it is isotropic. The result is additionally weighted by the tensor trace (gradient energy) so that texture-free, un-contacted gel stays dark instead of amplifying noise orientation. a = tensor integration sigma (0.6..4.6), b = output gain (0.5..2.5). Output clipped to [0,1], HxW; a constant frame has zero gradient energy and yields an all-zero shear field. · 例: poc_tacsim_marker_shear, sim2real_and_alife
tac_surface_normal image → image — Surface-normal z-component (slope map) from the shading gradients, using Horn’s shape-from-shading normal parameterisation n = (-p, -q, 1)/sqrt(1+p^2+q^2) so that nz = 1/sqrt(1+p^2+q^2) with p = gain*gx, q = gain*gy. Flat (uncontacted) gel gives nz = 1, steep indentation walls tend to 0, so the map is already a valid [0,1] encoding. a = gradient gain (1..21x – how steep the shading is taken to be), b = pre-smoothing sigma of the image (0..3) to tame sensor noise. Constant input -> all-ones (perfectly flat gel). · 例: sim2real_and_alife
2d / texture(28)
bootstrap_std_error image → image — 局所標準偏差の標準誤差を、分布を仮定せずに測る(ブートストラップ)。 · 例: gallery2d_texture_freq
cooc_feature_matrix (halcon: cooc_feature_matrix) image → feature — グレーレベル共起行列(GLCM、skimage.feature.graycomatrix、16 階調 に量子化、距離 1+3*a、角度 0°)から Haralick テクスチャ特徴量 energy(角二次モーメント、行列の値の集中度=テクスチャの均一性)を計算 する。HALCON の cooc_feature_matrix(Calculate gray value features from a co-occurrence matrix.)に相当(HALCON は複数の特徴量・複数角度を 同時に返せるが、ここでは energy・角度 0° 固定に単純化)。 · 例: gallery2d_texture_freq, poc_real_texture_invariance
deviation_image (halcon: deviation_image) image → image — 矩形窓内の画素値の標準偏差(局所標準偏差、E[x^2]-E[x]^2 の平方根) を正規化した画像。テクスチャの局所的なばらつき(粗さ)を可視化する。HALCON の deviation_image(Calculate the standard deviation of gray values within rectangular windows.)に相当。 · 例: gallery2d_texture_freq
entropy_image (halcon: entropy_image) image → image — 円形窓内のグレースケール Shannon エントロピー(skimage.filters.rank. entropy、8bit 量子化)を正規化した画像。窓内の階調の「散らばり具合」を 測るテクスチャ指標で、一様な領域では低く、雑多な階調が混在する領域では 高くなる。HALCON の entropy_image(Calculate the entropy of gray values within a rectangular window.)に相当(HALCON は矩形窓、ここでは円形窓を 使う近似)。 · 例: gallery2d_texture_freq
-
f2_symmetry (halcon: symmetry) image → image — Local reflective symmetry of gray values along a row. For each pixel the weighted asymmetry sum_d (1/d) |
I(i,j-d) - I(i,j+d) |
over d=1..r is measured; a low response means the neighbourhood is left-right symmetric about that column. a sets the radius r (1..6); b is ignored. Output is the asymmetry response normalised to [0,1]. · 例: gallery2d_texture_freq |
-
gabor (halcon: gen_gabor) image → image — Gabor energy |
v * g |
— an oriented band-pass texture response. · 例: gallery2d_texture_freq, poc_patch_anomaly |
gen_gabor (halcon: gen_gabor) image → image — 単一の Gabor カーネル(向き θ=π*a、周波数 0.1+0.3*b)による 畳み込み応答の絶対値を、カーネルの L1 ノルムで正規化して返す。DC 成分を 除いた(平均を引いた)実部のみのカーネルで、指定方向・周波数の縞模様に 選択的に反応するバンドパステクスチャフィルタ。HALCON の gen_gabor (Generate a Gabor filter.)に相当(虚部/位相は持たない実カーネルのみの 簡易版)。 · 例: gallery2d_texture_freq
local_bimodality image → image — 局所の二峰性(bimodality coefficient)。閾値を 1 つも選ばずに「ここは 2 つの 値に分かれているか」だけを 0〜1 の地図で返す。 · 例: gallery2d_texture_freq
local_std image → image — 局所窓内の標準偏差を入力と同じ単位で返す(正規化しない)。HALCON の deviation_image(Calculate the standard deviation of gray values within rectangular windows.)に相当。 · 例: gallery2d_texture_freq
scale_select_std image → image — 画素ごとに窓の大きさを選ぶ局所標準偏差(Lepski / ICI 規則)。 · 例: gallery2d_texture_freq
sk_entropy (halcon: entropy_image) image → image — 局所エントロピー。各画素の周辺(円盤状の近傍)にあるグレー値分布のシャノンエントロピー(2 進対数)を計算し、その場所を符号化するのに必要な最小ビット数として画像化する —— テクスチャの複雑さ・情報量の指標。 · 例: gallery2d_texture_freq
sk_frangi (halcon: lines_gauss) image → image — Frangi の管状構造検出フィルタ(vesselness filter)。血管・しわ・川のような細長い管状構造を、Hessian 行列の固有値比から検出する。 · 例: gallery2d_texture_freq, poc_fresco_craquelure, poc_solar_el_inspection
sk_gabor (halcon: gen_gabor) image → image — Gabor フィルタの応答強度。正弦波で変調したガウスカーネルを畳み込み、特定の空間周波数・方向を持つテクスチャに強く反応する古典的な特徴抽出器。 · 例: gallery2d_texture_freq
sk_hessian (halcon: lines_gauss) image → image — Hybrid Hessian フィルタ。Frangi とほぼ同じ管状構造検出だが、平滑化の方法が異なる(近似的に Frangi の代替として使える)。 · 例: gallery2d_texture_freq
sk_lbp image → image — LBP(Local Binary Pattern、局所二値パターン)。各画素を中心に円周上の近傍画素と大小比較して 2 進コードを作る、照明変化に強いテクスチャ記述子。 · 例: gallery2d_texture_freq, poc_real_texture_invariance
sk_meijering (halcon: lines_gauss) image → image — Meijering の神経突起検出フィルタ(neuriteness filter)。Frangi と同じく Hessian の固有値から管状構造の類似度を計算するが、正規化の方法が異なる(神経突起画像向けにチューニングされた式)。 · 例: gallery2d_texture_freq
sk_shape_index image → image — 形状指標(shape index)。Hessian 行列の固有値から、局所的な表面形状を -1(球状の窪み)〜0(鞍点)〜+1(球状の膨らみ)の 1 次元スカラーで表す —— 曲率の「向き」を要約する記述子。 · 例: gallery2d_texture_freq
std_filter (halcon: deviation_image) image → image — 局所窓内の標準偏差(テクスチャの粗さの指標)。HALCON の deviation_image(Calculate the standard deviation of gray values within rectangular windows.)に相当。 · 例: gallery2d_texture_freq
structure_tensor_coherence image → image — 局所の向きの揃い具合(構造テンソルの異方度)を [0,1] で返す。 · 例: gallery2d_texture_freq
structure_tensor_orientation image → image — 局所の縞の走る向き(構造テンソルの主軸)を [0,1] に写して返す。 · 例: degenerate_inputs, gallery2d_texture_freq
texture_laws (halcon: texture_laws) image → image — 実装は局所分散(deviation_image の分散版、窓内の E[x^2]-E[x]^2)。本来の Laws’ テクスチャフィルタは L5/E5/S5/W5/R5 などの 1 次元カーネル対から作る 25 種類の畳み込みバンク(エネルギー/エッジ/波状/ 斑点/波紋を捉える)だが、この代役ではその全カーネルバンクではなく単一の 局所分散で代用している(近似の限界 ―― 方向別・周波数別の情報は失われる)。 HALCON の texture_laws(Filter an image using a Laws texture filter.) の代役。 · 例: gallery2d_texture_freq
tf_census_transform image → image — census_transform: the 3x3 non-parametric census bit-signature image. · 例: gallery2d_texture_freq
tf_rank_transform image → image — rank_transform: the local rank of each pixel among its neighbours. · 例: gallery2d_texture_freq
xsk2_hog image → image — HOG(Histogram of Oriented Gradients)特徴量の可視化画像。 skimage.feature.hog を visualize=True で呼び、可視化画像側を 返す(特徴ベクトル自体は捨てる)。 · 例: gallery2d_texture_freq
xsk_meijering image → image — Meijering neuriteness フィルタ。skimage.filters.meijering をスケール sigma=1,2,3 の 3 段で適用し、細い曲線状構造(血管・神経突起など)を強調する (ヘッセ行列の固有値から尾根らしさを計算する点は Frangi 系と同様だが、 Meijering は分岐点にも強く応答する)。 · 例: gallery2d_texture_freq, poc_fresco_craquelure
xsk_sato image → image — Sato tubeness フィルタ。skimage.filters.sato をスケール sigma=1,2,3 の 3 段で 適用し、管状構造(血管など)を強調する。ヘッセ行列の固有値比から線状/管状 らしさを計算する点は xsk_meijering と同系だが、応答の重み付けが異なり 分岐点には Meijering ほど強く応答しない。 · 例: gallery2d_texture_freq, poc_fresco_craquelure
xsk_struct_coherence image → image — 構造テンソルのコヒーレンス(方位の一貫性)。 · 例: gallery2d_texture_freq
xsp_hilbert_env image → image — 解析信号(ヒルベルト変換)の振幅包絡線を行方向に取り出す。 · 例: gallery2d_texture_freq
2d / texture-feature(1)
xmh_pftas image → feature — PFTAS(parameter-free threshold adjacency statistics、mahotas.features.pftas)54 次元特徴ベクトルの分散。隣接画素の濃淡関係をパラメータ無しの閾値で数えたヒストグラム群をまとめたテクスチャ特徴。 · 例: gallery2d_features
2d / texture/shape-feature(1)
xmh_zernike image → feature — ツェルニケモーメント(Zernike moments、mahotas.features.zernike_moments)の総和。単位円に写した画像の回転不変な形状/濃淡分布の特徴を 1 個の実数に潰して返す。 · 例: gallery2d_features
2d / tomography(5)
tm_backproject_unfiltered image → image — Plain (UN-filtered) back-projection of the input sinogram – the classic blurry reconstruction. No ramp filter is applied, so high frequencies are suppressed and every point spreads a 1/r blur: this deliberately shows why FBP’s filter is needed. a/b are unused (this is the fixed naive baseline). Uses skimage.transform.iradon with filter_name=None when available, else the NumPy plain back-projection. Output refit to HxW. · 例: gallery2d_physics_alife_3d
tm_fbp_reconstruct image → image — Filtered back-projection: treat v as a sinogram (rows = angles, cols = detector, angles assumed uniform over [0,180)) and reconstruct the slice. b picks the reconstruction filter – b < 0.5 -> Ram-Lak (ramp), b >= 0.5 -> Shepp-Logan. a is unused (the filter is the meaningful knob). Uses skimage.transform.iradon when available, else the NumPy FFT-ramp-filtered back-projection. Output refit to HxW. · 例: gallery2d_physics_alife_3d
tm_radon_forward image → image — Forward Radon projection: treat v as a slice image and integrate it along parallel rays to build a sinogram (rows = angles, cols = detector), refit to the original HxW. a sets how many angles are acquired (n = round(H*a) clamped to 8..360 – the sparse-view knob), b sets the angular span (span = 180*min(1, 0.5+b) deg: b < 0.5 is limited-angle CT, b >= 0.5 – including the default b = 0.5 – is the full [0,180) span that tm_fbp_reconstruct / tm_sart_reconstruct / tm_backproject_unfiltered assume, so the natural chain forward -> inverse round-trips at default knobs). Uses skimage.transform.radon when available, else the NumPy rotate-and-sum Radon transform. · 例: gallery2d_physics_alife_3d
tm_sart_reconstruct image → image — Algebraic reconstruction: run a few SART/SIRT sweeps on the input sinogram (rows = angles). a sets the iteration count (round(1+a*4) -> 1..5), b sets the relaxation factor (0.05 + b*0.35). Uses skimage.transform.iradon_sart when available, else a self-contained NumPy SIRT (project -> residual -> weighted back-projection) loop. Output refit to HxW. · 例: gallery2d_physics_alife_3d
tm_sinogram_denoise image → image — Smooth the input sinogram along the ANGLE direction (rows). Neighbouring projection angles view almost the same object, so angle-direction smoothing is a genuine consistency prior that suppresses per-angle detector noise while preserving the sinusoidal traces. a sets the angle-axis Gaussian sigma (a*4), b adds a gentle detector-axis sigma (b*1.5). Output stays a same-shape sinogram in [0,1]. · 例: gallery2d_physics_alife_3d
tf_radon_sinogram image → image — radon_sinogram: the Radon transform rendered as an HxW sinogram image. · 例: gallery2d_geometry
xmh_daubechies image → image — Daubechies ウェーブレット変換(mahotas.daubechies)。xmh_haar と同じ配置(1 段、係数を元画像サイズの配列に詰めて min-max 正規化)で、基底を Daubechies 系に変えたもの。 · 例: gallery2d_geometry
xmh_haar image → image — Haar ウェーブレット変換(mahotas.haar)。画像を偶数サイズに切り詰めてから変換し、結果の係数配列(近似/水平/垂直/対角の各サブバンドが元画像と同じ大きさの配列に詰め込まれた、Matlab 風の in-place レイアウト)をそのまま min-max 正規化して画像として見せる。 · 例: gallery2d_geometry
2d / typed(161)
tb_abs_funct_1d signal → signal — Absolute value of the y-values (HALCON abs_funct_1d). · 例: なし
tb_alpha_shape_boundary points → signal — alpha shapes による境界点インデックスを返す(点群 → 境界点)。 · 例: なし
tb_angular_spectrum_propagate cimage → cimage — Exact scalar free-space propagation of a complex field (angular spectrum). · 例: なし
tb_apply_weighting signal → signal — Apply an A / C / Z frequency weighting to a signal, zero-phase. · 例: なし
tb_arc_length points → feature — 曲線の累積弧長と全長。→ (cumulative (N,), total float)。 · 例: なし
tb_background_subtraction_window video → video — Causal window-median background → per-frame 0/1 foreground masks (T, H, W) (video). · 例: なし
tb_bandpass signal → signal — Butterworth band-pass between low and high Hz. Both edges must be inside (0, rate/2); same length contract as :func:lowpass. · 例: なし
tb_beamform_delay_sum beatcube → signal — Delay-and-sum (Bartlett) angle spectrum for one range-Doppler cell. · 例: なし
tb_box_sdf points → volume — 軸平行直方体の厳密な符号付き距離場(内側負・外側正)。 · 例: なし
tb_capsule_sdf points → volume — 線分 a–b を半径 radius で太らせたカプセルの厳密な符号付き距離場。 · 例: なし
tb_companding_mu_law signal → signal — mu-law companding — the G.711 curve, used here on any 1-D signal. · 例: なし
tb_countrate_to_counts counts → counts — 計数レート [Hz] → 計数 counts。countrate の出口(可逆)。 · 例: なし
tb_counts_to_countrate counts → counts — 計数 → 計数レート [Hz]。:func:countrate_to_counts の逆。 · 例: なし
tb_cplx_cr_residual cimage → feature — Cauchy-Riemann residual of a sampled complex field — “is this field holomorphic?” as a number. · 例: なし
tb_create_funct_1d_array signal → signal — A 1-D function from equidistant samples (HALCON create_funct_1d_array). · 例: なし
tb_cutout points → points — 空間的な軸平行ボックス領域を除去し (kept, kept_idx) を返す(局所欠損の模倣)。 · 例: なし
tb_cx_apply_transfer_function cimage → cimage — Multiply a centred spectrum by a filter H -> (H, W) complex128. · 例: gallery_spectrum_signal_bridge
tb_cx_ifft cimage → image — Inverse of :func:cx_fft: ifft2(ifftshift(cx)). · 例: gallery_spectrum_signal_bridge
tb_cx_imag cimage → image — Imaginary part of cx -> real (H, W) float64 (raw, not clamped). · 例: gallery_spectrum_signal_bridge
tb_cx_log_magnitude cimage → image — Log magnitude spectrum for display -> real (H, W) float64 in [0, 1]. · 例: gallery_spectrum_signal_bridge
tb_cx_magnitude cimage → image — Per-pixel magnitude |cx| -> real (H, W) float64. · 例: gallery_spectrum_signal_bridge
tb_cx_phase cimage → image — Wrapped phase of cx -> real (H, W) float64. · 例: gallery_spectrum_signal_bridge
tb_cx_real cimage → image — Real part of cx -> real (H, W) float64 (raw, not clamped). · 例: gallery_spectrum_signal_bridge
tb_cylinder_sdf points → volume — 有限長の円柱(両端が平らな蓋)の厳密な符号付き距離場(内側負・外側正)。 · 例: なし
tb_deflicker video → video — Luminance deflicker per frame → (T, H, W) (video). · 例: なし
tb_dem_ecef_to_geodetic points → points — ECEF → 測地座標。返りは (..., 3) の (緯度[度], 経度[度], 高さ[m])。 · 例: なし
tb_derivate_funct_1d signal → signal — First derivative by central differences (HALCON derivate_funct_1d). · 例: なし
tb_drag_coefficient_sphere signal → signal — 滑らかな球の抗力係数の経験式(Morrison 2013、Re ≲ 1e6): 24/Re + 2.6(Re/5)/(1 + (Re/5)^1.52) + 0.411(Re/263000)^−7.94/(1 + (Re/263000)^−8) + 0.25(Re/1e6)/(1 + Re/1e6)。卓球の球(Re ≈ 1〜5 × 10⁴)で ≈ 0.4〜0.5。 · 例: なし
tb_dtof_depth counts → feature — Distance from a photon arrival-time histogram: d = c*t/2. · 例: なし
tb_dynsys_correlation_dimension points → feature — Grassberger-Procaccia correlation dimension — the slope of log C(r). · 例: なし
tb_elastic_deform points → points — 滑らかな乱数変位場で弾性変形(相関距離 sigma, RMS 振幅 alpha)。 · 例: なし
tb_env_lightbox points → signal — 撮影ボックスの環境(広い天井の明かり + ほんのり明るい周囲)。無彩色。 · 例: なし
tb_env_studio points → signal — スタジオ環境の放射輝度(方向 -> 明るさ)。無彩色。 · 例: なし
tb_envelope signal → signal — Amplitude envelope via the analytic (Hilbert) signal — the shape of a knock / impact / acoustic-emission burst. · 例: なし
tb_equivalent_level signal → feature — The energy-equivalent level of a record, in dB relative to ref. · 例: なし
tb_estimate_alpha points → feature — 点群のスケールから推奨 alpha を返す(最近傍距離の中央値ベース)。 · 例: なし
tb_estimate_normals points → points — 外向き(近傍重心から離れる)に統一した点群法線。→ (N,3)。 · 例: なし
tb_estimate_oriented_normals points → points — PCA 法線推定 + Hoppe 大域向き付けの合成。→ (N,3) の向き付き単位法線。 · 例: なし
tb_estimate_point_normals points → points — 点群 (N,3) → 単位法線(局所 k 近傍共分散の最小固有ベクトル=PCA)。 · 例: なし
tb_euclidean_cluster points → volume — 半径 tol の近接グラフの連結成分で距離クラスタリング(-1=ノイズ)。 · 例: なし
tb_exponential_background video → video — Recursive background bg ← (1−α)·bg + α·frame per frame → (T, H, W) (video). · 例: なし
tb_exponential_foreground video → video — Foreground masks |frame − exponential background| > threshold → 0/1 (T, H, W) (video). · 例: なし
tb_farthest_point_sampling points → signal — 測地距離での最遠点サンプリング(均等間引き)。→ 選択インデックス列 (n,) int。 · 例: なし
tb_find_peaks signal → signal — Peak indices (scipy.signal.find_peaks) — impacts / defect echoes. · 例: なし
tb_fit_spline_curve points → points — 順序付き 3D 点列を B スプラインで平滑し再サンプル。→ (M,3)。ノイズのある軌跡/エッジの平滑化。 · 例: なし
tb_fly_lgmd_eta signal → signal — LGMD/eta looming response from an expanding subtended angle. · 例: なし
tb_fly_tau_from_expansion signal → signal — Time-to-contact from optical expansion — the tau margin. · 例: なし
tb_fmcw_range_profile beatcube → signal — Range-only profile: the fast-time FFT magnitude, averaged over the rest. · 例: なし
tb_fmcw_window_apply beatcube → beatcube — Apply a periodic window along the range and/or Doppler axis of a beat cube. · 例: なし
tb_frame_difference_causal video → video — |frame t − frame t−1| with a zero first frame → (T, H, W) (video). · 例: なし
tb_gaussian_curvature points → signal — ガウス曲率 K=k1·k2(法線の反転に不変)。→ (N,)。 · 例: なし
tb_geodesic_distances points → signal — source から全点への測地距離(kNN グラフ上 Dijkstra)。→ (N,) float(不達は inf)。 · 例: なし
tb_get_y_value_funct_1d signal → feature — The y-value at (fractional) position x (HALCON get_y_value_funct_1d). · 例: なし
tb_highpass signal → signal — Butterworth high-pass. Same Nyquist / length contract as :func:lowpass. · 例: なし
tb_inertia_tensor points → matrix — 点群の慣性テンソル (3,3)(中心 2 次モーメントから、等質量・総質量 1)。 · 例: なし
tb_inside_outside points → signal — スーパー2次曲面の内外関数 F(表面=1, 内部<1, 外部>1)。 · 例: なし
tb_integrate_funct_1d signal → signal — Cumulative integral by the trapezoidal rule (HALCON integrate_funct_1d). · 例: なし
tb_intrinsics_to_carla matrix → matrix — :func:intrinsics_to_fullseye の逆(主点を 0.5 戻す)。 · 例: なし
tb_intrinsics_to_fullseye matrix → matrix — CARLA の K(画素の角が整数、主点 W/2)→ Fullseye / render3d の K(画素の中心が整数、主点 (W−1)/2)。主点を 0.5 ずらすだけ。 · 例: なし
tb_iqft2 qimage → qimage — Inverse quaternion Fourier transform of a centred spectrum. → (H, W, 4). · 例: なし
tb_iss_keypoints points → signal — ISS(Intrinsic Shape Signatures、3D Harris 相当)キーポイント検出。 局所共分散の最小固有値 λ3 を saliency とし、固有値が distinct(向きが well-defined)な点のみ候補にして NMS で疎に選ぶ。回転不変。返り値=点 index 配列。 · 例: なし
tb_jitter points → points — 各点に等方ガウスノイズ N(0, sigma) を付加(センサ位置ノイズの模倣)。 · 例: なし
tb_keypoints_to_image2d keypoints → image — 画像座標 (N,2) = (u, v) → 計数画像 (H, W)。keypoints の 2 つ目の出口。 · 例: なし
tb_keypoints_uv_to_points keypoints → points — 画像座標 (N,2) = (u, v) → 点群 (N,3) = (z, y, x)。keypoints の出口。 · 例: なし
tb_landmark_asymmetry points → signal — 左右の対ごとの符号つき非対称量。→ (M,)。 · 例: なし
tb_lf_center_view lightfield → image — The centre viewpoint — the ordinary 2-D image a plenoptic camera also gives. · 例: なし
tb_lf_depth_from_focus lightfield → image — Per-pixel slope from the sharpness peak across the refocus sweep. · 例: なし
tb_lf_epi lightfield → image — Epipolar-plane image — the slice whose line slope is the disparity. · 例: なし
tb_lf_epi_slope lightfield → image — Per-pixel slope from the EPI line orientation (structure tensor, one pass). · 例: なし
tb_lf_refocus lightfield → image — Shift-and-add refocus: the synthetic-aperture image focused at slope. · 例: なし
tb_lf_subaperture lightfield → image — One sub-aperture view — the image seen through one point of the pupil. · 例: なし
tb_lf_synthetic_aperture lightfield → image — Refocus through a shaped aperture — and, with reduce="median", through occluders. · 例: なし
tb_lf_to_mla lightfield → image — Re-interleave a light field into a microlens-array raw frame (exact inverse). · 例: なし
tb_local_std signal → signal — Rolling standard deviation with a stated error bound. · 例: なし
tb_lowpass signal → signal — Butterworth low-pass (scipy, zero-phase filtfilt). cutoff must be inside (0, rate/2); an out-of-Nyquist cutoff raises instead of passing the signal through. A signal too short for zero-phase filtfilt also raises (the message names the exact minimum) instead of silently coming back unfiltered. · 例: なし
-
tb_magnus_lift_coefficient signal → signal — スピン比 S = rω/ |
v |
から揚力係数 C_L = 1 / (2 + 1/S)(S → 0 で 0、S → ∞ で 0.5。球の文献で広く使われる経験式)。 · 例: なし |
tb_mat_cond matrix → feature — Spectral (2-norm) condition number s_max / s_min — the numerical canary of the whole linalg family. · 例: なし
tb_mat_pinv matrix → matrix — Moore-Penrose pseudo-inverse via SVD, with the cutoff explicit. · 例: なし
tb_mean_curvature points → signal — 平均曲率 H=(k1+k2)/2。→ (N,)。向きに依存する量。 · 例: なし
tb_mirror_plane_from_pairs points → matrix — 左右の対応ランドマークから正中面を出す。→ (2, 3)(1 行目 = 点、2 行目 = 法線)。 · 例: なし
tb_mls_smooth points → points — 各点を局所多項式曲面へ射影してノイズを落とす(Moving Least Squares 平滑)。 · 例: なし
tb_monogenic_amplitude qimage → image — Local amplitude sqrt(f^2 + R1^2 + R2^2) of a monogenic signal. → (H, W). · 例: なし
tb_monogenic_orientation qimage → image — Local orientation atan2(R2, R1) of a monogenic signal. → (H, W). · 例: なし
tb_monogenic_phase qimage → image — Local phase atan2(|R|, f) of a monogenic signal. → (H, W). · 例: なし
tb_motion_energy_image video → video — Bobick–Davis Motion Energy Image per frame → 0/1 (T, H, W) (video). · 例: なし
tb_motion_history_image video → video — Bobick–Davis Motion History Image per frame → (T, H, W) in [0, 1] (video). · 例: なし
tb_moving_average_window video → video — Causal per-pixel mean over the last window frames → (T, H, W) (video). · 例: なし
tb_negate_funct_1d signal → signal — Sign-flipped y-values (HALCON negate_funct_1d). · 例: なし
tb_normals_to_egi points → image — 法線 (N,3) → 拡張ガウス像 (n_el, n_az) の image2d。 · 例: なし
tb_num_points_funct_1d signal → feature — Number of samples (HALCON num_points_funct_1d). · 例: なし
tb_occupancy_grid points → volume — 点群 (N,3) → 3-D 占有ボクセル格子 bool(点の落ちた voxel を占有)。 · 例: なし
tb_optical_flow_magnitude_stream video → video — Per-frame dense flow speed against the previous frame → (T, H, W) (video). · 例: なし
tb_pc_density_equalize points → points — Fill the sparse regions, then thin the dense ones: uniform spacing (points). · 例: なし
tb_pc_fill_sparse points → points — Insert points where the local spacing exceeds spacing, on the local PCA plane (points). · 例: なし
tb_pc_poisson_disk points → points — Blue-noise thinning: keep points greedily so that no two are closer than radius (points). · 例: なし
tb_plane_sdf points → volume — 半空間の厳密な符号付き距離場。fast は1e6で相対差1.5e-10の選択式経路、既定は exact。 · 例: なし
tb_plane_segmentation points → volume — 反復 RANSAC で最大 max_planes 枚の平面を逐次抽出(残差点 -1)。 · 例: なし
tb_points_render points → rgbimage — Render an (N, 3) point cloud to an RGB image (H, W, 3): anti-aliased splats, depth-sorted, deterministic. · 例: なし
tb_points_to_voxel points → volume — 点群 (N,3) → 密度 voxel (size³)。scatter_add で splat、任意で gaussian 平滑。 · 例: なし
tb_points_zyx_to_keypoints_uv points → keypoints — 点群 (N,3) = (z, y, x) → 画像座標 (N,2) = (u, v)。 · 例: なし
tb_project points → keypoints — 3D 点 (n,3) をカメラ (rvec,t,K) で 2D (n,2) に射影(透視除算)。 · 例: なし
tb_project_cylindrical points → image — 円柱レンジ画像へ投影 (z_bins, h_res)。方位角(列)× z(行)、画素=水平半径 ρ=hypot(x,y)。 · 例: なし
tb_project_points points → keypoints — 3D 点群 (N,3) → 画像座標 (u,v) と深度。ピンホール(depth_to_points の順方向)。 · 例: なし
tb_project_spherical points → image — 回転式 LiDAR の球面レンジ画像へ投影 (v_res, h_res)。空セル=0, 近い点優先(最小 range)。 · 例: なし
tb_qft2 qimage → qimage — Quaternion (hypercomplex) 2-D Fourier transform. → (H, W, 4) centred spectrum. · 例: なし
tb_quantize signal → signal — Scalar quantiser with the error model stated, plus optional dither. · 例: なし
tb_quat_color_filter qimage → qimage — Keep or remove one colour direction, exactly. → (H, W, 4). · 例: なし
tb_quat_color_rotate qimage → qimage — Rotate every pixel’s colour about an RGB axis: q x conj(q). → (H, W, 4). · 例: なし
tb_quat_conjugate_image qimage → qimage — Per-pixel quaternion conjugate (w, -x, -y, -z). → (H, W, 4). · 例: なし
tb_quat_norm qimage → image — Per-pixel quaternion modulus |q| = sqrt(w^2+x^2+y^2+z^2). → (H, W). · 例: なし
tb_quat_normalize_image qimage → qimage — Per-pixel normalisation to unit modulus. → (H, W, 4). · 例: なし
tb_quaternion_to_rgb qimage → rgbimage — Vector part of a quaternion image, as linear RGB. → (H, W, 3). · 例: なし
tb_radius_outlier_removal points → points — 半径 radius 内の近傍数が min_neighbors 未満の点を除去する(孤立点除去)。 · 例: なし
tb_random_dropout points → points — 点の ratio 割合をランダム除去し (kept, kept_idx) を返す(欠損の模倣)。 · 例: なし
tb_random_rotation points → points — ランダム回転を適用し (rotated, R) を返す(視点変化の模倣)。 · 例: なし
tb_random_scale points → points — 一様スケール s ~ U(lo, hi) を原点まわりに適用し (scaled, s) を返す。 · 例: なし
tb_range_doppler_map beatcube → image — The 2-D FFT of a beat cube -> a (n_doppler, n_range) magnitude map. · 例: なし
tb_reflect_points points → points — 点群を平面(点 plane_point・法線 plane_normal)で鏡映。→ (N,3)。 · 例: なし
tb_reflection_symmetry_score points → feature — 反射対称スコア = chamfer(鏡映, 元) / 中央値最近傍間隔(小さいほど対称、スケール不変)。→ float。 · 例: なし
tb_region_growing points → volume — 法線類似で領域成長し連結した平滑領域へ同ラベルを付す(曲率ゲート無し変種)。 · 例: なし
tb_render_point_depth points → image — 点群 → 深度画像(z-buffer、各画素に最近点の深度)。観測合成/外観検査サンプル。 · 例: なし
tb_resample signal → signal — Resample a signal to new_rate (Fourier method). · 例: なし
tb_resample_uniform points → points — 弧長で等間隔に n 点へ再サンプル(線形補間)。→ (n,3)。 · 例: なし
tb_rgb_to_quaternion rgbimage → qimage — Embed a colour image as pure quaternions 0 + R i + G j + B k. → (H, W, 4). · 例: なし
tb_rms signal → feature — RMS level. Scalar for the whole signal, or a framewise array when frame is given (a vibration/energy envelope over time). · 例: なし
tb_running_gaussian_background video → video — Adaptive single-Gaussian background (the running mean) per frame → (T, H, W) (video). · 例: なし
tb_running_gaussian_foreground video → video — Adaptive single-Gaussian foreground masks per frame → 0/1 (T, H, W) (video). · 例: なし
tb_sample_funct_1d signal → signal — Every step-th sample (HALCON sample_funct_1d). · 例: なし
tb_scale_y_funct_1d signal → signal — Linear map of the y-values, mult * y + add (HALCON scale_y_funct_1d). · 例: なし
tb_sensor_capture rgbimage → rgbimage — 放射輝度 → 実センサの出力(ショット雑音・読み出し雑音・飽和・量子化)。 · 例: なし
tb_shape_perturb points → points — 形に既知の変形を 1 つ入れる。→ (N, 3)。 · 例: なし
tb_smooth_funct_1d_gauss signal → signal — Gaussian smoothing of a 1-D function (HALCON smooth_funct_1d_gauss). · 例: なし
tb_smooth_funct_1d_mean signal → signal — Iterated moving-average smoothing (HALCON smooth_funct_1d_mean). · 例: なし
tb_spad_deadtime_apply counts → counts — Distort a true photon rate by the detector’s dead time (counts lost). · 例: なし
tb_spad_deadtime_correct counts → counts — Recover the true photon rate from a dead-time-distorted measured rate. · 例: なし
tb_spectrogram signal → image — STFT magnitude spectrogram -> (freqs, times, S) with S shape (n_freqs, n_frames). Hann-windowed; hop defaults to win//2. · 例: なし
tb_specular_coefficient_map rgbimage → image — The scalar interface (specular) coefficient of the dichromatic model. → (H, W). · 例: なし
tb_specular_diffuse_split rgbimage → rgbimage — Split a linear-RGB image into its diffuse (body) and specular (interface) parts. → (diffuse, specular), both (H, W, 3). · 例: なし
tb_specular_free_transform rgbimage → rgbimage — Project out the illuminant direction: the part of the image a highlight cannot touch. → (H, W, 3). · 例: なし
tb_sphere_sdf points → volume — 球の符号付き距離場: |p - center| - R(内側負・外側正)。 · 例: なし
tb_stat_correlation matrix → matrix — Pearson correlation matrix of (N, D) observations → (D, D). · 例: なし
tb_stat_covariance matrix → matrix — Sample covariance matrix of (N, D) observations → (D, D). · 例: なし
tb_stat_zscore signal → signal — Standardise a 1-D sample: (x - mean) / std (population ddof=0). · 例: なし
tb_statistical_outlier_removal points → points — 各点の k 近傍平均距離が大域的に外れる点を除去する(統計的外れ値除去)。 · 例: なし
tb_superquadric_residual points → feature — Gross-Boult 体積補正残差 mean( (sqrt(a1 a2 a3)(F^eps1 - 1))^2 )。 · 例: なし
tb_synthesize_silhouette points → image — 3-D 点群を (K,R,t) カメラへ射影し占有画素 True のシルエット(H,W bool)を返す。 · 例: なし
tb_tcspc_background_subtract counts → counts — Remove the ambient-light / dark-count floor from an arrival-time histogram. · 例: なし
tb_tcspc_coates_correct counts → counts — Undo TCSPC pile-up exactly (Coates’s estimator) — the early-photon bias. · 例: なし
tb_tcspc_irf_convolve counts → counts — Blur an arrival-time histogram by the instrument response (timing jitter). · 例: なし
tb_temporal_band_power video → image — Per-pixel mean-square power inside a temporal band -> (H, W) map. · 例: なし
tb_temporal_bandpass video → video — Ideal temporal band-pass of every pixel’s time series -> (T, H, W). · 例: なし
tb_temporal_bilateral video → video — Causal temporal bilateral denoise per frame → (T, H, W) (video). · 例: なし
tb_temporal_median_window video → video — Causal per-pixel median over the last window frames → (T, H, W) (video). · 例: なし
tb_three_frame_difference video → video — Collins three-frame-difference motion mask per frame → 0/1 (T, H, W) (video). · 例: なし
tb_torus_sdf points → volume — トーラス(ドーナツ)の厳密な符号付き距離場(内側負・外側正)。 · 例: なし
tb_viewport_from_equirect rgbimage → rgbimage — Extract a rectilinear viewer viewport from an equirectangular image. · 例: なし
tb_voxel_grid_downsample points → points — 辺 voxel_size の格子で点群を間引き、各セルを重心 1 点に集約する(決定論的)。 · 例: なし
tb_weighting_response signal → signal — The A / C / Z frequency-weighting curve, in dB, at the given frequencies. · 例: なし
tb_wetness rgbimage → rgbimage — 濡れた面の下地色。拡散が暗くなる(そして鏡面が増える)。 · 例: なし
tb_zero_crossing_rate signal → feature — Fraction of adjacent samples that change sign — a cheap pitch/noisiness cue. · 例: なし
tb_zero_crossings_funct_1d signal → signal — Indices where the function changes sign (HALCON zero_crossings_funct_1d). · 例: なし
2d / xldgeom(10)
xg_area_center (halcon: area_center_points_xld) contour → feature — Polygon area of the contour(s) via the shoelace formula (summed abs). · 例: gallery2d_geometry
xg_clip_contours contour → contour — Drop contours whose polyline length is below a * max-length (a in [0,1]). · 例: gallery2d_geometry
xg_crop_contours contour → contour — Keep only contour points inside the central a-fraction window of the shape. · 例: gallery2d_geometry
xg_eccentricity (halcon: eccentricity_points_xld) contour → feature — Eccentricity sqrt(1 - lambda_min/lambda_max) from the point covariance. · 例: gallery2d_geometry
xg_elliptic_axis (halcon: elliptic_axis_points_xld) contour → feature — Major/minor axis ratio sqrt(lambda_max/lambda_min) of the point set. · 例: gallery2d_geometry
xg_gen_polygons (halcon: gen_polygons_xld) contour → contour — Douglas-Peucker polyline simplification; eps = a * contour bbox diagonal. · 例: gallery2d_geometry
xg_height_width_ratio (halcon: height_width_ratio_xld) contour → feature — Axis-aligned bounding-box height/width ratio of the point set. · 例: gallery2d_geometry
xg_moments (halcon: moments_points_xld) contour → feature — Normalized 2nd central moment of the point set: mu20 + mu02. · 例: gallery2d_geometry
xg_orientation (halcon: orientation_points_xld) contour → feature — Principal-axis orientation in degrees, folded to [0,180) and /180 scaled. · 例: gallery2d_geometry
xg_regress_contours contour → feature — Total-least-squares line residual RMS = sqrt(minor covariance eigenvalue). · 例: gallery2d_geometry, poc_screw_thread_metrology
3d(376 ops / 68 categories)
点群・体積・メッシュ・深度の op(ops3d.OPS3D)。関数として呼ぶ。
3d / annotate3d(7)
annotate3d_arrow image2d → image2d — 画像(image2d)を返す: 3-D の p0 から p1 へ、射影した矢印を描く。 · 例: annotate3d_figure
annotate3d_axes image2d → image2d — 画像(image2d)を返す: object 座標(pose の入力側)の 3 軸(gnomon)を origin から射影して描く。 · 例: annotate3d_figure
annotate3d_bbox image2d → image2d — 画像(image2d)を返す: 軸平行の 3-D 箱 ((xmin,ymin,zmin),(xmax,ymax,zmax)) の 12 辺を射影して描く。 · 例: annotate3d_figure
annotate3d_label image2d × text → image2d — 画像(image2d)を返す: 3-D のアンカーに引き出し線つきの文字を付ける。 · 例: annotate3d_figure
annotate3d_measure image2d → image2d — 画像(image2d)を返す: 3-D の 2 点間距離(メッシュ単位)を、射影した線と値で示す。 · 例: annotate3d_figure
annotate3d_project points → table — table(dict)を返す: 3-D 点の画素座標・前方距離・画像内/遮蔽の判定(:func:project_anchors)。 · 例: annotate3d_figure
annotate3d_scale_bar image2d → image2d — 画像(image2d)を返す: メッシュ単位で length のバーを面上に置いて射影する。 · 例: annotate3d_figure
3d / augment(6)
cutout points → points — 空間的な軸平行ボックス領域を除去し (kept, kept_idx) を返す(局所欠損の模倣)。 · 例: sensor_seg
elastic_deform points → points — 滑らかな乱数変位場で弾性変形(相関距離 sigma, RMS 振幅 alpha)。 · 例: sensor_seg
jitter points → points — 各点に等方ガウスノイズ N(0, sigma) を付加(センサ位置ノイズの模倣)。 · 例: augment_pointcloud
random_dropout points → points — 点の ratio 割合をランダム除去し (kept, kept_idx) を返す(欠損の模倣)。 · 例: augment_pointcloud
random_rotation points → points — ランダム回転を適用し (rotated, R) を返す(視点変化の模倣)。 · 例: augment_pointcloud, sh_descriptor_retrieval, shape_retrieval
random_scale points → points — 一様スケール s ~ U(lo, hi) を原点まわりに適用し (scaled, s) を返す。 · 例: augment_pointcloud
3d / boundary(2)
vol_boundary voxel → voxel — Boundary shell of a binary volume (the 3-D region_boundary). · 例: roi_domain_boundary
vol_boundary_points voxel → points — Boundary shell as an (N, 3) point cloud in (z, y, x) order. · 例: roi_domain_boundary
3d / bounds(4)
aabb points → primitive — Axis-aligned bounding box. Returns (min (3,), max (3,)). · 例: hull_bounds
convex_hull points → mesh — Convex hull of a point set -> (V, F) with outward-oriented triangles. · 例: hull_bounds
min_enclosing_sphere points → primitive — 点群 (N,3) → 全点を含む(近似)最小包含球 {center(3), radius}。 · 例: hull_bounds
obb points → primitive — Oriented bounding box by PCA. · 例: hull_bounds
3d / bundle_adjust(3)
bundle_adjust pose × points → table — 再投影誤差最小でカメラ姿勢と 3D 点を同時最適化。→ dict{cameras, points, rmse, cost}。 · 例: bundle_adjust
mean_reprojection_error pose × points → measurement — バンドル調整の全観測について再投影誤差の RMS(ピクセル)を返す。 · 例: bundle_adjust
project points → keypoints — 3D 点 (n,3) をカメラ (rvec,t,K) で 2D (n,2) に射影(透視除算)。 · 例: bundle_adjust
3d / curvature(5)
estimate_normals points → normals — 外向き(近傍重心から離れる)に統一した点群法線。→ (N,3)。 · 例: cylinder_axis_metrology, feature_register, oriented_normals
gaussian_curvature points → signal — ガウス曲率 K=k1·k2(法線の反転に不変)。→ (N,)。 · 例: curvature_grasp, curvature_shape_index
mean_curvature points → signal — 平均曲率 H=(k1+k2)/2。→ (N,)。向きに依存する量。 · 例: curvature_shape_index, minimal_surfaces
principal_curvatures points → curvature — 各点の主曲率 (k1>=k2)。→ (k1 (N,), k2 (N,))。 · 例: curvature_grasp, itokawa_curvature, minimal_surfaces
shape_index points → descriptor — Koenderink の shape index s∈[-1,1] (凸球+1・円柱+0.5・鞍点0・凹球-1)。→ (N,)。 · 例: curvature_grasp, itokawa_curvature
3d / curve(5)
arc_length points → measurement — 曲線の累積弧長と全長。→ (cumulative (N,), total float)。 · 例: space_curve, torus_knot_curve
curvature_torsion points → pairs — 各点の曲率 κ と捩率 τ(再パラメータ化不変な閉形式)。→ (kappa (N,), tau (N,))。 · 例: space_curve, torus_knot_curve
fit_spline_curve points → points — 順序付き 3D 点列を B スプラインで平滑し再サンプル。→ (M,3)。ノイズのある軌跡/エッジの平滑化。 · 例: bspline_freeform
frenet_frame points → frame — Frenet 標構(接線 T, 主法線 N, 陪法線 B)を各点で。→ (T, N, B) 各 (Npts,3) 単位ベクトル。 · 例: space_curve, torus_knot_curve
resample_uniform points → points — 弧長で等間隔に n 点へ再サンプル(線形補間)。→ (n,3)。 · 例: bspline_freeform
3d / curvilinear(3)
cylinder_unwrap voxel → voxel — voxel の円筒面を (height×θ×r) へアンラップ(円筒部品/配管の内外面検査)。軸=z(D 軸)。 · 例: curvilinear_proj
fit_zernike image2d → table — 円板画像 → Zernike 係数(光学/波面計測の極座標曲面近似)。返り値 {(n,m): coef}。 · 例: curvilinear_proj
polar_unwrap image2d → image2d — 画像の円環/円板を (θ×r) 矩形へアンラップ(工業: ラベル/リング/回転体の検査)。 · 例: curvilinear_proj
register_cpd_rigid points × points → pose — Coherent Point Drift(CPD)剛体版で回転+並進を EM 推定する。 · 例: motion_scene
register_nonrigid points × points → points — 非剛体 ICP で src を dst へ寄せる。 · 例: nonrigid_deform
tps_fit points × points → deformation — 3D Thin-Plate-Spline を制御点対応から当てはめる。 · 例: nonrigid_deform
tps_warp deformation × points → points — tps_fit で当てた薄板スプライン(TPS)の変形を点群に適用する。 · 例: nonrigid_deform
3d / depth_denoise(3)
bilateral_filter_depth depth → depth — 深度画像の bilateral filter(段差保存デノイズ)。→ float64 (H,W)。 · 例: depth_denoise
fill_holes depth → depth — 無効画素(穴)を近傍有効画素から調和(ラプラス)緩和で補間。→ float64 (H,W)。 · 例: depth_denoise
joint_bilateral depth × image2d → depth — joint / cross bilateral: 平滑対象は depth、range 重みは guide の差で作る。→ float64 (H,W)。 · 例: sensor_seg
3d / describe(2)
match_sh_descriptor voxel × voxel → measurement — SH 記述子同士のコサイン類似度(回転不変な形状照合)。1 に近いほど同形状。voxel × SH 列。 · 例: sh_descriptor_retrieval, shape_descriptor
sh_descriptor voxel → descriptor — 球面調和記述子。同心球 shell の SH 帯域エネルギー ‖f_l(r)‖ を (半径 × 周波数) で返す。 · 例: sh_descriptor_retrieval, shape_descriptor
3d / detect(2)
hough_plane_3d voxel → primitive — 平面検出(2D Hough 直線の 3D リフト)。勾配=法線を使い (法線 n, 距離 d) 空間へ投票。 · 例: detect_primitives_3d
hough_sphere_3d voxel → primitive — 球検出(2D Hough 円の 3D リフト)。中心 = p + sgn·r·n を半径 r ごとに投票。 · 例: detect_primitives_3d
3d / domain(5)
vol_bounding_box voxel → primitive — Tight axis-aligned bounding box of a mask’s foreground, in voxel indices. · 例: rle_region_efficiency, roi_domain_boundary
vol_crop_domain voxel → voxel — Crop a volume to the tight bounding box of a domain (HALCON crop_domain). · 例: roi_domain_boundary
vol_reduce_domain voxel × voxel → voxel — Restrict a volume to a domain mask (HALCON reduce_domain, voxel-wise). · 例: roi_domain_boundary
vol_tiled_map voxel → voxel — Apply a shape-preserving volume operator in overlapping z-slabs to bound peak memory. · 例: rle_region_efficiency
vol_uncrop voxel → voxel — Paste a cropped sub-volume back into the full frame (inverse of :func:vol_crop_domain). · 例: roi_domain_boundary
3d / edges(5)
canny3d voxel → voxel — 3D Canny エッジ検出(非最大抑制 + ヒステリシス)。 · 例: edges_3d
edge_points voxel → points — エッジ mask を (M,3) の座標点群にする(下流の chamfer / Hough 用)。 · 例: edges_3d
gradient3d voxel → gradient — ボリュームをガウス平滑してから中心差分で 3-D 勾配(大きさとベクトル)を求める。 · 例: edges_3d
link_edges voxel → voxel — エッジ mask を 26 近傍で連結成分ラベリングする。 · 例: sensor_seg
log_zero_crossings voxel → voxel — Laplacian-of-Gaussian のゼロ交差エッジ。 · 例: edges_3d
3d / feature(15)
curvature_maps voxel → curvature — level-set の主曲率 → shape index S(Koenderink)と curvedness。閉形式(Kindlmann 2003)。 · 例: diff_features
edt_jfa voxel → sdf — 3D ユークリッド距離変換 = Jump Flooding Algorithm(GPU)。各 voxel → 最近 seed 距離。 · 例: diff_features
edt_jfa_vector voxel → flow_dense — 各 voxel から最近 seed への変位 (3, D, H, W)(flow_dense、dz, dy, dx [voxel])を GPU の JFA で。 · 例: nearest_seed_partition
hessian3d voxel → hessian — 3D Hessian の 6 独立成分 (fzz,fyy,fxx,fzy,fzx,fyx)。分離 conv3d(2 階/1 階×平滑)。 · 例: diff_features
sobel3d voxel → gradient — 3D 勾配 (gz,gy,gx)。導関数[-1,0,1]×平滑[1,2,1] の分離 conv3d。 · 例: diff_features
vol_euler_number voxel → measurement — Euler characteristic of a binary volume, split into its three Betti numbers. · 例: ct_porosity_and_fibre_morphometry
vol_frangi voxel → voxel — 3-D Frangi vesselness — multiscale tubular-structure enhancement. · 例: vessel_metrology, volume_downsampling
vol_gradient_magnitude voxel → voxel — 3-D Sobel gradient magnitude sqrt(gz**2 + gy**2 + gx**2). · 例: vessel_metrology
vol_granulometry voxel → measurement — Pore / particle size distribution of a binary volume (opening series). · 例: ct_porosity_and_fibre_morphometry
vol_hessian_blobness voxel → voxel — Blob-like (spherical) response from the Hessian eigenvalues at one scale. · 例: vessel_metrology
vol_local_maxima voxel → points — 3-D local-maxima (peak) detection. · 例: molecule_atom_count, vessel_metrology
vol_local_std voxel → voxel — Unbiased local standard deviation inside a cubic window. · 例: ct_porosity_and_fibre_morphometry
vol_local_thickness voxel → voxel — Local thickness map: the diameter of the largest ball that covers each voxel. · 例: ct_porosity_and_fibre_morphometry
vol_orientation_coherence voxel → voxel — How strongly the local structure points one way (3-D structure tensor). · 例: ct_porosity_and_fibre_morphometry
vol_sato voxel → voxel — 3-D Sato tubeness — the simpler two-eigenvalue line filter. · 例: vessel_metrology
3d / feature_register(7)
compute_fpfh points × normals → descriptor — FPFH 記述子 (N, 3*n_bins) を計算(Rusu 2009)。 · 例: fpfh_correspondence
harris3d_keypoints voxel → keypoints — 3D Harris キーポイント検出(2D Harris コーナー検出の 3D 版)。 · 例: feature_register
iss_keypoints points → indices — ISS(Intrinsic Shape Signatures、3D Harris 相当)キーポイント検出。 · 例: feature_register
register_fpfh points × points → pose — FPFH 記述子 + RANSAC で 初期推定なし の剛体位置合わせ (R,t) を推定する。 · 例: feature_register
register_shot points × points → pose — SHOT 記述子による疎特徴マッチング + RANSAC 剛体姿勢推定(全パイプライン)。 · 例: feature_register
register_spin points × points → pose — Spin Image 記述子 + RANSAC による初期推定なし疎特徴剛体位置合わせ。 · 例: feature_register
shot_descriptor points × normals → descriptor — SHOT 記述子(Tombari 2010)。各キーポイントに LRF を張り、球状支持を取る。 · 例: feature_register
eval_bspline_curve bspline_curve → points — 曲線 tck をパラメータ u∈[0,1] 上 n 点で等間隔評価(splev)。 · 例: bspline_freeform
eval_bspline_surface bspline_surface × image2d × image2d → image2d — フィット済み曲面 tck を評価(bisplev)。散布点(既定)または格子の 2 モード。 · 例: bspline_freeform
fit_bspline_curve points → bspline_curve — 順序付き点列(M,D)に B スプライン曲線をフィット(splprep, パラメトリック)。 · 例: bspline_freeform
fit_bspline_surface image2d × image2d × image2d → bspline_surface — 散布 (x, y, z) に双三次(既定)B スプライン曲面を最小二乗フィット(bisplrep)。 · 例: bspline_freeform
surface_residual image2d × image2d × image2d × bspline_surface → measurement — 散布データと曲面 tck の残差統計を返す(形状誤差=フィットからの逸脱)。 · 例: bspline_freeform
3d / frequency(3)
vol_fft_bandpass voxel → voxel — Gaussian band-pass lowpass(high) - lowpass(low): keeps structure between two scales. · 例: deconv_fft_restore
vol_fft_highpass voxel → voxel — Gaussian high-pass — the exact complement 1 - lowpass (the two sum to the input). · 例: deconv_fft_restore
vol_fft_lowpass voxel → voxel — Gaussian low-pass: keeps structure coarser than 1/cutoff (voxels, or mm with spacing). · 例: deconv_fft_restore
3d / fusion(2)
fuse_to_voxel any → voxel — 複数構造を共通密度 voxel へ融合(TRIZ 統合)。items=[(data,kind,params_dict), …]。 · 例: transforms_repr
register_cross any × any → pose — 異種構造間の剛体登録。両者を点群へ変換 → 登録器(fpfh=大回転/icp=要 coarse init)。 · 例: transforms_repr
3d / geodesic(4)
farthest_point_sampling points → indices — 測地距離での最遠点サンプリング(均等間引き)。→ 選択インデックス列 (n,) int。 · 例: geodesic_distance, pointcloud_downsampling
geodesic_distances points → signal — source から全点への測地距離(kNN グラフ上 Dijkstra)。→ (N,) float(不達は inf)。 · 例: geodesic_distance
geodesic_mesh mesh → signal — 三角メッシュのエッジグラフ上 Dijkstra で source から各頂点への測地距離。→ (V,) float。 · 例: pcl_geodesic
knn_graph points → graph — 各点の k 近傍インデックスと Euclid 距離(自己を除く)。→ (idx (N,k) int, dist (N,k) float)。 · 例: pcl_geodesic
vol_affine voxel → voxel — General affine resampling (scipy.ndimage.affine_transform). · 例: vol_geometry_transform
vol_resize voxel → voxel — Resample a volume to a new grid (scipy.ndimage.zoom, cell semantics). · 例: vol_geometry_transform
vol_rotate voxel → voxel — Rotate a volume in the plane of an axis pair (scipy.ndimage.rotate). · 例: vol_geometry_transform
3d / geometry(25)
angle_3points points → measurement — 3 点のなす角(頂点 b、度)。∠ABC。 · 例: geometry_metrology
angle_between_lines primitive → measurement — 2 直線の方向ベクトルがなす鋭角を度で返す(向きは区別せず 0〜90°)。 · 例: geometry_metrology
angle_between_planes primitive → measurement — 2 平面の二面角(法線 n1,n2、度)。 · 例: geometry_metrology
angle_line_plane primitive → measurement — 直線(方向 d)と平面(法線 n)のなす角(度)。 · 例: geometry_metrology
distance_line_line primitive → measurement — 2 直線間距離(ねじれの位置=skew も可)。平行なら点-線距離に退避。 · 例: geometry_metrology
distance_point_line points × primitive → measurement — 点から直線(通過点と方向)までの垂直距離を返す(2-D / 3-D 共通)。 · 例: geometry_metrology
distance_point_plane points × primitive → measurement — 点から平面までの距離を返す(符号なし、入力座標と同じ単位)。 · 例: geometry_metrology
distance_segment_segment primitive → measurement — 有限線分どうしの最短距離と、その最近接点の対。→ (distance, cp, cq)。 · 例: geometry_metrology
fit_box3 points → primitive — Oriented box fit by PCA (fast, noise-tolerant; the same construction as pcseg.obb). · 例: oriented_bounding_box
fit_circle3 points → primitive — 3-D circle fit to (depth, row, col) points: fit the supporting plane, then a circle. · 例: primitive_fitting_3d
fit_circle_3d points → primitive — 点群 → 3D 円(平面フィット → 面内で 2D 円フィット)。返り値 (center, radius, normal)。 · 例: geometry_metrology
fit_line3 points → primitive — Total-least-squares 3-D line fit to (depth, row, col) points. · 例: primitive_fitting_3d
fit_line_3d points → primitive — 点群 → 最小二乗直線(通過点=重心, 方向=最大主軸)。返り値 (point, direction)。 · 例: geometry_metrology
fit_plane3 points → primitive — Least-squares 3-D plane fit to (depth, row, col) points. · 例: primitive_fitting_3d
fit_plane_3d points → primitive — 点群 → 最小二乗平面(通過点=重心, 法線=最小主軸, 残差 RMS)。返り値 (point, normal, resid)。 · 例: geometry_metrology
fit_sphere3 points → primitive — Algebraic (Kåsa) least-squares sphere fit to (depth, row, col) points: · 例: primitive_fitting_3d, roi_domain_boundary
fit_sphere_3d points → primitive — 点群 → 最小二乗球(代数フィット)。返り値 (center, radius)。配管/ボール計測に。 · 例: geometry_metrology
fit_surface_principal_axes points → table — 斜めの反った面を PCA 主軸へ回してから多項式 z'=f(x',y') を当てはめる。 · 例: primitive_fitting_3d
intersect_line_plane primitive → position — 直線 ∩ 平面 → 点(平行なら None)。 · 例: geometry_metrology
intersect_planes primitive → primitive — 平面 ∩ 平面 → 直線(通過点, 方向)。平行なら None。 · 例: geometry_metrology
line_from_2points points → primitive — 2 点 → 直線(通過点, 単位方向)。2 座標で線が定まる(2D/3D 共通)。 · 例: geometry_metrology
plane_from_3points points → primitive — 3 点 → 平面(通過点, 単位法線)。3 座標で面が定まる(2D/3D 共通)。 · 例: geometry_metrology
smallest_box3 points → primitive — Near-minimum-volume oriented bounding box (the 3-D smallest_rectangle2). · 例: oriented_bounding_box
smallest_box3_axis points → primitive — Axis-aligned bounding box (the 3-D smallest_rectangle1). · 例: oriented_bounding_box
smallest_sphere3 points → primitive — Minimum enclosing sphere of (depth, row, col) points (Welzl’s exact algorithm). · 例: primitive_fitting_3d
3d / gicp(2)
estimate_covariances points → descriptor — 各点の局所共分散を固有値 (ε,1,1) に置換した plane-to-plane 共分散 (N,3,3)。 · 例: gicp_register
gicp points × points → pose — Generalized-ICP(共分散重みマハラノビス ICP)で剛体変換 (R,t) を推定する。 · 例: gicp_register
3d / gray(4)
vol_equalize voxel → voxel — Histogram equalisation of a volume (HALCON equ_histo_image). · 例: gray_window_level
vol_gamma voxel → voxel — Gamma (power-law) correction on the volume’s own range (HALCON pow_image). · 例: gray_window_level
vol_stretch voxel → voxel — Percentile contrast stretch to [0, 1] (robust scale_image_max). · 例: gray_window_level
vol_window_level voxel → voxel — CT window/level (HU windowing) — the radiologist’s daily linear remap. · 例: gray_window_level
3d / lidar_projection(3)
project_cylindrical points → image2d — 円柱レンジ画像へ投影 (z_bins, h_res)。方位角(列)× z(行)、画素=水平半径 ρ=hypot(x,y)。 · 例: curvilinear_proj
project_spherical points → image2d — 回転式 LiDAR の球面レンジ画像へ投影 (v_res, h_res)。空セル=0, 近い点優先(最小 range)。 · 例: lidar_projection
unproject_spherical image2d → points — 球面レンジ画像 → 3D 点 (M, 3)。range>0 のセルのみをビン中心角で逆投影。 · 例: lidar_projection
3d / match_localize(6)
match_chamfer_3d voxel × voxel → position — chamfer / 距離場マッチング(部分・遮蔽に頑健)。voxel × chamfer 列。 · 例: matching_localize
match_curvature_3d voxel × voxel → position — 曲率(shape index)マッチング。voxel × 曲率列(線→面リフトの本丸)。 · 例: matching_localize
match_hough_3d voxel × voxel → position — generalized Hough 3D(Ballard R-table 投票)。voxel × Hough 列。 · 例: matching_localize
match_mip_2d voxel × voxel → position — MIP 投影 → 2D NCC(構造=voxel → 2D × 手法=NCC、変換=直交 MIP)。 · 例: matching_localize
match_points_ncc points × points → position — 点群同士マッチング(構造=point cloud × 手法=NCC、変換=splat)。model を scene 内で定位。 · 例: matching_localize
match_shape_3d voxel × voxel → position — 3D 形状ベース(勾配方向)マッチング = 2D shapematch_gpu の voxel 版(「輪郭マッチング」)。 · 例: matching_localize
3d / match_pose(4)
match_logpolar_z voxel × voxel → rot_scale — log-polar × 位相相関(Fourier-Mellin)で z 軸回転 + 等方スケールを復元。 · 例: shape_desc_pose
match_pca points × points → pose — PCA 姿勢マッチング(構造=point cloud × 手法=主軸整列)。 · 例: shape_desc_pose
match_phase_3d voxel × voxel → shift — 3D 位相相関(FFT)。b を a に合わせる整数シフト (dz,dy,dx) を返す。 · 例: shape_desc_pose
moment_axes points → axes — 点群/重み付き点の 重心 + 主軸(慣性テンソルの固有ベクトル)。姿勢推定の基礎。 · 例: itokawa_pose_canonical
distance_ridge voxel → voxel — EDT のリッジ(距離場の局所極大)を medial として抽出。返り値 (ridge_mask, edt)。 · 例: pcl_geodesic
medial_axis_points voxel → points — medial voxel の座標と局所半径(= その点の EDT 値)を点群化。返り値 (points, radius)。 · 例: medial_topology
medial_match voxel × voxel → measurement — 2 つの voxel 形状の medial(位相 + 半径分布)による粗照合スコア。返り値 [0,1]。 · 例: medial_topology
skeleton_branches3d voxel → voxel — 3D 骨格を分岐点で切って枝(線分)に分割する。2D の r2_split_skeleton_lines の 3D 版。 · 例: medial_topology
skeleton_endpoints3d voxel → voxel — 3D 骨格の端点(26 近傍に骨格 voxel が 1 個以下)を voxel マスクで返す。 · 例: medial_topology
skeleton_graph3d voxel → table — 3D 骨格を ノード(接合点・端点)と枝(長さ・半径)のグラフに組み立てる。 · 例: medial_topology
skeleton_junctions3d voxel → voxel — 3D 骨格の分岐点(joint、26 近傍に骨格 voxel が 3 個以上)を voxel マスクで返す。 · 例: medial_topology
skeleton_prune3d voxel → voxel — 3D 骨格のヒゲ(短い枝)を刈る。端点除去を length 回反復 = 枝長 <=length を除去。 · 例: medial_topology
skeletonize_vol voxel → voxel — 3D バイナリ voxel を細線化して 1 voxel 幅の骨格に。skimage の Lee(1994)法ラッパ。 · 例: medial_topology
topology_signature voxel → table — 骨格の 26 近傍次数から位相記述子を作る。端点/分岐点/通常点/孤立点の個数を返す。 · 例: medial_topology
vol_distance_transform voxel → voxel — Exact Euclidean distance transform of a binary volume. · 例: medial_topology, molecule_atom_count, nearest_seed_partition, vessel_metrology
vol_nearest_label voxel → voxel — 零 voxel に最近の非零ラベルを配ったラベル体積 (D, H, W)(ラベルのボロノイ分割、voxel)。 · 例: nearest_seed_partition
vol_nearest_seed_vector voxel → flow_dense — 各 voxel から最近の seed voxel への変位ベクトル (3, D, H, W)(flow_dense、成分 dz, dy, dx [voxel])。 · 例: nearest_seed_partition
3d / mesh_process(10)
boundary_vertices mesh → indices — 開いた縁(境界)に乗っている頂点の index → (K,)。 · 例: mesh_decimate, mesh_props
decimate_qem mesh → mesh — Quadric-error-metric edge-collapse decimation toward target_faces. · 例: mesh_decimate, mesh_lod_download, mesh_resolution_demo
face_areas mesh → signal — 三角形メッシュの面ごとの面積 → (M,)。 · 例: mesh_props
face_normals mesh → normals — 三角形メッシュの面法線(各三角形の単位法線ベクトル)。→ (M,3)。 · 例: mesh_props
laplacian_smooth mesh → mesh — umbrella Laplacian による三角形メッシュ平滑化。→ (verts, faces)。 · 例: mesh_smooth
mesh_area mesh → measurement — 三角形メッシュの表面積(全三角形面積の総和)。→ float。 · 例: dl_mesh_curvature, mesh_props, minimal_surfaces
mesh_volume mesh → measurement — 閉じた三角形メッシュが囲む符号付き体積 → float。 · 例: hull_bounds, mesh_props, minimal_surfaces
-
taubin_smooth mesh → mesh — Taubin λ |
μ フィルタによる 非収縮 平滑化。→ (verts, faces)。 · 例: mesh_smooth |
vertex_curvature mesh → curvature — 三角形メッシュの各頂点の平均曲率の大きさ(mean curvature magnitude)。→ (N,)。 · 例: dl_mesh_curvature, mesh_props, minimal_surfaces
vertex_normals mesh → normals — 三角形メッシュの頂点法線(面積重み付きで集約した単位法線)。→ (N,3)。 · 例: mesh_props
3d / metrics(8)
chamfer_distance points × points → measurement — 対称 Chamfer 距離 = 0.5*(mean_a min_b + mean_b min_a)。→ scalar。小さいほど一致。 · 例: itokawa_pose_canonical, itokawa_shape_match, mesh_lod_download, metrics_eval, poisson_surface_recon
fscore points × points → measurement — F-score @ tau = precision と recall の調和平均。→ (f, precision, recall)。再構成の標準指標。 · 例: metrics_eval
hausdorff_distance points × points → measurement — 対称 Hausdorff 距離 = max(max_a min_b, max_b min_a)。→ scalar。最悪ケースの乖離。 · 例: mesh_lod_download, pointcloud_downsampling, poisson_surface_recon
m3c2_distance points × points → signal — 2 時点の点群の差を法線方向に測る(M3C2)。→ (distance, lod) の 2 つ。 · 例: metrics_eval
-
normal_consistency points × normals → measurement — 最近傍対応での法線一致度 = mean |
cos(na, nb) |
(向き無視)。→ [0,1]。1=完全一致。 · 例: metrics_eval |
pose_error pose × pose → table — 姿勢誤差 = (回転角[度], 並進ノルム)。登録結果の GT 比較。→ (rot_deg, trans_err)。 · 例: itokawa_self_register
-
rmse_correspondence points × points → measurement — 対応既知(同 index)の RMSE = sqrt(mean |
a_i - b_i |
^2)。→ scalar。登録残差の評価。 · 例: metrics_eval |
voxel_iou voxel × voxel → measurement — voxel 占有の IoU(intersection over union)。→ [0,1]。体積一致度。 · 例: metrics_eval
3d / moment_invariant(4)
central_moments points → table — 重心中心化した中心モーメント μ_{pqr}(並進不変、キー=(p,q,r))を返す。 · 例: moment_invariants
inertia_tensor points → matrix — 点群の慣性テンソル (3,3)(中心 2 次モーメントから、等質量・総質量 1)。 · 例: moment_invariants
moment_invariants points → descriptor — 並進+回転+スケール不変な形状特徴ベクトル(Sadjadi–Hall 流 + 高次半径分布)。 · 例: moment_invariants
principal_moments points → descriptor — 慣性テンソルの固有値(主慣性モーメント、降順ソート、回転不変)。 · 例: shape_desc_pose
3d / morphology(7)
morph_blackhat3d voxel → voxel — 3D black-hat = closing − vol。SE より小さい 暗構造/穴を抽出。 · 例: diff_features
morph_close3d voxel → voxel — 3D closing = dilation → erosion。SE より小さい暗構造(隙間・空洞)を埋める。 · 例: morphology_3d
morph_dilate3d voxel → voxel — 3D グレースケール dilation(SE 半径 r の局所 max)。明領域を膨張。 · 例: morphology_3d
morph_erode3d voxel → voxel — 3D グレースケール erosion(SE の局所 min)。明領域を収縮。se は dilate と同じ。 · 例: morphology_3d
morph_gradient3d voxel → voxel — 3D モルフォロジー勾配 = dilation − erosion。境界/表面を抽出(sobel 代替のエッジ源)。 · 例: morphology_3d
morph_open3d voxel → voxel — 3D opening = erosion → dilation。SE より小さい明構造(棘・粒)を除く。 · 例: morphology_3d
morph_tophat3d voxel → voxel — 3D white top-hat = vol − opening。SE より小さい 明構造を抽出(keypoint 前処理)。 · 例: diff_features, morphology_3d
3d / motion(1)
scene_flow_lk voxel × voxel → flow_dense — Lucas-Kanade scene flow(2D optical flow の 3D 版)。voxel ごとの運動場 d=(dz,dy,dx)。 · 例: motion_scene
3d / motion_segment(3)
estimate_flow points × points → flow_scattered — pts0 の各点から pts1 の最近傍への 3-D 変位ベクトル場 (N, 3) を返す(最近傍フロー)。 · 例: motion_scene
fit_rigid points × points → pose — 対応点から閉形式 Kabsch で剛体変換 (R, t) を推定する(pts_from[i] -> pts_to[i])。 · 例: motion_scene
segment_rigid_motions points × points → labels — 2 点群を運動が一致する剛体ごとに分割する(反復 RANSAC による multi-body 分割)。 · 例: motion_seg
3d / normals_orient(2)
estimate_oriented_normals points → normals — PCA 法線推定 + Hoppe 大域向き付けの合成。→ (N,3) の向き付き単位法線。 · 例: oriented_normals
orient_normals points × normals → normals — Hoppe 法で法線を大域一貫に向き付け(MST 伝播)。→ (N,3)。 · 例: oriented_normals
3d / occupancy(4)
esdf voxel → sdf — 占有格子 → Euclidean 符号付き距離場 (ESDF)(外=+ 最近占有まで, 内=- 最近自由まで)。 · 例: occupancy_esdf
inflate voxel → voxel — 障害物を radius(world 単位)膨張した占有格子 bool(= ESDF<=radius を占有)。 · 例: sensor_seg
occupancy_grid points → voxel — 点群 (N,3) → 3-D 占有ボクセル格子 bool(点の落ちた voxel を占有)。 · 例: occupancy_esdf
query_distance sdf × points → signal — 任意 world 座標 (M,3) での ESDF 値 (M,) を返す(mode=’trilinear’ 補間 or ‘nearest’)。 · 例: occupancy_esdf
3d / optics(5)
fresnel_reflectance measurement → measurement — Fresnel 反射率(無偏光=s/p 平均)。透明体界面で反射/透過に分かれる割合。 · 例: snell_refraction
normal_from_reflection vector × vector → vector — 入射+反射から鏡面の法線を復元(deflectometry)。n ∝ (r − d)、入射に逆らう向きへ。 · 例: sensor_seg
reflect vector × normals → normals — 入射方向 d を法線 n の面で鏡面反射。r = d − 2(d·n)n。 · 例: sensor_seg, snell_refraction
refract vector × normals → normals — Snell 屈折(ベクトル形)。d=入射(面へ向かう), n=入射側外向き法線, 屈折率 eta1→eta2。 · 例: snell_refraction
snell_angle measurement → measurement — 入射角(度)→ 屈折角(度)。n1 sinθi = n2 sinθt。臨界角超は NaN(全反射)。 · 例: snell_refraction
3d / photometric(4)
integrate_normals normalmap → image2d — 法線場 → 高さ場 z を Frankot-Chellappa 積分。→ z HxW(定数分の自由度あり・平均0基準)。 · 例: photometric_stereo
photometric_stereo images → normalmap — Lambertian フォトメトリックステレオ: 既知光源方向の N 枚から法線とアルベドを復元。→ (normals HxWx3, albedo HxW)。 · 例: photometric_stereo
render_lambertian normalmap → image2d — 法線 + アルベド + 光源方向 → Lambertian 画像(検査サンプル生成 / GT 検証 / 逆レンダの順方向)。→ HxW。 · 例: photometric_stereo, render_shade
surface_normals image2d → normalmap — 高さ場 z(HxW)→ 単位法線 (H,W,3)。n ∝ (-dz/dx, -dz/dy, 1)。深度→法線の順変換。 · 例: photometric_stereo
3d / plane_sweep_stereo(2)
plane_sweep_depth image2d × image2d → depth — plane-sweep stereo で密な深度マップを推定。→ (H,W) depth。 · 例: plane_sweep_depth
warp_by_plane image2d → image2d — homography H で img を逆ワープ。→ out[y,x] = img(H·(x,y,1))(bilinear)。 · 例: motion_scene
3d / polyhedron(1)
geodesic_dome 入力なし → mesh — Geodesic sphere from a subdivided icosahedron — Euler decides the shape. · 例: geodesic_dome
3d / pose_estimation(3)
dlt_pose points × keypoints → pose — DLT で 3D-2D 対応からカメラ姿勢を復元(K 既知)。→ (R (3,3), t (3,))。6 点以上必要。 · 例: pnp_pose_outliers, pose_estimation
pnp_ransac points × keypoints → pose — 外れ値に頑健な PnP(RANSAC + 最終 DLT リフィット)。→ (R, t, inlier_mask, info)。 · 例: pnp_pose_outliers, pose_estimation
reprojection_error points × keypoints → measurement — 再投影誤差(RMS ピクセル)。姿勢の当てはまり評価。→ scalar。 · 例: pnp_pose_outliers, pose_estimation
3d / pose_graph(3)
mean_edge_error pose → measurement — エッジ残差の RMS(姿勢グラフの整合度)。→ scalar。 · 例: sfm_recon
optimize_pose_graph pose → table — 相対姿勢制約 + ループ閉じから大域姿勢を最適化。→ dict{poses, rmse, cost}。 · 例: pose_graph_slam
-
relative_pose pose × pose → pose — T_i⁻¹ ∘ T_j = i←j の相対姿勢。pose_* = [rvec |
t] (6,)。→ (rvec_ij (3,), t_ij (3,))。 · 例: pose_graph_slam, sfm_recon |
3d / preprocess(5)
mls_smooth points → points — 各点を局所多項式曲面へ射影してノイズを落とす(Moving Least Squares 平滑)。 · 例: pcl_geodesic
radius_outlier_removal points → points — 半径 radius 内の近傍数が min_neighbors 未満の点を除去する(孤立点除去)。 · 例: pcl_geodesic
statistical_outlier_removal points → points — 各点の k 近傍平均距離が大域的に外れる点を除去する(統計的外れ値除去)。 · 例: pcl_geodesic
volume_downsample voxel → voxel — Block-pool a (D, H, W) volume by an integer factor per axis (data 間引き). · 例: volume_downsampling
voxel_grid_downsample points → points — 辺 voxel_size の格子で点群を間引き、各セルを重心 1 点に集約する(決定論的)。 · 例: pointcloud_downsampling
3d / probe(3)
vol_edge_probe voxel → table — Sub-sample edges along the probe p0 -> p1. · 例: wall_thickness_probe
vol_profile_line voxel → pairs — Gray-value profile along the straight probe p0 -> p1. · 例: wall_thickness_probe
vol_wall_thickness voxel → signal — Wall thicknesses along the probe p0 -> p1 — the industrial-CT measurement itself. · 例: wall_thickness_probe
3d / range_image(4)
bearing_angle_image depth → image2d — bearing-angle 画像: 走査方向に沿った視線と局所面のなす角(range image の古典記述子)。→ HxW(度)。 · 例: sensor_seg
depth_to_organized_points depth → pointmap — organized 深度画像 → 格子整列 3D 点 (H,W,3)。 · 例: range_image
normals_from_depth depth → normalmap — organized 深度 → 向き付き単位法線 (H,W,3)。隣接画素の 3D 点の外積(格子構造を利用、O(HW))。 · 例: range_image
occlusion_edges depth → image2d — 深度の不連続(前景/背景境界 = 遮蔽エッジ)を検出。→ bool HxW。 · 例: range_image
3d / reconstruct(4)
alpha_shape_boundary points → indices — alpha shapes による境界点インデックスを返す(点群 → 境界点)。 · 例: sfm_recon
alpha_shape_mesh points → mesh — alpha shapes による表面三角形メッシュ(点群 → (vertices, faces))。 · 例: alpha_shape_topology
estimate_alpha points → measurement — 点群のスケールから推奨 alpha を返す(最近傍距離の中央値ベース)。 · 例: alpha_shape_topology, sfm_recon
poisson_lite points → mesh — 点群 (N,3) → (vertices(V,3), faces(F,3)) の表面メッシュ(スクリーンド Poisson 軽量近似)。 · 例: poisson_surface_recon
3d / refine(6)
icp_point2plane points × points × normals → pose — 点-面 ICP(Gauss-Newton, 小角近似)で剛体変換を高精度に精緻化する。 · 例: refinement
icp_point2point_3d points × points → pose — 点群を point-to-point ICP(Kabsch/SVD)で精緻化する。 · 例: gicp_register, itokawa_self_register, itokawa_shape_match, partial_overlap_icp
refine_lm voxel × voxel × position → table — Levenberg-Marquardt による並進(+等方スケール/輝度ゲイン)サブボクセル精緻化。 · 例: refinement
refine_peak_newton score × position → position — スコア/相関 volume の整数ピークを 3D Newton でサブボクセル精緻化する(反復最適化)。 · 例: refinement
refine_rotation_z voxel × voxel × angle → angle — z 軸回転角の Gauss-Newton 精緻化(Lucas-Kanade on SSD、1 パラメータ)。 · 例: refinement
refine_translation_lk voxel × voxel × position → position — Gauss-Newton 逆合成 Lucas-Kanade による 3D 並進サブボクセル精緻化。 · 例: refinement
3d / regionprops(7)
filter_by_volume voxel → voxel — min_voxels 未満の連結成分を除去した bool マスクを返す。 · 例: region_props_3d
inner_box3 voxel → primitive — 二値ボクセル領域に完全に内接する最大の軸平行ボックス(2-D inner_rectangle1 の 3-D 版)。 · 例: inner_box_inspection
label_components voxel → labels — 3D 二値ボリュームを連結成分にラベリングする。 · 例: region_props_3d, watershed3d
largest_component voxel → voxel — 最大(最多ボクセル)連結成分の bool マスクを返す。 · 例: region_props_3d
region_props voxel → table — 各連結成分のリージョンプロパティ一覧を返す。 · 例: region_props_3d
vol_label voxel → labels — 3-D connected-component labelling with a selectable neighbourhood. · 例: ct_bone_segmentation, molecule_atom_count, vessel_metrology
vol_region_props labels → table — Per-component quantitative descriptors from a label volume. · 例: vessel_metrology
3d / registration_metrics(4)
inlier_ratio points × points → measurement — 対応集合の inlier 率 = ‖T·source[i] − target[i]‖ < thresh の割合。→ [0,1]。 · 例: reg_eval
registration_recall points × points → measurement — 3DMatch 流の per-pair 登録成否 = 1.0(成功)/ 0.0(失敗)。 · 例: reg_eval
rmse_inliers points × points → measurement — inlier 対応(残差 < thresh)上の RMSE と inlier 数。→ (rmse, n_inliers)。 · 例: reg_eval
rotation_translation_error pose × pose → measurement — 2 つの 4×4 変換間の相対回転誤差(測地角[度], RRE)と相対並進誤差(RTE)。 · 例: reg_eval
3d / render(19)
ambient_occlusion mesh → image2d — メッシュを AO マップ画像 (H, W) [0,1] にレンダリングして返す。 · 例: render_ao
antialias image2d → image2d — 高解像画像を整数倍 ss で縮小(area-average anti-aliasing)。 · 例: render_ssaa
brdf_hapke normalmap → image2d — Hapke 反射則(対向効果 + 多重散乱 + 巨視的粗さ θ̄)で法線マップを陰影付けし I/F (H, W) を返す。 · 例: itokawa_regolith_hero
brdf_lommel_seeliger normalmap → image2d — Lommel-Seeliger 反射則(縁まで明るいレゴリス)で法線マップを陰影付けし I/F (H, W) を返す。 · 例: itokawa_regolith_hero
cast_shadow mesh × vector → image2d — メッシュのキャスト影 / ソフトシャドウを計算し、可視性マップ (H,W) ∈ [0,1] を返す。 · 例: render_beauty, render_shadow
edge_alias_energy image2d → measurement — エッジのエイリアス(ジャギー)エネルギー = ラプラシアンの RMS(小さいほど滑らか)。 · 例: render_beauty, render_ssaa
matcap_shade normalmap × image2d → image2d — MatCap: 視空間法線を lit-sphere テクスチャに写して素材の見えを転写。→ (H, W[, C])。 · 例: render_shade
phong_shade normalmap → image2d — Phong 反射モデルで法線マップを陰影付け(環境光 + 拡散 + 鏡面)。→ (H, W)。 · 例: render_beauty, render_shade
points_render points → rgbimage — Render an (N, 3) point cloud to an RGB image (H, W, 3): anti-aliased splats, depth-sorted, deterministic. · 例: points_render_basics
project_points points → keypoints — 3D 点群 (N,3) → 画像座標 (u,v) と深度。ピンホール(depth_to_points の順方向)。 · 例: pnp_pose_outliers, pose_estimation
render_beauty mesh → rgbimage — メッシュを全品質層合成で「映える静止 3D」1 枚に描く → RGB (size, size, 3) float [0,1]。 · 例: anatomical_hand, render_beauty
render_point_depth points → depth — 点群 → 深度画像(z-buffer、各画素に最近点の深度)。観測合成/外観検査サンプル。 · 例: sfm_recon
render_regolith mesh → rgbimage — 小惑星のレゴリスを物理ベース(Hapke + 太陽視直径のレイキャスト影 + 環境光ゼロ)で描く → RGB (size,size,3)。 · 例: itokawa_regolith_hero
render_shaded normalmap → image2d — 法線マップ (H,W,3) + 光源方向 → Lambertian 陰影画像(外観サンプル生成、光学と接続)。 · 例: render_ao
render_volume_projection voxel → image2d — voxel を任意視点で 2D 投影(mode=xray=減衰積算 / mip=最大値)。DRR(X線)・世界モデル観測。 · 例: ct_hand_radiograph
shadow_raycast mesh × vector → image2d — メッシュへ直接レイを飛ばして太陽光の可視性 (H,W) ∈ [0,1] を返す(shadow map 不使用)。 · 例: itokawa_regolith_hero
supersample_mesh mesh → image2d — メッシュを SSAA でアンチエイリアス描画 -> float 画像 (H, W) (or (H, W, C))。 · 例: render_ssaa
tonemap_aces image2d → image2d — ACES filmic 近似(Narkowicz 2015)で HDR を [0, 1] の LDR へ圧縮。→ float64。 · 例: render_tonemap
tonemap_reinhard image2d → image2d — Reinhard トーンマップで HDR を [0, 1] の LDR へ圧縮。→ float64、入力と同形状。 · 例: render_beauty, render_tonemap
3d / resolution(15)
mesh_decimate_preserving mesh → table — Decimation that keeps the detailed regions and reports what it lost (table). · 例: mesh_resolution_demo
mesh_detail_map mesh → table — Per-vertex coarseness and detail of a mesh (table). · 例: mesh_resolution_demo
mesh_edge_stats mesh → table — Edge-length and face-area percentiles with non-uniformity ratios (table). · 例: mesh_resolution_demo
mesh_isotropic_remesh mesh → mesh — Incremental isotropic remeshing to a uniform target_edge (mesh). · 例: mesh_resolution_demo
mesh_lod_chain mesh → table — Decimation levels with the measured geometric error of each (table). · 例: mesh_resolution_demo
mesh_reduction_report mesh × mesh → table — What a reduction (decimation, remesh, voxelisation) lost, in numbers (table). · 例: mesh_resolution_demo
mesh_sample_points mesh → points — Surface samples at a stated spacing — area-weighted random or Poisson-disk (points). · 例: mesh_resolution_demo
mesh_select_lod table → table — The coarsest LOD level whose geometric error projects below pixel_tolerance (table). · 例: mesh_resolution_demo
mesh_split_long_edges mesh → mesh — Bisect edges longer than max_edge until none remains — adaptive refinement (mesh). · 例: mesh_resolution_demo
pc_density points → table — Local spacing per point and the cloud’s non-uniformity (table). · 例: mesh_resolution_demo
pc_density_equalize points → points — Fill the sparse regions, then thin the dense ones: uniform spacing (points). · 例: mesh_resolution_demo
pc_fill_sparse points → points — Insert points where the local spacing exceeds spacing, on the local PCA plane (points). · 例: mesh_resolution_demo
pc_lod_chain points → table — Poisson-disk levels at doubling spacings (table). · 例: mesh_resolution_demo
pc_poisson_disk points → points — Blue-noise thinning: keep points greedily so that no two are closer than radius (points). · 例: mesh_resolution_demo
pc_thinning_report points × points → table — What a point-cloud thinning removed, and whether it touched the rare points (table). · 例: mesh_resolution_demo
3d / restoration(2)
vol_gaussian_psf measurement → voxel — A normalised (sums to 1) 3-D Gaussian PSF kernel; sigma is a scalar or per-axis. · 例: deconv_fft_restore
vol_richardson_lucy voxel × voxel → voxel — Richardson–Lucy deconvolution of a non-negative volume by a known PSF. · 例: deconv_fft_restore
3d / rle_region(9)
vol_rle_bbox rle_region → primitive — Tight bounding box (z0, y0, x0, z1, y1, x1) (exclusive upper bounds), from the runs. · 例: rle_region_efficiency
vol_rle_centroid rle_region → position — Centroid (z, y, x) of the region, computed on the runs (no decode). · 例: rle_region_efficiency
vol_rle_components voxel → rle_region — Split a binary volume into per-component VolRLE regions. · 例: rle_region_efficiency
vol_rle_decode rle_region → voxel — Decode a VolRLE back to a dense (D, H, W) float64 {0, 1} volume. · 例: rle_region_efficiency
vol_rle_difference rle_region × rle_region → rle_region — Set difference a \ b on the runs (no decode). · 例: rle_region_efficiency
vol_rle_encode voxel → rle_region — Encode a binary volume as x-runs (the 3-D HALCON-region representation). · 例: rle_region_efficiency
vol_rle_intersect rle_region × rle_region → rle_region — Intersection of two RLE regions on the runs (no decode). · 例: rle_region_efficiency
vol_rle_union rle_region × rle_region → rle_region — Union of two RLE regions, computed on the runs (no decode). · 例: rle_region_efficiency
vol_rle_volume rle_region → measurement — Voxel count of the region, computed on the runs (no decode). · 例: rle_region_efficiency
3d / robust_fit(7)
fit_cone points → primitive — 点群に無限円錐を当てはめ {apex, axis, half_angle, residual} を返す。 · 例: fit_primitives_ext
fit_ellipsoid points → primitive — 点群に任意姿勢の 3 軸楕円体を代数フィットし {center, axes, radii, residual} を返す。 · 例: fit_primitives_ext
fit_torus points → primitive — 点群にトーラスを当てはめ {center, axis, R, r, residual} を返す。 · 例: fit_primitives_ext
ransac_cylinder points × normals → primitive — 外れ値に頑健な RANSAC 円筒適合(点法線が必要)。 · 例: ransac_prim
ransac_line points → primitive — 外れ値に頑健な RANSAC 直線適合。 · 例: geometry_metrology
ransac_plane points → primitive — 外れ値に頑健な RANSAC 平面適合。 · 例: ransac_prim
ransac_sphere points → primitive — 外れ値に頑健な RANSAC で点群に球(中心と半径)を当てる。 · 例: ransac_prim
3d / scene_flow3d(3)
nearest_neighbor_flow points × points → flow_scattered — 各点 pts0 から pts1 の最近傍への 3-D 変位ベクトル場 (N, 3) を返す。 · 例: scene_flow_rigid
rigid_flow points × points → pose — pts0 -> pts1 を説明する単一剛体運動を最近傍対応 + Kabsch(ICP 風)で推定。 · 例: scene_flow_rigid
smooth_flow points × points → flow_scattered — 最近傍フローを近傍平均で局所平滑化した正則化フロー (N, 3) を返す。 · 例: scene_flow_rigid
3d / sdf_csg(12)
box_sdf coordgrid → sdf — 軸平行直方体の厳密な符号付き距離場(内側負・外側正)。 · 例: gear_metrology, render_beauty, sdf_csg
capsule_sdf coordgrid → sdf — 線分 a–b を半径 radius で太らせたカプセルの厳密な符号付き距離場。 · 例: procedural_hand, sdf_csg
cylinder_sdf coordgrid → sdf — 有限長の円柱(両端が平らな蓋)の厳密な符号付き距離場(内側負・外側正)。 · 例: sdf_csg
grid_coords 入力なし → coordgrid — CSG 評価用のボクセル中心座標グリッドを作る(occupancy と同じ格子規約)。 · 例: gear_metrology, molecule_atom_count, procedural_hand, render_beauty, sdf_csg, sfm_recon
plane_sdf coordgrid → sdf — 半空間の厳密な符号付き距離場。fast は1e6で相対差1.5e-10の選択式経路、既定は exact。 · 例: sdf_csg
sdf_intersect sdf × sdf → sdf — 2 SDF の積集合 A∩B = 要素ごとの max(a, b)(両方の内側でのみ内側)。 · 例: gear_metrology, render_beauty, sdf_csg
sdf_offset sdf → sdf — SDF のゼロ等値面を距離 r だけ法線方向へ動かす = sdf - r(r>0 膨張, r<0 収縮)。 · 例: sfm_recon
sdf_smooth_union sdf × sdf → sdf — 滑らかに丸めた和集合(polynomial smooth-min)。k>0 で継ぎ目を半径 ~k で丸める。 · 例: render_beauty
sdf_subtract sdf × sdf → sdf — 差集合 A\B = max(a, -b)(A の内側 かつ B の外側 = -b の内側)。 · 例: sdf_csg
sdf_union sdf × sdf → sdf — 2 SDF の和集合 A∪B = 要素ごとの min(a, b)(内側=負がどちらかにあれば内側)。 · 例: gear_metrology, render_beauty, sdf_csg
sphere_sdf coordgrid → sdf — 球の符号付き距離場: |p - center| - R(内側負・外側正)。 · 例: annotate3d_figure, gear_metrology, molecule_atom_count, procedural_hand, render_beauty, sdf_csg, sfm_recon
torus_sdf coordgrid → sdf — トーラス(ドーナツ)の厳密な符号付き距離場(内側負・外側正)。 · 例: sdf_csg
3d / segment(4)
euclidean_cluster points → labels — 半径 tol の近接グラフの連結成分で距離クラスタリング(-1=ノイズ)。 · 例: object_segmentation
plane_segmentation points → labels — 反復 RANSAC で最大 max_planes 枚の平面を逐次抽出(残差点 -1)。 · 例: object_segmentation
region_growing points → labels — 法線類似で領域成長し連結した平滑領域へ同ラベルを付す(曲率ゲート無し変種)。 · 例: sensor_seg
vol_watershed voxel → labels — Marker-controlled 3-D watershed segmentation (optional — scikit-image). · 例: molecule_atom_count
3d / shape_descriptor(5)
a3_distribution points → descriptor — ランダムな 3 点 (A, B, C) が頂点 B で作る角の分布(Osada 2002 の A3)。 · 例: shape_desc_pose
d2_distribution points → descriptor — ランダムな 2 点対のユークリッド距離分布(Osada 2002 の D2)。 · 例: shape_desc_pose
describe points → descriptor — D2 + A3 + extent を連結した大域形状記述子を返す。 · 例: denoise_evolution, shape_desc_pose, shape_retrieval
extent_signature points → descriptor — PCA 主軸(共分散の固有ベクトル)方向の広がりの比を返す。 · 例: shape_desc_pose
shape_distance descriptor × descriptor → measurement — 2 つの記述子間の距離。小さいほど同形状。 · 例: moment_invariants, shape_desc_pose, shape_retrieval
3d / space_carving(4)
carve images → voxel — bounds を res^3 voxel に離散化し、全シルエット内に射影される voxel を残す(空間彫刻)。 · 例: space_carving
carve_look_at vector → pose — carve / synthesize_silhouette に渡せるカメラ姿勢 (R, t) を作る。 · 例: space_carving
synthesize_silhouette points → image2d — 3-D 点群を (K,R,t) カメラへ射影し占有画素 True のシルエット(H,W bool)を返す。 · 例: space_carving
visual_hull images → voxel — 多視点シルエットの visual hull を voxel 占有として返す(:func:carve の別名)。 · 例: space_carving
3d / structured_light(9)
absolute_phase image2d × image2d → image2d — 巻き込み位相を、粗いが絶対的な位相推定で「次数確定」して絶対位相にする。 · 例: structured_light_scan
decode_fringe images → depth — 位相シフト画像列を一括復号: wrapped → unwrap →(参照減算で)高さ。 · 例: structured_light
depth_from_focus images → depth — 焦点を変えた画像から高さ・深さを画素ごとの最良合焦位置として推定する。 · 例: ftp_and_focus_depth
fringe_ftp_phase image2d → depth — 縞 1 枚から高さ・位相を Takeda の Fourier transform profilometry で復元する。 · 例: ftp_and_focus_depth
graycode_decode images → image2d — Gray code ビット画像列 → 整数フリンジ次数マップ(絶対次数)。 · 例: graycode_structured_light, structured_light_scan
synthesize_fringes image2d → images — 既知の height map から N-step 位相シフト縞画像列を合成する(テスト/サンプル生成用)。 · 例: ftp_and_focus_depth, structured_light
triangulate_column image2d → depth — 各カメラ画素の「投影機コラム番号」から深度 Z を三角測量する(構造化光の最終段)。 · 例: structured_light_scan
unwrap_phase_2d image2d → image2d — wrapped phase を skimage.restoration.unwrap_phase で連続位相に展開する。 · 例: structured_light
wrapped_phase images → image2d — N-step 位相シフト縞画像から wrapped phase (-π, π] を求める。 · 例: structured_light, structured_light_scan
3d / superquadric(4)
fit_superquadric points → primitive — 点群にスーパー2次曲面を least_squares で当てはめ dict{a,eps,R,t,residual} を返す。 · 例: superquadric_fit
inside_outside points → signal — スーパー2次曲面の内外関数 F(表面=1, 内部<1, 外部>1)。 · 例: superquadric_fit
sample_surface vector → points — スーパー2次曲面の表面点を (eta, omega) パラメトリックにサンプリング。 · 例: mesh_lod_download, superquadric_fit
superquadric_residual points → measurement — Gross-Boult 体積補正残差 mean( (sqrt(a1 a2 a3)(F^eps1 - 1))^2 )。 · 例: superquadric_fit
3d / surface(5)
curve3d_tube_mesh points → mesh — A space curve as a tube mesh — the MATLAB tubeplot, with a volume you can check. · 例: minimal_surfaces
gyroid_isosurface 入力なし → mesh — The gyroid — a triply periodic surface from its nodal approximation. · 例: minimal_surfaces
gyroid_solid_mask 入力なし → voxel — The gyroid as a printable solid: the shell within ±thickness of the level set. · 例: minimal_surfaces
minimal_surface 入力なし → mesh — A classical minimal surface, from its exact parametrisation. · 例: minimal_surfaces
minimal_surface_bend 入力なし → mesh — The catenoid-helicoid bend — every member of the family is still minimal. · 例: minimal_surfaces
3d / surface_fit(4)
background_flatten image2d → image2d — 画像の低次曲面(照明ムラ)をフィット減算=シェーディング補正。→ flattened。 · 例: geometry_metrology
eval_poly_surface poly_surface × image2d × image2d → image2d — model を (x,y) で評価 → z(x の shape で返す)。 · 例: contours_to_terrain
fit_poly_surface image2d × image2d × image2d → poly_surface — 散布 (x,y,z) → z=f(x,y) 多項式最小二乗。返り値 model(coef/powers/degree/rms/pv)。 · 例: contours_to_terrain
surface_form_error image2d → measurement — 高さ場 grid → 理想曲面(多項式)残差=形状誤差(平面度 deg1/球面度 deg2)。→ (residual, rms, pv)。 · 例: geometry_metrology
3d / symmetry(4)
detect_reflection_symmetry points → primitive — PCA 主軸を法線とする候補平面(重心通過)から最良の反射対称面を選ぶ。 · 例: dl_mesh_symmetry, itokawa_symmetry_honest, reflection_symmetry, symmetry
detect_rotational_symmetry points → primitive — PCA 主軸を候補軸として最良の回転対称(軸 × order)を選ぶ。 · 例: rotational_symmetry_fold, symmetry
reflect_points points → points — 点群を平面(点 plane_point・法線 plane_normal)で鏡映。→ (N,3)。 · 例: reflection_symmetry
reflection_symmetry_score points → measurement — 反射対称スコア = chamfer(鏡映, 元) / 中央値最近傍間隔(小さいほど対称、スケール不変)。→ float。 · 例: dl_mesh_symmetry, reflection_symmetry
3d / terrain(8)
bump_normals_fbm normalmap × pointmap → normalmap — Perturb a normal map with the gradient of a seeded multi-octave height field. · 例: itokawa_regolith_hero
displacement_band_weights mesh → matrix — Per-octave, per-vertex band gate (K, N) in [0,1]. · 例: itokawa_regolith_hero
mesh_displace_fbm mesh → mesh — Roughen a mesh by displacing vertices along their normals with seeded fBm noise → (V, F). · 例: itokawa_regolith_hero
mesh_displace_spectrum mesh → mesh — Displace vertices along their normals with a stated amplitude spectrum, band-limited. · 例: itokawa_regolith_hero
mesh_edge_lengths mesh → signal — Local edge length of a triangle mesh, per vertex, per face or per unique edge. · 例: itokawa_regolith_hero
mesh_scatter_boulders mesh → mesh — Scatter partly-buried boulders on a mesh (power-law sizes, seeded) → (V, F) · 例: itokawa_regolith_hero
mesh_subdivide mesh → mesh — Refine a triangle mesh → (V, F) by midpoint subdivision or adaptive tessellation. · 例: itokawa_regolith_hero
terrain_region_mask mesh → signal — Per-face terrain weights (M,) in [0,1]: 0 = smooth regolith “sea”, 1 = rough highland. · 例: itokawa_regolith_hero
depth_to_points depth → points — 深度マップ(2.5D)→ point cloud(ピンホール逆投影)。depth 行を全手法へ接続。 · 例: structured_light_scan, transforms_repr
estimate_point_normals points → normals — 点群 (N,3) → 単位法線(局所 k 近傍共分散の最小固有ベクトル=PCA)。 · 例: fpfh_correspondence
gaussians_to_voxel points → voxel — 3DGS(異方性ガウス)→ 密度 voxel。各ガウスを means に opacity で置き、平均 scale で平滑。 · 例: transforms_repr
mesh_to_points mesh → points — mesh(頂点+面)→ 表面点群(面積重み一様サンプリング)。mesh→point cloud 変換。 · 例: mesh_decimate
mesh_to_voxel mesh → voxel — mesh(頂点+面)→ 密度 voxel。面上を一様サンプリング → splat(mesh 行を全手法へ接続)。 · 例: transforms_repr
points_to_voxel points → voxel — 点群 (N,3) → 密度 voxel (size³)。scatter_add で splat、任意で gaussian 平滑。 · 例: sh_descriptor_retrieval, shape_desc_pose
sdf_to_occupancy sdf → voxel — SDF → occupancy voxel(iso 以下=内側=1)。SDF から voxel へ戻す。 · 例: transforms_repr
signed_distance_field voxel → sdf — occupancy/密度 voxel → 符号付き距離場 SDF(内側<0・外側>0)。edt_jfa を両側に。 · 例: transforms_repr
to_points voxel × points × mesh × depth × gaussians → points — 任意の 3D 構造 → 点群(共通表現)。全5構造を 1 本の入口へ統合。 · 例: transforms_repr
tsdf_from_depth depth → sdf — 深度マップ(2.5D)→ TSDF volume(RGB-D 再構成の標準表現)。depth→TSDF 変換。 · 例: transforms_repr
voxel_to_mesh voxel → mesh — voxel → mesh(marching cubes、skimage)。返り値 (verts, faces, normals)。voxel→mesh 変換。 · 例: mesh_smooth
voxel_to_mips voxel → images — 3D → 直交 3 方向の最大値投影(MIP)。2D 手法(accel の 2D NCC 等)を適用する入口。 · 例: transforms_repr
3d / tsdf_fusion(3)
extract_surface_points sdf → points — TSDF ゼロ交差から表面点 (M,3) を抽出(marching cubes 不要、線形補間)。 · 例: transforms_repr, tsdf_fusion_demo
fuse depth → sdf — 深度列を new_volume + integrate で 1 つの TSDF volume に融合。返り値 (tsdf, weight)。 · 例: tsdf_fusion_demo
integrate sdf × depth → sdf — 深度 1 枚を投影的 TSDF で volume に統合(in-place、重み付き移動平均)。 · 例: transforms_repr
3d / two_view(5)
essential_8point image2d × image2d → matrix — 対応点 + K から本質行列 E を直接。→ E (3,3)。 · 例: sfm_recon
fundamental_8point image2d × image2d → matrix — 正規化 8 点法で基礎行列 F を推定(rank-2 強制)。→ F (3,3)。8 点以上必要。 · 例: two_view_pose
recover_pose image2d × image2d → pose — 対応点 + K から相対姿勢 (R,t) と 3D 構造を復元(cheirality で一意化)。→ (R, t_unit, points3d)。 · 例: two_view_pose
sampson_distance image2d × image2d → signal — エピポーラ拘束の Sampson 距離(1 次幾何誤差、各対応)。→ (N,)。 · 例: two_view_pose
triangulate image2d × image2d → points — DLT 三角測量: 2 視点の対応点 + 射影行列 → 3D 点。→ (N,3)。 · 例: sfm_recon
fit(3 ops / 2 categories)
fit / fit(2)
fit_circle_geometric keypoints → table — 短い円弧を含む (row, col) 点に幾何距離の最小二乗で円と半径を当てはめる。 · 例: fit_ops_from_knowhow
fit_curve_principal_axis keypoints → table — 斜めの曲がった縁を主軸へ回してから多項式 y'=f(x') を当てはめる。 · 例: fit_ops_from_knowhow
fit / registration(1)
phase_correlation_shift image2d × image2d → table — 2 枚の画像の位置合わせに必要なサブピクセル移動量を位相限定相関で求める。 · 例: fit_ops_from_knowhow
math(114 ops / 12 categories)
視覚計測を支える数学 op(線形代数/統計/補間・多項式)+ 複素解析の計算可能な切り口(周回積分・Cauchy 積分公式・偏角の原理・Laurent 係数/留数・等角写像・Cauchy-Riemann 残差)。FFT/複素画像は complexops・volfreq、1-D 関数は funct1d を参照。
math / complex(18)
cplx_argument_principle cpoints × cpoints → measurement — Argument principle: count zeros minus poles enclosed by a contour, from sampled values of f alone. · 例: math_complex
cplx_cauchy_value cpoints × cpoints → cscalar — Cauchy’s integral formula: recover f(w) inside a contour from its values on the contour. · 例: math_complex
cplx_contour_circle 入力なし → cpoints — Sample a circle as a closed contour — the standard integration path. · 例: math_complex
cplx_contour_integral cpoints × cpoints → cscalar — Closed contour integral ∮ f(z) dz by the chordal trapezoidal rule. · 例: math_complex, representation_conversion
cplx_cr_residual cimage → measurement — Cauchy-Riemann residual of a sampled complex field — “is this field holomorphic?” as a number. · 例: math_complex, poc_complex_plane_fields
cplx_domain_colour cimage → rgbimage — Domain colouring: turn a complex field into an RGB image you can read. · 例: poc_complex_plane_fields
cplx_escape_time 入力なし → image2d — How many steps of z -> z**2 + c it takes to leave the escape disc. · 例: poc_complex_plane_fields
cplx_joukowski cpoints → cpoints — Joukowski (Zhukovsky) conformal map w = z + c^2 / z. · 例: math_complex
cplx_laurent_coeffs cpoints × cpoints → table — Laurent (and Taylor) coefficients on a uniformly sampled circle — residues included. · 例: math_complex
cplx_mobius cpoints → cpoints — Möbius (linear fractional) map w = (a z + b) / (c z + d). · 例: math_complex
cplx_newton_basins signal → labels2d — Which root of a polynomial does Newton’s method fall into, from each point? · 例: poc_complex_plane_fields
cplx_plane_grid 入力なし → cimage — 複素平面の矩形窓を格子にする(画像と同じ並び: 行 0 が上 = 虚部が大きい側)。 · 例: poc_complex_plane_fields
cplx_poly_eval signal × cpoints → cpoints — Evaluate a polynomial on the complex plane (Horner, complex-capable). · 例: math_complex
cplx_rational_field roots × roots → cimage — Sample a rational function R(z) = gain * prod(z - zeros) / prod(z - poles). · 例: poc_complex_plane_fields
cplx_winding_number cpoints → measurement — Winding number of a closed contour around a point (turning number). · 例: math_complex, poc_complex_plane_fields
joukowski_circulation 入力なし → measurement — The Kutta circulation Gamma = 4*pi*a*U*sin(alpha + beta) for that section. · 例: poc_complex_plane_fields
mandelbrot_interior cimage → mask — Closed-form interior test for the main cardioid and the period-2 bulb. · 例: poc_complex_plane_fields
potential_flow_joukowski 入力なし → cimage — Inviscid flow past a Joukowski aerofoil, as a complex velocity field. · 例: poc_complex_plane_fields
math / construct(8)
circle_packing_apollonian 入力なし → table — Apollonian gasket from a Descartes quadruple — every circle a theorem. · 例: poc_theorems_as_pictures
curve_locality pairs → table — Points k apart along the curve — how far apart are they on the plane? · 例: poc_theorems_as_pictures
ford_circles 入力なし → table — Ford circles for the Farey fractions — tangency is an integer identity. · 例: poc_theorems_as_pictures
ifs_fractal 入力なし → pairs — Chaos game on an iterated function system — the dimension is a closed form. · 例: poc_theorems_as_pictures
ifs_similarity_dimension 入力なし → measurement — Moran’s equation sum(r_i**d) = 1 solved for d — from the maps alone. · 例: poc_theorems_as_pictures
neighbour_index_gaps pairs → signal — How far apart in index are a point’s nearest neighbours — parastichy as a number. · 例: poc_theorems_as_pictures
phyllotaxis_pattern 入力なし → pairs — Vogel’s spiral — the angle that packs best, and the spirals it makes. · 例: poc_theorems_as_pictures
space_filling_curve 入力なし → pairs — Hilbert / Moore / scan orders on a 2**order square — a permutation, checked. · 例: poc_theorems_as_pictures
math / dynsys(6)
dynsys_bifurcation_map 入力なし → pairs — The orbit diagram of a 1-D map — period doubling, as points you can count. · 例: poc_what_a_picture_cannot_check
dynsys_correlation_dimension points → measurement — Grassberger-Procaccia correlation dimension — the slope of log C(r). · 例: poc_what_a_picture_cannot_check
dynsys_lyapunov_spectrum 入力なし → signal — The Lyapunov spectrum by tangent flow + QR — and the sum you can check. · 例: poc_what_a_picture_cannot_check
dynsys_poincare_section table → pairs — Where a trajectory crosses a plane — with the crossing point interpolated. · 例: poc_what_a_picture_cannot_check
ode_flow_states 入力なし → table — Integrate a named vector field — the trajectory, with the order you paid for. · 例: poc_what_a_picture_cannot_check
ode_vector_field_grid 入力なし → flow2d — Sample a named field on a grid — a flow2d the existing viewers take. · 例: poc_what_a_picture_cannot_check
math / estimation(12)
assign_hungarian matrix → table — コスト行列 (n, m) の割当問題を解く(Kuhn 1955 / Munkres 1957 の Hungarian 法、scipy の実装)。 · 例: estimation_tour
crlb_gaussian signal × signal → table — 白色ガウス雑音(標準偏差 sigma)の下での Cramér–Rao 下界。 · 例: estimation_tour
hist_distance signal × signal → measurement — 2 つのヒストグラム(非負、和で正規化する)の距離・発散。 · 例: gallery_math_stats_linalg
kalman_smooth matrix × matrix × matrix × matrix × matrix × signal × matrix → table — 線形ガウス状態空間モデル x_{k+1} = F x_k + w(w ~ N(0,Q))、z_k = H x_k + v(v ~ N(0,R))の Kalman フィルタ(前向き)と Rauch–Tung–Striebel 平滑化(後ろ向き)。 · 例: estimation_tour
mat_expm matrix → matrix — 行列の指数関数 e^A(Padé 近似 + scaling-and-squaring、scipy)。 · 例: gallery_math_stats_linalg
mat_logm matrix → matrix — 行列の主対数 log A(e^X = A となる X のうち固有値の虚部が (−π, π] のもの、scipy)。 · 例: gallery_math_stats_linalg
se3_exp signal → matrix — SE(3) の指数写像: 6 次元のねじれ ξ = (v, ω)(並進速度 v、回転ベクトル ω)→ 4×4 の剛体変換。 · 例: estimation_tour
se3_log matrix → signal — SE(3) の対数写像: 4×4 の剛体変換 → 6 次元のねじれ ξ = (v, ω)(回転角 < π)。門: se3_log(se3_exp(ξ)) = ξ。 · 例: estimation_tour
stat_chi2_gof signal → table — χ² 適合度検定: 度数 observed が期待度数(既定は一様)に合うか。自由度 = 区分数 − 1。 · 例: gallery_math_stats_linalg
stat_ks_test signal → table — Kolmogorov–Smirnov 検定。y を与えれば 2 標本(同じ分布から来たか)、無ければ標準正規分布との適合。 · 例: gallery_math_stats_linalg
stat_ttest_paired signal × signal → table — 対応のある t 検定: 同じ対象を 2 回測った差 d = x − y の平均が 0 か。 · 例: gallery_math_stats_linalg
stat_ttest_welch signal × signal → table — Welch の t 検定: 分散が等しいと仮定しない 2 群の平均の差(自由度は Welch–Satterthwaite)。 · 例: estimation_tour
math / geometry(10)
angle_defect mesh → table — 頂点ごとの角欠損(離散 Gauss 曲率)K_v = 2π − Σ(その頂点での三角形の角)。境界の頂点は π − Σ(測地曲率)。 · 例: geometry_tour
delaunay_triangulate matrix → table — 平面 (N, 2) の三角形分割、または空間 (N, 3) の四面体分割(Delaunay、scipy.spatial = Qhull)。 · 例: geometry_tour
geodesic_heat mesh → table — 熱法による曲面上の測地距離(Crane et al. 2013)。source は頂点番号(または番号の列、既定は頂点 0)。 メッシュは (vertices, faces) でも mesh の組 1 つでもよい。 · 例: geometry_tour
geodesic_heat_grid image2d → table — 2-D 画像・3-D ボリュームの格子の上で、障害物を避けた測地距離を熱法で求める(Crane et al. 2013 の格子版)。 · 例: geometry_tour
mesh_euler_characteristic mesh → table — 三角形メッシュの V − E + F と、閉じた向き付け可能な曲面なら種数 g = (2 − χ)/2。 · 例: geometry_tour
mesh_torus 入力なし → mesh — トーラス(ドーナツ)の閉じた三角形メッシュ (vertices, faces)。大きい半径 R・管の半径 r(R > r > 0)。 · 例: geometry_tour
nurbs_circle 入力なし → table — 円を厳密に表す 2 次 NURBS(Piegl & Tiller 例 7.1: 正方形の 4 隅と 4 辺の中点、隅の重みは 1/√2)。 · 例: geometry_tour
nurbs_curve matrix → table — NURBS 曲線を評価する(重みつき・制御点は一般に通らない)。 · 例: geometry_tour
nurbs_revolve matrix → table — 平面の NURBS 曲線 (r, z) を z 軸のまわりに 1 周回した回転面(Piegl & Tiller §8.5)。 · 例: geometry_tour
nurbs_surface 入力なし → table — NURBS 曲面(テンソル積)を評価する。 · 例: gallery_math_numerics_filters
math / interp_poly(6)
interp_cubic signal × signal × signal → signal — Cubic-spline interpolation (scipy.interpolate.CubicSpline). · 例: math_metrology
interp_linear signal × signal × signal → signal — Piecewise-linear interpolation of (x, y) samples at query xq. · 例: math_metrology, poc_thermal_radiometry
interp_scattered points × signal × points → table — Values at query from scattered samples — sensor nets, boreholes, weather. · 例: poc_datacenter_thermal_field, poc_multibeam_bathymetry, poc_stockpile_volume
poly_eval signal × signal → signal — Evaluate a polynomial (coefficients highest-power-first) at x. · 例: math_metrology, signal_filter
poly_fit signal × signal → table — Least-squares polynomial fit with its conditioning on the record. · 例: math_metrology, poc_strain_history, poc_thermal_radiometry, signal_filter
poly_roots signal → roots — All roots of a polynomial (coefficients highest-power-first) — complex included. · 例: math_metrology
math / linalg(10)
mat_cholesky matrix → table — Cholesky factorisation A = L @ Lᵀ of a symmetric positive-definite matrix. · 例: gallery_math_stats_linalg
mat_cond matrix → measurement — Spectral (2-norm) condition number s_max / s_min — the numerical canary of the whole linalg family. · 例: math_metrology
mat_eig matrix → table — Eigen-decomposition of a general square matrix A V = V diag(w) (complex in general). · 例: gallery_math_stats_linalg
mat_eigh matrix → table — Eigen-decomposition of a symmetric matrix (LAPACK syevd). · 例: math_metrology, poc_thermal_radiometry
mat_lstsq matrix × signal → table — Least-squares solution of an over-determined system A x ≈ b (LAPACK gelsd, SVD-based). · 例: math_metrology, poc_colocalization_crosstalk, poc_sea_ice_concentration, poc_solar_limb_darkening
mat_lu matrix → table — LU factorisation P @ A = L @ U (L unit lower, U upper). · 例: gallery_math_stats_linalg
mat_pinv matrix → matrix — Moore-Penrose pseudo-inverse via SVD, with the cutoff explicit. · 例: math_metrology, poc_machine_condition_fusion
mat_qr matrix → table — QR factorisation A = Q @ R (Q with orthonormal columns, R upper triangular). · 例: numerics_tour
mat_solve matrix × signal → signal — Solve the square linear system A x = b (LAPACK gesv, LU with partial pivoting). · 例: math_metrology, poc_colocalization_crosstalk
mat_svd matrix → table — Singular value decomposition A = U @ diag(s) @ Vt (LAPACK gesdd). · 例: math_metrology, poc_water_level
math / numerics(11)
bessel signal → signal — Bessel 関数。kind = "j"(第 1 種 J)/ "y"(第 2 種 Y)/ "i"・"k"(変形)。 · 例: gallery_math_numerics_filters
chebyshev_coeffs_nd image2d → table — テンソル積の Chebyshev–Lobatto 格子で標本化した値から、N 次元の Chebyshev 係数を求める(DCT-I)。 · 例: numerics_tour
chebyshev_eval_nd table × matrix → signal — chebyshev_coeffs_nd の係数を点 (M, d) で評価する(各軸 T_k(t) = cos(k·arccos t))。 · 例: numerics_tour
chebyshev_nodes 入力なし → signal — 区間 [a, b] の Chebyshev 点 n 個(昇順)。 · 例: numerics_tour
erf signal → signal — 誤差関数 erf(x) = (2/√π) ∫_0^x e^{−t²} dt。 · 例: numerics_tour, poc_battery_electrode_breathing, poc_change_detection_misreg, poc_crack_width_timeseries, poc_dic_strain, poc_die_tilt_tsv_overlay, poc_dimensional_inspection, poc_exoplanet_transit, poc_fresco_craquelure, poc_mri_bias_field, poc_search_sweep_width, poc_settlement_significance, poc_star_astrometry, representation_roundtrip
erfc signal → signal — 相補誤差関数 erfc(x) = 1 − erf(x)。大きな x で 1 − erf を引き算すると桁落ちするので別に持つ (x = 10 で 1 − erf は 0 になるが erfc は 2.1e−45)。 · 例: poc_dfm_thickness_overhang, poc_itof_multifreq
gauss_cubature 入力なし → table — Gauss–Legendre のテンソル積で、箱 [a, b]^dim(a, b は軸ごとでも可)の求積の節点 (n^dim, dim) と重み。 · 例: gallery_math_numerics_filters
gauss_quadrature 入力なし → table — n 点の Gauss 求積の節点と重み。∫ f ≈ Σ w_k f(x_k)。 · 例: numerics_tour
integrate_hamiltonian signal × signal → table — 名前つきのハミルトン系(質量 1)を時間積分する。返り値 {"t","q","p","energy","energy_drift","method","system"}。 · 例: numerics_tour
interp_barycentric signal × signal × signal → signal — 点 (xk, yk) を通る多項式(次数 len−1)を、重心公式で x に評価する(Berrut & Trefethen 2004)。 · 例: numerics_tour
low_discrepancy 入力なし → matrix — [0, 1)^dim の低食い違い点列 (n, dim)。 · 例: numerics_tour
math / spectral(6)
esprit_doa matrix → table — ESPRIT(Roy & Kailath 1989): アレイの「1 素子ずらし」の不変性から、格子を使わずに向きを解く。 · 例: spectral_tour
hilbert_analytic signal → table — 解析信号 z = x + i·H[x] (FFT で負の周波数を消す)と、そこから読む振幅・瞬時位相・瞬時周波数。 · 例: spectral_tour
lomb_scargle signal × signal × signal → table — 不等間隔の時系列 (t, y) の Lomb–Scargle 周期図(Scargle 1982 の時刻ずらし τ つき、平均を引いてから)。 · 例: spectral_tour
music_doa matrix → table — MUSIC(Schmidt 1986): 共分散の雑音部分空間に直交する向きを探す。 · 例: spectral_tour
n_sources_mdl matrix → table — スナップショットから波源の数を MDL 基準で推定する(Wax & Kailath 1985)。 · 例: gallery_math_numerics_filters
ula_snapshots signal → matrix — 等間隔線形アレイが受ける複素スナップショット (M, K) を作る(到来方向推定の答えの決まる入力)。 · 例: spectral_tour
math / stats(5)
stat_correlation matrix → matrix — Pearson correlation matrix of (N, D) observations → (D, D). · 例: math_metrology, poc_colocalization_crosstalk, poc_ct_fidelity, poc_machine_condition_fusion, poc_thermal_radiometry
stat_covariance matrix → matrix — Sample covariance matrix of (N, D) observations → (D, D). · 例: math_metrology, poc_thermal_radiometry
stat_describe signal → table — Five-number-plus summary of a 1-D sample, as a plain dict. · 例: math_metrology, poc_thermal_radiometry
stat_histogram signal → pairs — Histogram of a 1-D sample with the binning explicit. · 例: math_metrology, poc_thermal_radiometry
stat_zscore signal → signal — Standardise a 1-D sample: (x - mean) / std (population ddof=0). · 例: math_metrology
abel_inverse signal → signal — 投影 A(y) から軸対称な分布 f(r) を戻す(逆 Abel 変換 = 軸対称物体の断層化)。 · 例: transforms_tour
abel_inverse_image image2d → table — 軸対称な物体を横から撮った画像(縦 = 対称軸の向き、横 = 軸からの距離)を、行ごとに逆 Abel して断面画像にする。 · 例: transforms_tour
abel_revolve image2d → voxel — 断面 f(z, r)((H, R)、r = 0, dr, …)を対称軸のまわりに回して 3-D ボリューム (H, 2R−1, 2R−1) にする。 · 例: transforms_tour
abel_transform signal → signal — 軸対称な分布 f(r)(r = 0, dr, 2dr, … の標本)を投影 A(y) に写す(前向き Abel 変換)。 · 例: transforms_tour
dct_transform image2d → table — 正規直交 DCT-II(inverse=True で DCT-III = 逆変換)を N 次元で。 · 例: transforms_tour
dwt_inverse table → image2d — dwt_transform の結果から元の配列に戻す(正規直交なので解析の転置)。 · 例: transforms_tour
dwt_transform image2d → table — Daubechies dbN の多段・N 次元の離散ウェーブレット変換(周期境界で厳密に正規直交)。 · 例: transforms_tour
hankel_image image2d → table — 軸対称な画像の2次元フーリエ変換を動径のHankel変換で求める。memory_budget は実測差1e-10以下の省メモリ経路。 · 例: transforms_tour
hankel_transform signal × signal → table — p 次の Hankel 変換 F(ν) = 2π ∫_0^∞ f(r) J_p(2πνr) r dr を quasi-discrete 法で。 · 例: perf_hankel_plan_and_piv_stream, transforms_tour
laplace_inverse_talbot signal × signal × signal → signal — 有理関数 F(s) = num(s)/den(s) の数値逆ラプラス変換(固定 Talbot 法)。 · 例: transforms_tour
tf_bilinear signal × signal → table — Tustin(双一次)変換 s = K (z − 1)/(z + 1) で連続系を離散系に写す。 · 例: gallery_math_numerics_filters
tf_freq_response signal × signal × signal → table — 周波数応答 H(jω)(Bode 線図の中身)。ω は rad/s。位相は連続に unwrap した度。 · 例: transforms_tour
tf_impulse_response signal × signal × signal → signal — インパルス応答 h(t) = L⁻¹[H(s)] (t)(厳密にプロパーな部分。直達項のデルタは返さない)。 · 例: transforms_tour
tf_poles_zeros signal × signal → table — H(s) = num/den の極・零点・直流ゲイン・安定性。 · 例: transforms_tour
tf_step_response signal × signal × signal → signal — 単位ステップ応答 y(t) = L⁻¹[H(s)/s] (t)。 · 例: transforms_tour
wavelet_filters 入力なし → table — Daubechies の正規直交ウェーブレット dbN のフィルタを、教科書の構成(スペクトル分解)で作る。 · 例: gallery_math_numerics_filters
math / wave(6)
wave_fringe_period image2d → measurement — The period of a striped image, measured back out of it (pixels). · 例: poc_beats_fringes_and_screens
wave_grating_orders 入力なし → table — Where a grating sends each order: d (sin_out - sin_in) = m lambda solved for the angle. · 例: poc_beats_fringes_and_screens, poc_spectrometer_illumination
wave_membrane_mode 入力なし → matrix — One eigenmode of a vibrating membrane — the shape the sand draws. · 例: poc_beats_fringes_and_screens
wave_mode_frequencies 入力なし → signal — The eigenvalue ladder of a membrane — a closed form you can check against. · 例: poc_beats_fringes_and_screens
wave_nodal_lines matrix → mask — Where a signed field changes sign — the nodal set, as a mask. · 例: poc_beats_fringes_and_screens
wave_two_slit 入力なし → image2d — Two-slit interference on a screen — built from the physics, not the fringe formula. · 例: poc_beats_fringes_and_screens
optics(483 ops / 53 categories)
レンズより上・画素より下の層。幾何光学(薄レンズ結像・ABCD 光線伝達・被写界深度・cos⁴ 口径食)/ 波動光学(Airy パターン・角スペクトル伝搬・Fraunhofer 回折・ガウシアンビーム)/ 結像品質(PSF→MTF・回折限界 MTF・Zernike 波面統計)/ 偏光(Jones・Stokes・Mueller)/ 材料の物性表(matprop)・光ファイバ(fiber)・センサーの特性(sensorchar)・大域光輸送ほか。
optics / appearance(7)
cie_xyz_from_wavelength signal → points — 波長 [nm] → CIE 1931 2° 等色関数 (x̄, ȳ, z̄)。入力形状 + 末尾 3 の配列を返す。 · 例: appearance_structural_colour, poc_chromatic_confocal
grating_rgb normalmap → rgbimage — 法線マップ + 光源 + 視線 → 回折による虹色 (H, W, 3) の線形 sRGB。 · 例: appearance_structural_colour
grating_wavelengths 入力なし → vector — 回折格子の式 d(sinθ_out − sinθ_in) = mλ を λ について解く。 · 例: appearance_structural_colour, poc_beats_fringes_and_screens
spectrum_to_srgb signal → vector — 分光反射率 → 線形 sRGB(ガンマ前)。白い面(反射率 1)が (1,1,1) になる正規化。 · 例: appearance_structural_colour, poc_material_optical_library, poc_pigment_unmixing, poc_simcal_thin_film, poc_white_balance
thin_film_reflectance signal → signal — 薄膜(厚さ d、屈折率 n_film)の分光反射率。特性行列法の厳密解(多重反射をすべて含む)。 · 例: appearance_structural_colour, simcal_tour
thin_film_rgb normalmap → rgbimage — 法線マップ + 視線 → 薄膜干渉の色 (H, W, 3) の線形 sRGB。 · 例: appearance_structural_colour
ward_anisotropic normalmap → image2d — Ward の異方性反射(楕円ガウス微小面)。ヘアライン仕上げの伸びたハイライト。 · 例: appearance_structural_colour
optics / cavity(5)
-
cavity_strain_transfer 入力なし → pairs — 腕共振器がひずみ h(f) を出力の位相へ写す伝達関数の大きさ |
H(f) |
を pairs で返す。 · 例: poc_gw_detector_pseudo_simulation |
fabry_perot_response 入力なし → table — Fabry-Perot 共振器の設計量(FSR・フィネス・線幅・極・増幅率・蓄積時間)を閉形式で返す。 · 例: poc_gw_detector_pseudo_simulation
michelson_dc_readout 入力なし → table — 暗縞から φ₀ だけずらした Michelson の反対称ポート光量・ひずみ感度・散射雑音限界。 · 例: poc_gw_detector_pseudo_simulation
pdh_error_signal 入力なし → pairs — Pound-Drever-Hall 誤差信号 ε(δ) を、共振からの離調 δ [Hz] の関数として pairs で返す。 · 例: poc_gw_detector_pseudo_simulation
quantum_noise_budget 入力なし → table — 通常の(信号再利用なし)Fabry-Perot Michelson の量子雑音 —— 散射・輻射圧・標準量子限界。 · 例: poc_gw_detector_pseudo_simulation
optics / coherent(6)
coherent_image image2d × image2d → image2d — Coherent image intensity of an amplitude/phase object through a pupil (image2d). · 例: poc_fourier_ptychography, poc_laser_line_speckle_floor
laser_line_coherent 入力なし → image2d — A sheet-of-light laser line on a rough surface, imaged with its speckle (image2d). · 例: poc_laser_line_speckle_floor
speckle_field 入力なし → image2d — Laser speckle intensity from a rough surface seen through a circular pupil (image2d). · 例: poc_laser_line_speckle_floor
speckle_reduction 入力なし → table — Predicted speckle contrast after reduction (table). · 例: poc_laser_line_speckle_floor
speckle_statistics image2d → table — First- and second-order statistics of a speckle intensity image (table). · 例: poc_laser_line_speckle_floor
triangulation_speckle_limit 入力なし → table — Speckle floor of laser triangulation (table): δz = C λ / (2π sin u_obs sin θ). · 例: poc_laser_line_speckle_floor
optics / confocal(6)
chromatic_confocal_limits table → table — 較正表から、測定範囲・軸方向分解能・戻る傾きの上限・最小の膜厚を閉形式で出す。 · 例: poc_chromatic_confocal
chromatic_confocal_peaks pairs → table — 戻りスペクトルのピーク波長を(1 本または透明体の表裏の 2 本)サブビンで拾う。 · 例: poc_chromatic_confocal, poc_spectrometer_illumination
chromatic_confocal_probe 入力なし → table — 対物レンズの処方から、波長 → 焦点位置の較正表(虹のものさしの目盛)を作る。 · 例: poc_chromatic_confocal, poc_spectrometer_illumination
chromatic_confocal_readout table × table → table — ピーク波長を較正表で高さ(z)へ戻し、2 ピークなら透明な層の厚さを出す。 · 例: poc_chromatic_confocal, poc_spectrometer_illumination
chromatic_confocal_spectrum table → pairs — 面の位置と層構成から、クロマティック共焦点の戻りスペクトルを合成する(順モデル)。 · 例: poc_chromatic_confocal, poc_spectrometer_illumination
confocal_axial_response 入力なし → pairs — 共焦点顕微鏡の軸方向の応答 I(z)(焦点からのずれ z [µm] に対する検出強度)を pairs で返す。 · 例: poc_chromatic_confocal
optics / design(22)
chief_ray table → table — Trace the chief ray (through the stop centre) at one field (table). · 例: lens_optimize_demo, poc_lens_solves_afocal, poc_lens_tolerancing, poc_optics_drawings, poc_photograph_through_prescription, poc_telecentric_metrology
chromatic_shift table → table — Focal shift, image-height shift and spot size versus wavelength (table). · 例: lens_optimize_demo, poc_material_optical_library, poc_photograph_through_prescription, poc_zmx_public_verify
example_system 入力なし → table — A named example: "singlet" (plano-convex BK7, f≈100), "doublet" (a cemented achromat, BK7/SF2, f≈100), "paraboloid" (f/2 paraboloid mirror — stigmatic on axis), "sphere_mirror" (same radius, spherical), "asphere" (plano-hyperbolic N-BK7 singlet, flat toward the object, exit conic k = −n² — Descartes’ stigmatic lens, f≈100 at f/4), "catalog_doublet" (the doublet with real N-BK7 / N-SF2 Sellmeier glass). · 例: anim3d_lens_aberrations, lens_calibration_loop_demo, lens_defect_dataset_demo, lens_design_demo, lens_optimize_demo, optimized_lens_tolerance_sensitivity
glass 入力なし → table — A dispersive medium from its d-line index nd and Abbe number vd. · 例: lens_design_demo, lens_optimize_demo, poc_industrial_oct, poc_lens_global_search, poc_material_optical_library, poc_optics_drawings
glass_catalog 入力なし → table — A catalogue glass by name (table), or the list of names when name is None. · 例: lens_optimize_demo, poc_material_optical_library, poc_telecentric_metrology
lens_system 入力なし → table — Build a validated sequential prescription (the table every other op consumes). · 例: anim3d_lens_aberrations, lens_calibration_loop_demo, lens_defect_dataset_demo, lens_design_demo, lens_optimize_demo, optical_design_metrics, plenoptic_capture_pipeline, poc_chromatic_confocal, poc_lens_file_roundtrip, poc_lens_global_search, poc_lens_merit_operands, poc_lens_solves_afocal, poc_lens_tolerancing, poc_material_optical_library, poc_noncoaxial_optics, poc_optics_drawings, poc_photograph_through_prescription, poc_plenoptic_camera, poc_tdi_linescan, poc_telecentric_metrology, poc_zoom_configurations
opd_map table → image2d — Optical path difference over the exit pupil, in waves (image2d). · 例: lens_design_demo
opd_samples table → table — OPD (waves) at grid pupil samples: returns (px, py, opd, valid). · 例: anim3d_lens_aberrations, poc_lens_tolerancing, poc_noncoaxial_optics
paraxial_trace table → table — First-order properties of the prescription: focal lengths, pupils, image. · 例: anim3d_lens_aberrations, lens_defect_dataset_demo, lens_design_demo, optical_design_metrics, poc_chromatic_confocal, poc_lens_file_roundtrip, poc_lens_global_search, poc_lens_merit_operands, poc_lens_solves_afocal, poc_material_optical_library, poc_noncoaxial_optics, poc_optics_drawings, poc_photograph_through_prescription, poc_plenoptic_camera, poc_tdi_linescan, poc_telecentric_metrology, poc_zmx_public_verify, poc_zoom_configurations
ray_aiming table → table — How well the pupil rays reach the stop at one field: counts, residual and pupil extent (table). · 例: optical_design_metrics
ray_bundle table → table — Trace a pupil-filling bundle at one field; returns the raw trace plus image_xy (N,2), chief_xy (2,), pupil (N,2) normalised coordinates and opl0 (start-of-ray optical path offsets). · 例: anim3d_lens_aberrations, poc_lens_file_roundtrip, poc_lens_merit_operands, poc_lens_solves_afocal, poc_lens_tolerancing, poc_noncoaxial_optics, poc_photograph_through_prescription, poc_zmx_public_verify
ray_fan table → pairs — Transverse ray aberration along one pupil diameter (pairs). · 例: anim3d_lens_aberrations, lens_design_demo
seidel_coefficients table → table — Third-order (Seidel) aberration sums in per_surface and total. · 例: anim3d_lens_aberrations, lens_design_demo, poc_lens_file_roundtrip, poc_lens_solves_afocal
sellmeier 入力なし → table — A dispersive medium from three-term Sellmeier constants (table). · 例: lens_optimize_demo
set_vignetting table → table — Compute the vignetting factors that remove every aperture-clipped ray, as “set vignetting” does (table). · 例: optical_design_metrics
spot_diagram table → pairs — Transverse ray intersections on the image plane for one field point. · 例: lens_design_demo, poc_lens_file_roundtrip
spot_stats table → table — RMS / geometric spot radius (mm) and centroid for one field point (table). · 例: anim3d_lens_aberrations, lens_design_demo, lens_optimize_demo, optical_design_metrics, poc_lens_solves_afocal, poc_photograph_through_prescription, poc_zmx_public_verify
thick_lens 入力なし → table — Closed-form thick lens in air: EFL, back/front focal lengths, principal points. · 例: lens_design_demo, poc_material_optical_library
tolerance_analysis table → table — Monte-Carlo manufacturing tolerances + per-parameter sensitivities (table). · 例: lens_design_demo, poc_optics_drawings
wavefront_from_opd table → table — OPD map → Zernike coefficients (waves) → RMS / PV / Strehl, in one call (table). · 例: anim3d_lens_aberrations, lens_design_demo
with_aiming table → table — Copy of system with a ray-aiming mode and/or vignetting factors set (table). · 例: optical_design_metrics
with_wavelength table → table — The same prescription evaluated at another wavelength (indices re-resolved; default the F line). · 例: anim3d_lens_aberrations, poc_chromatic_confocal, poc_lens_file_roundtrip, poc_lens_global_search, poc_lens_merit_operands, poc_material_optical_library, poc_photograph_through_prescription
optics / drawing(9)
drawing_dxf table → text — 図を DXF R12(AC1009)の ASCII にする(text)—— CAD に持ち込める最小の完全な構成を stdlib だけで書く。 · 例: poc_optics_drawings
drawing_raster table → rgbimage — 図を RGB の画像(uint8、(H, W, 3))にする(rgbimage)—— matplotlib(任意依存)で、紙の大きさ × dpi。 · 例: poc_lens_file_roundtrip, poc_noncoaxial_optics, poc_optics_drawings
drawing_svg table → text — 図を SVG の文字列にする(text)—— stdlib だけ、座標は実物の mm、紙の大きさ = 図 × 縮尺。 · 例: poc_optics_drawings
dxf_entities text → table — DXF(R12 の ASCII、R2000 以降の LWPOLYLINE も可)の ENTITIES を図の要素に読み戻す(table)。 · 例: poc_optics_drawings
lens_element_drawing table → table — 単レンズの製作図(table、図の dict)—— ISO 10110 の表記で、断面図と 3 分割のデータ欄と表題欄。 · 例: poc_optics_drawings
lens_section_drawing table → table — レンズの子午断面図(table、図の dict)—— 処方の面・コバ・絞り・像面と、視野ごとに色を分けた実光線と寸法。 · 例: poc_lens_file_roundtrip, poc_optics_drawings
noncoaxial_drawing table → table — 折り返した系の断面図・設置図(table、図の dict)—— raytrace3d の系の面・鏡・半透鏡・像面・光線を、 大域の座標で子午面に投影して描く。 · 例: poc_noncoaxial_optics
svg_entities text → table — SVG(drawing_svg が書く形: line / polyline / polygon / circle / path の M…A… と M…L… / text)を図の要素に読み戻す(table)。y の符号を戻して図のモデルの向き(y 上)にする。 · 例: poc_optics_drawings
vision_setup_drawing table → table — 撮像系の設置図(table、図の dict)—— optscene.vision_layout から側面図と上面図を描く。 · 例: poc_optics_drawings
optics / fiber(7)
fiber_bundle_coupling 入力なし → table — ライトガイド(ファイバの束)に入って出る光の割合。 · 例: poc_fiber_light_guide
fiber_lp_modes 入力なし → table — 弱導波のステップ型ファイバの LP_lm モード: 特性方程式を解き、各モードの u・w・規格化伝搬定数 b を返す(table)。 · 例: poc_fiber_light_guide
fiber_mode_field_diameter 入力なし → table — LP01 の場の直径(MFD)[µm] —— 厳密な場に重なりが最大のガウスを当てたときの 1/e² 直径。 · 例: poc_fiber_light_guide
fiber_numerical_aperture 入力なし → table — 開口数 NA = √(n_core² − n_clad²) と受け入れ半角(度)、比屈折率差 Δ。屈折率は数か材料名。 · 例: poc_fiber_light_guide
fiber_v_number 入力なし → table — 規格化周波数 V = 2π a NA / λ と、単一モードかどうか(V < 2.4048 = J0 の最初の零点)。 · 例: poc_fiber_light_guide
material_group_index 入力なし → pairs — 群屈折率 n_g(λ) = n − λ dn/dλ を pairs(λ [nm], n_g)で(材料は materials の名前)。 · 例: poc_fiber_light_guide
material_gvd 入力なし → pairs — 材料分散のパラメータ D(λ) = −(λ/c) d²n/dλ² [ps/(nm·km)] を pairs(λ [nm], D)で。 · 例: poc_fiber_light_guide
optics / film(5)
film_color 入力なし → table — 膜厚を振ったときの干渉色(ウェハの色見本)。D65 の照明・CIE 1931 の等色関数で見た色を返す。 · 例: poc_thin_film_reflectometry
film_thickness_fft pairs → table — 反射スペクトルの干渉縞の周期 → 膜厚(FFT 法)。分散は材料表の n(λ) で補正する。 · 例: poc_thin_film_reflectometry
film_thickness_fit pairs → table — 反射スペクトルに転送行列のモデルをあてはめて膜厚を出す(非線形最小二乗、大域の格子探索 → 局所の精密化)。 · 例: poc_thin_film_reflectometry
film_thickness_map images → table — 分光画像(帯域ごとの反射率)か RGB 画像から、画素ごとの膜厚を出す(早見表 + 放物線の精密化)。 · 例: poc_thin_film_reflectometry
multilayer_reflectance 入力なし → pairs — 多層膜の分光反射率(または透過率・吸収率)を pairs(λ [nm], 値)で返す。特性行列(転送行列)の厳密解。 · 例: poc_simcal_thin_film, poc_thin_film_reflectometry
optics / finish(5)
blast_normals normalmap → normalmap — ビーズブラスト / 梨地の無方向な微小凹凸を法線へ載せる。 · 例: machined_metal_and_materials, poc_illumination_cone_vs_na, poc_telecentric_metrology
finish_catalog 入力なし → table — 仕上げ名 → 既定パラメータの表(αx, αy, grain)。 · 例: machined_metal_and_materials
finish_shade normalmap → rgbimage — 材質 × 仕上げで金属面を陰影付けする → 線形 sRGB (H, W, 3)。 · 例: machined_metal_and_materials, poc_telecentric_metrology
micro_normals normalmap → normalmap — 加工痕そのものを法線に刻む(旋盤の送りマーク・ローレットの山)。 · 例: machined_metal_and_materials, poc_illumination_cone_vs_na, poc_telecentric_metrology
tangent_field 入力なし → normalmap — 仕上げの筋の向きを (H, W, 3) の接線場として作る。 · 例: machined_metal_and_materials
optics / fpm(6)
fp_capture image2d × image2d → table — LED アレイで斜めに照らした低解像の像の組を合成する(table、kind=”fp_stack”)。 · 例: poc_fourier_ptychography
fp_design 入力なし → table — FP の性能を撮る前に閉形式で(table): 合成 NA・遮断周期・重なり率・LED の数・画素の標本化。 · 例: poc_fourier_ptychography
fp_element_contrast image2d × table → table — USAF の要素ごとに 3 本の棒の変調を測り、どこまで分解したかを読む(table)。 · 例: poc_fourier_ptychography
fp_reconstruct table → table — 低解像の像の組から高解像の振幅と位相を戻す(table、kind=”fp_result”)。収束しなければ拒否する。 · 例: poc_fourier_ptychography
fp_stack_from_images volume × signal × signal → table — 装置・公開データの像の組を、この族の表にする(table、kind=”fp_stack”)。 · 例: poc_fourier_ptychography
fp_usaf_target 入力なし → table — USAF 1951 チャートの要素を並べた物体(table): 振幅(棒が暗い)か位相(棒の位相が phase_rad)か両方。 · 例: poc_fourier_ptychography
optics / geometric(5)
abcd_matrix table → matrix — Compose a paraxial system into one 2x2 ray-transfer (ABCD) matrix. · 例: optics_imaging
abcd_trace matrix → table — Propagate one paraxial ray through an ABCD matrix. · 例: optics_imaging
depth_of_field 入力なし → table — Photographic depth of field: near limit, far limit and hyperfocal distance. · 例: lightfield_depth, optics_imaging, poc_photograph_through_prescription
relative_illumination 入力なし → pairs — Natural vignetting: relative image-plane illuminance versus field angle. · 例: optics_imaging, poc_photograph_through_prescription, poc_search_sweep_width, poc_tdi_linescan
thin_lens 入力なし → table — Gaussian thin-lens imaging: where the image lands and how big it is. · 例: lightfield_depth, optics_imaging
optics / glassbody(4)
beer_lambert_transmittance signal → signal — Beer–Lambert の内部透過率 T = exp(−σ·L)。色ガラス・厚いガラスの緑かぶり。 · 例: glass_and_mirror_optics, poc_pv_thermal_survey, poc_thermal_radiometry, poc_water_transparent_media
prism_min_deviation_deg signal → signal — プリズムの最小偏角 [deg]。実硝材の分散で波長ごとに変わる = 虹が出る理由。 · 例: glass_and_mirror_optics
refract_rays points × points → points — Snell 屈折のベクトル版。光線ごとに全反射を判定して (方向, TIR マスク) を返す。 · 例: glass_and_mirror_optics, poc_water_transparent_media
slab_transmittance signal → signal — 平行平板(窓ガラス)の透過率。両面での多重反射と内部吸収を含む。 · 例: glass_and_mirror_optics, machined_metal_and_materials
optics / grating_interf(8)
darkfield_scatter_relation 入力なし → table — 暗視野 D(可視度の比)と、散乱角の分布の広がり σ の換算(ガウス散乱の公表式)。 · 例: grating_interferometry
dpc_integrate table → table — 微分位相(縞の位相のずれ φ)を格子の感度の向きに積分して、波面の位相 Φ [rad] に戻す。 · 例: grating_interferometry, poc_grating_interferometry
grating_step_period_estimate images → table — 位相ステップの画像列から「1 周期が何ステップか」(P)を、正弦をあてた残差の最小で推定する。 · 例: grating_interferometry, poc_grating_interferometry
grating_stepping_simulate image2d → images — 透過・微分位相・暗視野の 3 枚の図から、位相ステップの画像列 (N, H, W) を作る(順モデル)。 · 例: grating_interferometry, poc_grating_interferometry
grating_three_image_retrieve images × images → table — 位相ステップの 2 組(試料あり・試料なし)から、透過・微分位相・暗視野の 3 枚を分ける。 · 例: grating_interferometry, poc_grating_interferometry
talbot_carpet 入力なし → table — タルボ絨毯: 2 値の格子(位相 π / 位相 π/2 / 吸収)の後ろの強度 I(x, z) を、回折次数の和で閉形式に出す。 · 例: grating_interferometry, poc_grating_interferometry
talbot_grating_design 入力なし → table — 格子干渉計の幾何: 第 1 格子の自己像の距離(分数タルボ距離)、縞と分析格子の周期、線源格子の周期(閉形式)。 · 例: grating_interferometry, poc_grating_interferometry
talbot_source_visibility 入力なし → table — 線源の大きさと線源格子(Lau の条件)で、縞の可視度が何倍に落ちるか(閉形式、非干渉の和)。 · 例: grating_interferometry, poc_grating_interferometry
optics / illumination(14)
coaxial_illumination 入力なし → table — Coaxial (half-mirror) lighting: the round-trip T*R budget and the image a camera sees (table). · 例: poc_spectrometer_illumination
defect_contrast table → table — Contrast of topographic and pigment defects under a light (table). · 例: illumination_design_demo
illumination_design 入力なし → table — Rank the standard light families for a surface / defect pairing (table). · 例: illumination_design_demo, poc_solder_fillet_aoi
illumination_field table → image2d — Irradiance on the specimen of an illumination train (image2d), by paraxial backward tracing. · 例: poc_document_scan, poc_spectrometer_illumination
illumination_train 入力なし → table — A microscope illumination train (kohler or critical) laid out paraxially (table). · 例: poc_spectrometer_illumination
illumination_uniformity image2d → table — Uniformity figures of an irradiance map (table). · 例: illumination_design_demo
irradiance_map table → image2d — Irradiance on the part plane (image2d, units of intensity / mm²). · 例: illumination_design_demo
light_source 入力なし → table — An emitter set for a standard machine-vision light family (table). · 例: illumination_design_demo, poc_pocket_interreflection, poc_pod_lighting, virtual_machine_vision
lighting_sweep 入力なし → pairs — Defect contrast versus ring-light elevation angle (pairs). · 例: illumination_design_demo
solid_angle_boundaries table → table — Closed-form slope thresholds of a smooth specular facet (table). · 例: poc_illumination_cone_vs_na
solid_angle_brightness table → table — Brightness of a smooth or rough specular facet versus its slope (table). · 例: poc_illumination_cone_vs_na
solid_angle_light 入力なし → table — A light defined by the cone of directions it delivers to every point (table). · 例: poc_illumination_cone_vs_na
solid_angle_render normalmap × table → image2d — Image of a normal map under a cone light through a lens of NA view_na (image2d). · 例: poc_illumination_cone_vs_na
solid_angle_sweep 入力なし → pairs — Contrast of a facet against flat ground versus the illumination half-angle (pairs). · 例: poc_illumination_cone_vs_na
optics / imaging(11)
edge_spread image2d → table — 傾いたエッジ(ISO 12233)の ROI から、画素より細かい ESF を作る。 · 例: poc_pixel_shift, poc_veiling_glare
encircled_energy image2d → pairs — Encircled energy of a point-spread function: the fraction of the energy inside a circle of radius r. · 例: optical_design_metrics, poc_zoom_configurations
energy_radii image2d → table — The radius that holds a given fraction of a point-spread function’s energy (table). · 例: optical_design_metrics
ensquared_energy image2d → pairs — Ensquared energy of a point-spread function: the fraction of the energy inside a square of half-width w. · 例: optical_design_metrics
mtf50 pairs → measurement — SFR(pairs: 周波数, 値)が 0.5 を最初に切る周波数(直線補間)。0.5 を切らなければ ValueError (「測れる範囲の上まで 0.5 以上」を最大値として黙って返さない)。 · 例: poc_lens_file_roundtrip, poc_pixel_shift, poc_veiling_glare
mtf_diffraction 入力なし → pairs — The diffraction-limited MTF of a circular pupil (closed form). · 例: optics_imaging, poc_lens_file_roundtrip, poc_pixel_shift, poc_slanted_edge_sfr_limits, poc_veiling_glare
mtf_tangential_sagittal image2d → table — Tangential and sagittal MTF from the 2-D transform of a point-spread function (table). · 例: optical_design_metrics
psf_to_mtf image2d → pairs — Radially-averaged MTF of a measured point-spread function. · 例: optics_imaging, poc_lens_file_roundtrip, poc_veiling_glare, poc_zmx_public_verify
sfr_from_edge table → pairs — ESF から SFR(エッジから測る MTF)を出す。 · 例: poc_pixel_shift, poc_veiling_glare
veiling_glare_index image2d × image2d × image2d → table — 迷光(ベーリンググレア)指数: 黒い点の中心の明るさの平均 / 白地の明るさの平均(ISO 9358 の考え方)。 · 例: poc_veiling_glare
wavefront_stats table → table — Wavefront error statistics from a Zernike expansion: RMS, PV and Strehl. · 例: optics_imaging, poc_zernike_aberrations
optics / imaging_sim(6)
calibration_views table → table — Synthetic camera-calibration views of a planar target through the designed lens (table). · 例: lens_calibration_loop_demo
defect_dataset 入力なし → table — Synthetic defect images through a designed lens, with aligned masks (table). · 例: lens_defect_dataset_demo
distortion_map table → table — Real chief-ray height versus the paraxial one, and the remap grid (table). · 例: lens_defect_dataset_demo, poc_photograph_through_prescription, poc_zmx_public_verify
psf_from_opd table → image2d — Diffraction PSF of the real, aberrated pupil (image2d, sums to 1). · 例: lens_defect_dataset_demo, optical_design_metrics, poc_zmx_public_verify
render_through_lens image2d × table → image2d — Render an ideal irradiance image as the sensor behind system would record it (image2d). · 例: lens_defect_dataset_demo, poc_zmx_public_verify
through_focus_mtf table → table — Tangential and sagittal MTF at chosen spatial frequencies for a range of image-plane positions (table). · 例: lensfile_tolerance_worst_mtf, optical_design_metrics
optics / interface(4)
brewster_angle_deg 入力なし → measurement — Brewster 角 [deg] = atan(n2/n1)。この角度で p 偏光の反射が厳密に 0 になる。 · 例: example_polarization_metal, glass_and_mirror_optics
critical_angle_deg 入力なし → measurement — 全反射の臨界角 [deg] = asin(n2/n1)。n1 > n2 でなければ ValueError(存在しない)。 · 例: glass_and_mirror_optics
fresnel_conductor signal → signal — 金属(複素屈折率 n + ik)界面の反射率。入射側は真空/空気を仮定。 · 例: example_polarization_metal, glass_and_mirror_optics, poc_material_optical_library
fresnel_dielectric signal → signal — 誘電体界面の Fresnel 反射率(配列対応、全反射を含む)。 · 例: example_polarization_metal, glass_and_mirror_optics, poc_phase_measuring_deflectometry, poc_pv_thermal_survey, poc_shape_from_polarization
optics / itof(8)
itof_capture depth → table — 距離の図 → 間接 ToF の生信号(周波数ごとに K 段のバケット、電子数)。table(dict)を返す。 · 例: poc_itof_multifreq
itof_flying_pixel_mask depth → image2d — 距離の図 → フライングピクセル(前景と背景の間に浮いた画素)の印 (H, W)(1.0 = 浮いている)。 · 例: poc_itof_multifreq, tof_realdata
itof_multipath_separate table → table — 等間隔の多周波で測ったフェーザ → 経路ごとの距離と強さ(行列ペンシル)。table を返す。 · 例: poc_itof_multifreq
itof_noise_budget 入力なし → table — 間接 ToF の距離の雑音の閉形式(1 画素・1 周波数・等間隔 K 段)。table を返す。 · 例: poc_itof_multifreq
itof_phase_amplitude table → table — K 段の生信号 → 位相・振幅・オフセット・折り返した距離・画素ごとの距離の雑音の見積もり(table)。 · 例: poc_itof_multifreq
itof_unwrap_error_rate 入力なし → table — 多周波アンラップ(最尤の復号)で次数(何周目か)を誤る確率の見積もり。table を返す。 · 例: poc_itof_multifreq
itof_unwrap_multifreq table → table — 複数の周波数の位相 → 距離(多周波アンラップ)。table を返す。 · 例: poc_itof_multifreq
itof_wiggling_correct table → table — 高調波による周期誤差(wiggling)を補正した位相と距離。table を返す。 · 例: poc_itof_multifreq
optics / lensconfig(5)
lens_add_configuration table → table — Return a copy of system with one more configuration appended (table). · 例: poc_zoom_configurations
lens_configuration_metrics table → table — 構成ごとに 1 つの指標(EFL・後端焦点距離・RMS スポット・MTF・囲みエネルギー)を並べる(table)。 · 例: poc_zoom_configurations
lens_configuration_table table → table — 多構成の表(行 = 構成で変わる量、列 = 構成)を返す(table)。 · 例: poc_zoom_configurations
lens_configurations table → table — 多構成の処方を、構成ごとに解決した lens_system のリストにする(table)。 · 例: poc_zoom_configurations
lens_with_configuration table → table — 多構成の処方の k 番目(0 始まり)の構成を解決した lens_system を返す(table)。 · 例: poc_zoom_configurations
optics / lensfile(4)
lens_file_read 入力なし → table — .zmx の逐次レンズ処方を Fullseye の処方として読む(table)。 · 例: lensfile_tolerance_worst_mtf, optical_design_metrics, poc_lens_file_roundtrip, poc_lens_solves_afocal, poc_zmx_public_verify, poc_zoom_configurations
lens_file_report 入力なし → table — .zmx を読み込まずに分類する —— 何を読み / 無視し / 拒否するか(table)。 · 例: poc_lens_file_roundtrip
lens_file_system table → table — 読み込んだ処方を、視野 1 つ・波長 1 つの raytrace.lens_system にする(table)。 · 例: poc_lens_file_roundtrip
lens_file_write table → table — 処方を、:func:lens_file_read と設計ソフトが読める .zmx のテキストに書く(table)。 · 例: poc_lens_file_roundtrip, poc_lens_solves_afocal, poc_zoom_configurations
optics / lensglobal(3)
glass_nearest 入力なし → table — (n_d, V_d) に最も近いカタログ硝材 k 個を、距離つきで返す(table)。 · 例: poc_lens_global_search
lens_global_search table → table — 多始点の局所最適化(lensopt.optimize_lens)で局所解を集め、merit 順に返す(table)。 · 例: poc_lens_global_search
lens_substitute_glasses table → table — 系のモデル硝材 (n_d, V_d) を、k 番目に近いカタログ硝材に置き換える(table)。 · 例: poc_lens_global_search
optics / lensmerit(6)
merit_boundary_operands table → table — 製造上の境界を表の行にする: 各ガラスの縁厚・中心厚の範囲・空気間隔の範囲(table)。 · 例: poc_lens_merit_operands
merit_contributions table → table — どの行がメリット関数を支配しているか: 寄与の大きい順のパーセント表(table)。 · 例: poc_lens_merit_operands
merit_default table → table — 既定のメリット関数をオペランド表として組む: 瞳全体の光線行 + EFL の保持(table)。 · 例: optimized_lens_tolerance_sensitivity, poc_lens_merit_operands
merit_evaluate table → table — オペランド表を処方に当てて、各行の値・目標・重み・寄与とその割合を返す(table)。 · 例: poc_lens_merit_operands
merit_operands_list 入力なし → table — メリット関数の操作子(オペランド)の一覧: 名前・意味・単位・引数(table)。 · 例: poc_lens_merit_operands
optimize_lens_operands table → table — オペランド表のメリット関数を LM で最小化する。硝材も変数にできる(table)。 · 例: optimized_lens_tolerance_sensitivity, poc_lens_merit_operands
optics / lensrender(8)
bokeh_shape table → table — The out-of-focus footprint of a point source - the intersection of the pupil images, the cat’s eye -> dict. · 例: poc_photograph_through_prescription
exit_pupil_samples table → table — Sample points on the exit pupil of system (position and radius from the paraxial trace) -> dict. · 例: poc_photograph_through_prescription
lens_scene 入力なし → table — Build and validate a simple 3-D scene for :func:render_scene_through_lens -> dict (the scene table). · 例: plenoptic_capture_pipeline, poc_photograph_through_prescription, poc_plenoptic_camera
render_compare_prescriptions 入力なし → table — Render the same scene through two or more prescriptions and tabulate how good each picture is -> dict. · 例: poc_photograph_through_prescription
render_ghost_overlay table → table — The two-reflection ghosts of a bright point, as electrons on the sensor -> dict. · 例: poc_photograph_through_prescription
render_scene_through_lens table → table — Photograph a :func:lens_scene through the prescription system: sensor-side ray tracing -> dict. · 例: poc_photograph_through_prescription
scene_radiance 入力なし → table — Radiance along object-space rays hitting a :func:lens_scene -> dict. · 例: poc_dehazing
trace_sensor_rays table → table — Trace rays from sensor points through exit-pupil points backwards to object space -> dict. · 例: poc_photograph_through_prescription
optics / lenssolve(9)
afocal_system table → table — 像空間が平行光の系(望遠鏡・ビームエキスパンダ)を作る: 与えた系に afocal の印を付けるか、理想レンズ 2 枚の望遠鏡(table)。 · 例: poc_lens_solves_afocal
lens_afocal_report table → table — afocal 系の角倍率・射出瞳・視野ごとの角度の収差(分角)(table)。 · 例: poc_lens_solves_afocal
lens_apply_solves table → table — 処方の解(solve)を全部解いた複製を返す: 規則は残り、R / t は解いた値になる(table)。 · 例: poc_lens_solves_afocal
lens_image_surface table → table — 像面を曲面にした処方を返す: 光線はこの面と交わり、スポット・OPD・MTF はこの面で測る(table)。 · 例: poc_lens_solves_afocal
lens_petzval_radius table → table — 像空間のペッツバール半径: 3 次の像面湾曲を消す像面の曲率半径(table)。 · 例: poc_lens_solves_afocal
lens_solve_clear table → table — 面の解(solve)の規則を外す: 解いた値は数値として残る(table)。 · 例: poc_lens_solves_afocal
lens_solve_set table → table — 面に解(solve)の規則を付け、解いた処方を返す(table)。 · 例: poc_lens_solves_afocal
lens_solves_list table → table — 付いている解(solve)の一覧: 規則・解いた値・達成した量と誤差(table)。 · 例: poc_lens_solves_afocal
lens_zmx_solves_roundtrip table → table — 解(solve)を .zmx に書き、読み戻し、もう一度書く: 不動点になるかを調べる(table)。 · 例: poc_lens_solves_afocal
optics / light_transport(11)
form_factors_2d table → matrix — Patch-to-patch form factors of a concave 2-D (extruded) cross-section by Hottel’s crossed-strings rule. · 例: poc_interreflection_fringe_error, poc_itof_multifreq
fringe_multipath_phase_error 入力なし → table — Phase measured when a direct fringe phasor and a global phasor add: arg(a1 e^{iφ1} + a2 e^{iφ2}), its bias against φ1, and the worst case asin(a2/a1). · 例: poc_interreflection_fringe_error
groove_profile 入力なし → table — Split a concave cross-section (V-groove, circular trough, fillet or any concave polyline) into patches, one camera pixel column each. · 例: converge_tour, poc_interreflection_fringe_error, poc_itof_multifreq
high_frequency_patterns 入力なし → images — Shifted high-frequency projector patterns: binary stripes with fill ratio α, a checkerboard, or phase-shifted sinusoids (one or several periods). · 例: poc_interreflection_fringe_error
micro_phase_decode images → table — Decode a narrow-band high-frequency fringe set (micro phase shifting, Gupta & Nayar 2012) into an absolute projector coordinate, ordering the fringes by the beat of the first two periods. · 例: poc_interreflection_fringe_error
predict_fringe_phase_error table → table — Predict, per camera pixel, the fringe-phase bias and height error that interreflection causes in phase-shifting profilometry, from the light-transport matrix. · 例: poc_interreflection_fringe_error
render_transport table × images → images — Render camera images of a concave Lambertian cross-section under projector patterns, through the light-transport matrix (direct + interreflection). · 例: poc_interreflection_fringe_error
separate_direct_global images → table — Separate direct and global (interreflection) components from images under shifted high-frequency patterns, from per-pixel L_max and L_min (Nayar et al. 2006). · 例: poc_interreflection_fringe_error
tof_multipath_phase 入力なし → table — Continuous-wave time-of-flight depth when several light paths reach one pixel: the phase of the phasor sum, and its bias against the direct path. · 例: poc_interreflection_fringe_error, poc_itof_multifreq
tof_transport_depth table → table — 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. · 例: poc_interreflection_fringe_error, poc_itof_multifreq
transport_matrix_radiosity table → table — Light-transport matrix of a Lambertian concave cross-section: radiosity B = T E with T = (I − diag(ρ)F)^-1 diag(ρ). · 例: poc_interreflection_fringe_error, poc_itof_multifreq
optics / linescan(6)
lens_field_profile table → table — 像高ごとの相対照度と MTF を光線追跡で(table、有限距離の物体 = ラインスキャンの使い方)。 · 例: poc_tdi_linescan
linescan_acquire image2d → table — 反射率の地図 web を搬送しながら TDI ラインスキャンで撮る(table)。 · 例: poc_tdi_linescan
linescan_lens_columns table → table — lens_field_profile の像高の表を、ラインセンサの画素列ごとの照度とぼけにする(table)。 · 例: poc_tdi_linescan
linescan_lens_example 入力なし → table — ラインスキャンの撮像系の模型 2 つ(raytrace.lens_system の table)。 · 例: poc_tdi_linescan
tdi_snr 入力なし → table — TDI の段数 N ごとの SNR(table)—— EMVA 1288 の線形模型を段数倍して。 · 例: poc_tdi_linescan
tdi_sync_mtf 入力なし → table — TDI の同期ずれとヨー(斜行)が作るぼけの MTF(閉形式、table)。 · 例: poc_tdi_linescan
optics / lockin(9)
lockin_amplitude video → image2d — Amplitude map A of the part of every pixel that follows the reference -> (H, W) image. · 例: poc_lockin_imaging
lockin_demodulate video → table — Per-pixel quadrature demodulation of an image sequence against a sinusoidal reference -> dict of maps. · 例: poc_lockin_imaging
lockin_noise_floor 入力なし → table — Closed-form noise of the lock-in amplitude and phase for white noise -> dict. · 例: poc_lockin_imaging
lockin_phase video → image2d — Phase map phi (radians, (-pi, pi]) of the part of every pixel that follows the reference -> (H, W) image. · 例: poc_lockin_imaging
lockin_ring_normals table → table — Surface normals from the first-harmonic response of a dipole-modulated ring -> dict of maps. · 例: poc_lockin_imaging
lockin_ring_synthesize image2d → video — A Lambertian relief lit by a ring of modulated sources -> image sequence (T, H, W). · 例: poc_lockin_imaging
lockin_separate video → table — Separate coded lights and the uncoded rest by least squares against zero-mean codes -> dict of maps. · 例: poc_lockin_imaging
lockin_thermal_wave image2d → video — Steady-state surface temperature of a plate heated by a sinusoidal flux, per pixel -> image sequence (T, H, W). · 例: poc_lockin_imaging, poc_thermal_drift_metrology
lockin_walsh_codes 入力なし → matrix — Orthogonal zero-mean on/off codes for coded intermittent lighting -> (n_codes, n_frames) matrix of +-1. · 例: poc_lockin_imaging
optics / material(6)
clearcoat_shade rgbimage × normalmap → rgbimage — 透明な上塗りを被せる(車の塗装・陶器の釉薬・光沢プラスチック)。 · 例: machined_metal_and_materials, poc_telecentric_metrology
material_catalog 入力なし → table — 素材名 → 既定パラメータ(拡散の粗さ / 上塗りの強さ・粗さ / 布の縁光沢)。 · 例: machined_metal_and_materials
oren_nayar normalmap → image2d — 粗い拡散面の陰影(Oren–Nayar)。紙・石膏・コンクリート・月の見え方。 · 例: machined_metal_and_materials
sheen_shade normalmap → image2d — 布の縁の光沢(ベルベット・サテン)。視線に対して寝た所ほど明るい。 · 例: machined_metal_and_materials
subsurface_approx normalmap → image2d — 半透明の回り込み(葉・肌・大理石・プラ乳白)の近似。 · 例: machined_metal_and_materials
wetness rgbimage → rgbimage — 濡れた面の下地色。拡散が暗くなる(そして鏡面が増える)。 · 例: machined_metal_and_materials
optics / matprop(22)
abbe_number 入力なし → table — フラウンホーファー線の屈折率と Abbe 数(d 線系・e 線系)、部分分散 P_g,F を返す。 · 例: anim3d_lens_aberrations, poc_chromatic_confocal, poc_material_optical_library
acoustic_impedance_mismatch 入力なし → table — 2 材料の垂直入射における音響インピーダンス不整合を返す。 · 例: poc_material_optical_library
carbon_black_absorption 入力なし → pairs — カーボンブラック(黒い樹脂の顔料)が足す吸収係数 α [1/mm]。 · 例: poc_hyperspectral_foreign_matter
glass_map 入力なし → table — Abbe 図(V_d 対 n_d)の点の列: 可視で透明な材料ごとに name / class / nd / vd / PgF。 · 例: poc_lens_global_search, poc_material_optical_library, poc_optics_drawings
material_absorption 入力なし → pairs — 吸収係数の曲線 α(λ) = 4πk/λ [1/cm] を pairs(λ [nm], α)で返す。 · 例: poc_material_optical_library
material_acoustic 入力なし → table — 材料レコードに保存した音響物性と出典を返す。 · 例: poc_material_optical_library
material_dispersion 入力なし → pairs — 屈折率の分散曲線 n(λ) を pairs(λ [nm], n)で返す(等間隔 n_points 点)。 · 例: poc_fiber_light_guide, poc_material_optical_library
material_electron_properties 入力なし → table — 電子線の物性(元素ごとの Z・A・質量分率、密度、二次電子の脱出深さと生成エネルギー)を返す。 · 例: poc_virtual_sem_kv_cd_bse
material_extinction 入力なし → pairs — 消衰係数の曲線 k(λ) を pairs(λ [nm], k)で返す。k の表が無い区間は 0。 · 例: poc_material_optical_library
material_from_curves 入力なし → table — 測った n(λ)(と k(λ))の pairs(λ [nm], 値)から材料レコードを作る。 · 例: poc_material_optical_library
material_from_sellmeier 入力なし → table — Sellmeier 係数(n² − 1 = Σ Bᵢ λ²/(λ² − Cᵢ)、λ は µm、Cᵢ は µm²)から材料レコードを作る。 · 例: poc_dual_energy_xray, poc_material_optical_library
material_nir_absorption 入力なし → pairs — 近赤外(0.9〜2.5 µm)の吸収係数 α(λ) [1/mm] (自然対数の底)を、吸収帯の重ね合わせで。 · 例: poc_hyperspectral_foreign_matter
material_optical_constants 入力なし → table — 1 波長の光学定数 n, k と、そこから決まる吸収係数・複素誘電率・垂直入射反射率を返す。 · 例: poc_chromatic_confocal, poc_industrial_oct, poc_material_optical_library, poc_nir_silicon_transmission
material_record 入力なし → table — 材料 1 つのレコード(分類・別名・データ区間ごとの一次文献・カタログ公表値)を返す。 · 例: poc_material_optical_library
material_reflectance 入力なし → pairs — 空気から材料の面への反射率 R(λ) を pairs(λ [nm], R)で返す(Fresnel、複素屈折率)。 · 例: poc_chromatic_confocal, poc_material_optical_library
material_table 入力なし → table — 同梱の材料表の一覧(名前・分類・波長範囲・n_d・V_d・出典)を返す。 · 例: poc_material_optical_library
material_transmittance 入力なし → pairs — 平行平板(厚さ thickness_mm)の透過率 T(λ) を pairs(λ [nm], T)で返す。 · 例: poc_fiber_light_guide, poc_material_optical_library, poc_nir_silicon_transmission
nir_model_info 入力なし → table — :data:NIR_BAND_MODELS の 1 材料を、出典の印つきで表にして返す(帯・成分・水・散乱・屈折率)。 · 例: poc_hyperspectral_foreign_matter
plate_focus_shift 入力なし → table — 平行平板(ウェハ・窓・カバーガラス)を通して見たときの焦点ずれと球面収差を閉じた式で返す。 · 例: poc_chromatic_confocal, poc_material_optical_library, poc_nir_silicon_transmission
read_glass_catalog_agf 入力なし → table — 硝材カタログ(光学設計ソフトの .agf 形式)を読んで材料レコードの列(table)にする。 · 例: poc_material_optical_library
silicon_free_carrier_absorption 入力なし → pairs — ドープした Si の自由キャリア吸収 α_fc(λ) [1/cm] を pairs(λ [nm], α)で返す。 · 例: poc_material_optical_library
thermo_optic_coefficient 入力なし → table — 硝材の dn/dT(絶対、真空中)と基準温度からの屈折率変化 Δn をカタログの式 A で返す。 · 例: poc_material_optical_library, poc_thermal_drift_metrology
optics / mirror(2)
metal_mirror_rgb 入力なし → vector — 金属鏡の色(線形 sRGB)。n,k → 分光反射率 → CIE 等色関数 → sRGB。 · 例: glass_and_mirror_optics, poc_illumination_cone_vs_na, poc_material_optical_library, poc_telecentric_metrology
metal_optical_constants signal → pairs — 金属の複素屈折率 (n, k) を波長で引く(可視域、線形補間)。 · 例: glass_and_mirror_optics, poc_material_optical_library
optics / moire_align(8)
moire_differential_shift 入力なし → table — 逆向きのピッチ差の 2 対(A = (p_m, p_w)、B = (p_w, p_m))から、共通の誤差を消したずれを読む。 · 例: poc_moire_alignment, poc_moire_screen
moire_magnification 入力なし → table — モアレの縞の周期・向きと、ずれの拡大率 M・捕捉範囲(閉形式)。 · 例: poc_moire_alignment, poc_moire_screen
moire_mark_read image2d × image2d → table — 位置合わせのマーク 1 枚を、測定像と基準像(ずれ 0 のとき撮ったもの)から読む。 · 例: poc_moire_alignment, poc_moire_screen
moire_overlay_image 入力なし → image2d — 重ねた 2 枚の格子をカメラで撮った像(位置合わせのマーク)を合成する。 · 例: poc_moire_alignment, poc_moire_screen
moire_phase image2d → table — 縞の位相(像の原点 x = 0 を基準)、振幅、縞の本数を読む。 · 例: poc_moire_alignment, poc_moire_screen
moire_phase_crlb 入力なし → table — 白色ガウス雑音の下で、縞の位相とずれをどこまで細かく読めるか(下限の閉形式)。 · 例: poc_moire_alignment, poc_moire_screen
moire_phase_to_shift 入力なし → table — 縞の位相の変化 → ずれ δ(nm)。δ = Δφ / (dφ/dδ)、dφ/dδ = ±2π / p_動いた格子。 · 例: poc_moire_alignment, poc_moire_screen
moire_talbot_gap 入力なし → table — 近接ギャップの Talbot 効果: マスクの格子の像が、ギャップの先でどれだけ・どちらの符号で残るか。 · 例: poc_moire_alignment, poc_moire_screen
optics / noncoaxial(13)
beamsplitter_branches 入力なし → table — The two branches of a plate beamsplitter in a converging beam (table). · 例: poc_noncoaxial_optics
ghost_analysis table → table — Two-reflection ghosts of every surface pair (table): focus, size on the sensor and relative intensity. · 例: poc_noncoaxial_optics, poc_photograph_through_prescription
ghost_image table → image2d — Image-plane irradiance of the image plus all two-reflection ghosts of a point source (image2d). · 例: poc_noncoaxial_optics
ghost_path table → table — Real-ray polylines of one two-reflection ghost (table): the path i < j, its rays and energy. · 例: poc_noncoaxial_optics
image_orientation table → table — Image orientation through folds (table): reflections, handedness, rotation. · 例: poc_noncoaxial_optics
noncoaxial_example 入力なし → table — A named non-coaxial example system (table): folds, a periscope, a beamsplitter, a tilted plate, Scheimpflug. · 例: poc_lens_file_roundtrip, poc_noncoaxial_optics
noncoaxial_layout table → table — Global pose of every record (table): surface vertices, rotation matrices, the axis polyline. · 例: poc_lens_file_roundtrip, poc_noncoaxial_optics
noncoaxial_spot table → table — RMS / geometric spot radius (mm) and centroid on the (possibly tilted) image plane (table). · 例: poc_noncoaxial_optics
noncoaxial_system 入力なし → table — Build a validated non-coaxial sequential system (table) — surfaces, coordinate breaks, folds, plates. · 例: poc_lens_file_roundtrip, poc_noncoaxial_optics, poc_photograph_through_prescription
noncoaxial_trace table → table — Trace pupil-filling real-ray bundles through the 3-D system (table). · 例: poc_noncoaxial_optics
scheimpflug_tilt 入力なし → table — Scheimpflug condition for a tilted object plane (table; closed form, optionally real rays). · 例: poc_noncoaxial_optics
surface_reflectance 入力なし → table — Residual reflectance of one surface from the material table and its coating (table). · 例: poc_noncoaxial_optics
tilted_plate_shift 入力なし → table — Plane-parallel plate tilted by θ: lateral shift, focus shifts and astigmatism (table, closed form). · 例: poc_noncoaxial_optics
optics / oct(13)
oct_ascan table → table — k 等間隔の干渉スペクトル → A スキャン(深さ方向の反射の振幅、table)。 · 例: poc_industrial_oct
oct_bscan table → image2d — B スキャンの干渉スペクトルの束 → 断面像(深さ × 横、table。台帳の宣言は 20 log10 の画像 image2d)。 · 例: poc_industrial_oct
oct_bscan_boundaries image2d → table — B スキャンの画像から界面を横に辿る(image2d → table)。装置の出力の図にも使える。 · 例: poc_industrial_oct
oct_bscan_flatten table × signal → table — B スキャンを面(表面など)に沿って平らに並べ直し、横に平均した深さの断面を返す(table → table)。 · 例: poc_industrial_oct
oct_bscan_simulate 入力なし → table — 断面(sample2d)を横に走査した B スキャンの干渉スペクトルの束(table)。 · 例: poc_industrial_oct
oct_design 入力なし → table — OCT の性能を撮る前に閉形式で(table): 軸分解能・深さ範囲・感度の roll-off・SNR・横分解能と焦点深度。 · 例: poc_industrial_oct
oct_dispersion_broadening 入力なし → table — 試料腕だけにある材料(長さ L、往復)の分散の不一致で A スキャンのピークが何倍に広がるか(table、閉形式)。 · 例: poc_industrial_oct
oct_dispersion_compensate table → table — 数値分散補償(table → table): DC を除いた k 等間隔のスペクトルを解析信号にして exp(−i(a2Δk² + a3Δk³))。 · 例: poc_industrial_oct
oct_dispersion_estimate table → table — 分散補償の係数 a2・a3 を測ったスペクトルから推定する(table → table)。 · 例: poc_industrial_oct
oct_from_spectra matrix × signal → table — 装置が記録した生のスペクトルを、この族の op が読む表にする(matrix → table)。実機・公開データの入口。 · 例: poc_industrial_oct
oct_interferogram 入力なし → table — 層の並び(sample)を OCT で 1 本測った干渉スペクトル(table)。 · 例: poc_industrial_oct
oct_k_linearize table → table — 干渉スペクトルを k 等間隔に並べ直す(table → table)。 · 例: poc_industrial_oct
oct_layer_thickness table → table — A スキャンの界面のピーク → 層の光学厚と物理厚(table)。分離できない・見えないときは拒否する。 · 例: poc_industrial_oct
optics / omni360(24)
anaglyph_crosstalk rgbimage × rgbimage → table — Return previews and wrong-eye/right-eye energy ratios. · 例: poc_omni360_inspection
anaglyph_from_ods rgbimage × rgbimage → rgbimage — Extract an ODS viewport pair and compose a colour-filter view. · 例: omni360_roundtrip
cubemap_from_equirect rgbimage → rgbvideo — Resample an equirectangular image into six cubemap faces. · 例: omni360_roundtrip
equirect_defect_unwrap_pipe image2d → table — Unwrap the cylindrical wall; equirect longitude is circumference and latitude is axial. · 例: poc_omni360_inspection
equirect_filter_gaussian image2d → image2d — Gaussian-filter a panorama with longitude scale adapted to latitude. · 例: poc_omni360_inspection
equirect_from_cubemap rgbvideo → rgbimage — Resample six cubemap faces into an equirectangular image. · 例: omni360_roundtrip
equirect_from_fisheye_pair images → table — Stitch two calibrated fisheyes and report overlap, seam error and blind spots. · 例: poc_allsky_cloud_cover, poc_omni360_inspection
equirect_from_perspectives images → table — Blend a calibrated perspective rig into an equirectangular image. · 例: omni360_roundtrip
equirect_rotate rgbimage × matrix → rgbimage — Apply a proper three-dimensional rotation to a panorama. · 例: poc_omni360_inspection
equirect_stabilize images → table — Estimate and remove camera rotations from an equirectangular sequence. · 例: poc_omni360_inspection
equirect_weight_map 入力なし → image2d — Return cosine-latitude weights, optionally normalised to four pi. · 例: poc_omni360_inspection
ods_depth_to_disparity image2d → image2d — Convert radial depth to ODS horizontal pixel disparity. · 例: poc_omni360_inspection
ods_disparity_to_depth image2d → image2d — Convert ODS horizontal pixel disparity to radial depth. · 例: poc_omni360_inspection
ods_render 入力なし → images — Render ODS rays using scene_fn(origins, directions). · 例: omni360_roundtrip
omni_anaglyph_compose rgbimage × rgbimage → rgbimage — Compose a colour-filter stereo image; Dubois matrices follow the 2001 least-squares paper. · 例: poc_omni360_inspection
s_psnr image2d × image2d → measurement — Compute PSNR at deterministic near-uniform sphere samples. · 例: omni360_roundtrip
stereo360_sbs rgbimage × rgbimage → rgbimage — Pack a panorama pair side by side. · 例: omni360_roundtrip
stereo360_top_bottom rgbimage × rgbimage → rgbimage — Pack a panorama pair top and bottom. · 例: omni360_roundtrip
stereo_pack rgbimage × rgbimage → rgbimage — Pack two eye images in a named display layout. · 例: omni360_roundtrip
stereo_parallax_budget 入力なし → table — Report physical parallax and the common one- and three-percent limits. · 例: poc_omni360_inspection
video360_tile_coverage pairs → table — Report which longitude-latitude streaming tiles a view path touches. · 例: poc_omni360_inspection
video360_viewport_track rgbvideo → rgbvideo — Extract a moving viewport from an equirectangular frame sequence. · 例: poc_omni360_inspection
viewport_from_equirect rgbimage → rgbimage — Extract a rectilinear viewer viewport from an equirectangular image. · 例: omni360_roundtrip, poc_omni360_inspection
ws_psnr image2d × image2d → measurement — Compute cosine-latitude weighted spherical PSNR. · 例: omni360_roundtrip, poc_omni360_inspection
optics / optimization(3)
bend_singlet 入力なし → table — A thin singlet of given focal length at a Coddington shape factor (table). · 例: lens_optimize_demo
merit_function table → table — The DLS merit Σ residual² and its parts for one prescription (table). · 例: lens_optimize_demo, poc_lens_file_roundtrip, poc_lens_merit_operands
optimize_lens table → table — Damped-least-squares (Levenberg–Marquardt) optimisation of a prescription (table). · 例: lens_optimize_demo, poc_lens_file_roundtrip
optics / photoelastic(12)
brazilian_disc_stress 入力なし → table — 直径方向に圧縮された円板(Brazilian disc)の平面応力 σx, σy, τxy の閉形式 → dict。 · 例: photoelastic_roundtrip
cubic_photoelastic_birefringence image2d × image2d × image2d → table — 立方晶 {100} 面(Si ウェハなど)の応力複屈折 Δn と遅相軸 → dict。 · 例: photoelastic_roundtrip
kirsch_plate_stress 入力なし → table — 穴のある無限板の一軸引張(Kirsch の解)の σx, σy, τxy と極座標成分の閉形式 → dict。 · 例: photoelastic_roundtrip
photoelastic_phase_estimate polsweep → table — 偏光像から位相差 δ と主軸 θ を閉形式で逆算 → dict。 · 例: photoelastic_roundtrip
photoelastic_polarization_images image2d → polsweep — 円偏光照明の試料を偏光カメラ(0/45/90/135 度)または 6 強度の偏光計で撮った像 → (K, H, W)。 · 例: photoelastic_roundtrip
photoelastic_retardation image2d → table — 等方材料の応力光学則 δ = 2π t C (σ1−σ2)/λ → dict(rad・nm・縞次数・材料縞値)。 · 例: photoelastic_roundtrip
polariscope_intensity image2d → image2d — 平面・円偏光器の明暗視野の強度(等色線・等傾線)の閉形式。 · 例: photoelastic_roundtrip
principal_stress image2d × image2d × image2d → table — 平面応力の主応力 σ1 ≥ σ2、主応力差、σ1 の向き(等傾角)→ dict。 · 例: photoelastic_roundtrip
retardation_convert image2d → image2d — 位相差の単位換算(rad / deg / nm / waves = 縞次数)。 · 例: photoelastic_roundtrip
retardation_from_birefringence image2d → table — 複屈折 Δn から位相差 → dict(rad・nm・縞次数を並べて返す)。 · 例: photoelastic_roundtrip
retardation_unwrap_multiwavelength images → table — 複数波長の巻いた位相差から絶対位相差(nm)を決める(分散なしの仮定)→ dict。 · 例: photoelastic_roundtrip
silicon_piezo_optic_coefficients 入力なし → table — 単結晶シリコンの圧電光学係数 π11−π12・π44 [Pa⁻¹] を出典つきで返す → dict。 · 例: photoelastic_roundtrip
optics / pixelshift(6)
false_color_metric rgbimage → table — 偽色の量: 色差(BT.601 の Cb, Cr)の大きさの統計。 · 例: poc_pixel_shift
pixel_shift_capture rgbimage × matrix → video — シフトした撮像素子で撮る: シーンを画素の開口(正方形の箱)で厳密に積分し、Bayer か白黒の生の画像を返す。 · 例: poc_pixel_shift, poc_simcal_pixel_shift
pixel_shift_merge video × matrix → rgbimage — ピクセルシフトの枚を、公称のシフトで格子へ振り分けて合わせる。補間はしない(同じ格子点の標本の平均だけ)。 · 例: poc_pixel_shift, poc_simcal_pixel_shift
pixel_shift_motion_mask video × matrix → image2d — 動いた画素の地図 (H·scale, W·scale)(1.0 = 動いた、0.0 = 静止 / 判定できない)。 · 例: poc_pixel_shift
pixel_shift_pattern 入力なし → matrix — ピクセルシフトの公称のシフト列 (N, 2)(dr, dc)[センサ画素]に、アクチュエータの誤差を足して返す。 · 例: poc_pixel_shift
pixel_shift_resolution_budget 入力なし → table — ピクセルシフトで解像が上がるかの閉形式の予算(レンズ律速か画素律速か)。 · 例: poc_pixel_shift, poc_simcal_pixel_shift
optics / plenoptic(6)
mla_surface 入力なし → table — Describe a periodic spherical-cap microlens array surface. · 例: plenoptic_capture_pipeline, poc_plenoptic_camera
plenoptic_capture table × table → table — Trace a raw plenoptic frame and its white calibration image. · 例: plenoptic_capture_pipeline, poc_plenoptic_camera
plenoptic_decode image2d × table → lightfield — Rectify a calibrated raw frame and return L[v,u,y,x]. · 例: plenoptic_decode_pipeline, poc_plenoptic_camera
plenoptic_mla_calibrate image2d → table — Fit a rotated rectangular lenslet lattice to peaks of a white frame. · 例: poc_plenoptic_camera
plenoptic_refocus_depth lightfield × table → table — Convert light-field refocus slope(s) to object distance in metres. · 例: poc_plenoptic_camera
plenoptic_system table × table × table → table — Assemble a main lens, MLA and sensor and report F-number matching. · 例: plenoptic_capture_pipeline, poc_plenoptic_camera
optics / polarization(11)
jones_apply cimage × jones → jones — Push a Jones vector through a Jones matrix: [Ex', Ey'] = J @ [Ex, Ey]. · 例: optics_imaging
jones_element 入力なし → cimage — A 2x2 complex Jones matrix for one polarisation element. · 例: optics_imaging
mueller_apply matrix × stokes → stokes — Push a Stokes vector through a Mueller matrix: S' = M @ S. · 例: optics_imaging, poc_photoelasticity, polarization_camera_pipeline
mueller_checks matrix → table — Say whether a 4x4 matrix is a physically realisable Mueller matrix, and how depolarising it is. · 例: polarization_camera_pipeline
mueller_element 入力なし → matrix — A 4x4 real Mueller matrix for one polarisation element. · 例: optics_imaging, poc_mueller_dofp_observability, poc_photoelasticity, polarization_camera_pipeline
mueller_from_intensities signal → matrix — Recover a Mueller matrix from intensities measured through known generator / analyser states (polarimetric least squares). · 例: polarization_camera_pipeline
mueller_partial_polarizer 入力なし → matrix — Mueller matrix of a linear polariser with a finite extinction ratio (a linear diattenuator). → (4, 4), or (*shape, 4, 4) for an angle field. · 例: polarization_camera_pipeline
polarization_demosaic image2d → polsweep — Split a polarisation-sensor mosaic into the four analyser images. · 例: poc_shape_from_polarization, polarization_camera_pipeline
polarization_demosaic_color image2d → rgbvolume — Split a colour polarisation-sensor mosaic (Sony IMX250MYR family, a 4x4 block = a 2x2 Bayer block whose every colour site is itself a 2x2 block of polarisers) into four RGB images: (4, H, W, 3) in :data:POLARIZATION_SWEEP_ANGLES order, each channel interpolated to full resolution. The rgbvolume sort carries it (four “slices” of RGB). · 例: polarization_camera_pipeline
stokes_analyze stokes → table — Read a Stokes vector: degree of polarisation, azimuth, ellipticity. · 例: optics_imaging, polarization_camera_pipeline, specular_photometric
stokes_from_jones jones → stokes — Jones vector -> Stokes vector (the four measurable intensities). · 例: optics_imaging
optics / radiosity(7)
form_factor_matrix table → matrix — All patch-to-patch view factors F_ij of a radiosity_patches set (occlusion by the scene’s rays). · 例: poc_pocket_interreflection
form_factor_parallel_rects 入力なし → measurement — View factor between two identical, parallel, directly opposed rectangles a × b at distance c (Howell’s catalogue C-11, closed form). · 例: poc_pocket_interreflection
form_factor_perpendicular_rects 入力なし → measurement — View factor from a rectangle w × l to a rectangle h × l sharing the edge of length l at 90° (Howell’s catalogue C-14, closed form). · 例: poc_pocket_interreflection
form_factor_polygons points × points → measurement — View factor F_ij between two flat convex polygons (triangles or quads) in 3-D, numerically. · 例: poc_pocket_interreflection
radiosity_patches 入力なし → table — Build a set of flat radiosity patches (rad_patches table) from polygons or from an optscene scene. · 例: poc_pocket_interreflection
radiosity_progressive_3d table × signal → table — Progressive-refinement radiosity (Cohen et al. 1988, shooting, eqs. 7–8) on a 3-D patch set, with the evidence that it converged. · 例: poc_pocket_interreflection
render_optscene_gi table × table × table → table — Inspection render with interreflection: the photometry of render_optscene plus n bounces (or the converged sum) between Lambertian patches. · 例: poc_pocket_interreflection
optics / scene(44)
airy_radius_um 入力なし → measurement — エアリーディスクの第 1 暗環までの半径 [µm] = 1.22 · λ · N(閉じた式)。 · 例: vision_layout_from_catalog
camera_rays table → points — カメラ dict → 全画素の光線 (origins (H·W, 3), directions (H·W, 3))。 · 例: poc_itof_multifreq, poc_nir_silicon_transmission, poc_pocket_interreflection, studio_raytrace_scene
covers_sensor table × table → table — レンズがそのセンサを覆えるか(イメージサークル 対 対角)。 · 例: vision_layout_from_catalog
dataset_throughput table → table — :func:inspection_dataset の結果 → 生成スループットの実測まとめ。 · 例: virtual_machine_vision
defocus_blur rgbimage × image2d × table → rgbimage — 深度の真値から被写界深度のぼけを掛ける(理想ピンホール像 -> 実レンズの像)。 · 例: poc_focus_stacking, virtual_machine_vision
diffraction_blur rgbimage × table → rgbimage — 開口で決まる回折ぼけを掛ける(エアリーディスクをガウスで近似)。 · 例: vision_layout_from_catalog
env_lightbox points → signal — 撮影ボックスの環境(広い天井の明かり + ほんのり明るい周囲)。無彩色。 · 例: studio_raytrace_scene
env_studio points → signal — スタジオ環境の放射輝度(方向 -> 明るさ)。無彩色。 · 例: studio_raytrace_scene
illumination_visibility table × points × table → signal — 各点から見た発光点の可視率 [0, 1] (= 落ち影)。 · 例: studio_raytrace_scene
inspection_dataset table × table × table → table — 外観検査 AI の学習画像を n 枚、画素完全なラベル付きで生成する(検査用)。 · 例: virtual_machine_vision
interface_budget table → table — 伝送帯域から帯域律速の最大フレーム / ラインレートを返す。 · 例: vision_layout_from_catalog
layout_capture table → table — レイアウトのとおりに撮る(スペクトル -> 回折 -> 被写界深度 -> センサー)。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, vision_layout_from_catalog
lens_catalog 入力なし → table — 産業用レンズの諸元表(型番で引ける)。maker / mount で絞れる。 · 例: vision_layout_from_catalog
lens_spec 入力なし → table — レンズの諸元。NA と F 値はどちらで与えてもよい(N = 1/(2·NA))。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, vision_layout_from_catalog
light_catalog 入力なし → table — 照明の諸元表(鍵は「メーカー 型番」)。maker / kind で絞れる。 · 例: vision_layout_from_catalog
light_spec 入力なし → table — 照明の諸元。幾何は illumdesign.light_source に委ね、光の性質をここで足す。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, studio_raytrace_scene, vision_layout_from_catalog
light_wavelengths table → pairs — 光源のスペクトルを、撮像に使う数本の波長と重みに落とす。 · 例: vision_layout_from_catalog
linescan_capture table × table × table → table — ラインスキャン / TDI で撮る(搬送しながら 1 ラインずつ積む)。 · 例: vision_layout_from_catalog
observe_surface 入力なし → table — 観察光学系を組んで、指定した素材の仕上げ面を撮る(一行で使える入口)。 · 例: vision_layout_from_catalog
optical_budget 入力なし → table — 観察光学系の分解能バジェットを閉じた式で出す(撮る前に成立するかを見る)。 · 例: vision_layout_from_catalog
optical_camera 入力なし → table — 実在の諸元(焦点距離・画素ピッチ・解像度・作動距離)から理想ピンホールを組む。 · 例: poc_focus_stacking, poc_pocket_interreflection, studio_raytrace_scene, virtual_machine_vision, vision_layout_from_catalog
optscene_defect_mask table × table → image2d — 欠陥画素の真値マスク (H, W)。学習・評価のラベルはこれを使う。 · 例: studio_raytrace_scene, virtual_machine_vision
optscene_depth table × table → image2d — 深度の真値 (H, W) [mm]。光軸方向の z であって視点からの斜距離ではない。 · 例: virtual_machine_vision
optscene_instances table × table → table — 欠陥を個体ごとに返す(クラス・画素マスク・bounding box・面積)。 · 例: virtual_machine_vision
optscene_mask table × table → image2d — index 番のプリミティブが見えている画素の真値マスク (H, W) の bool。 · 例: virtual_machine_vision
random_defects table → table — 部品にランダムな欠陥を作る(傷・割れ・ピット・しみ・打痕・異物)。 · 例: virtual_machine_vision
reflect_rays points × points → points — 鏡面反射 d − 2(d·n)n。glassmirror.refract_rays の相方(反射側が無かった)。 · 例: studio_raytrace_scene
register_light 入力なし → text — 手元の照明をカタログに登録する(データシートの値をそのまま入れる)。 · 例: vision_layout_from_catalog
render_optscene table × table × table → rgbimage — 検査用に撮る: 実在の照明器具を物理単位で置き直接光を数える(真値つき)。 · 例: poc_nir_silicon_transmission, poc_pocket_interreflection, virtual_machine_vision
render_studio table × table → rgbimage — 見せる絵を描く: 環境光・多重反射・屈折と分散つき(測光の真値は無い)。 · 例: studio_raytrace_scene
scene_box 入力なし → table — 軸平行な直方体の部品(AABB)。half_size_mm は各軸の半サイズ [mm]。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, poc_pocket_interreflection, studio_raytrace_scene, vision_layout_from_catalog
scene_cylinder 入力なし → table — z 軸に平行な有限円筒(端面つき)。加工仕上げが実際に載る形。 · 例: virtual_machine_vision
scene_difference table × table → table — solid から cavity をくり抜く(CSG の差集合)。中空の部品を作る唯一の手段。 · 例: poc_pocket_interreflection, studio_raytrace_scene
scene_material 入力なし → table — 材質を 1 つ作る。kind は lambert / conductor / dielectric の 3 種。 · 例: poc_material_optical_library, poc_nir_silicon_transmission, poc_pocket_interreflection, studio_raytrace_scene, virtual_machine_vision, vision_layout_from_catalog
scene_plane 入力なし → table — z = z_mm の水平面(ステージ/コンベア)。half_size_mm で有限の板にできる。 · 例: poc_pocket_interreflection, virtual_machine_vision
scene_sphere 入力なし → table — 球の部品。center_mm は (x, y, z) [mm]、radius_mm > 0。 · 例: virtual_machine_vision
sensor_capture rgbimage → rgbimage — 放射輝度 → 実センサの出力(ショット雑音・読み出し雑音・飽和・量子化)。 · 例: vision_layout_from_catalog
sensor_catalog 入力なし → table — 実在センサの諸元表(Basler の EMVA1288 実測つき)。 · 例: vision_layout_from_catalog
sensor_diagonal_mm table → measurement — センサの対角 [mm]。レンズのイメージサークルと比べて覆えるかを見る。 · 例: vision_layout_from_catalog
sensor_spec 入力なし → table — イメージセンサの諸元。電子の数まで決める側の値だけを持つ。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, vision_layout_from_catalog
surface_defect table × image2d → table — 2-D の欠陥図を部品の面に貼る(defectgen の出力をそのまま食う)。 · 例: studio_raytrace_scene
surface_finish table → table — 部品の面に加工目(旋盤目・ヘアライン・ローレット・梨地・研削目)を刻む。 · 例: virtual_machine_vision
trace_rays table × points × points → table — 光線束を撃って最初の交点を返す(レンダラの素になる公開 op)。 · 例: anim3d_lens_aberrations, poc_chromatic_confocal, poc_lens_file_roundtrip, poc_lens_solves_afocal, poc_noncoaxial_optics, poc_pocket_interreflection, poc_telecentric_metrology, studio_raytrace_scene
vision_layout table × table × table → table — センサー・レンズ・照明・シーンを束ね、導出量を閉じた式で返す。 · 例: poc_nir_silicon_transmission, poc_optics_drawings, vision_layout_from_catalog
optics / sensorchar(19)
emva_bspline_regression signal × signal → table — 3 次 B-スプラインの最小二乗の当てはめと、その傾き(General 6.6 節、式 44〜49)。 · 例: poc_emva1288_in_camera_processing
emva_dark_current signal × signal → table — 暗電流(7.1 節): 暗画像の平均(と分散)を露光時間に直線で当てた傾き。 · 例: poc_emva1288_sensor
emva_defect_pixels image2d → table — 欠陥画素の特徴づけ(8.8 節): 対数ヒストグラム(式 73〜75)と積算ヒストグラム(式 77)、しきい値を越える画素の数。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_dynamic_range 入力なし → table — ダイナミックレンジ DR = μ_p.sat / μ_p.min(式 28)を倍・dB(20 log10)・bit(log2)で。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_exposure_for_snr signal → signal — ある SNR に要る露光 μ_p(SNR)= SNR²/(2η) (1 + √(1 + 4(σ²_d + σ²_q/K²)/SNR²))(式 25、式 21 の逆)。 · 例: poc_emva1288_sensor
emva_filter_distortion matrix → table — カメラの中の線形な前処理が EMVA 1288 Linear の数をどれだけ動かすか —— 閉形式(この族の導出、規格の式ではない)。 · 例: poc_emva1288_in_camera_processing
emva_highpass image2d → table — 照明のむらを除く高域フィルタ(8.1 節。旧版は付録 C.5 の式 84〜87)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_linearity_error signal × signal → table — 直線性の誤差 LE(式 58〜63)。y = μ_y − μ_y.dark を露光 H に相対偏差の重み 1/y²で当て(式 59〜61)、 飽和の 5〜95 % の点で相対偏差 δy[i] = 100 (y − (a0 + a1 H))/(a0 + a1 H) [%] の絶対値の平均を LE とする。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_noise_whiteness image2d × image2d → table — 時間雑音は画素間で独立か(Linear 1.2 節の前提 3)、続けて撮った画像の間で独立か(Linear・General の前提 3)。 · 例: poc_emva1288_in_camera_processing
emva_pair_statistics image2d × image2d → table — 同じ露光で撮った 2 枚から、平均・時間分散・空間分散を出す(式 16・18・32)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor, poc_tdi_linescan
emva_photon_exposure signal → signal — センサ面の放射照度から画素あたりの平均光子数 μ_p = A E t_exp/(hc/λ)(式 3)を、規格の便利な単位で(式 4)。 · 例: poc_emva1288_sensor
emva_photon_transfer signal × signal → table — photon transfer 曲線からシステムゲイン K と暗雑音 σ_d を出す(式 50・53・54)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_ptc_linearity_check signal × signal → table — photon transfer 曲線は直線か(6.6 節、式 51)—— Linear の K を使ってよいかの検査。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_quantum_efficiency signal × signal → table — 応答(特性曲線)の傾きから量子効率 η を出す(式 49・52)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_sensitivity_threshold 入力なし → table — 絶対感度しきい値(SNR = 1 になる露光、式 26・27)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_snr_curve signal → matrix — 線形モデルの SNR(式 21)と理想センサの SNR(式 23)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_spatial_nonuniformity volume × volume → table — DSNU と PRNU(式 33〜42・65〜67)。 · 例: poc_emva1288_in_camera_processing, poc_emva1288_sensor
emva_spectrogram image2d → table — 水平・垂直のスペクトログラム(8.6 節、式 70〜72)。 · 例: poc_emva1288_sensor
emva_total_snr signal → matrix — 空間の不均一を含めた総合 SNR(8.5 節、式 68・69)。 · 例: poc_emva1288_sensor
optics / sensorgeneral(3)
emva_general_nonuniformity volume × volume → table — DSNU と PRNU を入力(光子)の単位で(General 8 節、式 55・56・58・59)。 · 例: poc_emva1288_in_camera_processing
emva_general_relative_qe signal × signal → table — 基準波長に対する相対量子効率 η(λ)/η(λ_ref)(General 9.4 節、式 73・74)。 · 例: poc_emva1288_in_camera_processing
emva_general_sensitivity signal × signal × signal → table — 特性曲線・入力 SNR・絶対感度しきい値・DR・光子単位の暗雑音(General 2.1〜2.4・6.6〜6.8 節)。 · 例: poc_emva1288_in_camera_processing
optics / shape_from_polarization(8)
aolp_to_azimuth image2d → table — Turn the angle of linear polarisation into the two candidate azimuths of the surface normal (the pi ambiguity), diffuse and specular differing by 90 degrees. · 例: poc_shape_from_polarization
dolp_to_zenith image2d → table — Invert DoLP to the set of zenith angles that produce it — one for the diffuse model, two (straddling Brewster) for the specular model. · 例: poc_shape_from_polarization
sfp_disambiguate table → normalmap — Pick one normal per pixel from the candidate set of :func:sfp_normals, using a stated prior — convexity with Brewster-ridge segmentation, or a coarse depth / normal map. · 例: poc_shape_from_polarization
sfp_dolp_model image2d → image2d — Degree of linear polarisation of reflected (specular) or emitted (diffuse) light versus zenith angle, from the Fresnel equations. · 例: poc_shape_from_polarization
sfp_estimate_index image2d × image2d → table — Estimate the refractive index from DoLP observed at known zenith angles — a least-squares fit of the Fresnel curve, plus Brewster’s n = tan(theta_B) at the DoLP maximum for the specular model. · 例: poc_shape_from_polarization
sfp_height normalmap → image2d — Integrate a normal map to a height map with Frankot-Chellappa on a mirror-extended domain, so the periodic boundary of the FFT does not bend the result. · 例: poc_phase_measuring_deflectometry, poc_shape_from_polarization
sfp_normals polsweep → table — From a polariser sweep to the explicit set of candidate surface normals per pixel — 2 for the diffuse model, 4 for the specular model (2 zeniths x 2 azimuths). · 例: poc_shape_from_polarization
sfp_render normalmap → polsweep — Render the images a 4-direction polarisation camera records of a dielectric surface with the given normal map (the forward model of shape from polarisation). · 例: poc_shape_from_polarization
optics / spectral(15)
bandpass_spectrum 入力なし → pairs — 帯域通過フィルタの透過率(超 Gauss)。 · 例: poc_nir_silicon_transmission
blackbody_spectrum 入力なし → pairs — 黒体の分光放射輝度 L(λ, T)、単位 W m⁻² sr⁻¹ nm⁻¹(Planck の式、SI 2019 の定数)。 · 例: poc_nir_silicon_transmission, poc_simcal_thin_film, poc_thin_film_reflectometry
cie_illuminant_a 入力なし → pairs — CIE 標準イルミナント A の相対分光分布(CIE 15:2004 の定義式、560 nm で 100)。 · 例: poc_nir_silicon_transmission
energy_to_photons pairs → pairs — エネルギーの分光分布(W/nm)を光子数の分布(光子 s⁻¹ nm⁻¹)にする: λ/(hc) を掛ける。 · 例: poc_fiber_light_guide, poc_nir_silicon_transmission
hyperspectral_band_weights 入力なし → matrix — 反射率 → 帯域ごとの電子数の線形写像 W(B × L)。電子数 = W @ R(λ)(雑音前)。 · 例: poc_hyperspectral_foreign_matter
hyperspectral_capture pairs → table — 反射率スペクトル 1 本を、ハロゲン × 光学系 × 帯域 × InGaAs で撮ったときの帯域ごとの電子数と雑音。 · 例: poc_hyperspectral_foreign_matter
ingaas_photodiode_qe 入力なし → pairs — InGaAs フォトダイオードの外部量子効率(電子/光子)を、吸収層と窓層の直接遷移の吸収端から。 · 例: poc_hyperspectral_foreign_matter
kubelka_munk_reflectance pairs → pairs — 散乱する層の拡散反射率を Kubelka–Munk の閉形式で(吸収係数の曲線から)。 · 例: poc_hyperspectral_foreign_matter
led_spectrum 入力なし → pairs — LED の相対分光分布(ピークで 1)。 · 例: poc_chromatic_confocal, poc_fiber_light_guide, poc_nir_silicon_transmission
silicon_photodiode_qe 入力なし → pairs — Si フォトダイオードの外部量子効率(電子/光子)を Si の n,k から。 · 例: poc_fiber_light_guide, poc_nir_silicon_transmission, scintillator_sensor_tour
spectral_integral pairs → measurement — 曲線の波長積分 ∫ s(λ) dλ(台形則、λ は nm)。区間を与えればその中だけ(端は線形補間)。 · 例: poc_fiber_light_guide, poc_nir_silicon_transmission
spectral_integral_table pairs → table — Build a reusable cumulative trapezoid table for repeated band integrals. · 例: poc_nir_silicon_transmission
spectral_product pairs × pairs → pairs — 2 本の曲線の積を a の波長で(b は線形補間)。光源 × 透過率 × QE を 1 本ずつ掛ける。 · 例: poc_fiber_light_guide, poc_nir_silicon_transmission
spectral_reflectance_from_material 入力なし → pairs — 材料表の近赤外の吸収帯から、粒(破片)の拡散反射率スペクトルを作る(観察対象の側)。 · 例: poc_hyperspectral_foreign_matter
spectral_stats pairs → table — 曲線の要約: ピーク波長と値、重心波長、半値全幅(線形補間で交点を取る)、積分。 · 例: poc_nir_silicon_transmission
optics / spectrometer(5)
czerny_turner_design 入力なし → table — Czerny–Turner(平面格子 + 2 枚の凹面鏡)の 1 次設計: カメラの焦点距離・コマを消す角・波長の写像。 · 例: poc_spectrometer_illumination
grating_dispersion 入力なし → table — 格子の式 mλ = d(sin α + sin β) を解き、角分散・逆線分散・分解能・重なる次数を表にする。 · 例: poc_spectrometer_illumination
spectrometer_bandpass table → table — 分光器の帯域の幅(装置関数の FWHM)を、スリット・画素・回折から波長ごとに出す。 · 例: poc_spectrometer_illumination
spectrometer_slit_image table → table — 長いスリットの像を 3 次元で追い、smile(線の曲がり)と keystone(空間倍率の色ずれ)を出す。 · 例: poc_spectrometer_illumination
spectrometer_spectrum table × pairs → pairs — 入力スペクトル → 検出器の画素の読み(1 次の像に高次の像が重なる)。 · 例: poc_spectrometer_illumination
optics / surface(5)
corrosion_mask 入力なし → image2d — 錆・緑青・汚れのむら(0–1 のマスク)。 · 例: machined_metal_and_materials
metallic_flake_normals 入力なし → normalmap — メタリック塗装のフレーク(アルミ片)の法線場を作る。 · 例: machined_metal_and_materials
rough_transmission signal → pairs — すりガラスの透過を「直進成分」と「拡散成分」に分ける。 · 例: machined_metal_and_materials
weave_normals 入力なし → normalmap — 織り目の法線場(布・カーボンファイバー・金網)。直交する 2 周期の畝。 · 例: machined_metal_and_materials, poc_pixel_shift
wood_grain 入力なし → image2d — 木目(年輪)の色の変調と繊維の向きを作る。 · 例: machined_metal_and_materials
optics / telecentric(7)
chief_ray_angle table → table — 物高 field_mm の点から絞りの中心を通る実の主光線: 物体側の傾き(= テレセン度)と像の位置。 · 例: poc_optics_drawings, poc_simcal_telecentric, poc_telecentric_metrology
defocus_spot_vs_depth table → pairs — 物体を ±Δz 動かしたときの像面(固定)での RMS ぼけ半径(µm、光線束を傾きの格子で総当たりに追う)。 · 例: poc_telecentric_metrology
lens_equivalent_pinhole table → table — 主光線の幾何を render3d.render_mesh のピンホールカメラ(pose, K)に写す。 · 例: poc_telecentric_metrology
magnification_vs_depth table → pairs — 物体を光軸方向に動かしたときの倍率 m(Δz)(像面は固定、実の主光線の像の高さ / 物高)。 · 例: poc_telecentric_metrology
telecentric_lens 入力なし → table — 同じ単レンズで、絞りの位置だけを変えた 3 種の撮像レンズの処方(raytrace.lens_system の table)。 · 例: poc_optics_drawings, poc_telecentric_metrology
telecentricity_error table → table — 段差 step_height_mm の上と下の面に同じ寸法の物があるとき、像の上で寸法がどれだけ違って見えるか。 · 例: poc_telecentric_metrology
vignetting_vs_field table → pairs — 物高ごとに、像面まで届く光線束の立体角(傾きの面積)を軸上に対する割合で(ケラレ)。 · 例: poc_telecentric_metrology
optics / tem(11)
tem_amorphous_film 入力なし → image2d — 非晶質の膜の投影ポテンシャル [V Å] (Thon リングの標準試料、image2d)。 · 例: poc_tem_ctf_thon_rings
tem_ctf 入力なし → image2d — 2-D のコントラスト伝達関数(DC が中央の fftshift 順、形 shape)。 · 例: poc_tem_ctf_thon_rings
tem_ctf_correct image2d → image2d — CTF の補正(image2d)。method="phase_flip": F⁻¹[ F(I − ⟨I⟩) · sign(CTF) ] (位相反転、振幅はそのまま)/ "wiener": F⁻¹[ F(I − ⟨I⟩) · CTF / (CTF² + 1/snr) ]。 · 例: poc_tem_ctf_thon_rings
tem_ctf_estimate image2d → table — 顕微鏡写真のパワースペクトルの Thon リングから焦点外れ(と非点収差)を推定する(表)。 · 例: poc_tem_ctf_thon_rings
tem_ctf_profile 入力なし → table — 1-D の動径の CTF 曲線(包絡つき)と零点の表。 · 例: poc_tem_ctf_thon_rings
tem_image_weak_phase image2d → image2d — 投影ポテンシャル v_z [V Å] から TEM の明視野像(平均 1 の強度、image2d)。 · 例: poc_sem_tem_same_particle, poc_tem_ctf_thon_rings
tem_multislice image2d → table — 簡易のマルチスライス(Cowley–Moodie、Kirkland の形): 出射波を返す(表)。 · 例: poc_sem_tem_same_particle, poc_tem_ctf_thon_rings
tem_power_spectrum image2d → image2d — タイルに切った periodogram の平均(Welch、Hann 窓)を fftshift 順の 2-D で返す(image2d)。 · 例: poc_tem_ctf_thon_rings
tem_projected_potential 入力なし → image2d — 原子の座標 → z 方向に投影したポテンシャル v_z(x, y) [V Å] (周期境界、image2d)。 · 例: poc_sem_tem_same_particle, poc_tem_ctf_thon_rings
tem_scherzer 入力なし → table — Scherzer 焦点と点分解能(表)。 · 例: poc_tem_ctf_thon_rings
tem_wavelength 入力なし → table — 加速電圧 kv [kV] の電子の波長(相対論補正つき)と相互作用定数を表で返す。 · 例: poc_sem_tem_same_particle, poc_tem_ctf_thon_rings
optics / tolerancing(8)
tolerance_compensators 入力なし → table — Describe deterministic bounded re-optimisation variables in lensopt grammar. · 例: poc_lens_tolerancing
tolerance_criteria 入力なし → table — Validate performance criteria and their optional min/max limits. · 例: lensfile_tolerance_worst_mtf, optimized_lens_tolerance_sensitivity, poc_lens_tolerancing
tolerance_monte_carlo table × table × table → table — Run deterministic fail-closed Monte Carlo and report yield with Wilson 95 % bounds. · 例: lensfile_tolerance_worst_mtf, poc_lens_tolerancing
tolerance_report table → text — Create a compact assembly report as a dict or plain text. · 例: poc_lens_tolerancing
tolerance_sensitivity table × table × table → table — Central differences, distribution-aware linear RSS, and inverse tolerances. · 例: optimized_lens_tolerance_sensitivity, poc_lens_tolerancing
tolerance_table table → table — Build validated tolerance rows, one independent manufacturing variable per row. · 例: lensfile_tolerance_worst_mtf, optimized_lens_tolerance_sensitivity, poc_lens_tolerancing
tolerance_table_from_zmx table × text → table — Read tolerance NOTE lines written by :func:tolerance_table_zmx. · 例: poc_lens_tolerancing
tolerance_table_zmx table → text — Serialise rows as NOTE lines; public native TOL syntax was not assumed. · 例: poc_lens_tolerancing
cylinder_lens_caustic 入力なし → table — The paraxial focus and the real-ray caustic of a cylinder (a rod or a bottle) in a collimated beam -> dict. · 例: poc_water_transparent_media
fresnel_water_air 入力なし → table — Fresnel reflectance and transmittance of the air-water interface -> dict. · 例: poc_water_inspection_images, poc_water_transparent_media
ocean_height_field 入力なし → table — A Tessendorf (2001) FFT sea surface at time t -> dict (height, slopes, normal map, displacement). · 例: poc_water_inspection_images, poc_water_transparent_media
ocean_spectrum 入力なし → table — One-dimensional wave spectrum S(omega) of a wind sea, with its significant height and peak period -> dict. · 例: poc_water_transparent_media
phase_function_hg 入力なし → table — The Henyey-Greenstein phase function, normalised over the sphere -> dict. · 例: poc_water_transparent_media
refracted_view 入力なし → table — Where an underwater point appears to a camera above a flat or wavy surface (Fermat’s principle) -> dict. · 例: poc_water_transparent_media
scattering_phase_petzold 入力なし → table — The measured volume scattering function of natural waters (Petzold 1972) as a phase function -> dict. · 例: poc_water_transparent_media
snell_window 入力なし → table — Snell’s window seen from a point under the surface, and the apparent depth of a flat interface -> dict. · 例: poc_water_transparent_media
underwater_image rgbimage × image2d × image2d → table — The image of a scene recorded through water (revised Jaffe-McGlamery model) -> dict. · 例: poc_water_transparent_media
water_attenuation 入力なし → table — Absorption, scattering and diffuse attenuation of water, and the transmittance over depth -> dict. · 例: poc_geodetic_height_frames, poc_water_inspection_images, poc_water_transparent_media
optics / watervision(7)
bottle_image 入力なし → table — A side view of a cylindrical bottle, part filled with a liquid, ray-cast row by row -> dict. · 例: poc_water_inspection_images
caustic_floor_segmentation image2d → table — Segment the caustic lines of a floor irradiance image -> dict (mask, threshold, line period). · 例: poc_water_inspection_images
caustic_irradiance image2d → table — The irradiance a collimated light leaves on a flat floor below a wavy water surface -> dict. · 例: poc_water_inspection_images
fill_level_from_image image2d → table — The fill line measured from a side-view bottle image -> dict (level in mm above the bottom row, row, confidence). · 例: poc_water_inspection_images
underwater_inspection_image rgbimage × image2d → table — A hull or pipe inspection image: a lamp at the camera lights a wall through water -> dict (image, per-pixel SNR). · 例: poc_water_inspection_images
wet_dry_inspection_pair image2d × image2d → table — The same textured plate rendered dry and wet, and the contrast of its defect in each -> dict. · 例: poc_water_inspection_images
wet_surface_appearance 入力なし → table — The darkening and the gloss of a surface under a thin water film (Lekner & Dorf 1988; Twomey et al. 1986) -> dict. · 例: poc_water_inspection_images
optics / wave(9)
airy_pattern 入力なし → image2d — The diffraction-limited PSF of a circular pupil (Airy pattern). · 例: anim3d_lens_aberrations, optics_imaging, poc_pixel_shift, poc_veiling_glare
angular_spectrum_propagate cimage → cimage — Exact scalar free-space propagation of a complex field (angular spectrum). · 例: optics_imaging, poc_grating_interferometry
defocus_from_shift 入力なし → measurement — Defocus wavefront error (waves at the pupil edge) of an axial focus shift. · 例: optics_imaging, poc_nir_silicon_transmission
four_f_filter cimage × cimage → cimage — 4f 光学プロセッサ: 2 枚のレンズとフーリエ面のフィルタを通した出力。 · 例: optics_four_f_processor
fourier_plane_filter 入力なし → cimage — 4f 系のフーリエ面に置く複素透過関数 H(fx, fy)。 · 例: optics_four_f_processor
fraunhofer_pattern image2d → image2d — Far-field (Fraunhofer) diffraction intensity of an aperture. · 例: optics_imaging, poc_beats_fringes_and_screens
gaussian_beam 入力なし → table — Gaussian-beam propagation: spot size, wavefront curvature and Gouy phase. · 例: optics_imaging
pupil_blur image2d × image2d → image2d — Blur an image with the PSF of a pupil shape at one wavelength band. · 例: optics_imaging, poc_nir_silicon_transmission
pupil_psf image2d → image2d — Diffraction PSF of an arbitrary pupil shape with defocus (sums to 1). · 例: optics_imaging, poc_wavefront_aberration_limits
lightfield(17 ops / 5 categories)
lightfield / decode(3)
lf_from_mla image2d → lightfield — Decode a microlens-array raw frame into a (V, U, H, W) light field. · 例: lightfield_depth
lf_stats lightfield → table — Describe a light field: shape, angular centre, and the slope range it can carry. · 例: lightfield_depth
lf_to_mla lightfield → image2d — Re-interleave a light field into a microlens-array raw frame (exact inverse). · 例: lightfield_depth, plenoptic_decode_pipeline, poc_lightfield_depth
lightfield / depth(5)
lf_all_in_focus lightfield × image2d → image2d — Composite one everywhere-sharp image by refocusing each pixel at its own slope. · 例: lightfield_depth, poc_compound_eye
lf_depth_from_focus lightfield → image2d — Per-pixel slope from the sharpness peak across the refocus sweep. · 例: lightfield_depth, plenoptic_decode_pipeline, poc_compound_eye, poc_lightfield_depth, poc_plenoptic_camera
lf_disparity_to_depth image2d → depth — Slope (px per angular step) -> metric depth, the camera-array model. · 例: lightfield_depth, poc_lightfield_depth
lf_epi_slope lightfield → image2d — Per-pixel slope from the EPI line orientation (structure tensor, one pass). · 例: lightfield_depth, poc_lightfield_depth
lf_plenoptic_design 入力なし → table — Size a plenoptic camera: what angular/spatial resolution and depth range you buy. · 例: lightfield_depth, poc_compound_eye
lightfield / refocus(4)
lf_aperture_mask 入力なし → image2d — Angular weighting mask — the synthetic aperture you stop down or shape. · 例: lightfield_depth, poc_compound_eye
lf_focal_stack lightfield → images — Refocus at every slope in slopes — a focal stack from one exposure. · 例: lightfield_depth
lf_refocus lightfield → image2d — Shift-and-add refocus: the synthetic-aperture image focused at slope. · 例: lightfield_depth, plenoptic_decode_pipeline, poc_lightfield_depth, poc_plenoptic_camera
lf_synthetic_aperture lightfield → image2d — Refocus through a shaped aperture — and, with reduce="median", through occluders. · 例: lightfield_depth, poc_compound_eye
lightfield / synthesis(1)
lf_synthesize 入力なし → lightfield — Build a light field of textured layers at known slopes (the test bed). · 例: lightfield_depth, plenoptic_decode_pipeline, poc_compound_eye
lightfield / views(4)
lf_center_view lightfield → image2d — The centre viewpoint — the ordinary 2-D image a plenoptic camera also gives. · 例: lightfield_depth
lf_epi lightfield → image2d — Epipolar-plane image — the slice whose line slope is the disparity. · 例: lightfield_depth, poc_lightfield_depth
lf_subaperture lightfield → image2d — One sub-aperture view — the image seen through one point of the pupil. · 例: lightfield_depth, poc_compound_eye
lf_views lightfield → images — The whole angular grid as a plain list of 2-D images (row-major over (v, u)). · 例: lightfield_depth
photon(17 ops / 6 categories)
photon / counting(3)
photon_sample image2d → image2d — Poisson-sample an expected-photon image into an actual photon count image. · 例: photon_timeresolved, poc_colocalization_crosstalk, poc_search_sweep_width
photon_statistics image2d → table — Poisson statistics of a photon-count frame: is it really shot-noise limited? · 例: photon_timeresolved
photon_uncertainty image2d → image2d — Per-pixel Poisson error bar of a photon-count frame. · 例: photon_timeresolved, poc_thermal_radiometry
photon / dtof(3)
dtof_cube_depth histcube → depth — Depth map from a (H, W, T) photon histogram cube — the dToF inversion. · 例: photon_timeresolved, poc_dtof_ranging, poc_itof_multifreq, poc_tof_camera
dtof_cube_simulate depth → histcube — Synthesise the (H, W, T) photon histogram cube a SPAD array produces. · 例: photon_timeresolved, poc_dtof_ranging, poc_itof_multifreq, poc_tof_camera
dtof_depth counts → measurement — Distance from a photon arrival-time histogram: d = c*t/2. · 例: photon_timeresolved, poc_dtof_ranging
photon / lifetime(2)
lifetime_fit counts → table — Mono-exponential fluorescence lifetime from a TCSPC decay histogram. · 例: photon_timeresolved
lifetime_phasor counts → table — Phasor (frequency-domain) representation of a decay — the fit-free view. · 例: photon_timeresolved
photon / spad(3)
spad_deadtime_apply countrate → countrate — Distort a true photon rate by the detector’s dead time (counts lost). · 例: photon_timeresolved, poc_dtof_ranging
spad_deadtime_correct countrate → countrate — Recover the true photon rate from a dead-time-distorted measured rate. · 例: photon_timeresolved
tcspc_coates_correct counts → counts — Undo TCSPC pile-up exactly (Coates’s estimator) — the early-photon bias. · 例: photon_timeresolved, poc_dtof_ranging
photon / tcspc(4)
tcspc_background_subtract counts → counts — Remove the ambient-light / dark-count floor from an arrival-time histogram. · 例: photon_timeresolved, poc_dtof_ranging
tcspc_irf_convolve counts → counts — Blur an arrival-time histogram by the instrument response (timing jitter). · 例: photon_timeresolved
tcspc_simulate 入力なし → counts — Synthesise a single-pixel photon arrival-time histogram with a known answer. · 例: photon_timeresolved, poc_dtof_ranging
tcspc_stats counts → table — Descriptors of an arrival-time histogram: peak, centroid, width, background. · 例: photon_timeresolved
anscombe_inverse image2d → image2d — Invert :func:anscombe_transform — algebraically, or without bias. · 例: photon_timeresolved
anscombe_transform image2d → image2d — Anscombe variance-stabilising transform: Poisson counts -> ~unit-variance. · 例: photon_timeresolved
specular(20 ops / 5 categories)
specular / deflectometry(6)
deflectometry_phase_to_slope image2d × image2d → normalmap — 画面の絶対位相 2 枚(u 方向・v 方向の縞)→ 面の格子上の法線マップ (H, W, 3)。 · 例: poc_phase_measuring_deflectometry
deflectometry_render image2d → images — 高さ場 → カメラが撮る「画面の鏡像」(順方向のシミュレーション)。→ 画像のリスト(各 (H, W)、[0, 1])。 · 例: poc_phase_measuring_deflectometry
deflectometry_rig 入力なし → table — デフレクトメトリの装置(カメラ・画面・視野)の幾何を 1 つの表(dict)にする。 · 例: poc_phase_measuring_deflectometry
deflectometry_screen_pattern 入力なし → images — 画面に表示するパターン(画面の画素の格子)。→ 画像のリスト(各 (行, 列)、値 [0, 1])。 · 例: poc_phase_measuring_deflectometry
deflectometry_sensitivity 入力なし → table — 撮る前に、最小検出傾き・高さと傾きの不定性の係数・ピントのぼけを閉形式で出す。→ dict。 · 例: poc_phase_measuring_deflectometry
slope_to_curvature normalmap → image2d — 法線マップ (H, W, 3) → 曲率の地図 (H, W)。傾きを 1 回微分するだけで、高さへ積分しない。 · 例: poc_phase_measuring_deflectometry
specular / dichromatic(4)
illuminant_from_dichromatic_planes rgbimage × labels → vector — Recover the illuminant colour from two or more materials. → unit 3-vector. · 例: poc_white_balance, specular_photometric
specular_coefficient_map rgbimage → image2d — The scalar interface (specular) coefficient of the dichromatic model. → (H, W). · 例: specular_photometric
specular_diffuse_split rgbimage → rgbimage — Split a linear-RGB image into its diffuse (body) and specular (interface) parts. → (diffuse, specular), both (H, W, 3). · 例: specular_photometric
specular_free_transform rgbimage → rgbimage — Project out the illuminant direction: the part of the image a highlight cannot touch. → (H, W, 3). · 例: poc_leaf_disease_area, specular_photometric
specular / photometric(2)
photometric_residual images → image2d — How badly the Lambertian model fails, per pixel. → (H, W) RMS residual. · 例: specular_photometric
photometric_stereo_robust images → normalmap — Photometric stereo that survives shadows and highlights. → (normals, albedo, inliers). · 例: poc_shape_from_polarization, specular_photometric
specular / polarization(5)
polarization_dolp_map polsweep → image2d — Degree of linear polarisation, per pixel. → (H, W) in [0, 1]. · 例: example_polarization_metal, perf_polarization_analyze, poc_polarization_specular, polarization_camera_pipeline, specular_photometric
polarization_render image2d × image2d → polsweep — Forward model of a polariser sweep: turn a known split into the frames a polarisation camera would record. → (N, H, W). · 例: example_polarization_metal, poc_polarization_specular, specular_photometric
polarization_separate polsweep → image2d — Split a polariser sweep into its unpolarised and linearly polarised radiance. → (diffuse, specular), both (H, W). · 例: perf_polarization_analyze, poc_polarization_specular, specular_photometric
polarization_stokes polsweep → stokes — The scene-integrated Stokes vector of a polariser sweep. → (4,), ready for :func:optics.stokes_analyze. · 例: perf_polarization_analyze, poc_polarization_specular, polarization_camera_pipeline, specular_photometric
polarization_stokes_map polsweep → table — Per-pixel linear Stokes images with DoLP and AoLP maps from an analyser sweep (4 DoFP angles or any N >= 3, least squares). → dict of (H, W) maps. · 例: polarization_camera_pipeline
specular / reflectance(3)
brdf_blinn_phong normalmap → image2d — Blinn’s half-vector specular lobe. → (H, W) in [0, 1]. · 例: poc_shape_from_polarization, specular_photometric
brdf_microfacet normalmap → image2d — GGX / Trowbridge-Reitz microfacet specular BRDF. → (H, W), units 1/sr. · 例: poc_solder_fillet_aoi, specular_photometric
dichromatic_render normalmap → rgbimage — Forward dichromatic model: render a known highlight so a separation can be checked against it. → (H, W, 3). · 例: specular_photometric
motionmag(9 ops / 5 categories)
motionmag / decompose(2)
complex_steerable_decompose image2d → table — Complex oriented sub-band decomposition of one frame -> dict. · 例: motion_magnification
complex_steerable_reconstruct table → image2d — Invert :func:complex_steerable_decompose -> (H, W) real image. · 例: motion_magnification
motionmag / magnify(1)
motion_magnify video → table — Scale the in-band motion of a clip by alpha -> dict. · 例: motion_magnification, poc_motion_magnification, quaternion_monogenic
motionmag / measure(2)
displacement_series video → pairs — Whole-frame displacement waveform -> (T, 2) array of (dx, dy). · 例: motion_magnification, poc_motion_magnification, quaternion_monogenic
phase_displacement video → table — Sub-pixel displacement field from local phase -> dict. · 例: motion_magnification, poc_beam_modal_video, poc_motion_magnification, quaternion_monogenic
motionmag / synthesis(1)
synthesize_translation 入力なし → video — A clip whose displacement is known in closed form -> (T, H, W) video. · 例: motion_magnification, poc_motion_magnification, quaternion_monogenic
motionmag / temporal(3)
band_snr video → table — Measure what a clip’s temporal band contains, and what it costs -> dict. · 例: motion_magnification, poc_motion_magnification
temporal_band_power video → image2d — Per-pixel mean-square power inside a temporal band -> (H, W) map. · 例: motion_magnification, poc_motion_magnification
temporal_bandpass video → video — Ideal temporal band-pass of every pixel’s time series -> (T, H, W). · 例: motion_magnification, poc_beam_modal_video, poc_motion_magnification
quat(19 ops / 7 categories)
quat / algebra(3)
quat_conjugate_image qimage → qimage — Per-pixel quaternion conjugate (w, -x, -y, -z). → (H, W, 4). · 例: quaternion_monogenic
quat_image_multiply qimage × qimage → qimage — Hamilton product of a quaternion image with a quaternion or a field. → (H, W, 4). · 例: quaternion_monogenic
quat_normalize_image qimage → qimage — Per-pixel normalisation to unit modulus. → (H, W, 4). · 例: quaternion_monogenic
quat / color(2)
quat_color_filter qimage → qimage — Keep or remove one colour direction, exactly. → (H, W, 4). · 例: quaternion_monogenic
quat_color_rotate qimage → qimage — Rotate every pixel’s colour about an RGB axis: q x conj(q). → (H, W, 4). · 例: quaternion_monogenic
quat / convert(3)
quat_norm qimage → image2d — Per-pixel quaternion modulus |q| = sqrt(w^2+x^2+y^2+z^2). → (H, W). · 例: quaternion_monogenic
quaternion_to_rgb qimage → rgbimage — Vector part of a quaternion image, as linear RGB. → (H, W, 3). · 例: quaternion_monogenic
rgb_to_quaternion rgbimage → qimage — Embed a colour image as pure quaternions 0 + R i + G j + B k. → (H, W, 4). · 例: quaternion_monogenic
quat / fourier(2)
iqft2 qimage → qimage — Inverse quaternion Fourier transform of a centred spectrum. → (H, W, 4). · 例: quaternion_monogenic
qft2 qimage → qimage — Quaternion (hypercomplex) 2-D Fourier transform. → (H, W, 4) centred spectrum. · 例: quaternion_monogenic
quat / match(1)
quat_correlate qimage × qimage → qimage — Quaternion cross-correlation sum_s conj(a(s)) * b(s+t). → (H, W, 4). · 例: quaternion_monogenic
quat / motion(3)
riesz_displacement video → table — Sub-pixel displacement field from the monogenic phase. → dict. · 例: quaternion_monogenic
riesz_displacement_series video → pairs — Whole-frame displacement waveform from the monogenic phase. → (T, 2). · 例: quaternion_monogenic
riesz_motion_magnify video → table — Scale a clip’s in-band motion by alpha, by the Riesz route. → dict. · 例: quaternion_monogenic
quat / riesz(5)
monogenic_amplitude qimage → image2d — Local amplitude sqrt(f^2 + R1^2 + R2^2) of a monogenic signal. → (H, W). · 例: perf_monogenic_metrics, quaternion_monogenic
monogenic_orientation qimage → image2d — Local orientation atan2(R2, R1) of a monogenic signal. → (H, W). · 例: perf_monogenic_metrics, quaternion_monogenic
monogenic_phase qimage → image2d — Local phase atan2(|R|, f) of a monogenic signal. → (H, W). · 例: perf_monogenic_metrics, quaternion_monogenic
monogenic_signal image2d → qimage — The monogenic signal of an image at one scale. → (H, W, 4). · 例: perf_monogenic_metrics, quaternion_monogenic
riesz_transform image2d → qimage — The 2-D Riesz transform of an image, as a pure quaternion field. → (H, W, 4). · 例: quaternion_monogenic
rangedoppler(8 ops / 4 categories)
beamform_delay_sum beatcube → signal — Delay-and-sum (Bartlett) angle spectrum for one range-Doppler cell. · 例: fmcw_range_doppler, poc_multibeam_bathymetry
beamform_doa beatcube → table — Direction(s) of arrival for one range-Doppler cell, in degrees. · 例: fmcw_range_doppler, poc_multibeam_bathymetry
rangedoppler / design(1)
fmcw_design 入力なし → table — Bin widths, resolutions and aliasing limits of an FMCW configuration. · 例: fmcw_range_doppler
rangedoppler / process(4)
fmcw_range_profile beatcube → signal — Range-only profile: the fast-time FFT magnitude, averaged over the rest. · 例: fmcw_range_doppler
fmcw_window_apply beatcube → beatcube — Apply a periodic window along the range and/or Doppler axis of a beat cube. · 例: fmcw_range_doppler
range_doppler_map beatcube → image2d — The 2-D FFT of a beat cube -> a (n_doppler, n_range) magnitude map. · 例: fmcw_range_doppler
range_doppler_peaks image2d → table — Detections from a range-Doppler map: bin indices back to metres and m/s. · 例: fmcw_range_doppler
rangedoppler / simulate(1)
fmcw_beat_simulate 入力なし → beatcube — Synthesise the complex (A, C, S) beat cube for known targets. · 例: fmcw_range_doppler
acoustics(27 ops / 7 categories)
acoustics / bearing(4)
bearing_defect_frequencies 入力なし → table — The four characteristic rates of a rolling-element bearing, from geometry. · 例: acoustic_condition_monitoring, poc_bearing_diagnosis, poc_machine_condition_fusion
cepstrum signal → table — The spectrum of the log spectrum — periodic structure in frequency. · 例: acoustic_condition_monitoring, poc_web_roll_periodicity
envelope_spectrum signal → table — Band-pass, demodulate, transform — where a bearing defect actually shows. · 例: acoustic_condition_monitoring, poc_bearing_diagnosis
spectral_kurtosis signal → table — Which frequency band is impulsive — i.e. where to demodulate. · 例: acoustic_condition_monitoring, poc_bearing_diagnosis
acoustics / dual(3)
coherence signal × signal → table — Ordinary coherence: how much of y is linearly explained by x. · 例: acoustic_condition_monitoring, poc_zebra_stripes_fly_eye
gcc_delay signal × signal → measurement — 2 チャンネルの到達時間差を一般化相互相関(GCC)で測る。→ (delay, table)。 · 例: acoustic_condition_monitoring
transfer_function signal × signal → table — Estimate H(f) with x in and y out, with its coherence. · 例: acoustic_condition_monitoring, poc_leak_localization
acoustics / level(6)
apply_weighting signal → signal — Apply an A / C / Z frequency weighting to a signal, zero-phase. · 例: acoustic_condition_monitoring
equivalent_level signal → measurement — The energy-equivalent level of a record, in dB relative to ref. · 例: acoustic_condition_monitoring
octave_bands 入力なし → table — Fractional-octave band centres and edges, from the defining construction. · 例: acoustic_condition_monitoring, poc_rail_corrugation
octave_spectrum signal → table — Band levels in dB, summed over fractional-octave bands by Parseval. · 例: acoustic_condition_monitoring, poc_rail_corrugation
percentile_level signal → table — Statistical levels: L_N is the level exceeded N % of the time. · 例: acoustic_condition_monitoring
weighting_response signal → signal — The A / C / Z frequency-weighting curve, in dB, at the given frequencies. · 例: acoustic_condition_monitoring
acoustics / order(2)
angular_resample signal → table — Resample a time record onto the shaft-angle axis (computed order tracking). · 例: acoustic_condition_monitoring
order_spectrum signal → table — Amplitude against shaft order — the spectrum a run-up should be read in. · 例: acoustic_condition_monitoring
acoustics / synthesis(2)
synthesize_bearing_signal 入力なし → signal — A resonance amplitude-modulated at a known defect rate — the ground truth. · 例: acoustic_condition_monitoring, poc_bearing_diagnosis, poc_machine_condition_fusion
synthesize_speed_ramp 入力なし → table — A run-up: components locked to shaft order, optionally one fixed in Hz. · 例: acoustic_condition_monitoring
istft table → signal — Invert :func:stft by weighted overlap-add — exactly. · 例: acoustic_condition_monitoring
stft signal → table — Short-time Fourier transform that keeps the phase and can be inverted. · 例: acoustic_condition_monitoring
stft_cola_check 入力なし → table — Does this (window, hop) pair satisfy COLA, and how exactly? · 例: acoustic_condition_monitoring
acoustics / ultrasonic(7)
acoustic_interface_coefficients table → table — Pressure reflection/transmission at every interface of a stack, energy check R^2 + (Z1/Z2) T^2 = 1, and the phase-inversion flag Z2 < Z1 (table). · 例: poc_sam_hybrid_bonding_voids
acoustic_layer_stack 入力なし → table — Layered stack for normal-incidence pulse-echo: couplant, layers (material, thickness in m) from the top, and a half-space substrate (table).
acoustic_material_table 入力なし → table — Built-in acoustic material table: density, longitudinal speed, impedance Z = rhoc, attenuation alpha0f^n, with a source and a verified flag per entry (table). · 例: poc_sam_hybrid_bonding_voids
echo_phase_polarity table → table — Classify an interface echo by its phase relative to the front-surface echo: in phase (Z rises), inverted (Z drops) or quadrature (thin-layer, sign not meaningful) (table). · 例: poc_sam_hybrid_bonding_voids
pulse_echo_ascan table → table — RF A-scan of a layered stack for a broadband pulse at normal incidence: transfer-matrix stack response, water path and power-law attenuation (table). · 例: poc_sam_hybrid_bonding_voids
sam_cscan labels2d × table → table — Focused-transducer C-scan of a 2-D bond map: per-frequency Gaussian lateral PSF, time gate at an interface, amplitude, phase, in-phase (signed) and signed-peak images (table). · 例: poc_sam_hybrid_bonding_voids
sam_frequency_tradeoff table → table — Optimal SAM frequency for a void of given size at a buried interface: lateral fill (1 - 2^-(a/w)^2, w = k_reslambda_wF#) against two-way attenuation; closed form when all losses go as f^2 (table). · 例: poc_sam_hybrid_bonding_voids
interferometry(9 ops / 6 categories)
interferometry / chromatic(1)
chromatic_confocal_height sweep → measurement — Surface height from one confocal return spectrum — the wavelength is the height. · 例: coherence_scanning
interferometry / design(1)
csi_design 入力なし → table — The axial limits of a coherence-scanning setup, from the source spectrum. · 例: coherence_scanning, poc_interferometry_step
interferometry / envelope(1)
csi_envelope sweep → signal — Coherence envelope of a z-scan interferogram (analytic-signal magnitude). · 例: coherence_scanning
interferometry / locate(1)
csi_peak_position sweep → measurement — Surface height from one z-scan: the position of the coherence envelope peak. · 例: coherence_scanning
interferometry / simulate(3)
chromatic_confocal_simulate 入力なし → sweep — Synthesise the confocal return spectrum of a surface at a known height. · 例: coherence_scanning
csi_signal_simulate 入力なし → sweep — Synthesise the z-scan interferogram of one pixel over a known surface height. · 例: coherence_scanning
csi_stack_simulate depth → zscan — Synthesise the (Z, H, W) scan stack an interference microscope records. · 例: coherence_scanning, poc_interferometry_step
interferometry / surface(2)
csi_contrast_map zscan → image2d — Peak fringe modulation per pixel — the contrast (and validity) map. · 例: coherence_scanning, poc_interferometry_step
csi_height_map zscan → depth — Height map from a (Z, H, W) coherence-scanning stack — the CSI inversion. · 例: coherence_scanning, poc_focus_stacking, poc_interferometry_step
flyvision(22 ops / 12 categories)
flyvision / alias(2)
lattice_moire_peak signal × table → table — How sharp the strongest low-frequency component of a sampled signal is — the moire a lattice makes of a texture it cannot resolve. · 例: poc_moire_screen, poc_print_registration, poc_zebra_stripes_fly_eye
sampling_alias_distance 入力なし → table — The distance beyond which a periodic target aliases on a sampling lattice. · 例: poc_zebra_stripes_fly_eye
flyvision / direction(2)
fly_flow_from_directions matrix × table → matrix — Six directional responses per ommatidium in, one local flow vector out. · 例: poc_fly_optomotor_steering, poc_zebra_stripes_fly_eye
fly_t4t5_field matrix × table → matrix — Direction-selective response over the whole eye, in the six hexagonal directions. · 例: poc_fly_optomotor_steering, poc_zebra_stripes_fly_eye
flyvision / integrate(1)
fly_hs_readout matrix × table → measurement — Horizontal-system wide-field readout: opponent sum over the upper field. · 例: poc_fly_vision
flyvision / lamina(2)
fly_lamina_filter matrix → matrix — Photoreceptor adaptation + the lamina’s band-pass: intensities in, contrast out. · 例: poc_fly_optomotor_steering
fly_onoff_split matrix → matrix — Split a contrast movie into the ON and OFF channels the medulla carries. · 例: poc_fly_optomotor_steering
flyvision / lattice(2)
fly_hex_lattice 入力なし → table — Hexagonal ommatidial lattice: viewing directions of a compound eye. · 例: poc_fly_optomotor_steering, poc_fly_vision, poc_print_registration, poc_zebra_stripes_fly_eye
fly_vogel_lattice 入力なし → table — A Fibonacci (Vogel-spiral) compound eye: the same ommatidia count and the same mean spacing as the hexagonal eye, no lattice at all. · 例: poc_print_registration, poc_zebra_stripes_fly_eye
flyvision / looming(3)
fly_expansion_readout matrix × table → table — Time-to-contact from the flow over the whole eye — and the aperture effect’s 2x. · 例: poc_zebra_stripes_fly_eye
fly_lgmd_eta signal → signal — LGMD/eta looming response from an expanding subtended angle. · 例: poc_fly_vision
fly_tau_from_expansion signal → signal — Time-to-contact from optical expansion — the tau margin. · 例: poc_fly_vision, poc_zebra_stripes_fly_eye
flyvision / motion(1)
fly_emd_response signal × signal → signal — Hassenstein-Reichardt correlator between two adjacent ommatidial signals. · 例: poc_fly_vision, poc_zebra_stripes_fly_eye
flyvision / sample(2)
fly_hex_quantize signal → signal — 個眼信号を眼と同じやり方で量子化する: 対数圧縮してから個眼あたり n ビット(mode="onoff" は ON / OFF の 2 チャネル)。 · 例: poc_eye_to_brain
fly_hex_resample image2d × table → signal — Resample a pinhole image onto an ommatidial lattice (the eye’s view). · 例: poc_fly_optomotor_steering, poc_fly_vision
flyvision / selfmotion(3)
fly_egomotion_from_flow matrix × table → table — Least-squares rotation of the eye from its flow field — and how badly the eye’s own shape conditions the answer. · 例: poc_fly_optomotor_steering
fly_eye_merge table × table → table — Several lattices seen as one wide eye — the viewing directions of all of them. · 例: poc_fly_optomotor_steering
fly_matched_filter table → matrix — The flow field one unit of self-motion writes on the eye — the template a wide-field neuron is matched to. · 例: poc_fly_optomotor_steering
flyvision / stimulus(2)
fly_sky_1f 入力なし → image2d — Synthetic equirectangular sky panorama with a banded 1/f azimuthal texture. · 例: poc_fly_optomotor_steering, poc_fly_vision
fly_view_plane_texture table → signal — What each ommatidium sees of a periodic frontal surface — integrated analytically. · 例: poc_zebra_stripes_fly_eye
flyvision / trajectory(1)
traj_tau_dot points × signal → table — Distance, approach speed, tau and tau-dot along a measured 3-D trajectory. · 例: poc_zebra_stripes_fly_eye
flyvision / tuning(1)
fly_dsi signal → table — Direction-selectivity index and preferred direction from tuning responses. · 例: poc_fly_vision
spc(41 ops / 11 categories)
spc / anomaly_eval(7)
anomaly_image_auroc signal × signal → table — Image-level AUROC from one anomaly score per image and a good/defective label per image (table). · 例: anomaly_eval_metrics, poc_good_sample_variation_model, poc_patch_anomaly
anomaly_image_f1_max signal × signal → table — Best image-level F1 over all thresholds from one anomaly score per image and a good/defective label (table).
anomaly_operating_point signal × signal → table — Pick the highest threshold whose defect recall is guaranteed to be at least recall at confidence (table). · 例: poc_patch_anomaly
anomaly_pixel_auroc video × video → table — Pixel-level AUROC of anomaly score maps against ground-truth defect masks (table). · 例: anomaly_eval_metrics, poc_good_sample_variation_model, poc_patch_anomaly
anomaly_pixel_f1_max video × video → table — Best pixel-level F1 over all thresholds of anomaly score maps against defect masks (table). · 例: poc_patch_anomaly
anomaly_pro video × video → table — Per-region overlap (PRO) curve and its normalised area AUPRO up to fpr_max (table). · 例: anomaly_eval_metrics, poc_good_sample_variation_model, poc_patch_anomaly
anomaly_region_overlap video × video → table — Per-region overlap of a binary defect prediction with the ground-truth regions at one operating point (table). · 例: anomaly_eval_metrics, poc_good_sample_variation_model, poc_patch_anomaly
spc / anomaly_patch(5)
patch_features image2d → table — Classical patch features on a grid: one D-vector per patch (table). · 例: poc_patch_anomaly
patchbank_fit video → table — Build a memory bank of good patch features, thinned by greedy k-centre covering (table). · 例: poc_patch_anomaly
patchbank_score image2d × table → table — Score one image by the distance of each patch to its k nearest good patches in the bank (table). · 例: poc_patch_anomaly
patchdist_fit video → table — Learn a normal distribution of the patch feature at every grid position from good images (table). · 例: poc_patch_anomaly
patchdist_score image2d × table → table — Score one image against a per-position normal distribution: the Mahalanobis distance per patch (table).
spc / capability(1)
spc_capability signal → table — Process capability indices Cp and Cpk from measurements and spec limits. · 例: poc_spc
spc / change(2)
spc_cusum signal → table — Tabular CUSUM chart for individual measurements. · 例: poc_spc
spc_ewma signal → table — EWMA control chart for individual measurements (Roberts 1959). · 例: poc_spc
spc / chart(1)
spc_xbar_r matrix → table — Shewhart Xbar-R control chart from subgroup measurements. · 例: poc_spc
spc / msa(4)
msa_anova_table table → table — 交差 2 元配置(部品 x 測定者 x 繰り返し)の分散分析表(table)。 · 例: poc_measurement_system_analysis
msa_attribute_agreement table → table — 計数値(合否)検査の一致度(table)。 · 例: poc_measurement_system_analysis, poc_weed_rice_ratio
msa_bias_linearity table → table — 基準値に対する偏りと、その基準値依存(直線性)(table)。 · 例: poc_measurement_system_analysis
msa_gauge_rr table → table — 分散分析法によるゲージ R&R(table)。 · 例: poc_measurement_system_analysis
spc / mt(3)
spc_mt_distance matrix → table — Score observations against an MT-method unit space. · 例: poc_mt_hidden_fault, poc_spc
spc_mt_sn_ratio signal → table — Larger-the-better SN ratio of abnormal-sample distances, in decibels. · 例: poc_spc
spc_mt_unit_space matrix → table — Build an MT-method unit space from known-good observations. · 例: poc_mt_hidden_fault, poc_spc
spc / multivariate(1)
spc_hotelling_t2 matrix → table — Multivariate SPC by Hotelling’s T² with an F-distributed control limit. · 例: poc_spc
spc / pod(7)
pod_ahat_fit table → table — â vs a の回帰を、左右の打ち切りつき最尤法で当てる(table)。 · 例: poc_pod_lighting, poc_sam_hybrid_bonding_voids
pod_decision_tradeoff table × signal → table — 判定閾値 a_dec を振ったときの (a50, a90, a90/95, 誤検出確率) の取引表(table)。 · 例: poc_pod_lighting
pod_false_call signal → table — 無欠陥部位の応答 noise と判定閾値 a_dec から誤検出確率(table)。 · 例: poc_pod_lighting, poc_sam_hybrid_bonding_voids
pod_from_ahat table → table — â vs a の回帰と判定閾値 a_dec から POD(a) 曲線と a50 / a90 / a90/95(table)。 · 例: poc_pod_lighting, poc_sam_hybrid_bonding_voids
pod_hitmiss_fit table → table — 見つけた/見落としたの 2 値データから POD(a) を一般化線形モデルで当てる(table)。 · 例: poc_pod_lighting, poc_sem_wafer_defect_edge_bias, poc_si_wafer_pl_defect_visibility
proportion_interval 入力なし → table — 二項比率 k/n の点推定と信頼限界を返す(table)。 · 例: proportion_interval_audit
trials_for_all_success 入力なし → scalar — 全数成功で p >= p_min を片側 confidence で示す最小試行数(scalar)。 · 例: proportion_interval_audit
spc / uncertainty(5)
gum_expanded table → table — Welch-Satterthwaite の有効自由度と包含係数 k、拡張不確かさ U(table)。 · 例: poc_measurement_system_analysis
gum_monte_carlo table → table — GUM 補遺 1(JCGM 101)のモンテカルロ伝播(table)。 · 例: poc_measurement_system_analysis
gum_propagate table → table — 不確かさの伝播則(GUM 5.2、相関つき)(table)。 · 例: poc_measurement_system_analysis
gum_standard_uncertainty table → table — 不確かさの成分を分布の形から標準不確かさへ直す(table)。 · 例: poc_measurement_system_analysis
gum_validate table × table → table — モンテカルロの結果で伝播則の結果を検証する(table)。 · 例: poc_measurement_system_analysis
spc / variation(5)
varmodel_alignment video → table — Translation offset of every good sample against the typical position of the stack, and the margin to the tolerance (table). · 例: poc_good_sample_variation_model
varmodel_band_k 入力なし → table — Half-width k (in spread units) of the tolerance band for a declared two-sided per-pixel false-alarm rate (table).
varmodel_calibrate table × video → table — Re-derive the band half-width k from held-out good images, for data that break the normal assumption (table). · 例: poc_good_sample_variation_model
varmodel_fit video → table — Learn a per-pixel variation model (centre, spread, band half-width k) from a stack of good samples (table). · 例: poc_good_sample_variation_model, poc_patch_anomaly
varmodel_score image2d × table → table — Score one image against a varmodel_fit model: z map in sigmas, out-of-band map and a per-region explanation (table). · 例: poc_good_sample_variation_model, poc_patch_anomaly
graph(20 ops / 9 categories)
graph / core(2)
graph_kcore matrix → table — k-core (or weighted s-core) decomposition of a wiring matrix — every node’s core index. · 例: poc_worm_core_persists
graph_rich_club_curve matrix → table — Rich-club coefficient φ(k) for every k, against the degree-preserving null. · 例: poc_worm_core_persists
graph / degree(1)
graph_degree_summary matrix → table — Degrees, density and reciprocity of a directed wiring matrix. · 例: graphinv_three_phyla, poc_connectome_lr_symmetry
graph / flow(4)
graph_physarum_path matrix → table — Shortest path by the slime mould’s tube dynamics (Tero et al. 2010) on a weighted graph. · 例: poc_physarum_maze
graph_physarum_transport matrix × signal → table — L1 optimal transport (the Beckmann problem) on a weighted graph by the slime mould’s tube dynamics. · 例: poc_physarum_transport
physarum_route image2d → table — Minimum-cost route through a cost image found by the slime mould’s tube dynamics. · 例: poc_physarum_maze
physarum_transport_image image2d × image2d → table — Earth mover’s distance between two mass images by the slime mould’s tube dynamics. · 例: poc_physarum_transport
graph / motif(1)
graph_cycle3 matrix → table — Number of directed 3-cycles i -> j -> k -> i as tr(B^3) / 3. · 例: graphinv_three_phyla
graph / null(1)
graph_degree_preserving_null matrix → table — Compare 3-cycles and reciprocity against a degree-preserving null model. · 例: graphinv_three_phyla
graph / path(3)
car_dubins_path matrix → table — Shortest forward-only path of a car between two poses (Dubins 1957) by the six closed-form words. · 例: poc_car_parking, poc_driving_school
car_hybrid_astar image2d × matrix → table — Hybrid A* (Dolgov, Thrun, Montemerlo and Diebel 2010): a car’s path through an occupancy grid. · 例: poc_car_parking, poc_driving_school
car_reeds_shepp_path matrix → table — Shortest path of a car that may reverse, between two poses (Reeds and Shepp 1990), by closed form. · 例: poc_car_parking
graph / population(3)
graph_core_persistence table → table — Which nodes sit in the innermost core of every individual — K wirings on one node order. · 例: poc_worm_core_persists
graph_edge_consensus table → table — How many individuals share each connection — K wiring matrices on one node order. · 例: poc_connectome_across_decades, poc_connectome_across_worms
graph_strength_growth matrix × matrix → table — Where the new synapses went — one wiring matrix a (earlier) against b (later). · 例: poc_worm_synapses_vs_neurites
graph / symmetry(1)
graph_swap_symmetry matrix → table — How much of the wiring survives exchanging node pairs (a left/right test). · 例: graphinv_three_phyla, poc_connectome_lr_symmetry
graph / tree(4)
tree_from_swc text → table — Parse an SWC text (or a path to a .swc file) into a checked tree table. · 例: poc_skeleton_run_length_vs_voi, poc_swc_tree_truth, poc_worm_neurites_grow, poc_worm_synapses_vs_neurites
tree_morphometry table → table — Counts and lengths of a tree table (from :func:tree_from_swc). · 例: poc_swc_tree_truth, poc_worm_neurites_grow, poc_worm_synapses_vs_neurites
tree_run_length table × signal → table — Expected run length (ERL) of a skeleton under a candidate labelling of its nodes. · 例: poc_skeleton_run_length_vs_voi
tree_sholl table → table — Sholl analysis: segments crossing spheres (3-D) or circles (a projection) around the root. · 例: poc_swc_tree_truth, poc_worm_neurites_grow
text(3 ops / 3 categories)
text / detect(1)
text_candidates matrix → table — SWT の連結成分を文字候補に絞る(幅のばらつき・縦横比・大きさ)。 · 例: poc_text_region_truth
text / layout(1)
text_lines table → table — 文字候補の矩形を行にまとめる(縦に重なり、横に近く、ストローク幅が近いものを繋ぐ)。 · 例: poc_text_region_truth
text / stroke(1)
swt_map image2d → table — Stroke Width Transform —— 各画素に、その画素を含むストロークの幅を書く。 · 例: poc_text_region_truth
residue(5 ops / 3 categories)
residue / image(2)
crt_displacement image2d × image2d → table — Local displacement from band phases at several wavelengths, unwrapped by CRT -> dict. · 例: poc_residue_crt
harmonic_rotation image2d × image2d → table — Absolute in-plane rotation of image relative to reference over 360 degrees -> dict. · 例: poc_residue_crt
residue / robust(2)
residue_crt matrix × signal → table — Weighted robust CRT over real periods -> dict. · 例: poc_itof_multifreq, poc_residue_crt
residue_fault_locate matrix × signal → table — Which band is corrupted? (redundant residue number system) -> dict. · 例: poc_residue_crt
residue / theorem(1)
residue_integer_crt signal × signal → table — Exact integer CRT (Garner’s mixed-radix algorithm) -> dict. · 例: poc_residue_crt
vx(10 ops / 5 categories)
vx / filter(1)
vx_nonlinear_filter image2d × matrix → image2d — 非線形フィルタ(3.38 節): マスクの真の画素の値の中央値 / 最小(収縮)/ 最大(膨張)(REQ-0325・0330)。 · 例: gallery_openvx_spec_values
vx / geometry(3)
vx_remap image2d × matrix × matrix → image2d — remap(3.44 節): 出力 (x, y) = 入力 (map_x[y, x], map_y[y, x])(REQ-0392)。表は出力の形、座標は入力の画素の中心が整数。 · 例: gallery_openvx_spec_values
vx_warp_affine image2d × matrix → image2d — アフィン変換(3.56 節)。逆写像: 出力の画素 (x, y) は入力の (x0, y0) から取る(REQ-0498): x0 = M[0,0]·x + M[0,1]·y + M[0,2]、y0 = M[1,0]·x + M[1,1]·y + M[1,2]。 · 例: gallery_openvx_spec_values
vx_warp_perspective image2d × matrix → image2d — 射影変換(3.57 節)。逆写像: x0 = M[0]·(x, y, 1)、y0 = M[1]·(x, y, 1)、z0 = M[2]·(x, y, 1)、 出力 (x, y) = 入力 (x0/z0, y0/z0)(REQ-0508)。z0 = 0 の画素は外として埋める。 · 例: gallery_openvx_spec_values
vx / gradient(3)
vx_magnitude image2d × image2d → image2d — 勾配の大きさ(3.31 節)。REQ-0270 の概念定義をそのまま: z = uint16(sqrt(double(uint32(x·x) + uint32(y·y))) + 0.5)、 mag = z > 32767 ? 32767 : z。入力・出力とも S16。 · 例: gallery_openvx_spec_values
vx_phase image2d × image2d → image2d — 勾配の位相(3.41 節): ϕ = atan2(gy, gx) を 0 ≤ ϕ < 2π に移し、0〜255 に写す(REQ-0364)。出力 U8。 · 例: gallery_openvx_spec_values
vx_sobel3x3 image2d → table — Sobel 3×3(3.46 節): G_x = [[−1,0,1],[−2,0,2],[−1,0,1]]、G_y = [[−1,−2,−1],[0,0,0],[1,2,1]] (REQ-0415)を相関として当てる。 · 例: gallery_openvx_spec_values
vx / pixel(2)
vx_histogram image2d → pairs — ヒストグラム(3.26 節): 画素値 I は i = (I − offset) × numBins / range の升に入る(offset ≤ I < offset + range、REQ-0230)。 範囲外の画素は数えない。整数の割り算(切り捨て)で升を決める。 · 例: gallery_openvx_spec_values
vx_table_lookup image2d × signal → image2d — 表引き(3.47 節): 出力 = table[画素値 + offset] (REQ-0421)。U8 と S16 を受ける(REQ-0422)。出力の dtype は表の dtype。 · 例: gallery_openvx_spec_values
vx / suppress(1)
vx_nonmax_suppression image2d → image2d — 非極大の抑制(3.39 節)。画素 (x, y) は、窓の中で自分より前(上の行と、同じ行の左)の隣には ≥、後ろの隣には > の ときだけ残る(REQ-0337)。平らな頂上が 1 画素だけ残るのはこの非対称のため。mask の非ゼロ画素は比べず、そのまま残す (他の画素の比較にも使わない、REQ-0336)。抑制した画素は U8 なら 0、S16 なら INT16_MIN(REQ-0335)。窓の外にはみ出す隣は比べない。 · 例: gallery_openvx_spec_values
drive(717 ops / 53 categories)
名前は運転だが、中身は物理シミュレーションとロボットの PoC の台帳: 運転(コース・交通・判断・CARLA / CommonRoad)に加え、触覚(tac)・peg-in-hole(peg)・研磨(polish)・研削(grind)・切削(cutting)・粉体(granular / scoop)・粉末 X 線回折(pxrd)・球技(ball / puck)などがカテゴリとして同居している。カテゴリ名で引くこと。
drive / agv(13)
adg_build table → table — 行動依存グラフ(Hönig, Kiesel, Tinka, Durham, Ayanian 2019)。 · 例: poc_agv_fleet
adg_execute table → table — ADG に従って実行する。各時刻、各車両は確率 delay_prob で止まる(滑り・人・荷役の遅れ)。 · 例: poc_agv_fleet
grid_distances image2d → image2d — goal までの格子上の最短手数(BFS、障害物は通れない)。届かないマスは inf。 · 例: gallery_drive_city_terrain, poc_braid_homotopy_classes
mapf_cbs image2d → table — Conflict-Based Search(Sharon, Stern, Felner, Sturtevant 2015)。総コストが最適な衝突なしの計画。 · 例: poc_agv_fleet, poc_braid_homotopy_classes
mapf_ecbs image2d → table — 上段を焦点探索にした CBS(ECBS の上段と同じ考え方、Barer ら 2014)。総コストが 最適の w 倍以内。 · 例: poc_agv_fleet
mapf_joint_astar image2d → table — 全台の位置を 1 つの状態にした A*。小さな問題専用の最適解(CBS の門の真値)。 · 例: poc_agv_fleet
mapf_prioritized image2d → table — 優先度付き計画: 順に 1 台ずつ、先に決まった車両の通り道(予約表)を避けて計画する。 · 例: poc_agv_fleet, poc_braid_homotopy_classes
naive_execute table → table — 比較用の素朴な実行: 計画のマスの列だけを使い、次のマスが空いていれば進む(順番の約束は無い)。 · 例: poc_agv_fleet
plan_conflicts table → table — 衝突の一覧: 同じ時刻に同じマス(vertex)・すれ違い(edge)・追従(follow)。 · 例: poc_agv_fleet, poc_braid_homotopy_classes
plan_cost table → scalar — 総コスト(sum of costs): 各車両が最後に目的地へ着いた時刻の和(着いた後に動かないこと)。 · 例: gallery_drive_city_terrain, poc_braid_homotopy_classes
vda5050_check table → table — VDA 5050 の order の構造の規則を検査する(公式 JSON スキーマとは別の、自前の第 2 実装)。 · 例: poc_agv_fleet
vda5050_order table → table — 1 台の計画(マスの列)を VDA 5050 の order(dict)にする。待ちは除き、マスの中心をノードにする。 · 例: poc_agv_fleet
warehouse_grid 入力なし → any — 棚の列と通路でできた倉庫の格子(True = 走れる)。 · 例: poc_agv_fleet
drive / ball(32)
aic_from_rss 入力なし → scalar — 最小二乗の残差平方和から赤池情報量規準 AIC = n ln(RSS/n) + 2k(ガウス雑音、分散は最尤で推定、定数項は落とす)。 同じデータに当てた模型どうしの差だけに意味がある(絶対値は尺度と n に依る)。n ≤ k・RSS ≤ 0・非有限は ValueError (RSS = 0 は AIC = −∞ で、模型選択の問いが立たない)。 · 例: poc_video_physics_consistency
apex_sequence 入力なし → signal — 落として跳ねる列の頂点高さ h_k = e^{2k} h₀(k = 0..n)。 · 例: poc_ball_bounce
ball_params 入力なし → table — 球の表。既定は卓球の球(ITTF: 直径 40 mm、2.7 g、薄殻)。 · 例: gallery_drive_ballistics, gallery_drive_kendama_racket, poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_rally_loop, poc_table_tennis_spin, poc_video_physics_consistency
ballistic_vs_thrust signal × points × table → table — 同じ軌跡に「重力 + 抗力」(:func:drag_fit)と「重力 + 抗力 + 一定の比推力」(:func:thrust_fit)を当て、 AIC(:func:aic_from_rss)の差 ΔAIC = AIC_弾道 − AIC_推力 を返す。 返り値 {"ballistic", "thrust"}(2 つの当てはめ)に "aic_ballistic", "aic_thrust", "delta_aic", "thrust_norm" を添える。 判定は返さない(:mod:imgforensics と同じ流儀): 読み方は 節約則で、推力の模型はパラメータが 3 つ多いので雑音だけでも RSS を僅かに下げる —— 罰則 2Δk を超えて勝たない限り、単純な方(弾道)を採る。雑音だけの ΔAIC は −2Δk を下限に χ²(Δk) 近似の 幅で散り(中央値は −2Δk + 1 ほど。C_d = 0 の壁に当たる当てはめが混じるので正確には混合分布)、推力側は弾道側の解から出発するので ΔAIC ≥ −2Δk が保たれる。「決定的」の慣用は 10(偽陽性 1 % を大きく下回る)だが、閾値は同梱せず呼び手が決める。 推力側の RSS が離散化の床 rss_floor の 10 倍を下回る(雑音の無い、または格子より細かく解けた軌跡)ときは ValueError —— AIC が比べるのは雑音で、丸め屑ではない(雑音ゼロの真値に既定の dt で ΔAIC = +144 が出た、2026-10-23)。 · 例: poc_video_physics_consistency
bounce table × table → table — 剛体球が平面に当たる瞬間の速度・角速度の更新(クーロン摩擦、Cross 2002 / Garwin 1969 の 2 領域)。 · 例: gallery_drive_ballistics, poc_ball_bounce, poc_table_tennis_bounce
bounce_total_time 入力なし → scalar — 高さ h₀ から落として止まるまでの総時間 = √(2h₀/g)·(1 + e)/(1 − e)(等比級数の閉形式、e < 1)。 · 例: poc_ball_bounce
contact_angular_momentum table → signal — 接触点まわりの角運動量 L_c = I ω + m (p − p_c) × v = I ω + m r (n × v)。跳ねの前後で不変(定理)。 · 例: poc_ball_bounce
cup_catch_check 入力なし → table — 玉が皿(中心・軸・半径)に入る幾何の判定: 玉の中心が皿の軸から (cup_radius − ball_radius) 以内、皿の面から玉の半径の 1.5 倍以内の 高さ(0 ≤ height ≤ 1.5 r)、速さ ≤ v_rel_max。{"caught", "lateral", "height", "speed"}。皿が玉より小さければ ValueError。 · 例: gallery_drive_ballistics
drag_coefficient_sphere signal → signal — 滑らかな球の抗力係数の経験式(Morrison 2013、Re ≲ 1e6): 24/Re + 2.6(Re/5)/(1 + (Re/5)^1.52) + 0.411(Re/263000)^−7.94/(1 + (Re/263000)^−8) + 0.25(Re/1e6)/(1 + Re/1e6)。卓球の球(Re ≈ 1〜5 × 10⁴)で ≈ 0.4〜0.5。 · 例: gallery_drive_ballistics
drag_fit signal × points × table → table — 軌跡 (t_i, p_i) に「重力 + 抗力」の模型を (p₀, v₀, C_d) の 7 パラメータ(平面入力なら 5)で当てる(:func:thrust_fit の 推力なし版。:func:flight_fit は C_d を既知として 6 パラメータ、こちらは C_d も同定する)。返り値の鍵と入口の検査 (dt ≤ 標本間隔、iters ≥ 1、真空は拒否)は :func:thrust_fit と同じで、thrust は零ベクトル。真値の軌跡なら C_d は 1e-4 で戻る(門)。 · 例: poc_video_physics_consistency
fit_aero signal × points × table → table — 軌跡から 空力係数も 同定する: (p₀, v₀, C_d, C_L) の 8 パラメータを Gauss–Newton(ω は既知、C_L は定数として当てる)。 抗力は速さの 2 乗、マグヌスは ω × v なので、直線的でない軌跡(スピンあり・十分な長さ)でないと C_L は決まりにくい (rms と一緒に cond = ヤコビアンの条件数を返すので、それで判る)。返り値 {"p0", "v0", "cd", "cl", "rms", "cond", "iters"}。 真値の軌跡(C_L 定数で作った)なら 1e-6 で戻る(門)。 · 例: gallery_drive_ballistics
-
fit_bounce table → table — 跳ねの前後の (v, ω) から (e, μ) を閉形式で戻す(同定)。e = −v_n’/v_n。接線力積 J_t = m(v_t’ − v_t) の大きさと J_n = m(v_n’ − v_n) の比が μ —— 滑ったままの領域なら等号、途中で転がりに移った(grip)領域なら 下界(μ ≥ |
J_t |
/J_n)。 どちらかは、跳ねた後の接触点の滑り速度が 0 か(grip)で判る。返り値 {"e", "mu", "mu_is_lower_bound", "regime", "J_n", "J_t"}。 · 例: gallery_drive_ballistics |
fit_parabola signal × points → table — 観測 (t_i, p_i) に p = p₀ + v₀ t − ½ g t² ẑ を最小二乗で当てる(線形、閉形式)。{"p0", "v0", "g", "rms"}。 真空の真値なら 1e-9 で戻る(門)。 · 例: poc_ball_bounce, poc_video_physics_consistency
fit_spin signal × points × table → table — 曲がり方から回転を読む: 軌跡 (t_i, p_i)(跳ねを含まない区間)に、抗力 + マグヌスの運動方程式を (p₀, v₀, ω) の 9 パラメータで Gauss–Newton で当てる(空力係数は bp の値 = 既知とする)。 · 例: poc_table_tennis_spin
flight_fit signal × points × table → table — 観測 (t_i, p_i)(跳ねを含まない区間)に、抗力 + マグヌス(ω 既知)の運動方程式を 初期状態 (p₀, v₀) の 6 パラメータ で Gauss–Newton(有限差分のヤコビアン)で当てる。放物線の当てはめは抗力・マグヌスを g と v₀ に吸うので予測が曲がる —— こちらは 先駆者の「空力モデルつきの追跡」に当たる。返り値 {"p0", "v0", "rms", "iters", "t0"}(p₀・v₀ は t = t[0] での状態)。 真値の軌跡を入れると 1e-9 で戻る(門)。 · 例: poc_ball_bounce, poc_table_tennis_bounce
flight_ode table → table — 重力 + 抗力 + マグヌス(+ スピン減衰)の RK4。返り値 {"t" (N,), "p" (N, 3), "v" (N, 3), "omega" (N, 3)} (t = 0, dt, …, ≤ t_end)。真空(rho = 0)なら :func:flight_vacuum と一致(門)。 · 例: gallery_drive_ballistics, gallery_drive_kendama_racket, poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin, poc_video_physics_consistency
-
flight_simulate table × table → table — 飛翔 + 卓上(z = table_z の平面、table_xy = (xmin, xmax, ymin, ymax) の範囲内だけ)での跳ねを、接触時刻を 2 分法で 区間内に求めて繋ぐ。返り値 {"t", "p", "v", "omega" (N, 3), "contacts": [{"t", "p", "v_in", "v_out", "omega_in", "omega_out", "regime"}], "rest_t"}。球は半径 r なので中心が table_z + r に達した所が接触。跳ねは無限に続く(Zeno)ので、 接触時の |
v_n |
< v_rest になったら卓上に置く(以後 z は固定、水平は摩擦無しで続く。rest_t = その時刻、無ければ None)。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_rally_loop, poc_table_tennis_spin |
flight_state_at table → table — 状態 (p₀, v₀, ω) を T 秒だけ運動方程式で進める(T < 0 なら 戻す: RK4 の刻みを負にする)。{"p", "v", "omega"}。 · 例: poc_ball_bounce, poc_table_tennis_bounce
flight_vacuum signal → points — 真空の放物線(閉形式): p(t) = p₀ + v₀ t − ½ g t² ẑ。t はスカラか (N,)、返り値 (3,) か (N, 3)。 · 例: gallery_drive_kendama_racket, poc_ball_bounce
-
impact_params 入力なし → table — 衝突の表: 法線の反発係数 e ∈ [0, 1] (数、または |
v_n |
→ e の関数: 衝突速度で下がる実測に合わせる)、クーロン摩擦係数 μ ≥ 0。 · 例: gallery_drive_ballistics, gallery_drive_kendama_racket, poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_rally_loop, poc_table_tennis_spin |
incline_slip_angle 入力なし → scalar — 静止摩擦係数 μ の斜面で滑り出す角度 θ = atan μ [rad]。 · 例: gallery_drive_ballistics
-
magnus_lift_coefficient signal → signal — スピン比 S = rω/ |
v |
から揚力係数 C_L = 1 / (2 + 1/S)(S → 0 で 0、S → ∞ で 0.5。球の文献で広く使われる経験式)。 · 例: gallery_drive_ballistics |
mu_from_stop_distance 入力なし → scalar — 停止距離から μ = v₀² / (2 g d)。 · 例: gallery_drive_ballistics
pendulum_period 入力なし → scalar — 微小振幅の振り子の周期 2π√(L/g)。 · 例: gallery_drive_ballistics
restitution_from_apexes signal → table — 頂点高さの列(≥ 2 個、正)から e を推定: log h_k は k に線形で傾き 2 log e → 最小二乗。{"e", "h0", "residual"}。 · 例: poc_ball_bounce
restitution_from_intervals signal → table — 接触時刻の列(≥ 3 個、増加)から e を推定: 間隔 T_{k+1} = e T_k → log T_k の傾きが log e。{"e", "residual"}。 · 例: poc_ball_bounce
-
roll_slide_state table → table — 平面上の球が転がっているか滑っているか: 接触点の滑り速度 s = v_t − r(ω × n)。{"slip_speed", "rolling"} ( |
s |
< 1e-9 なら転がり)。 · 例: gallery_drive_ballistics |
slide_stop_distance 入力なし → scalar — 水平面を初速 v₀ で滑る物の停止距離 = v₀² / (2μg)(μ > 0)。 · 例: gallery_drive_ballistics, poc_air_hockey_intercept
tether_simulate 入力なし → table — 伸びないひも(長さ L)で手元 handle に繋がれた質点の運動(けん玉の玉)。 · 例: poc_kendama
thrust_fit signal × points × table → table — 軌跡 (t_i, p_i) に「重力 + 抗力 + 一定の比推力」の模型を (p₀, v₀, C_d, a_T) の 10 パラメータ で Levenberg–Marquardt (有限差分のヤコビアン、C_d ≥ 0 は射影)で当てる。p は (N, 3) の世界座標か、単眼の側面視で起こした (N, 2) の平面 (x, z)(そのときは y 成分を観測も未知数も持たないので 7 パラメータ、n = 2 × 点数)。bp は :func:ball_params の表(質量・前面積・空気密度・g。 radius は前面積を与えるためだけに使う: 車なら A = πr² が前面積になる r を渡す)。 返り値 {"p0", "v0", "cd", "thrust" (3,), "thrust_norm", "rms", "rss", "rss_floor", "n", "k", "dims", "cond", "iters", "t0"} (n は残差の個数、k は動かしたパラメータ数。:func:aic_from_rss の入力。rss_floor = RK4 格子を標本時刻へ線形補間する 誤差 ≤ a dt² / 8 が残差に残しうる平方和の上限)。dt は標本間隔以下(超えると模型が標本の間で区分線形になる)、iters ≥ 1、 真空(rho = 0)では C_d が同定できないので、どれも ValueError。 推力つきの真値の軌跡なら a_T は 1e-5 m/s² で戻り、推力 0 で作った軌跡なら thrust_norm は 1e-5 以下になる(門)。 · 例: poc_video_physics_consistency
thrust_ode table → table — 重力 + 抗力 + 一定の比推力(質量あたりの推力 [m/s²]、世界座標で向きも大きさも一定)の RK4。スピンは持たない(ω = 0)。 返り値 {"t" (N,), "p" (N, 3), "v" (N, 3)}(t = 0, dt, …, ≤ t_end)。thrust が零ベクトルなら :func:flight_ode(ω = 0)と 1e-12 で一致し、真空(rho = 0)なら閉形式 p₀ + v₀ t + ½ (a_T − g ẑ) t² と 1e-9 で一致する(門)。 「ほぼロケット」の映像を扱う最小の模型で、推力が機体に固定されて向きを変える場合は近似になる(短い区間ほど良い)。 t_end / dt は有限の数、bp は :func:ball_params の表(鍵の欠落・非有限・質量 0 は ValueError)、歩数 t_end / dt は 5×10⁶ まで(秒でなく ms で渡した t をここで止める)。 · 例: poc_video_physics_consistency
-
time_stretch_from_gravity 入力なし → table — 当てはめた重力加速度から、映像の時間の引き延ばし倍率を閉形式で逆算する。時刻を k 倍に引き延ばした(スローモーションや フレームレートの付け替えをした)映像では、軌跡は同じ形のまま g が g/k² に見えるので、k = √(g_ref / g_fit)。 返り値 {"k", "g_fit", "g_ref", "log_k"}(log_k = ln k は改変なしで 0、符号が速い/遅いを表す: :func:imgforensics.evidence_quantile に渡すなら |
log_k |
を「大きいほど強い」証拠として使う)。 g_fit ≤ 0 や非有限、g_ref ≤ 0 は ValueError(重力が上を向く・無い軌跡に倍率は定義できない)。 · 例: poc_video_physics_consistency |
drive / balltrack(10)
ball_detect image2d → table — 画像から球の候補を出す: しきい値 → 連結成分 → 明るさ重みのサブピクセル重心・等価半径・充填率。 · 例: poc_ball_bounce, poc_driving_longitudinal, poc_driving_school, poc_driving_weather, poc_kendama, poc_table_tennis_bounce, poc_table_tennis_spin
ball_track table → table — コマごとの候補列 detections[k] = ball_detect(frame_k) を 1 本の軌跡に繋ぐ(等速予測に最も近い候補、max_jump px 以内)。 · 例: poc_ball_bounce, poc_table_tennis_spin
bounce_detect signal × signal → table — 高さの列 z(t) から接触の候補を出す: 下向きの速度が上向きに変わる局所最小(前後 min_gap 標本で最小)。 返り値 {"index" (M,), "t" (M,), "z" (M,)}。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
kalman_ca points → table — 等加速度モデルの Kalman フィルタ(位置の観測 (N, D)、状態 = 位置・速度・加速度 × D)。 · 例: poc_air_hockey_intercept, poc_ball_bounce
marker_direction 入力なし → signal — 像の中の模様の位置 (col, row) → 球面上の向き(カメラ系の単位ベクトル、前半球: x 右、y 上、z 手前)。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
reproject points × matrix × matrix → matrix — 世界点 (N, 3) → (N, 2) の (col, row)(深度 ≤ 0 は NaN)。 · 例: poc_ball_bounce, poc_kendama, poc_table_tennis_bounce, poc_table_tennis_spin
spin_from_marker_sequence any → table — コマの列の模様の向き dirs[k]((M_k, 3) の単位ベクトル、見つからないコマは None)から角速度を読む(2 段)。 · 例: poc_table_tennis_bounce, poc_table_tennis_spin
spin_from_markers points × points → table — 模様の向きの組(前 (M, 3)、後 (M, 3)、単位ベクトル)から角速度ベクトル ω [rad/s] を出す。 · 例: poc_ball_bounce
track_triangulate table × any × any → table — カメラごとの軌跡(:func:ball_track の返り値)を三角測量して 3-D の軌跡に: {"frame", "p" (N, 3), "reproj_rms" (N,)} (2 視点以上で見えたコマだけ)。 · 例: poc_ball_bounce, poc_table_tennis_spin
triangulate_dlt matrix × any × any → table — 1 点の多視点三角測量(線形 DLT、SVD): uvs (C, 2)、poses (C, 4, 4)、Ks (C, 3, 3)。 返り値 {"p" (3,), "reproj_rms" px, "n_views"}。NaN の視点は飛ばす。2 視点未満なら ValueError。 · 例: poc_ball_bounce, poc_kendama
drive / ballworld(9)
add_ball table × table → scalar — 球を姿勢 (p, R) で世界に足す。面ごとのラベル(球 23 / 模様 24)はそのまま。返り値 = objects の索引。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
ball_mesh 入力なし → table — 球のメッシュ(原点 = 中心)と模様。markers = [(dir, angle_deg), …] で複数の模様(None なら marker_dir 1 つ)。 返り値 {"V", "F", "color" (M,3), "label" (M,) (23 or 24), "radius", "markers": [単位ベクトル …]}。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
ball_set_pose table × matrix → any — 球 i の姿勢を (p, R) にする(頂点だけ書き換える)。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
ball_truth table × table → table — 球 i の真値の投影: 中心の (col, row)、像の半径 [px] (≈ f·r/深度)、模様の中心の (col, row)(裏側なら NaN)。 · 例: poc_ball_bounce
camera_rig table → table — 台を囲むカメラ(n = 2: 両端の斜め上、n = 4: 4 隅)。返り値 [{"pose", "K", "eye", "width", "height"}, …]、全部が台の中心を見る。 · 例: poc_ball_bounce, poc_table_tennis_spin
icosphere 入力なし → any — 正 20 面体を subdiv 回 4 分割して球面へ射影したメッシュ (V, F)(外向き)。 · 例: gallery_mesh_seg_sun_gains
rotation_from_omega 入力なし → matrix — 角速度 ω [rad/s] で dt 秒回す回転行列(Rodrigues)。R_{k+1} = R(ω dt) R_k。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
table_params 入力なし → table — 卓球台の表(既定 = ITTF 規格)。 · 例: gallery_drive_kendama_racket, poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_rally_loop, poc_table_tennis_spin
table_world table → table — 台(天板 + 白線 + ネット)と床の世界。原点 = 天板の中心、x = 長手(±1.37)、y = 幅(±0.7625)、z 上。天板の上面 z = height。 · 例: poc_ball_bounce, poc_table_tennis_bounce, poc_table_tennis_spin
drive / braidpath(12)
braid_artin_images signal × scalar → table — 組紐の Artin 表現: 自由群 F_n の生成元 x₁..xₙ の像(自由簡約した語)。
braid_class_representatives any → table — 複数の計画(どの計画器の出力でもよい)をホモトピー類に分け、類ごとに費用の最も小さい計画を代表に選ぶ。 · 例: poc_braid_homotopy_classes
braid_equivalent signal × signal × scalar → table — 2 つの組紐語が同じ組紐か(関係式だけで移り合うか)。 · 例: poc_braid_homotopy_classes
braid_from_trajectories any → table — 平面の軌道群(と動かない障害物の点)から組紐語を作る(交差の符号列)。 · 例: poc_braid_homotopy_classes
braid_reduce signal × scalar → signal — 組紐語を Dehornoy の取っ手簡約で簡約する。空の語が返る ⇔ 自明な組紐(同じ類)。 · 例: poc_braid_homotopy_classes
dynnikov_act any × signal → table — 任意の Dynnikov 座標 (a; b)(整数でも実数でもよい —— 式は区分線形)に組紐の語を作用させる。 · 例: poc_braid_homotopy_classes
dynnikov_coordinates signal × scalar → table — 標準の曲線図 E = (0, …, 0; −1, …, −1) に組紐を作用させた Dynnikov 座標(整数、溢れない)。 · 例: poc_braid_homotopy_classes
grid_hole_points image2d → matrix — 格子の穴(外周に触れない、塞がったマスの連結成分)ごとに代表の点を 1 つ: 重心に最も近い塞がったマスの中心 [x, y]。 · 例: poc_braid_homotopy_classes
grid_paths_to_xy any → any — 格子の経路(各台の (row, col) の列)を (K, T, 2) の [x, y] = [col, −row] にする(短い経路は最後の点で詰める)。 · 例: poc_braid_homotopy_classes
homotopy_class_compare any × any → table — 始点と終点が同じ 2 つの経路族(複数エージェントの計画)が、同じホモトピー類か。 · 例: poc_braid_homotopy_classes
homotopy_shortest_paths image2d × any × any → table — 格子(True = 走れる、4 近傍)の上で、start から goal へのホモトピー類の違う最短経路を短い順に k 本。 · 例: poc_braid_homotopy_classes
pairwise_winding any → matrix — 紐の対ごとの相対の巻き数 [回転] (相対ベクトルの偏角の総変化 / 2π)。対称行列、対角は 0。 · 例: poc_braid_homotopy_classes
drive / carla(25)
camera_pose_to_carla matrix → any — render3d の world → camera 4×4 → CARLA のカメラの [x, y, z, roll, pitch, yaw]。:func:carla_camera_pose の逆。 · 例: poc_carla_bridge
carla_camera_pose any → matrix — CARLA のカメラの世界姿勢 → render3d / driveworld の world → camera 4×4(:func:driveworld.camera_pose と同じ型)。 CARLA のカメラは局所 +x を見て右 = +y・上 = +z、render3d は −z を見て右 = +x・上 = +y。 · 例: poc_carla_bridge
carla_depth_decode rgb → image2d — CARLA の深度カメラの生の像(R 下位・G・B 上位の 24 bit)→ 像面からの距離 [m]。d = code / (2²⁴ − 1) · 1000。 · 例: poc_carla_bridge
carla_depth_encode image2d → rgb — 像面からの距離 [m] → CARLA の生の深度像(uint8 (H,W,3))。inf と 1000 m 超は最大値、負と NaN は ValueError。 · 例: poc_carla_bridge
carla_intrinsics 入力なし → matrix — CARLA のカメラの K(水平画角 fov、f = W / (2 tan(fov/2))、主点 (W/2, H/2))。 · 例: gallery_drive_carla_bridge
carla_label_map image2d → image2d — CARLA の意味分割(タグの uint8 像)→ Fullseye のラベル像(int、−1 = 空・未ラベル)。未知のタグは ValueError。 · 例: poc_carla_bridge
carla_label_unmap image2d → image2d — Fullseye のラベル像 → CARLA のタグ像(uint8、代表タグ)。:func:carla_label_map の逆(ラベル側で恒等)。 · 例: poc_carla_bridge
carla_labels 入力なし → table — CARLA 0.9.16 の意味タグの表: [{"tag", "carla", "label", "fullseye"}, …](29 行、タグ順)。 · 例: poc_carla_bridge
carla_pose_to_world any → matrix — CARLA の [x, y, z, roll, pitch, yaw] → Fullseye の 4×4(world ← object、右手系: y と yaw の符号が反転)。 R_f = M R_c M、t_f = M t_c(M = diag(1, −1, 1))。物体の局所系は x 前・y 左・z 上(driveworld の車と同じ)。 · 例: gallery_drive_carla_bridge
-
carla_rotation_angles matrix → any — 3×3(CARLA の式)→ (roll, pitch, yaw)[度]。pitch = asin(R₂₀)、yaw = atan2(R₁₀, R₀₀)、roll = atan2(−R₂₁, R₂₂)。 |
pitch |
= 90° の縮退は ValueError。 · 例: poc_carla_bridge |
carla_rotation_matrix 入力なし → matrix — CARLA / UE4 の (roll, pitch, yaw)[度] → 3×3(carla.Transform.get_matrix() の回転部と同じ式、左手系のまま)。 · 例: gallery_drive_carla_bridge
carla_scene_check table → table — 場面記録の鍵・形・型を検査して要約を返す(通らなければ ValueError)。 返り値 = {"width", "height", "has_lead", "has_instance", "meta"(dict), "n_tags"}。 · 例: gallery_drive_carla_bridge
carla_scene_load any → table — 場面記録(npz)を読む → dict(meta は dict に、depth [m] を復号して足す)。無い・壊れている物は ValueError。 · 例: poc_carla_bridge
carla_scene_render table → table — 場面記録を自前の世界で撮り直す(同じ K・同じ取り付け高さ・同じ画角)→ driveworld.world_camera の像 (color / label / depth …)+ pose + K。CARLA の像と並べて見るための片割れ。 · 例: gallery_drive_carla_bridge
carla_scene_save table → any — 場面記録を npz に書く(検査してから)。返り値 = 書いたパス。 · 例: poc_carla_bridge
carla_scene_synthetic 入力なし → table — 自前の世界(直線路 + 先行車)を CARLA の規約の場面記録にする(撮影記録と同じ鍵・型)。 · 例: gallery_drive_carla_bridge, poc_carla_bridge
carla_scene_world table → table — 場面記録 → 自前の世界(直線路 + 記録の姿勢に置いた先行車)。カメラと先行車の相対配置を保ったまま、 カメラを (20, 0) で +x 向きに正規化する(CARLA の地図の座標は使わない)。先行車なしなら道だけ。 · 例: gallery_drive_carla_bridge
carla_transform_matrix any → matrix — CARLA の [x, y, z, roll, pitch, yaw] → 4×4(world ← object、CARLA の座標のまま)= Transform.get_matrix()。 · 例: poc_carla_bridge
carla_xy_yaw any → any — CARLA の姿勢 → carpath / driveworld の (x, y, yaw)(y と yaw の符号を反転、yaw はラジアン)。 · 例: gallery_drive_carla_bridge
intrinsics_to_carla matrix → matrix — :func:intrinsics_to_fullseye の逆(主点を 0.5 戻す)。 · 例: gallery_drive_carla_bridge
intrinsics_to_fullseye matrix → matrix — CARLA の K(画素の角が整数、主点 W/2)→ Fullseye / render3d の K(画素の中心が整数、主点 (W−1)/2)。主点を 0.5 ずらすだけ。 · 例: gallery_drive_carla_bridge, poc_carla_bridge
lead_from_depth image2d × image2d × matrix → table — ルールベースの先行車の距離(両方の世界に同じ式): depth_median = 画像の中央の帯(幅 band × W)にある車の画素の深度の中央値(後ろ面は像面に平行なので一定)、 row_distance = 車の最下行から平らな路面の式(driveenv.road_row_distance)で出した水平距離、 bbox = (top, bottom, left, right)、n_pixels、found。車の画素が無ければ found = False(距離は inf)。 · 例: gallery_drive_carla_bridge
lead_truth_depth table → scalar — 記録の姿勢から閉形式: 先行車の後ろ面の中心までの像面距離 [m]。後ろ面 = 中心 − 半長 × 先行車の前方向、 像面距離 = (後ろ面 − カメラ)·カメラの前方向。先行車なしは inf。 · 例: gallery_drive_carla_bridge, poc_carla_bridge
scene_pair_table table → table — 1 つの場面記録を CARLA の像と自前の世界の像の両方で採点して並べる。 返り値 = {"truth", "carla": {...lead_from_depth}, "fullseye": {...}, "carla_error", "fullseye_error", "width", "height", "view"} (誤差 = depth_median − 真値、真値は :func:lead_truth_depth)。 · 例: poc_carla_bridge
world_pose_to_carla matrix → any — Fullseye の 4×4(world ← object)→ CARLA の [x, y, z, roll, pitch, yaw]。:func:carla_pose_to_world の逆。 · 例: gallery_drive_carla_bridge
drive / commonroad(10)
cr_checker_result any → table — WSL の公式チェッカー(tools/check_solution_json.py)が書いた JSON を読む。 · 例: poc_driving_commonroad
cr_collision table × table → table — 障害物との衝突(矩形同士の SAT、time_step ごと)と道路境界(車両 4 角が lanelet 多角形の和集合に入るか)。 · 例: poc_driving_commonroad
cr_drive table → table — 自分の運転手(縦 IDM + pure pursuit)を CommonRoad の planning problem で走らせる。 · 例: poc_driving_commonroad
cr_drive_sweep table → table — ルールベースの gap acceptance: 運転手の母数の格子を穏やかな順に試し、最初に全部の門を通った走行 を返す。 · 例: poc_driving_commonroad
cr_feasible table → table — 運動学の実現可能性(採点器 solution_feasible と同じ考え方の第 2 実装)。 · 例: poc_driving_commonroad
cr_read any → table — CommonRoad 2020a XML(文字列 or パス)を読む。 · 例: poc_driving_commonroad
cr_route table → table — successor の BFS(hop 数最小)で lanelet の列を出し、中心線を継いで step m で再標本化する。 · 例: poc_driving_commonroad
cr_solution_xml table × table → any — 公式 solution XML(commonroad-io CommonRoadSolutionWriter と同じ形)を文字列で返す。 · 例: poc_driving_commonroad
cr_synthetic 入力なし → any — テスト・CI 用の最小 CommonRoad 2020a XML を文字列で返す。 · 例: poc_driving_commonroad
ks_step any × any → any — 運動学単線(KS)モデルを区分一定入力 u = (δ̇, a) で dt だけ RK4 で進める。参照点 = 後軸中心。 · 例: poc_driving_commonroad
drive / course(13)
course_contains table × points → signal — 点が 走れる領域(要素の多角形、配置なら要素の和)の内側かを偶奇規則で判定した bool 配列。 · 例: poc_driving_school, poc_world_terrain
course_crank 入力なし → table — 屈折コース(クランク、Z 形): 進入 → 左 90° → B → 右 90° → 退出。 · 例: poc_driving_school, poc_driving_town
course_crossing 入力なし → table — 踏切: 幅 w の道路(x 軸沿い)を線路が直角に横切る。踏切面(軌間 + レール外側 2 つ = 2.6 m)の両側に approach の直線。rails (2, 2, 2) はレール 2 本の線分(x = L/2 ± gauge/2、道路幅いっぱい)、 crossing_zone = (x0, x1) 踏切面、stop_lines (1, 2, 2) は踏切面の stop_setback 手前の左車線。 多角形は矩形(レールはメタデータ)。規格: 軌間 1.1、レール外側 0.75 → params["regulation"]。 面積 = w·(2(rail_outer + gauge/2) + 2·approach)。 · 例: poc_driving_school
course_intersection 入力なし → table — 幹線コースの十字交差点: 幅 w の道路 2 本が原点で直交、各腕の長さ arm(交差部の縁から)、 凹頂点 4 つを半径 corner_radius で削る。 · 例: poc_driving_longitudinal, poc_driving_school, poc_driving_weather
course_layout table × table → table — 複数の要素を剛体運動 (x, y, yaw) で配置して 1 つの dict にする。 · 例: poc_driving_longitudinal, poc_driving_school, poc_driving_weather, poc_ttc_rss, poc_world_terrain
course_loop 入力なし → table — 周回コース(長円形): 直線 2 本 + 半円 2 つを原点中心に置いた {"elements": [...], "placements": [...]} を返す(そのまま :func:course_layout に渡す)。反時計回りに、南の直線(東行き, y = −R)→ 東の半円 → 北の直線 (西行き, y = +R)→ 西の半円。直線は両端を overlap だけ半円に食い込ませる(3-D 化で継ぎ目に縁石が 立たないための重なり; 面積の和はその分だけ二重に数える)。規格(普通免許): 80 m 以上の直線走行部分、幅 8 m 以上。 · 例: poc_driving_school, poc_ttc_rss, poc_world_terrain
course_loop_bend 入力なし → table — 周回コースの端の半円(左へ 180° 回る): 進入 (0, 0, 0) → 中心 (0, R) の周りを回って退出 (0, 2R, π)。 多角形は外側の弧(半径 R + w/2)と内側の弧(R − w/2)で囲む環の半分。面積 = π R w(閉形式)、弧を 折線にした分だけ小さく、arc_pts を増やすと収束する。規格(周回コース): 幅 8 m 以上、おおむね長円形。 · 例: poc_driving_school, poc_driving_town
course_occupancy table → image2d — コース(要素または配置)を占有格子 (occ bool [row = y, col = x], extent) に落とす。 · 例: poc_driving_school
course_parallel_parking 入力なし → table — 縦列駐車: 幅 road_width の道路(x ∈ [0, 2·approach + bay_length])の路側に、長さ car_length + extra (既定 7.5 m)× 幅 car_width の車室。法令に数値なし(通達の別添は図) —— 既定は慣行値。 · 例: poc_driving_school
course_road 入力なし → table — 連絡路(幹線の一部): 幅 w・長さ L の直線。課題コースの出口を周回コースへ戻す・幹線を延ばすための要素。 規格(幹線コース): 幅 7 m 以上、周回コースと連絡すること。面積 = w·L。 · 例: gallery_drive_city_terrain, gallery_drive_japan_roads, gallery_drive_world_objects, poc_driving_longitudinal, poc_driving_school, poc_driving_town, poc_driving_weather
course_s_curve 入力なし → table — 曲線コース(S 字): 直線 E → 左弧(中心角 2π·f)→ 右弧(同じ)→ 直線 E。 · 例: poc_driving_school, poc_driving_town
course_slope 入力なし → table — 坂道コース: 緩坂で高さ height まで上り、頂上平坦部 top、急坂で下りる矩形の道(x 軸沿い)。 · 例: poc_driving_longitudinal, poc_driving_school
course_turnaround 入力なし → table — 方向変換コース(T 字): 幅 w の道路(x ∈ [0, 2E + bay_width])の側方中央に車庫(道路沿いの幅 bay_width、 奥行 depth)、車庫口の両側に出入口部 E ずつ。 · 例: poc_driving_school
drive / crossing(17)
conflict_zone_intervals any → table — 衝突の領域(交差点の中で 2 つの進路が重なる所)を車が占める時刻 [t_in, t_out] (閉形式、配列可)。 · 例: poc_driving_crossing
crossing_clear_time 入力なし → table — 停止線から発進して、車の後端が踏切の向こうの端 + beyond を越えるまでの時間(閉形式)。 · 例: poc_driving_crossing
crossing_gate_state signal → table — 踏切の状態機械(警報機 + 遮断機)を時刻 t(配列)で評価する。 · 例: poc_driving_crossing
crossing_lamp_signal 入力なし → any — 2 灯の赤色せん光灯の明るさ(0..1)を時刻 t(配列)で返す: 形 (n, 2)、列 0 = 左、列 1 = 右。 · 例: poc_driving_crossing
crossing_stop_check table → table — 踏切の通り方を採点する(33 条 1・2 項、50 条 2 項、教則 6-1-1(1)(3)(4)(5))。 · 例: poc_driving_crossing, poc_driving_town
crossing_timing_check 入力なし → table — 踏切の 3 つの時刻(警報開始・遮断動作の終了・列車の到達)を解釈基準の標準と最小に照らす(配列 = 列車ごと)。 · 例: poc_driving_crossing
crosswalk_overtake_check table → table — 横断歩道等とその手前 zone m の中で、前方を進行している車の前に出たか(38 条 3 項)。 · 例: poc_driving_crossing
crosswalk_stopped_vehicle_check table → table — 横断歩道等(又はその手前の直前)で止まっている車の側方を通って前に出る前に一時停止したか(38 条 2 項)。 · 例: poc_driving_crossing
exit_room_check any → table — 踏切(横断歩道・交差点も同じ)の向こう側に、自分が止まれる余地があるか(50 条 2 項)。配列可。 · 例: poc_driving_crossing
lamp_pair_phase signal × signal → table — 2 つの明るさの時系列(2 灯の画素)から、共通の点滅の周波数と位相差を相互スペクトルで推定する。 · 例: poc_driving_crossing
legal_stop_intervals any → any — 駐停車禁止の区間(併せた (k, 2))を避けて、車体 [rear, rear + car_length] が丸ごと入る 後端の位置 の区間 (m, 2)。 · 例: poc_driving_crossing
no_stopping_zones table → table — 道に沿った施設から、44 条 1 項の駐停車禁止の区間を作る。 · 例: poc_driving_crossing
obstruction_decel any → table — 交差道路の車(領域まで dist、速さ speed)が、領域に t_free より前に入らないために要る一定の減速度(閉形式、配列可)。 · 例: poc_driving_crossing
parking_position_check 入力なし → table — 車体 [rear, front] が駐停車禁止の区間に重なるか。zones_result = no_stopping_zones の返り値。 · 例: poc_driving_crossing
priority_rule table → table — 交通整理の行われていない交差点で、自分(own)が交差道路(cross)の車に譲るか(36 条 1〜3 項)。 · 例: poc_driving_crossing
sight_triangle_distance 入力なし → scalar — 角の建物があるとき、線路の上でどこまで見えるか(見通しの三角形)。 · 例: poc_driving_crossing
track_sight_distance any → any — 渡り切る前に列車が着かないために、線路の上で見えていなければならない距離 = v_train · (clear_time + margin)。 · 例: poc_driving_crossing
drive / cutting(16)
cut_depth_from_side rgb × table × scalar × scalar → table — 正面像の食材の上面(彩度の縁、列ごと副画素 → 中央値)と刃先の直線から切り込み深さ(mm)。 · 例: poc_food_cutting_measure
cut_force_atkins scalar × scalar → table — 柔らかい固体の切断力の閉形式(尺度 = 靱性 R × 切っている幅 w、R と w の 1 次)。返り値 dict(N)。 · 例: poc_food_cutting_measure
cut_force_csv_load any × any → table — 有限要素の切断シミュレーションが書いた刃の力の CSV を読む(1 行目に Rcforc、2 行目が列名、列 = 時刻と力の 3 成分が交互)。 · 例: poc_food_cutting_measure
cut_force_fit signal × signal × scalar → table — 切断中の力の列 F(N)と切っている幅 w_eff(mm)から靱性 R(J/m²)を原点を通る最小二乗で出す。 · 例: poc_food_cutting_measure
cut_surface_roughness rgb × scalar × scalar × signal → table — 切った後の端面のシルエット(行ごと副画素)を断面とみなし、最小二乗の直線を引いて ISO 4287 のパラメータ(µm)を出す。 · 例: poc_food_cutting_measure
cutting_edge_render table × any × scalar × scalar × scalar → rgb — 刃先方向の像(RGB)。暗い背景・食材(右側が本体)・刃(片刃、平らな面が切片側)。 · 例: poc_food_cutting_measure
cutting_episode_synth 入力なし → table — 閉形式の運動で切断の 1 回分を作る(準静的、剛塑性の食材 + 縦だけ柔らかい手首)。返り値 dict(列は numpy 配列)。 · 例: poc_food_cutting_measure, poc_knife_tactile_toughness
cutting_face_render table × scalar × scalar × scalar → rgb — 正面像(RGB、(H, W, 3) float)。壁 → まな板 → 刃 → 食材(手前)の順に、被覆率の解析描画で重ねる。 · 例: poc_food_cutting_measure
cutting_scene any → table — 合成の場面の諸元(dict)。kind="face" = 正面像(カメラは刃の面の法線方向)、"edge" = 刃先方向の像。 · 例: poc_food_cutting_measure, poc_knife_tactile_toughness
cutting_wrist_mjcf table × scalar → any — 柔らかい手首の刃の場面(MJCF 文字列、mujoco 不要)。刃は縦のスライド関節(ばね k・減衰)1 本、食材と板は見た目だけ。 · 例: poc_food_cutting_measure
food_cut_width scalar × scalar × scalar × scalar → scalar — 刃先の直線(食材の中央で高さ edge_z_at_xc、傾き θ)が食材の上面より下にある x の長さ = 切っている幅(mm、閉形式)。 · 例: poc_food_cutting_measure, poc_knife_tactile_toughness
force_from_wrist_displacement signal × signal × scalar → signal — 柔らかい手首(縦のばね k、N/mm)なら押し力 F = k (z_meas − z_cmd): 刃が指令より上に残った分が力(N の配列)。 · 例: poc_food_cutting_measure
knife_edge_track rgb → table — 正面像から刃先の直線・峰・先端を出す(規則のみ)。 · 例: poc_food_cutting_measure
slice_push_from_track scalar × signal × signal → scalar — 刃の 1 点の軌跡 (x, z)(画像から)と刃先の傾き θ(画像から)で ξ を出す。速度は軌跡の直線当てはめの向き(ξ は比)。 · 例: poc_food_cutting_measure
slice_push_ratio scalar × scalar × scalar → scalar — 刃先の傾き θ(x-z、反時計回り)と刃の速度 (vx, −vz)(vz > 0 で下へ)から slice/push 比 ξ。 · 例: poc_food_cutting_measure
slice_thickness_profile rgb × scalar × scalar → table — 刃先方向の像で、行ごとに「食材の端面」と「刃の平らな面」の副画素位置を出し、差 = 切片の厚み(mm)。 · 例: poc_food_cutting_measure
drive / cuttouch(3)
knife_load_from_pads table × table × table × scalar → table — 2 枚のパッドの読み(:func:pegtactile.pad_tactile_read)→ 刃が食材から受ける押し V・引き H・モーメント M_x と、刃の当たり位置 Ly。 · 例: poc_knife_tactile_toughness
torsion_partial_slip scalar × scalar × table → table — 球面パッド(Hertz、法線力 P)に法線まわりのねじり M [N·m] を掛けたときの部分滑り: 固着半径 c、ねじれ角 β、全滑りまでの比。 · 例: poc_knife_tactile_toughness, poc_tactile_dipole_torque
toughness_from_pads any × signal → table — :func:knife_load_from_pads の列と切っている幅 w_eff [mm] (画像から、:func:cutting.food_cut_width)→ 靱性 R と当たり位置の要約。 · 例: poc_knife_tactile_toughness
drive / decide(18)
aliased_frequency any → any — 周波数 f [Hz] の明滅をフレームレート fps で標本化したときの 見かけの 周波数(閉形式)。 · 例: poc_driving_crossing, poc_driving_decisions
bus_departure_yield_check table → table — 停留所から発進の合図をしたバスの進路変更を、後ろの自車が妨げたかを採点する(道路交通法 31 条の 2)。 · 例: poc_driving_decisions
check_sequence_score table → table — 進路変更・右左折の前の「安全確認 → 合図 → (約 3 秒 / 30 m)→ 行為 → 合図をやめる」を採点する。 · 例: poc_driving_decisions
convex_mirror_fov 入力なし → table — 凸面鏡(球面、半径 radius、開口の直径 aperture)を軸上 eye_distance(頂点から)の眼で見たときの視野角。 · 例: poc_driving_decisions
dilemma_zone any → table — 黄信号のジレンマゾーン(Gazis, Herman, Maradudin 1960)。 · 例: poc_driving_decisions
doppler_shift any → any — 音源が動き聞き手が止まっているときの聞こえる周波数(閉形式)。 · 例: poc_driving_decisions
doppler_track signal → table — サイレンの音から瞬時周波数を推定し、近づいている / 遠ざかっているを判定する。 · 例: poc_driving_decisions
flash_frequency signal → table — 画素(または領域の平均)の明るさの時系列から点滅の周波数を推定する(FFT のいちばん高い山)。 · 例: poc_driving_crossing, poc_driving_decisions
mirror_aim_normal 入力なし → any — 眼 eye から鏡の中心 mirror_center へ来た光線を方向 look_dir へ反射させる鏡の法線(2D でも 3D でも)。 · 例: poc_driving_decisions, poc_driving_pass
mirror_blind_zone 入力なし → table — 自車の左後方で、左のドアミラーにも直接の視界にも入らない領域(2D、上から見た図)。 · 例: poc_driving_decisions
mirror_reflection_matrix 入力なし → any — 平面 mirror_plane = (n_x, n_y, n_z, d)(点 X が鏡面上 ⇔ n·X = d、n は正規化する)での折り返しの 4×4 同次行列。 · 例: gallery_drive_mirrors_crowds
mirror_virtual_camera any → table — 平面鏡に映る像を撮る 仮想カメラ。 · 例: poc_driving_decisions
predict_amber_onset table → table — 並行する歩行者信号の観測(時刻順の (t, state)、state ∈ green / flash / red)から車両の黄の始まりを推定する。 · 例: poc_driving_decisions
signal_phase_plan 入力なし → table — 2 現示の信号の時間割(主道路 A と、それに 並行する歩行者信号、交差道路 B)。時刻 0 = A の青の始まり。 · 例: poc_driving_decisions
signal_state table → any — signal_phase_plan の時間割で時刻 t(周期で折り返す)の状態(文字列の配列)。区間は [始, 終)。 · 例: poc_driving_decisions
siren_signal 入力なし → table — 動く救急車のサイレン(二音の交互)を、止まっているマイクで聞いた音を合成する。 · 例: poc_driving_decisions
tdoa_bearing signal × signal → table — 2 本のマイク(左 = +y、右 = −y、間隔 mic_spacing)の到着時間差から音源の方位(遠方近似)。 · 例: poc_driving_decisions
yield_maneuver_check table → table — 緊急自動車が近づいたときの自車の動きを道路交通法 40 条で採点する。 · 例: poc_driving_decisions
drive / diabolo(16)
diabolo_axis_from_image rgb × table × table → table — 1 コマから手前のカップの縁の中心 center_rim と軸 axis(カメラ側を向く)を出す。ディアボロの中心 center = center_rim − (L/2) axis。学習なし。 · 例: poc_diabolo_model_and_vision
diabolo_camera 入力なし → table — 透視カメラ(既定 = 前 1.4 m から −x を見る、世界の z が上)。返り {"C", "R"(行 = 右・下・前), "K", "shape", "look_at"}。 Raises ValueError: 位置と注視点が重なる、視線が鉛直、画の大きさや画角が不正。 · 例: poc_diabolo_model_and_vision
diabolo_dynamics_step table × matrix × matrix × scalar × table → table — 論文の解析模型を 1 ステップ進める(ディアボロ = 質点 + 補助の回転楕円体 + 重力)。 · 例: poc_diabolo_model_and_vision
-
diabolo_marker_phase rgb × table × table × table → table — 1 コマのマーカーから回転の位相 ψ(体の系 e1 から、右ねじ)と回転ぶれの弧の幅 |
ω |
·露光 [rad] を読む。 · 例: poc_diabolo_model_and_vision |
diabolo_params 入力なし → table — ディアボロと糸の寸法の辞書。kind = red / blue / patterned / green(論文の表 I の質量・直径・長さ・軸受)。 · 例: poc_diabolo_model_and_vision
diabolo_render table × table → rgb — ディアボロの 1 コマを光線追跡で描く(RGB float (H, W, 3)、[0, 1])。 · 例: poc_diabolo_model_and_vision
diabolo_scene_mjcf table → any — 第 2 実装の場面の MJCF 文字列(mujoco 不要): 空間テンドン 棒の先 → ディアボロ → 棒の先、長さの上限 = 糸(片側拘束 = 伸びた時だけ引く = 摩擦のない滑車の厳密模型と同じ物理を、柔らかい拘束と暗黙の速度更新という別の解法で解く)。棒の先は mocap(各ステップで位置を書き込む)。ディアボロは自由関節の剛体(質量 = 論文の表 I、慣性は仮定。回転は糸と結合しない)。 wrap_axle = True なら軸(半径 r)の円柱にテンドンを巻き付ける形(下側を通す、未検証)。 Raises ValueError: params の形、timestep ≤ 0、solref が 2 つの正の数でない。 · 例: poc_diabolo_model_and_vision
diabolo_simulate signal × signal × any × scalar × scalar × table → table — 棒の動き sticks のもとでディアボロを t_end まで刻み dt で進める。 · 例: poc_diabolo_model_and_vision
-
diabolo_spheroid signal × signal × scalar → table — 棒の先 2 点(焦点)と糸の長さ → 補助の回転楕円体: a = l/2、c = |
x_L − x_R |
/2、b = √(a² − c²)(式 1 の正しい形)。 · 例: poc_diabolo_model_and_vision |
diabolo_spin_from_markers signal × signal × scalar × scalar → table — コマごとの位相 ψ_k(mod 2π)とぶれの弧の幅 → 回転の速さ ω、単位 rad/s(軸のまわり、右ねじ)。 · 例: poc_diabolo_model_and_vision
diabolo_state_sequence matrix × any × table → signal — 位置の列 X (N, 3) と棒 (N, 2, 3) から論文の状態遷移だけを回す(観測した軌跡の分類用、力学は解かない)。有限でない行は 直前の状態を保つ(追跡が見失ったコマ)。返り (N,) の状態名。Raises ValueError: 形・長さ・綴り。 · 例: poc_diabolo_model_and_vision
diabolo_throw_catch_truth signal × signal × matrix × table → table — 放した状態 (p0, v0) からの放物線(閉形式)が、頂点の後で、受けの棒 sticks(固定の (2, 3))に対して「棒を結ぶ面より下 かつ s < c_F」に入る最初の時刻(論文の FLYING → ON_STRING の条件 + 面の規則。張りつめは呼び手が確かめる)。 · 例: poc_diabolo_model_and_vision
diabolo_track any × table × table → table — コマの列 → ディアボロの中心 (N, 3)・軸 (N, 3)・警報 ok (N,)・残差 (N,)。コマごとに :func:diabolo_axis_from_image (学習なし、前のコマに頼らない)。推定できないコマは NaN で ok = False。Raises ValueError: コマの列が空か列でない。 · 例: poc_diabolo_model_and_vision
spheroid_closest signal × table → table — 点 x → 回転楕円体の面の最近点 point・符号つき距離 s(内側 > 0、論文の s の定義)・外向きの単位法線 normal (最近点での勾配の向き)。 · 例: poc_diabolo_model_and_vision
string_tension_from_sag signal × signal × signal × scalar → table — 糸の V 字(棒の先 2 点と軸の位置)から張力を出す(摩擦のない滑車 = 両側の張力が等しい)。 · 例: poc_diabolo_model_and_vision
string_tension_static scalar × table → table — 棒が同じ高さ・間隔 2c で止まり、ディアボロが最下点で静止: 垂れ b = √(a² − c²)、張力 T = m g a / (2b)、糸の水平からの角 atan2(b, c)。Raises ValueError: 間隔が (0, 糸) の外。 · 例: poc_diabolo_model_and_vision
drive / doseunif(3)
dose_cv_from_sizes any × scalar × scalar → table — 測った粒径から 1 回分の含量の CV(粒の数の揺らぎだけ、Poisson)と、その偏りと区間。 · 例: poc_dose_uniformity_from_grinding
dose_cv_lognormal scalar × scalar × scalar × scalar → table — 粒径が対数正規の粉から 1 回分(薬 dose_mg)を取ったときの含量の CV(粒の数の揺らぎだけ)。 · 例: poc_dose_uniformity_from_grinding
grind_time_for_dose_cv signal × signal × scalar × scalar → table — モーメント径 D63 の時間変化に粉砕則を当て、含量の CV が目標まで下がるのに要る粉砕時間を逆算する。 · 例: poc_dose_uniformity_from_grinding
drive / env(16)
beta_from_mor scalar → scalar — 視程 → 減衰係数 β = −ln(contrast)/視程(:func:mor_from_beta の逆)。 · 例: poc_driving_weather
env_params 入力なし → table — 描画の条件をまとめる(:func:env_render に渡す)。 · 例: poc_driving_weather
env_render table × matrix × matrix → table — 太陽・空・影・灯火・前照灯・霧・雨・まぶしさを物理の単位で描く。 · 例: poc_driving_weather
fog_beta_from_profile any × any × scalar × scalar × scalar → table — 路面の縦の輝度の曲線から霧の減衰係数 β を測る(Hautière ら 2006 の考え方)。 · 例: poc_driving_weather
julian_day any → scalar — ユリウス日(UT)。when = タイムゾーンつきの datetime(UTC に直す)、または数(そのままユリウス日)。 · 例: gallery_drive_lateral_env
koschmieder any × any × scalar × any → any — Koschmieder の法則: 距離 d の物体の見かけの輝度 L = L₀ e^{−βd} + L_h (1 − e^{−βd})(配列可)。 · 例: gallery_drive_lateral_env
mor_from_beta scalar → scalar — 減衰係数 β [1/m] → 視程 = −ln(contrast)/β。既定 0.05 = WMO の気象光学距離(MOR ≈ 2.996/β)、0.02 = Koschmieder(3.912/β)。 · 例: gallery_drive_lateral_env
road_row_distance any × scalar × scalar × scalar → any — 平らな路面の上の行 → カメラから路面の点までの水平距離(厳密)。地平線より上の行は inf。 · 例: poc_driving_weather
sight_stop_speed scalar × scalar × scalar → scalar — 見える距離 sight の中で止まれる最大の速さ v: drivelong.stopping_distance_grade(v) = sight。 · 例: poc_driving_weather
sun_at any × scalar × scalar → table — 日時(タイムゾーンつき datetime かユリウス日)の太陽の高度・方位。式は :func:geocam.sun_position(NOAA の太陽位置の式 = Meeus “Astronomical Algorithms” 第 25 章の低精度版、NOAA の大気差)をそのまま使い、日時の受け方と地球–太陽の距離を足す。 · 例: poc_driving_weather
sun_events scalar × scalar × scalar × scalar × scalar → table — その日(地方の暦日)の日の出・南中・日の入りの時刻と、日の出入りの方位・南中の高度。 · 例: poc_driving_weather
sun_illuminance scalar → table — 晴天(雲量 cloud ∈ [0, 1])の太陽の照度 [lx]: direct_normal(太陽に正対する面)・diffuse(水平面の散乱)・air_mass。 · 例: poc_driving_weather
sun_vector scalar × scalar → any — 太陽の方向の単位ベクトル(世界系、地面から太陽へ向く)。 · 例: poc_driving_weather
tone_map any × scalar → any — HDR カメラの色を保つ階調の圧縮: m = 各画素の最大チャンネル × exposure、表示 = 輝度 × exposure × (1 + m/4)/(1 + m) —— m ≪ 1 では線形、最大チャンネルは m = 2 でちょうど 1 に達し、それより明るい画素は最大チャンネルが 1 になるよう全体を割る(色の比 = 色度は変えない。飽和で灯火が白くならない、仮定: 車載の HDR カメラ)。 · 例: gallery_drive_lateral_env
-
veil_chroma_limit any × scalar → scalar — 色 color(RGB の比)で輝度 luminance の灯火に白い光(光幕・霧の大気光)W を足したとき、色度の距離 |
(c L + W·1)/ |
c L + W·1 |
− c/ |
c |
|
(balltrack.ball_detect の chroma と同じ量)が tol に達する W* [cd/m²]。 · 例: poc_driving_weather |
veiling_luminance any × any → any — 減能グレアの光幕輝度 L_v [cd/m²] (配列可)。E_glare = 目の位置での光源の照度 [lx]、θ = 光源と視線の角 [度]。 · 例: gallery_drive_lateral_env
drive / granular(23)
beverloo_fit signal × signal × scalar × scalar → table — 排出率の列 W_i(D0_i) に log W = log(C ρ_b √g) + n log(D₀ − k d) を最小二乗で当て、指数 n と係数 C を返す(真値 n = 2.5、C ≈ 0.58)。返り: n, C, rms_log(対数残差)。 Raises ValueError: 点が 3 未満 / D0 ≤ k d の点がある / W ≤ 0。 · 例: poc_granular_heap_repose
beverloo_rate scalar × scalar × scalar → scalar — Beverloo の排出則 W = C ρ_b √g (D₀ − k d)^{5/2} [kg/s] (Beverloo ほか 1961; 係数 C ≈ 0.58、 k ≈ 1.4 は Nedderman 1992 の整理)。D0 = 円孔の直径 [m]、d = 粒径 [m]、bulk_density = かさ密度。 · 例: poc_granular_heap_repose, poc_powder_scoop_pour
cone_profile_px signal × scalar × scalar → signal — 円錐の母線の断面 c(u) [px] (u = 軸からの距離 [px])。 · 例: gallery_drive_soil_tactile
container_fill_level image2d → table — 容器内側の側面像(粉の被覆率、容器の内寸 = 画像)から充填率と粉面の傾きを読む。 · 例: poc_granular_heap_repose
container_synth scalar → table — 透明な容器の内側を横から見た粉の被覆率を合成する(表面は平面、傾き可)。真値 = fill_frac。 · 例: poc_granular_heap_repose
datum_tilt_check table → table — :func:repose_angle_silhouette の返り(左右の斜面角と地面の傾き)から 基準面が傾いていないか を判定する。 · 例: poc_geodetic_height_frames, poc_granular_heap_repose
discharge_synth scalar × scalar × scalar × scalar × scalar × scalar → table — 円孔 D0 から Beverloo の率で落ちた粉が、下で安息角 φ の円錐に積もっていく高さ図の列を合成する。 · 例: poc_granular_heap_repose
dispense_mass_from_video any × scalar × scalar × signal → table — 高さ図の列から出た質量と排出率 —— 各コマの山の体積 × ρ_b、時間に対する直線当て(最小二乗)。 · 例: poc_granular_heap_repose
heap_mass scalar × scalar → scalar — m = ρ_b V [kg]。bulk_density はかさ密度 [kg/m³] (粒子密度ではない —— ガラス球 2500 kg/m³ の 山は充填率 ≈ 0.6 で ρ_b ≈ 1500 kg/m³)。Raises ValueError: 体積が < 0、密度が ≤ 0。 · 例: poc_granular_heap_repose
heap_scene_mjcf scalar × scalar → table — 平底ホッパ(正方形の孔、辺 orifice_d)に剛体球を積んだ場面の MJCF 文字列(mujoco 不要、台帳に載る)。 · 例: poc_granular_heap_repose
heap_spheres_select matrix × scalar × scalar × scalar → table — 山に属する球だけを選ぶ: ビンの底板より下(z < floor_height − r)で、ビン半径の 3 倍の内側。 ビンに残った球(平底の滞留層)と転がって逃げた球は山ではない。返り: pos(選んだ中心)、n_in_bin、 n_runaway、radius_95(山の半径の目安)。Raises ValueError: 残りが keep_min 未満(山になって いない —— 滑らかな台で 1,200 個中 600 個が逃げたときに黙って測らないため)。 · 例: poc_granular_heap_repose
heap_synth_cone scalar × scalar → table — 既知の安息角の円錐の山を合成する(側面像 = 反エイリアスの被覆率、高さ図 = セル中心の高さ)。 · 例: poc_granular_heap_repose
heap_volume_cone scalar × scalar → table — 円錐の山の閉形式 —— R・H・phi_deg のうち ちょうど 2 つ を与えると残りと体積を返す。 · 例: poc_granular_heap_repose, poc_powder_scoop_pour
heap_volume_heightmap image2d × scalar → scalar — 高さ図の山の体積 Σ (z − z_ground) pitch² [m³]。ground は同形の地面高さ(None = 0)。 負の高さ(地面より下)は 0 に切る —— 穴を山から引き算しない。Raises ValueError: 形・pitch。 · 例: poc_granular_heap_repose
hopper_discharge_rate signal × signal × scalar → table — 底板より下の質量の列 m(t) から排出率 [kg/s] —— 全質量の lo〜hi の帯だけを直線で当てる(立ち上がりと 止まり際を除く; Beverloo の定常流の仮定)。返り: rate, n_frames(帯のコマ数), t_range, rms [kg]。 Raises ValueError: 帯に 3 コマ未満(排出が速すぎてコマが無い —— 黙って 2 点の傾きを返さない)/ 時刻が単調でない。 · 例: poc_granular_heap_repose
powder_flowability_class scalar → table — 安息角 → 流動性区分(USP <1174> Table 1、原典 Carr 1965)。 · 例: poc_granular_heap_repose
repose_angle_heightmap image2d × scalar → table — 高さ図から安息角 φ —— demops.dem_slope の勾配のヒストグラムの最頻値。 · 例: poc_granular_heap_repose
repose_angle_silhouette image2d → table — 側面像(粉の被覆率)から安息角 φ を読む —— 左右の斜面に別々に直線を当て、裾と頂を除く。 · 例: poc_granular_heap_repose
spheres_render_shaded matrix × scalar × scalar × scalar × scalar → rgb — 横からの正射影を陰影つきで描く(numpy の z バッファ、Lambert)。GIF 用。返り (rows, cols, 3) [0, 1]。 · 例: poc_granular_heap_repose, poc_powder_scoop_pour
spheres_to_heightmap matrix × scalar × scalar × scalar → image2d — 球の中心列 pos (n, 3) [m] と半径から、上から見た高さ図(各セルで球面の最大高さ、無ければ 0)。 格子は [-extent, extent]² を pitch で刻む。 · 例: poc_granular_heap_repose
spheres_to_silhouette matrix × scalar × scalar × scalar × scalar → image2d — 球の中心列から、横(y 方向)から見た正射影の被覆率画像(円板の和、反エイリアス)。行 0 が上。 · 例: poc_granular_heap_repose, poc_powder_scoop_pour
spoon_tilt_critical scalar × scalar × scalar → scalar — スプーンから粉がこぼれ始める傾き θ_c [度] (2 次元断面、準静的、壁摩擦なし —— 自分の導出)。 · 例: poc_granular_heap_repose
spoon_tilt_dispense scalar × scalar × scalar × scalar → table — 傾き θ で出た粉の割合(:func:spoon_tilt_critical と同じ 2 次元模型、厳密な tan(φ − θ))。 · 例: poc_granular_heap_repose
drive / grind(13)
ae_band_power signal × scalar → table — AE の帯域電力を 2 通りで出す(一方は公開の解析コードの定義、他方は acoustics.stft の密度スペクトル)。 · 例: poc_powder_grinding_ae
ae_read_csv any → signal — AE の生の CSV(ヘッダ header_lines 行 + 1 行 1 標本の ADC 値)を電圧 [V] の信号にする。 · 例: poc_powder_grinding_ae
ae_size_correspondence signal × signal → table — AE の帯域電力と D50 の対応(単調性・相関・log–log の傾き α、P ∝ D50^α)。 · 例: poc_powder_grinding_ae
breakage_first_order_fit signal × signal → table — 一次の破砕速度 w(t) = w₀ exp(−S t) を当てる(Deniz 2004 の式 (2)、出典 Austin)。 · 例: poc_powder_grinding_ae
comminution_energy scalar × scalar → table — 粉砕則の閉形式(Reddy の式 (1)・(5)〜(7))。x_product と energy の ちょうど一方 を与える。 · 例: poc_dose_uniformity_from_grinding, poc_powder_grinding_ae
comminution_law_fit signal × signal → table — 粒径の時間変化 d(t) に粉砕則を当てる(エネルギー ∝ t の仮定、モジュール冒頭)。誤差は log(径) で測る。 · 例: poc_powder_grinding_ae
particle_image_d50 image2d × scalar → table — 被覆率の画像の粒子から D10 / D50 / D90 [µm]。面積は ラベルの中の被覆率の和(縁の部分画素を数える、閾値で太らない)。 · 例: poc_dose_uniformity_from_grinding, poc_powder_grinding_ae
particle_image_synth scalar × scalar × scalar → table — 重ならない円板(粒子の投影)を撒いた被覆率の画像と真値(直径 [µm] の対数正規、pitch µm/px)。 · 例: poc_dose_uniformity_from_grinding, poc_powder_grinding_ae
particle_size_dx table × scalar → scalar — 体積累積 q % の径 Dq [µm] (D10 / D50 / D90 は q = 10 / 50 / 90)。 · 例: poc_powder_grinding_ae
particle_size_oversize table × scalar → scalar — 径 x [µm] より上の体積の割合(篩上 R(x)、0〜1)。端の累積を log(径) で補間(:func:particle_size_dx の既定と同じ約束)。 · 例: poc_powder_grinding_ae
particle_size_read any → table — レーザー回折の粒度分布 CSV(ヘッダの key,value 行 + SizeClasses で始まる表)を読む。 · 例: poc_dose_uniformity_from_grinding, poc_powder_grinding_ae
particle_size_synth scalar × scalar → table — 対数正規の 体積 分布を装置と同じ区間に割り付けた粒度分布(真値つき)。 · 例: poc_dose_uniformity_from_grinding, poc_powder_grinding_ae
replicate_compare any → table — 独立試行のばらつきと、群(材料)どうしの差を同じ物差しで並べる。 · 例: poc_powder_grinding_ae
drive / gsplat(7)
gs_catalog_html table → table — 複数の 3DGS をサムネイルの一覧から選んで見る、1 枚で完結するカタログの HTML を書く。 · 例: gsplat_product_viewer
gs_from_world table → table — 世界の面にガウシアンを貼った 3DGS を返す(world = driveworld の世界 dict: V, F, face_color, objects)。 · 例: gsplat_product_viewer, poc_kendama
gs_read_file 入力なし → table — 3D Gaussian Splatting のファイルを読み、ガウスの中心・色・不透明度・大きさ・向きを返す。 · 例: gallery_drive_world_io
gs_render table × matrix → table — 3DGS をカメラ(pose = world→camera 4×4、K 3×3、driveworld.world_camera と同じ規約: −Z を見る、行は上が小さい)で描く。 · 例: poc_kendama
gs_render_fn table → any — render_fn(world, cam) → (H, W, 3)(:func:kendamaworld.camera_perceiver の描画の差し替え口)を返す: 呼ばれるたびに :func:gs_update で世界のいまの頂点へガウシアンを付け直し、cam(dict: pose, K, width, height)で :func:gs_render する。 render_kw は gs_render へそのまま渡す。属性 n_calls・n_pairs(累計)を持つ。 · 例: poc_kendama
gs_update table × table → table — 世界のいまの頂点からガウシアンの中心・向きを計算し直す(その場で書き換えて同じ dict を返す)。 · 例: poc_kendama
gs_viewer_html table → table — 3DGS を、ブラウザで回して見られる1 枚で完結する HTML にする(外部 URL 0・CDN 無し・オフラインで動く)。 · 例: gsplat_product_viewer, gsplat_trained_product
drive / humanoid(4)
humanoid_clip_mesh table → table — 歩いた距離 distance [m] でのメッシュ({"V","F","color","label","dims"}、原点 = 腰の真下、+x = 前)。 · 例: gallery_drive_world_objects, poc_driving_humanoids
humanoid_impostors table → table — クリップ(:func:humanoid_walk_clip)を 方位 n_yaw × 位相 n_phase の向きから描いておく。 · 例: poc_driving_humanoids
world_camera_impostors table × matrix × matrix → table — :func:driveworld.world_camera で世界を撮り、actors のインポスタを深度で前後を比べて貼る。 · 例: poc_driving_humanoids
world_pose_humanoid table → any — 世界の物体 i(:func:driveterrain.add_mesh_object で humanoid_clip_mesh を置いたもの)を、歩いた距離 distance の姿勢にして (x, y, yaw) へ置き直す(頂点だけ書き換える。面・色・ラベル・dims は不変)。 · 例: gallery_drive_world_objects
drive / inf(12)
global_to_tile 入力なし → any — 全体の座標 → (i, j, x, y)(比較用。遠い座標は既に浮動小数の刻みで丸まっている)。 · 例: gallery_drive_world_io
pose_normalize 入力なし → any — (区画, 区画の中の座標) を、座標が [0, tile) に入るように区画を繰り上げ・繰り下げる。返り値 (i, j, x, y)。 ★全体の座標に足してから割り直すのでなく、区画の中の座標だけを動かす —— 刻みが距離に依らない。 · 例: poc_driving_endless_map
tile_digest table → any — 区画のメッシュの指紋(SHA-256、頂点・面・ラベル・色のバイト列)。作り直しのビット一致の門に使う。 · 例: poc_driving_endless_map
tile_edge_crossing table → scalar — 区画 (i, j) の辺を道が横切る位置(区画の中の座標、辺に沿った 0..tile)。無ければ None。 side ∈ {“E”, “W”, “N”, “S”}。★辺の番号で決める: 区画 (i, j) の E と区画 (i+1, j) の W は同じ辺(同じハッシュ)。 · 例: poc_driving_endless_map
tile_hash 入力なし → scalar — 区画(か格子点・辺)の番号 (i, j) と世界の種・用途の塩から 64 ビットの整数を出す(SplitMix64 を 4 回、整数だけ)。 負の番号も扱う(2 の補数で 64 ビットに折る)。同じ入力なら環境に依らず同じ値。 · 例: gallery_drive_world_io
tile_height any × any × table → any — 区画 (i, j) の中の点 (x, y) の地面の高さ [m]: 全体の整数格子の Perlin 雑音 × relief、道の周りは平ら (flat m まで 0、blend m で smoothstep)。格子の番号 = 区画の番号 × cells + 升目の番号(整数で厳密)、 補間は升目の中の小数だけ —— 継ぎ目で連続し、遠くでも桁が落ちない。 · 例: poc_driving_endless_map
tile_mesh table → table — 区画 (i, j) の地面の格子メッシュ(区画の中の座標)と道の面。返り値 {"V" (N, 3), "F" (M, 3), "label" (M,), "color" (M, 3), "roads" (tile_roads の返り値), "ij"}。地面 = ラベル 0、道 = ラベル 1(道は地面の少し上の帯)。 · 例: poc_driving_endless_map
tile_params 入力なし → table — 区画の表。tile = 一辺 [m]、cells = 区画あたりの格子の升目数(起伏の波長 ≈ tile/cells)、relief = 起伏の振幅 [m]、 road_width [m]、道から flat m は平ら、そこから blend m で起伏へ戻す(★flat は地面の格子の三角形が道に掛かっても 地面が道より上に出ない幅: 道幅の半分 + 格子の対角 —— 10 m の格子で 3.5 + 14.1 ≈ 18 m。6 m では道が地面に埋もれた)、p_road = 辺を道が横切る確率、 jitter = 区画の中の分岐点のずらし(区画の一辺に対する割合)、seed = 世界の種。 · 例: poc_driving_endless_map
tile_road_distance any × any × table → any — 区画 (i, j) の中の点 (x, y)(区画の中の座標)から最寄りの道の中心線までの距離。★隣の 8 区画の道も見る (隣の道を区画の中の座標へずらして)—— 継ぎ目の近くで両側の区画が同じ距離を出すため。 · 例: poc_driving_endless_map
tile_roads table → table — 区画の中の道: 横切る点(区画の中の座標)と分岐点、分岐点から各点への線分。返り値 {"hub" (2,), "ends" [(side, (x, y))], "segments" (K, 2, 2)}(横切る点が無ければ空)。 · 例: poc_driving_endless_map
tile_stream table × table → table — 車のいる区画 (i, j) の周り (2·radius + 1)² 区画を持ち、外れた区画を捨てる(cache をその場で書き換える)。 返り値 {"loaded": [(i, j)], "evicted": [(i, j)], "n": 持っている区画の数}。 · 例: poc_driving_endless_map
tile_uniform 入力なし → scalar — :func:tile_hash の上位 53 ビットを [0, 1) の一様な実数に(倍精度で厳密に表せる)。 · 例: gallery_drive_world_io
drive / japan(23)
building_prisms any → any — 建物の足跡(footprint)を高さまで押し出し、1 つの三角形メッシュにまとめる。 · 例: gallery_drive_city_terrain
buildings_in_box table → any — 重心(足元頂点の平均)が箱 [xmin,xmax]×[ymin,ymax] に入る建物だけを返す。 · 例: gallery_drive_city_terrain
citygml_synthetic 入力なし → any — 本物と同じ構造の最小 CityGML 2.0 文字列を作る(テスト・デモ用)。 · 例: gallery_drive_city_terrain, poc_driving_japan_town
japan_stats table → table — 道路網の内訳の表: 種別ごとの辺数・延長・平均幅、幅の由来の内訳、特徴のある節点の数。 · 例: poc_driving_japan_town
japan_world table → table — 道路網から日本の町の 3-D 世界(driveworld 形式)を組む。 · 例: poc_driving_japan_town
jp_crossbuck_mesh 入力なし → any — 踏切警標(× 印、黄地に黒の縁)+ 柱。板は +x を向く。 · 例: gallery_drive_japan_roads
jp_mirror_mesh 入力なし → any — カーブミラー(橙の柱 + 丸い鏡、鏡は +x を向く)。 · 例: gallery_drive_japan_roads
jp_pole_mesh 入力なし → any — 日本の電柱(コンクリート柱 + 腕金)の三角形メッシュを作る。 · 例: gallery_drive_japan_roads
jp_sign_stop_mesh 入力なし → any — 一時停止(規制標識 330-A)の標識: 赤地の逆正三角形(一辺 side = 80 cm、縁線と文字は白、縁と地は赤 —— 別表第二 備考一(三)3(8))+ 柱。 板は +x を向く(来る車の側)。角の丸み(R 5 cm)と「止まれ」の文字(字高 13 cm)は省く(字は路面文字 :func:jp_stop_marking_mesh で見せる)。 返り値 (V, F, colors) 面色つき。 · 例: poc_driving_japan_town
jp_stop_marking_length 入力なし → scalar — 「止まれ」3 字の列の全長 [m] (= 3 × 字高 + 2 × 字間 = 9.2 m)。 · 例: gallery_drive_japan_roads
jp_stop_marking_mesh 入力なし → any — 路面文字「止まれ」(法定外表示、白)。局所座標: 原点 = 字の列の手前端(車に近い側)の車線中心、+x = 進む向き、+y = 左。 · 例: poc_driving_japan_town
latlon_to_local any × any → any — 緯度経度 [deg] → 原点 origin = (lat0, lon0) まわりの等距円筒近似の平面座標 (x 東, y 北) [m]。 · 例: poc_driving_japan_town
osm_parse any → table — OSM XML(文字列かファイルパス)を読み、節点を局所平面座標 [m] に落とす。 · 例: poc_driving_japan_town
osm_road_graph table → table — OSM の読み込み結果から道路網を作る。 · 例: poc_driving_japan_town
osm_road_loops table → table — 道路の和集合の境界ループ。外側(道路の縁)と穴(街区)に分け、Douglas–Peucker で間引く。 · 例: poc_driving_japan_town
osm_road_mask table → table — 辺を幅つきの線分(端は丸)として描いた 道路の和集合 の 2 値画像。 · 例: poc_driving_japan_town
osm_route table → table — 2 節点間の最短路(Dijkstra、一方通行を守る)を車線中心の折線にし、停止線を弧長で並べる。 · 例: poc_driving_japan_town
osm_synthetic 入力なし → any — テストと fuzz 用の最小の OSM XML(本物と同じ要素: bounds / node / way / tag)。 · 例: poc_driving_japan_town
plateau_lod2_mesh any → table — PLATEAU の CityGML から LOD2 の建物を読み、局所メートル座標の三角形メッシュ (V, F) と建物ごとの属性を返す。 · 例: poc_plateau_venue_lod2
plateau_parse any → table — PLATEAU CityGML から建物の足元多角形・高さ・底面標高をストリーム読みする。 · 例: gallery_drive_city_terrain, poc_driving_japan_town
polygon_area any → scalar — 単純多角形の符号つき面積(靴紐公式)。反時計回りで正。 · 例: poc_driving_school, poc_thermal_drift_metrology
prism_mesh any → any — 足元多角形を高さ height の柱に押し出す(底面なし)。 · 例: poc_print_layer_inspection
triangulate_polygon any → any — 単純多角形(凸・凹どちらも、自己交差なし)を耳切り法で三角形分割する。 · 例: gallery_drive_city_terrain
drive / kendama(19)
catch_plan_ballistic table → any — 弛んだ玉の (p, v) から放物線の閉形式で皿の到達点を出す計画。返り値は plan(t, p, v, cup_state) → dict。 · 例: gallery_drive_kendama_racket
catch_plan_staged table → any — 段階を明示した捕球の制御(大皿・小皿・中皿・ろうそくに同じ計画を使う: 皿の向きは kp の技の姿勢から)。 返り値は plan(t, p, v, cup_state) → dict(:func:kendama_simulate の catch_plan)。 · 例: poc_kendama
catch_success_rate table → table — 大皿の成功率: 初期状態を散らして n 回(玉は支点(皿胴の糸穴)の L 下に吊り、横に σ = jitter_pos、速度に σ = jitter_vel (接線成分)のガウス揺らぎ)、:func:swing_up_plan(手元の出発点 origin)で振り上げ、:func:catch_plan_ballistic で皿を運ぶ。 · 例: poc_kendama
-
elliptic_k_agm 入力なし → scalar — 第 1 種完全楕円積分 K(k) = ∫₀^{π/2} dφ / √(1 − k² sin² φ) を算術幾何平均で: K(k) = π / (2·AGM(1, √(1 − k²)))。 |
k |
< 1(それ以外は ValueError)。門: K(0) = π/2、K(0.5) = 1.685750354812596(公表値、パラメータ m = k² = 0.25)。 · 例: poc_kendama |
-
hole_detect image2d → table — 玉の像の中の暗い円盤(けん先の穴)を探す: 玉の中心 ball_center (col, row)・像の半径 ball_radius [px] の円の内側で、 明るさ(RGB の平均)が玉の明るさの中央値の dark_ratio 倍未満、彩度 (max − min)/max ≥ min_sat(灰色の糸を除く)、 かつ色度(RGB / |
RGB |
)が玉の色度の中央値から min_chroma 以上離れた(陰になった玉の面は明るさだけが落ちて色度は同じ —— 明るさだけで拾うと影を穴と取り違えた、測って退けた)画素の連結成分のうち最大のもの。返り値 {"found", "col", "row", "angle" (玉の中心 → 穴の重心の像の角度 [rad]、 atan2(Δrow, Δcol)), "offset" (距離 / ball_radius: 0 = 正面、→ 1 = 縁), "ellipticity" (短軸 / 長軸、2 次モーメントから: 1 = 正面の円、→ 0 = 真横), "area" [px]}。見つからなければ found False、area は 0、他は NaN。 正面から見た穴の中心は玉の中心と重なり、横へ回るほど縁へ寄って潰れる(offset ≈ sin φ、ellipticity ≈ cos φ、φ = 穴の軸と視線の角)。 img (H, W, 3)、ball_radius > 0 でなければ ValueError。 · 例: poc_kendama |
kendama_catch_check table → table — 玉(半径 r_b)が皿(縁の半径 r_c < r_b、縁の中心 cup_center、軸 cup_axis、速度 v_cup)に乗る幾何の判定。 · 例: gallery_drive_kendama_racket
kendama_combo_simulate table → table — 連続技: 玉が sequence[0] の皿に乗った状態から「放つ → 飛んでいる間に持ち替え → 次の皿を着地点の真下へ運び、速さを合わせて受ける」 を n_catch 回か最初の失敗まで繰り返す(もしかめ = (“ozara”, “chuzara”)、3 皿 = (“ozara”, “kozara”, “chuzara”))。 手元 hand0 = 皿胴の中心(持ち替えは手首で向きを変えるだけ、握り替えない: 仮定)。最初の皿へは :func:kendama_simulate の 振り上げで受けて、その手元の位置・速度を hand0 / hand_v0 で渡す。 · 例: poc_kendama
kendama_params 入力なし → table — けん玉の表。既定 = preset="jka_16_2"(玉 60 mm、横幅 70 mm、全長 180 mm は日本けん玉協会の公表値、けんの高さ 160 mm と 皿 42 / 38 / 35 mm はユーザー提供の JKA 16-2 型の説明(一次資料は未確認))。"recommended_large_cup" = 大皿 49 mm・穴 24 mm。 · 例: gallery_drive_kendama_racket, gallery_drive_world_objects, poc_kendama
kendama_simulate table → table — けん玉の 2 段シミュレーション: ひもが張っている間は支点(皿胴の糸穴 = 手元 + kp[“tie_offset”])に繋がれた玉 (射影法、:func:ballistics.tether_simulate と同じ: 支点固定・真空なら同じ軌跡、ひもの長さ = kp[“pendulum_length”])、 弛んだら自由落下(重力 + 抗力、kp[“bp”]; rho = 0 で真空)。毎 step :func:kendama_catch_check(大皿 = 手元 + kp[“cup_offset”]、 軸 kp[“cup_axis”])で捕球を判定し、捕ったら終わる。 · 例: poc_kendama
noisy_perceiver 入力なし → any — 知覚に等方ガウス雑音を足す perceive(t, p, v) → (p̂, v̂)(位置 σ = noise_pos [m]、速度 σ = noise_vel [m/s])。 負の σ は ValueError。rng = numpy.random.Generator。 · 例: gallery_drive_kendama_racket
parabola_fit_g 入力なし → table — 重力 g(−z)を既知とした放物線 p(t) = p_r + v_r (t − t_ref) − ½ g (t − t_ref)² ẑ を最小二乗で当てる(未知 6 = 位置と速度)。 · 例: gallery_drive_kendama_racket
pendulum_launch_speed 入力なし → scalar — 真下でこの速さを与えると振幅 θ₀ になる(エネルギー保存): v₀ = √(2gL(1 − cos θ₀))。θ₀ ∈ [0, π]。 · 例: poc_kendama
pendulum_period_exact 入力なし → scalar — 振幅 θ₀ ∈ (0, π) の振り子(棒、または弛まない範囲のひも)の周期 4√(L/g)·K(sin(θ₀/2))。θ₀ → 0 で 2π√(L/g)。 · 例: poc_kendama
pendulum_rod_simulate 入力なし → table — 棒の振り子(拘束が両側に効く: 弛まない)θ̈ = −(g/L) sin θ を RK4 で。返り値 {"t", "theta", "omega", "energy"} (energy = ½L²ω² − gL cos θ、単位質量)。ひもでは弛む θ₀ > π/2 の周期の定理を確かめる比較用。 · 例: poc_kendama
swing_up_apex table → table — :func:swing_up_plan で真下に吊った玉(支点の L 下、静止)がどこまで昇るかの閉形式。 減速の加速度 a > g なら減速に入った瞬間(bang: T/2、trap: 2T/3)に弛み、そのときの手元の高さ z_s と速さ v_s で自由落下 → 頂点 z = tie_z + z_s − L + v_s²/(2g)(手元の出発点から測った玉の中心、L = ひもの有効長、tie_z = 支点の手元からの高さ)。 a ≤ g なら弛まず、玉は支点の L 下で止まる。返り値 {"accel", "flies", "slack_t", "z_slack", "v_slack", "apex", "apex_above_handle", "apex_above_cup"}(apex_above_handle = apex − lift、apex_above_cup = それから大皿の縁の高さを引いた量: 皿に届くには ≥ h_c、皿の窓に入るには h_c ≤ … ≤ h_c + 1.5 r_b)。 · 例: poc_kendama
swing_up_lift table → scalar — 振り上げ(bang)の持ち上げ量を閉形式で: 玉の頂点が受ける皿の中心の apex_above_cup 上に来る lift(:func:swing_up_apex の逆)。 頂点 − lift − cup_z = tie_z + lift/2 − L + 2 lift²/(g T²) − lift − cup_z = A を lift の 2 次方程式として正の根。 既定 A = max(h_c + 0.9 r_b, (top_offset − cup_z) + r_b + 0.035): 玉の下端がけん玉のいちばん高い所を 35 mm 越える頂点 (:func:catch_plan_staged の hold は玉がそこを越えるまで皿を寄せない。越えている時間 ≈ 2√(2·0.035/g) = 0.17 s で皿を 横へ 10 cm 戻す)。減速の加速度 4·lift/T² が g を超えないと玉は飛ばない(ValueError)。 · 例: poc_kendama
swing_up_plan table → any — 手元(皿胴の中心。ひもの支点と大皿はそこから kp の offset だけずれて一緒に動く)の開ループ軌道: origin から真上へ lift だけ T_lift 秒で持ち上げ、以後静止。 返り値は t → (3,) の関数(t ≤ 0 で origin、t ≥ T_lift で origin + lift·ẑ で静止)。 · 例: poc_kendama
tether_slack_angle 入力なし → any — 真下で速さ v₀ = √(2gL(1 − cos θ₀)) をもつ玉(棒なら θ₀ で止まるエネルギー)のひもが弛む角 θ_s(真下から)。 · 例: poc_kendama
tether_tension_fixed 入力なし → scalar — 手元固定・伸びないひもの張力 T = m(v²/L + g cos θ)(v = 速さ、θ = 真下からの角)。負なら「ひもは押せない」= 弛む。 · 例: poc_kendama
drive / kendamaworld(12)
add_ken table × table → scalar — けんを姿勢 (p = 皿胴の中心, R) で世界に足す(面ラベル 27/28/30/31 はそのまま)。返り値 = objects の索引。 · 例: gallery_drive_world_objects
add_string table → scalar — 糸(ラベル 29、暗い灰)を世界に足す。返り値 = objects の索引。 · 例: gallery_drive_world_objects
camera_perceiver table → any — 画像だけから玉の (p̂, v̂) を出す知覚 perceive(t, p, v, scene) → (p̂, v̂) | None(:func:kendama.kendama_simulate 用、 属性 observe_all = True で毎 step 呼ばれる)。真値 (p, v) は世界を描くためだけに使い、v は読まない。 · 例: poc_kendama
ken_mesh table → table — けん + 皿胴(大皿・小皿)+ 中皿のメッシュ。原点 = 皿胴の中心(手元)、けん = +x(けん先が +x)、皿胴の軸 = +z(大皿が上)。 · 例: gallery_drive_world_objects, poc_kendama
ken_set_pose table × matrix → any — けん i の姿勢を (p, R) にする(頂点だけ書き換える)。けんでない物体は ValueError。 · 例: gallery_drive_world_objects
ken_truth table × table → table — けん i_ken の真値の投影: 受ける皿の縁の中心(anchors[kp[“catch_cup”] + “_rim”] を姿勢で動かした点)の (col, row)、深度、 像での皿の半径 [px] (大皿の半径で)、 visible(カメラの前にあり画素が像の内側)。ballworld.ball_truth と同型。 · 例: gallery_drive_world_objects
kendama_clearance table → table — 玉の表面からけん玉(けん・皿胴の回転体)までの隙間 [m] (負 = 玉がけん玉にめり込んでいる)。kp の技の姿勢(R_ken、持つ所 grip)で 手元 hand、玉の中心 p_ball(どちらも (3,) か (N, 3))。回転体までの距離は子午面の輪郭までの 2-D の距離と厳密に等しい ので、メッシュの離散化によらない。返り値 {"gap" (N,), "ken" (N,), "cross" (N,)}(ken / cross = 各部品までの隙間)。 物理はけん玉と玉の衝突を解かないので、この量で「玉がけん玉を突き抜けた」step を数える(門・正直な報告に使う)。 R_ken(19 巡目、連続技の持ち替え): 姿勢を kp[“R_ken”] の代わりに (3, 3) か時刻ごとの (N, 3, 3) で渡す。grip = 持つ所(局所)の 上書き。どちらも None なら今まで通り。 · 例: poc_kendama
kendama_pose table → table — けん玉の世界の状態を置く: けん(1 つの剛体。持つ所 kp[“grip”] を手元 hand に、姿勢 R_ken 既定 = kp の技の姿勢 kp[“R_ken”]: 皿胴の中心 = hand − R·grip)、玉(中心 p_ball)、 糸(皿胴の糸穴 → 玉の糸穴)。R_ball 既定 = 玉の糸穴(−HOLE_AXIS_LOCAL)が皿胴の糸穴を向く回転(玉の回転は解かない: 張っている間は正しく、飛翔中は近似)。返り値 {"tie", "cup" (受ける皿の縁の中心), "cup_axis", "cross" (皿胴の中心), "string_hole", "hole_axis" (大きな穴の向き、世界), "R_ball"}。 world は :func:kendama_world のもの(world[“kendama”] が要る)。 · 例: poc_kendama
kendama_rig table → table — 振り上げの空間(x, y ∈ ±0.4 m、z ∈ 0.55〜1.45 m: 手元 1.0 m、ひも 0.42 m、持ち上げ 0.265 m)を見るカメラの組。 n = 2: 方位 0° と 90°、n = 4: 90° ごと。全部が target(既定 (0, 0, 1.0))を見る。 返り値 [{"pose", "K", "eye", "width", "height"}, …](ballworld.camera_rig と同型)。 · 例: gallery_drive_world_objects, poc_kendama
kendama_world table → table — 床 + けん(kp の技の姿勢 R_ken、持つ所 kp[“grip”] を hand に)+ 穴のある玉 + 糸の世界。原点は床、z 上。 玉は皿胴の糸穴からひもの有効長(kp[“pendulum_length”])だけ下(真下から hang_deg だけ hang_dir 側へ振れた位置 —— 斜め (1, −1) なら方位 0° と 90° の両カメラから横ずれが見える)。p_ball を渡せばそこに置く。 床は 0.25 m の升に割る(1 枚の大きな四角形だとカメラの背後にかかる三角形ごと落ちて床が消える)。 返り値の world[“kendama”] = {"ken", "ball", "string"}(objects の索引)+ "kp"。 · 例: gallery_drive_world_objects, poc_kendama
string_mesh 入力なし → any — 2 点(玉の糸穴 p_ball と皿胴の糸穴 p_cup)を結ぶ細い角柱(4 面 + 両端、8 頂点 12 面、外向き)。断面は 2·radius 角。 両点が一致すると ValueError。 · 例: gallery_drive_world_objects
string_set table → any — 糸 i の両端を (p_ball, p_cup) に置き直す(頂点だけ書き換える)。糸でない物体は ValueError。 · 例: gallery_drive_world_objects
drive / lateral(20)
ackermann_steer_angles any → table — アッカーマンの内外輪の舵角(後車軸の中心の旋回半径 R、ホイールベース L、輪距 t)。 · 例: poc_driving_lateral
bicycle_model_step any → any — 線形 2 輪等価モデルの 1 刻み(古典的な 4 次 Runge–Kutta、刻みの間 δ と u は一定)。 · 例: poc_driving_lateral
clothoid_design 入力なし → table — 直線 → 円(半径 R)を長さ L のクロソイドで繋ぐときの量。 · 例: poc_driving_lateral
clothoid_points 入力なし → table — 曲率が弧長に一次 κ(s) = κ₀ + (κ₁ − κ₀) s / length の曲線(クロソイドの一部。κ₀ = κ₁ なら円弧・直線)の点。 · 例: poc_driving_lateral
curvature_speed_plan any → table — 曲率の列から速度の上限を作り、前向き・後ろ向きの 2 パスで加減速の上限を守る速度計画(古典的な手法)。 · 例: poc_driving_lateral
curve_speed_limit any → any — 片勾配 i・横すべり摩擦係数 f の曲線(半径 R)で外へ滑らない上限速度 v = √(g R (i + f)/(1 − i f)) [m/s]。 · 例: gallery_drive_lateral_env
design_min_radius any → any — 道路構造令の解説 (3) 式の最小曲線半径 R = V² / (127 (i + f)) [m] (V は km/h)。 · 例: gallery_drive_lateral_env
fresnel_integrals any → any — フレネル積分 C(x) = ∫₀ˣ cos(π t²/2) dt、S(x) = ∫₀ˣ sin(π t²/2) dt(奇関数)。 · 例: gallery_drive_lateral_env
friction_circle_usage any → any — 摩擦円の使用率 √(a_x² + a_y²) / (μ g)(1 を超えたら摩擦円の外 = タイヤが路面から受けられる力を超える)。 · 例: poc_driving_lateral
lateral_offset any → table — 点の、折線の経路に沿った弧長 s と横ずれ n(進行方向の左が正)。最も近い区間への射影。 · 例: poc_driving_lateral
offtracking_circle 入力なし → table — 内輪差の過渡(閉形式): 前車軸の中心が半径 R の円に入ってから弧長 s 進んだときの車の姿勢と内側の車輪の半径。 · 例: poc_driving_lateral
pure_pursuit_circle_offset 入力なし → table — 定常円(半径 R)を pure pursuit(後車軸の中心を基準)で追うときの定常の円の半径 ρ と横ずれ ρ − R(外へ正)。 · 例: poc_driving_lateral
pure_pursuit_curvature any → table — pure pursuit: 後車軸の中心(pose = (x, y, ψ)、(N, 3) 可)から経路の上で距離 L_d 先の点を狙う曲率 κ = 2 sin α / L_d。 · 例: poc_driving_lateral
rear_axle_path any → table — 前車軸の中心の折線の軌跡から、すべりなしで引かれる後車軸の中心の軌跡(区間ごとに厳密な追跡曲線)。 · 例: poc_driving_lateral
stanley_steer any → table — Stanley の舵角 δ = ψ_e + atan2(−k e, k_s + v)(前車軸の中心の横ずれ e は経路の左が正、ψ_e = 経路の向き − ψ)。 · 例: gallery_drive_lateral_env
stanley_straight_decay 入力なし → signal — 直線の経路で Stanley(切らない)の前車軸の横ずれ e(t) の閉形式。 · 例: gallery_drive_lateral_env
steady_cornering 入力なし → table — 線形 2 輪等価モデルの定常円旋回(速さ u、旋回半径 R = u/r、左旋回を正)。 · 例: gallery_drive_lateral_env
time_to_line_crossing 入力なし → scalar — TLC: 車(の基準点)が今の曲率のまま円(または直線)を走るとして、車線の境界に届くまでの時間 [s]。 · 例: poc_driving_lateral
turn_maneuver_check table → table — 左折・右折の通り方の判定(道交法 34 条 1・2 項 / 教則 5-7-2)。数値の幅はすべて仮定(SOURCES)。 · 例: poc_driving_lateral
understeer_gradient 入力なし → table — アンダーステア勾配 K = (m/L)(l_r/C_f − l_f/C_r) [rad/(m/s²)] と、特性速度 / 臨界速度。 · 例: poc_driving_lateral
drive / lidar(4)
lidar_scan mesh × table × matrix → table — メッシュ世界 (V, F) に姿勢 T_sensor(world ← sensor)の LiDAR を 1 スイープ撃つ。 · 例: poc_driving_school
lidar_spec 入力なし → table — 回転式 LiDAR の仕様 dict を作る(既定は 32 beam・仰角 −25…+15°・方位 0.2° = 1800 列)。 · 例: poc_driving_school
ray_box_ranges points × points → signal — 原点 origin から方向 dirs (...,3) のレイが軸平行箱に入るまでの距離(slab 法)。 · 例: gallery_drive_city_terrain
ray_plane_range points × points → signal — 原点 origin から方向 dirs (...,3) のレイが平面 ax+by+cz+d=0 に当たるまでの距離。 · 例: poc_table_tennis_bounce
drive / long(13)
-
hill_hold_brake_min scalar → scalar — 坂で止まっていられる最小の制動 [m/s²] = max(0, |
a_creep − g sin θ |
− c_rr g cos θ)(静止摩擦のつり合い)。 · 例: poc_driving_longitudinal |
hill_start_command scalar × scalar × scalar × scalar → any — 坂道発進の指令。t_release までは保持(クリープ + 制動 b_hold)。 · 例: poc_driving_longitudinal
hill_start_rollback scalar × scalar × scalar → table — 上り坂(θ > 0)で止まった車がブレーキを離し、τ 秒後に駆動 a_drive が入るときのずり下がり(空気抵抗なしの閉形式)。 · 例: poc_driving_longitudinal
long_energy_residual table → any — エネルギー収支の残差(単位質量あたり [J/kg]): (½ v² + g z) − (½ v₀² + g z₀ + W_drive − W_brake − W_rr − W_drag)。 · 例: poc_driving_longitudinal
long_params 入力なし → table — 縦の運動のパラメータ(既定値はすべて 仮定。出典はモジュールの docstring)。 · 例: poc_driving_longitudinal, poc_driving_town, poc_driving_traffic, poc_driving_weather
long_simulate scalar × scalar × any → table — 縦の運動方程式を RK4 で積分する(事象の時刻で刻みを切る。モジュールの docstring)。 · 例: poc_driving_longitudinal, poc_driving_town, poc_driving_traffic, poc_driving_weather
plan_command table → any — :func:stop_line_plan を command(t, s, v) にする。t0 より前は before(None = 速さを保つ)、react / cruise は 速さを保つ(駆動 = 坂 + 転がり + 空気抵抗の打ち消し、下りで負なら制動)、brake1 / brake2 は計画の値、止まったら保持 (制動 hold_brake(None = 上限)+ クリープの駆動)。 · 例: poc_driving_longitudinal, poc_driving_weather
road_eval table × scalar → any — 道の縦断を弧長 l で引く: (z, sin θ, cos θ)。road = None(平ら)/ 数値(一定の勾配角 θ [rad]、z = l sin θ)/ :func:road_profile の dict。折れ点の上ではその先の区間の値(右連続)。 · 例: poc_driving_longitudinal
road_profile table → table — 水平距離と高さの折線 (x, z)(drivecourse.course_slope の profile と同じ形)を、路面に沿った弧長 l の縦断にする。 · 例: poc_driving_longitudinal
skill_test_score table → table — 技能試験の減点を集計する(警察庁 丙運発第 12 号 令和 4 年の減点細目)。 · 例: gallery_drive_lateral_env, poc_driving_longitudinal, poc_driving_weather
skill_test_thresholds 入力なし → table — 採点に使う数字(通達には距離・時間の数字が無い。値ごとに出どころを付ける)。 · 例: gallery_drive_lateral_env
stop_line_plan scalar × scalar → table — 知覚した瞬間(時刻 t0、前端から停止線まで dist_to_line、速さ v)から、停止線の margin 手前に止まる 2 段制動 の計画。 · 例: poc_driving_longitudinal, poc_driving_weather
stopping_distance_grade scalar × scalar × scalar → scalar — 停止距離の閉形式 = 空走 v ρ + 制動距離 (1/(2k)) ln(1 + k v²/A)、A = brake + g sin θ + c_rr g cos θ(k = 0 で v²/(2A))。 · 例: poc_driving_longitudinal, poc_driving_weather
drive / motion_io(3)
events_to_frames table → voxel — イベントを時間で n_frames に等分し、画素ごとに極性を足したコマ (T, H, W) にする(ON = +1、OFF = −1)。 · 例: gallery_drive_world_io
read_bvh 入力なし → table — BVH を読み、骨格と全コマの関節の世界座標を返す。 · 例: gallery_drive_world_io
read_events 入力なし → table — イベントカメラのイベント列を読む(.txt / .csv / .npy / .npz)。 · 例: gallery_drive_world_io
drive / ozaki(6)
cross_covariance_reproducible points × points → matrix — Kabsch / ICP の相互共分散 H = (P − P̄)ᵀ (Q − Q̄)(3×3)を、点の順に依らないビットで返す。 · 例: poc_reproducible_icp
fp64_emulation_probe 入力なし → table — cuBLAS の FP64 エミュレーション(CUDA 13.0 Update 2 以降)が、この計算機で使えるかを表で返す。 · 例: poc_reproducible_icp
kabsch_reproducible points × points → table — |R p + t − q| を最小にする剛体の R・t(Kabsch 1976)を、点の順に依らないビットで返す。 · 例: poc_reproducible_icp
matmul_ozaki matrix × matrix → matrix — FP64 の精度の行列積 A @ B を、正確な低精度の部分積から組む(Ozaki-I / Ozaki-II)。 · 例: poc_reproducible_icp
matmul_reproducible matrix × matrix → matrix — ビット単位で再現する FP64 の精度の A @ B(保証できなければ ValueError = fail-closed)。 · 例: poc_reproducible_icp
ozaki_error_bound matrix × matrix × scalar → matrix — matmul_ozaki(A, B, n_slices)(Ozaki-I)の打ち切り誤差の要素ごとの保証上界(行列)。 · 例: poc_reproducible_icp
drive / pass(17)
convex_mirror_image any → table — 凸面鏡の虚像(近軸、配列可)。場面 S064・S130。 · 例: poc_driving_pass
convex_mirror_misjudge any × any → table — 凸面鏡に映った車の距離と速さを平面鏡のつもりで読んだときの見誤り(近軸の閉形式、配列可)。場面 S064・S130。 · 例: poc_driving_pass
crest_safe_speed any → table — 見えている距離の中で止まれる上限の速さ(停止距離の逆関数、閉形式、配列可)。場面 S065。 · 例: poc_driving_pass
crest_sight_distance 入力なし → table — 凸形縦断曲線(放物線)を越える最小の視距(閉形式)。場面 S065・S081(上り坂の頂上付近)。 · 例: poc_driving_pass
hill_meeting_yield 入力なし → table — 坂道の狭い所での行き違い: どちらが譲るか(教則 6-2-1(6)。法の明文なし)。場面 S128。 · 例: gallery_drive_mirrors_crowds
lane_change_follower_decel any → table — 進路を変えた先の後続車が、自車に min_gap より近づかないために要る一定の減速度(閉形式、配列可)。場面 S072。 · 例: poc_driving_pass
lane_change_permitted table → table — 進路変更をしてよいか(条文の判定)。場面 S067・S072・S073。 · 例: poc_driving_pass
mirror_image_side points → table — カーブミラーに映る点が、鏡の中心より左右どちらに見えるか・どちらへ動いて見えるか(平面鏡の閉形式)。場面 S064・S130。 · 例: gallery_drive_mirrors_crowds
mirror_road_coverage 入力なし → table — カーブミラー(凸面の円弧 or 平面)に映る道の範囲(上から見た 2 次元、閉形式)。場面 S064・S130。 · 例: poc_driving_pass
no_overtaking_zones table → table — 道に沿った施設から、30 条の追越し(のための進路変更・側方通過)の禁止区間を作る。場面 S081・S009・S130。 · 例: poc_driving_pass
overtake_permitted table → table — 追越しを始めてよいか(条文と教則の判定)。場面 S077・S078・S079・S080・S081・S083。 · 例: poc_driving_pass
overtake_requirement 入力なし → table — 前車を追い越すのに要る時間・道のりと、対向車が来ない境目の距離(閉形式)。場面 S079・S086・S145(28 条 4 項)。 · 例: poc_driving_pass
overtake_return_gap 入力なし → table — 追い越した前車の 全体がルームミラーに映る ときの車間(自車の後端と前車の前端の間)。場面 S086・S145。 · 例: poc_driving_pass
overtaken_conduct_check table → table — 追い越される側の義務(27 条)。場面 S085。 · 例: poc_driving_pass
roundabout_entry_check table → table — 環状交差点に入ってよいか(37 条の 2 第 1・2 項、35 条の 2)。場面 S102。 · 例: poc_driving_pass
roundabout_signal_check signal × signal → table — 環状交差点の中の合図を採点する(53 条 2・4 項、教則 5-5-1(2))。場面 S069。 · 例: poc_driving_pass
roundabout_signal_point any → table — 環状交差点を出るときの左の合図を始める位置(右回りに進んだ角)。場面 S069。 · 例: poc_driving_pass
drive / pegfail(16)
failure_confusion any × any → table — 混同行列と正答率: 行 = 注入(真)のクラス、列 = 分類。classes の外の名は ValueError(綴り壊し)。 返り: matrix(n, n) int、classes、accuracy、n、per_class_recall(真の各クラスの再現率、無い行は nan)。 · 例: poc_peg_failure_recovery
insertion_episode_summary table → table — 1 走行の記録(:func:pegfail_episode_run の返り、または同じ鍵の dict)を要約: 注入クラス、最初に検出された失敗クラス、 検出の遅れ(真の失敗の始まり failing_onset_tick → 検出の刻、刻 = 10 ms)、回復の回数と成否、最終深さ・最大力。 · 例: poc_peg_failure_recovery
insertion_failure_classify table → table — 署名を表で引く(fail-closed): 当たる行が 1 つならそのクラスと回復、0 なら "unknown"(推測しない)、2 つ以上なら表の 欠陥として ValueError(:func:insertion_failure_validate が通した表では起きない)。 · 例: poc_peg_failure_recovery
insertion_failure_presets table → table — 注入する失敗の既定(各クラス → :func:pegfail_episode_run の引数)。数は Whitney の境目から: missed_hole = ε₀ 2.5 mm(> W + c_r = 1.2 mm)/ wedging = μ 0.8・θ₀ 4.5°(c/μ = 2.76°)/ jamming = θ₀ 3°(μ = 0.3 ではくさびに ならない 7.35° の下)で先端が 4 mm 入ってから搬送台の横目標を傾きの側へ +3.0 mm ずらして保持(手首ばね 600 N/m → F_x ≤ 1.8 N、 ヒンジは先端から 40 mm なので M/(rF_z) が平行四辺形の斜辺を越える。実測: −3.0 mm(反対側)では滑って入る、+1.6 mm では 止まるが比は内側 = unknown)/ blocked_hole = 深さ 6 mm に栓 / wrong_hole = 26 mm 横の囮の穴へ向かう / nominal = ε₀ 0.5 mm・θ₀ 1.5°。 · 例: poc_peg_failure_recovery
insertion_failure_table 入力なし → table — 失敗分類表(データ): 各行 = {cls, when(欄 → 許す値の集合、"*" = 何でも), recovery, basis}。 · 例: poc_peg_failure_recovery
insertion_failure_validate table → table — 表を検証する(fail-closed): 欄の語彙・クラス名・回復名の綴り、全ペアの排他(2 行が同じ署名に当たり得ないか = 全欄で 許す集合が交わる行の組が無い)、到達性(unknown 以外の全クラスに ≥ 1 行)。 · 例: poc_peg_failure_recovery
insertion_recovery_primitive any → table — 回復プリミティブの表(クラス → 動作の記述)。name は表の recovery の語。 · 例: poc_peg_failure_recovery
insertion_signature table × table → table — 連続の観測を表の語彙の署名に離散化する。 · 例: poc_peg_failure_recovery
insertion_stall_detect signal → table — 深さの時系列 [m] から停滞を検出する(各刻 i で depth[i] − depth[i − window] < min_advance なら stalled)。 · 例: poc_peg_failure_recovery
jamming_force_check table × scalar × scalar × scalar → table — 計測した先端の力の比 (F_x/F_z, M/(rF_z)) が Whitney の平行四辺形の内側か(pegsim.jamming_diagram を包み、どの辺に近いか・ どちらの斜辺が今の接触配置に効くかを足す)。 · 例: poc_peg_failure_recovery
jamming_parallelogram_planar table × scalar → table — かじりの平行四辺形を 二点接触の平面静力学から導く(pegsim.jamming_diagram の頂点 = OCW p.34 の値と突き合わせる第 2 経路)。 · 例: poc_peg_failure_recovery
pegfail_scene_mjcf table → any — 失敗注入つきの場面の MJCF 文字列(mujoco 不要): pegsim.peg_scene_mjcf を ElementTree で読み、(i) 手首の力・トルクセンサ (site peg_top = 手首原点、子 body と親の相互作用力)、(ii) blocked_depth [m] なら穴の中にその深さを上面とする栓(円柱)、 (iii) decoy_xy なら囮の穴(壁・面取り・襟を複製して平行移動、名前に decoy_ を付ける。四角い枠は囮と重なるので外す)。 Raises ValueError: 栓の深さが穴の外、囮が目標穴と重なる(中心距離 < 2(R + W) + 1 mm)。 · 例: poc_peg_failure_recovery
tip_force_ratios table × signal × signal × signal → table — 先端の荷重 (F⃗, M⃗) を Whitney の比に: x = F⃗·e_x / F_z、y = M⃗·(e_x × ẑ) / (r F_z)、F_z = −F⃗·ẑ(押し込み正)。 F_z ≤ 1e-6 N なら比は None(割れない)。e_x は水平の単位ベクトル(:func:jamming_force_check の規約)。 Raises ValueError: e_x に水平成分が無い。 · 例: poc_peg_failure_recovery
-
vision_boundary_flip table × signal × scalar → table — 「どこで壊れるか」: 真のずれ ε に標準偏差 σ の計測雑音を足したとき、offset の欄(small/large、境目 W + c_r)が真と反転する 確率を各 ε で数える(numpy だけ)。境目から σ の何倍離れているか(z)と理論値 Φ(− |
z |
) も返す(雑音が正規なら一致する門)。 · 例: poc_peg_failure_recovery |
wedging_risk table × scalar → table — 傾き θ [rad] のくさびの危険度: 境目 c/μ(OCW p.28)に対する比 θ/(c/μ) と、余裕 margin_deg を見た 3 段(safe / near / over)。pegsim.wedging_check を包み、theta_limit_deg・headroom_deg = c/μ − θ を度で足す。 μ = 0 では境目が inf で常に safe。Raises ValueError: θ < 0、margin_deg < 0。 · 例: poc_peg_failure_recovery
wrist_load_from_deflection table × signal × signal × signal × signal × signal → table — 手首ばねのたわみから、支持(+ 重力)がペグに加える荷重を先端まわりで(numpy だけ): F⃗ = −k_t q_slide − m g ẑ、 M⃗_tip = −k_r (q_hinge − rest) + (p_hinge − p_tip) × F⃗_spring + (p_com − p_tip) × F⃗_g。 · 例: poc_peg_failure_recovery
drive / pegsim(18)
camera_world_to_cv matrix → table — MuJoCo のカメラ姿勢(d.cam_xmat 3×3 = 世界でのカメラ軸、d.cam_xpos)を OpenCV / Fullseye の外部パラメータに: X_cv = R X_w + t、R = diag(1, −1, −1) Rwcᵀ、t = −R p(MuJoCo は −Z を見て +Y が上、OpenCV は +Z 前で +Y 下)。 · 例: poc_pegsim_insertion
-
chamfer_capture table → table — 初期の横ずれ ε₀ [m] を面取りが補正なしで吸収できるか: |
ε₀ |
≤ W + c_r(先端の縁が面取り面の上に着地する条件、導出)。 · 例: poc_peg_failure_recovery, poc_pegsim_insertion |
circle_fit_known_radius matrix → table — 半径 r が既知の円を 2-D 点列 (row, col) に当てる(中心だけを Gauss-Newton で解く。部分弧でも安定)。 · 例: poc_pegsim_insertion
contact_state_predict table → table — 真のペグ姿勢(先端中心と軸の向き)から、接触点の数と場所を幾何だけで予測する(接触計算と独立な第 2 実装)。 · 例: poc_pegsim_insertion
coverage_edge_points image2d × image2d × image2d → matrix — 反エイリアスされた境界の明るさ(被覆率)から副画素の縁の点 (u, v) を返す: inside 側の画素 p と 2 画素先が outside の対で、 縁の位置 = p から (−0.5 + f_p + f_q) 画素(f = その画素の inside 側の被覆率 = (I − I_out) / (I_in − I_out))。 · 例: gallery_drive_peg
cylinder_fit_known_radius points → table — 半径 r が既知の円柱を 3-D 点群 (N, 3) に当てる: 軸上の点(軸に垂直な 2 自由度)と軸の向き(2 自由度)を Gauss-Newton で。 · 例: gallery_drive_peg
hole_centre_from_rgbd rgb × image2d × matrix → table — 手首 RGB-D 1 枚から穴(暗い円盤)の中心を 3-D(カメラ座標)で: 板の平面を depth で当て、反エイリアスの縁を平面に持ち上げ、 平面内で円を当てる(:func:measure.fit_circle)。 · 例: gallery_drive_peg
insertion_grid_summary table → table — 成功率の格子を集計する: 行 = {eps_mm, tilt_deg, correct, success} の列から、補正あり/なし × ε₀ × θ₀ の成功率の表と、 「補正なしで全部成功する最大の ε₀」「補正ありの成功数 / 総数」。 · 例: gallery_drive_peg
jamming_diagram table → table — かじり(jamming)の図(OCW p.34): 二点接触の深さ l [m] で、加える力の比 (F_x/F_z, M/(rF_z)) が進める領域の平行四辺形。 · 例: poc_peg_failure_recovery, poc_pegsim_insertion
peg_measure_overlay rgb × matrix × matrix → rgb — 計測の重ね図(numpy だけ): 真値 = 緑の大きな十字、推定 = 赤の小さな十字、円当てはめに使った縁の点 = 黄の点(imagedraw)。 右下に真値の重心まわり 2*crop px 四方(crop は半幅)を zoom 倍にした拡大を貼る(副画素の一致を目で見るため)。 · 例: poc_pegsim_insertion
peg_offset_from_rgbd rgb × image2d × matrix × matrix → table — 手首 RGB-D 1 枚から、穴中心に対するペグ先端の相対ずれ (dx, dy) [m] を世界(搬送台)座標で —— 視覚サーボの観測量。 · 例: poc_peg_failure_recovery, poc_peg_insertion_tactile, poc_pegsim_insertion
peg_params 入力なし → table — ペグと穴の寸法の表: 長さは m、回転剛性は N m/rad、カメラ像は px、画角は deg。 · 例: gallery_drive_peg, poc_peg_failure_recovery, poc_peg_insertion_tactile, poc_pegsim_insertion
peg_scene_mjcf table → any — 場面の MJCF 文字列(mujoco 不要): 穴 = 内接面が半径 R の箱 n_seg 個の環 + 45° の面取りの環 + 口の面の襟 + 四角い枠、 位置制御の搬送台(x, y, z のスライド)に 6 つのばね関節の柔らかい手首、その先にペグ(円柱)。手首カメラは搬送台の 60 mm 後ろ・ 20 mm 上から 45° 下向き、側面カメラは固定。 · 例: poc_pegsim_insertion
peg_synthetic_rgbd table → table — 真値つきの合成 RGB-D(numpy だけ、mujoco 不要): 板 z = 0(灰)、穴の円盤(半径 R + W、黒、4 mm 下の面)、ペグ(半径 r の円柱 + 先端の円盤、橙)を手首カメラ(45° 下向き、MJCF と同じ向き)から解析的にレイキャストする。 · 例: gallery_drive_peg, poc_peg_failure_recovery, poc_peg_insertion_tactile, poc_pegsim_insertion
peg_tip_from_rgbd rgb × image2d × matrix → table — 手首 RGB-D 1 枚からペグ先端の中心を 3-D(カメラ座標)で: ペグの画素 → depth の点群 → PCA の軸 → 既知半径の円柱当てはめ、 先端の軸方向は影の端(副画素、被覆率)を、投影した縁の円の端と一致させる模型で決める。 · 例: gallery_drive_peg
two_point_depth table → scalar — 傾き θ [rad] で二点接触が始まる挿入深さ l₂ [m] (最狭部から先端中心まで)。3 つの模型を名前で選ぶ。 · 例: gallery_drive_peg, poc_peg_insertion_tactile, poc_pegsim_insertion
wedging_check table → table — 二点接触が始まる時点の傾き θ [rad] で、くさび(wedging)が起こりうるか(OCW p.28: θ > c/μ)。 · 例: poc_peg_insertion_tactile, poc_pegsim_insertion
whitney_clearance table → table — Whitney の無次元 clearance と、そこから決まる境目: c = (D − d)/D、c_r = R − r、θ_m = √(2c)、面取りの許容ずれ、くさびの角。 · 例: poc_peg_failure_recovery, poc_pegsim_insertion
drive / pegsym(15)
pegsym_scene_mjcf matrix × matrix → any — 多角形ペグの場面の MJCF 文字列(mujoco 不要): 穴 = 辺ごとに壁の箱(最狭部より下)・45° の面取りの板・明るい襟(口の面 z = 0)、 ペグ = 凸メッシュの角柱(断面 peg_vertices、ペグ系、軸が原点)。搬送台は x・y・z のスライドと yaw のヒンジ(位置制御)、 その先に 6 自由度のばねの手首(傾き k_rot・ねじり k_yaw [N m/rad] は別。把持はねじりに柔らかい)。カメラは 手首(搬送台の 30 mm 横、真下向き)と、穴から station [m] の上向きカメラ(床の面、ペグの端面を下から見る)、 図のための斜め上の固定カメラ side。 箱は自分の辺の外側の半平面にだけあるので、角を越えて伸ばしても穴の中に入らない(凸の穴ならどの形でも同じ作り方)。 Raises ValueError: 多角形が凸でない、面取り < 0、穴の深さ ≤ 面取り、摩擦 < 0、剛性 ≤ 0。 · 例: poc_peg_symmetry_search
plane_topview image2d × matrix × matrix × signal → image2d — 斜めや下からの画像を、世界の平面 z = z を真上から見た図に打ち直す(ホモグラフィ = 各格子点を投影して双線形で引く)。 カメラは世界 → OpenCV カメラの R・t(x_c = R X + t)、内部 K(画素中心が整数の規約)。格子は centre = (x, y) を中心に 一辺 extent [m]、画素 res [m]。列 = +x、行 = −y(北が上)。下から見た画像(鏡像)もこの図では同じ向きになる。カメラの後ろ・ 画像の外の格子点は fill。返り = (S, S) の濃淡(カラーは輝度にする)。 Raises ValueError: 画像が 2-D 濃淡か (H, W, 3/4) でない、K・R が 3×3 でない、t が 3 成分でない、extent ≤ 0、res ≤ 0、S > 4096。 · 例: poc_peg_symmetry_search
polygon_coverage_image matrix → image2d — 凸多角形(画素座標 (col, row) の頂点列)の被覆率の像 0..1((size, width)、反エイリアスは ss × ss の副標本)。真値つきの 合成の部品。Raises ValueError: 凸でない、size < 8、ss < 1。 · 例: poc_peg_symmetry_search
polygon_fit_check matrix × matrix → table — 点群(ペグの頂点、または傾けたペグの射影した頂点)を平行移動だけで凸多角形の穴に入れられるか —— 余裕 m を最大にする線形計画 max m s.t. n_j·(p + t) ≤ h_j − m(全点・全辺)を、3 本の制約が等号になる頂点の列挙で厳密に解く(辺は高々十数本、組はまとめて解く)。 返り fit(m ≥ 0)、margin [m] (負なら最小の食い込み)、t(最適な平行移動 (2,))、active(等号の辺の番号)。 Raises ValueError: 点群が (N ≥ 1, 2) でない・有限でない、穴が凸多角形でない、穴の法線が全方向を囲まない(有界でない)。 · 例: poc_peg_symmetry_search
polygon_offset matrix × scalar → table — 凸多角形の各辺を外へ clearance [m] ずらした多角形(角は尖ったまま = 穴の図面の作り方)。正多角形なら相似拡大で、向きと 対称は変わらない。返り vertices・normals・offsets(n·x ≤ h)。Raises ValueError: 凸でない、clearance < 0 か有限でない、 ずらすと辺が消える(凹みを持つ角は無いので、ここでは起きない形だけを通す)。 · 例: poc_peg_symmetry_search
polygon_peg scalar → table — ペグの断面(反時計回りの頂点列): 正 n 角形(辺心距離 apothem [m]、面 0 の法線が yaw [rad])。cut > 0 なら頂点 0 (面 0 と面 1 の間)を、その頂点の向きを法線とする直線で外接円から cut [m] 内側で落とす —— キー付き(対称は n = 1)。 返り vertices(V, 2)、n(形の名目の n 回対称: キー付きは 1)、apothem、circumradius、yaw、cut。 Raises ValueError: n < 3、apothem ≤ 0、cut < 0 か外接円と内接円の差以上(辺が消える)。 · 例: poc_peg_symmetry_search
polygon_two_point_depth matrix × matrix × scalar → table — 傾けた多角形ペグの二点接触の深さ l₂ [m] (最狭部 z = 0 から先端の中心まで)を厳密に: 深さ l で z ≤ 0 にあるペグの部分は、先端面の 頂点と側面の稜線が z = 0 を切る点の凸包。穴は鉛直な角柱なので、この頂点の水平の射影が平行移動で穴に入る(:func:polygon_fit_check) 間は入り、l を深くすると入らなくなる —— その境を二分法で。tilt_dir = 傾ける水平の向き [rad] (世界系、ペグの断面と同じ系)。 比べる円の式(Whitney、pegsim の 3-D 円柱の厳密式 (2R − r(cos θ + sec θ))/tan θ)を、内接円(r = A、R = A + δ)と外接円 (r = A/cos(π/n)、R = (A + δ)/cos(π/n))で返す(circle_in・circle_out)。正方形を面に平行な軸で傾けた時の小角の極限は Goli ほか 2024 の式 (2.28) φ = (v − v′)/h、すなわち l₂ tan θ → 2δ(goli_small_angle = 2δ/tan θ)。 奇数の n(三角形)は面の向かいが頂点なので、どの向きでも内接円の式より深い。偶数の n は面の法線の向きで内接円の式に一致する (正方形で 1e-11 m)。内接円の側に 0.03 % まで出る組がある(傾き 6°、面から 15°)。 返り l2・circle_in・circle_out・goli_small_angle(δ は辺心距離の差の平均、n は頂点数)。 Raises ValueError: θ ≤ 0 か ≥ 30°、傾けた状態で最狭部に入らない、depth_max まで二点接触しない。 · 例: poc_peg_symmetry_search
polygon_yaw_read image2d → table — 上から見た図(:func:plane_topview、列 = +x・行 = −y)の物体の輪郭(副画素の等値線、:mod:pegtactile と同じ threshold_sub_pix) の複素フーリエ係数から、向きを周期 2π/n を法として読む。n 回対称なら非零の係数は k ≡ 1 (mod n) だけで、 arg(c₁₋ₙ c₁ⁿ⁻¹)/n は始点に依らない(:func:pegtactile.symmetry_order_contour)。n を渡すと検出した n でなくその n の位相を使う (図面で n が分かっている時。実画像の縁の揺れで余分な係数が有意になっても位相は読める)。 polarity = 物体が暗い(“dark”、穴)か明るい(“bright”、ペグの端面)。濃淡は 2 % と 98 % の分位で 0..1 に伸ばしてから 0.5 の等値線。 返り n_detected・n_used・yaw(世界の向き、像の行が −y なので符号を戻す、周期 2π/n_used の代表 [0, P))・centroid_px (row, col)・amps。n_used = 0(円)なら yaw = nan。 Raises ValueError: polarity が不明、像が平ら、輪郭が無い、n < 0。 · 例: poc_peg_symmetry_search
relative_yaw_from_images image2d × image2d × scalar → table — ペグ(上向きカメラ → 先端面の平面に打ち直した図)と穴(手首カメラ → 口の平面の図)の向きの差を、n 回対称の商で: Δ = symmetry_fold(yaw_peg − yaw_hole, n)。どちらも :func:polygon_yaw_read で読み、形ごとの位相の定数(頂点の向きと面の向きの差)は 同じ形どうしの差で消える(穴はペグを外へずらした相似形なので)。キー付き(n = 1)は相似でないので、ずれが小さく残る(門で測る)。 返り delta(ペグを −delta 回せば揃う)、peg・hole(読み)、n。 Raises ValueError: n < 1、読みが失敗した(:func:polygon_yaw_read の例外)。 · 例: poc_peg_symmetry_search
rotation_search_plan scalar × scalar → table — 回転の探索の候補(ペグに加える yaw の補正): 1 周期 P = 2π/n_sym を M = ⌈P/(2 phi_cap)⌉ 等分した刻み s = P/M(≤ 2 phi_cap なので 捕まえる窓が隙間なく覆う)。order = “alternate”(推定値から 0, +s, −s, +2s, …)か “sweep”(0, s, 2s, …)。n_sym = 0(円)は 1 候補。 返り angles(M,)、step、period、M。 Raises ValueError: n_sym < 0、phi_cap ≤ 0、order が不明。 · 例: poc_peg_symmetry_search
-
rotation_window scalar × scalar × scalar → table — ペグが穴(面取りがあれば口)に入る回転の窓。正 n 角形の閉形式(導出): 中心を揃えた時、頂点は面の法線から π/n ∓ φ の向きにあり、 最も外へ出る頂点の法線方向の長さ a cos(π/n − |
φ |
) が A + δ(+ W)以下なら入る: φ = π/n − arccos(x)、x = (A + δ + W) cos(π/n)/A(x ≥ 1 なら窓は半周期 π/n いっぱい)。 arccos は 1 の近くで丸めの床があるので atan2(√(1 − x²), x) で書く。peg_vertices・hole_vertices を渡すと、線形計画 (:func:polygon_fit_check、平行移動も自由)の二分法で正・負の向きの窓も測る(第 2 実装。キー付きはこちらだけ)。 返り phi_fit(口でなく最狭部)・phi_cap(面取りの口)・period = 2π/n、M = ⌈period/(2 cap)⌉ (cap は mu 指定時 phi_eff、それ以外は有限な phi_cap、または lp の最小窓)、 lp(plus/minus: 頂点を渡した時、口に入る窓の両端 = 0 を含む連結な区間。走査は半周期を 360 刻み、端は二分法)。 · 例: poc_peg_symmetry_search |
-
search_expected_tries scalar × scalar → table — 回転の探索の期待試行回数(未知の向きの誤差 e が 1 周期に一様のとき、厳密)。候補 c_k(:func:rotation_search_plan)で k 回目に 入るのは e が [c_k − φ, c_k + φ] (周期 P)に初めて入った時なので E = Σ_k (1 − |
∪_{i<k} I_i |
/P)。計算は区間の端で円周を割り、 小区間ごとに最初に覆う候補の番号を数える(同じ値、O(M²) のベクトル演算)。刻みが ちょうど 2φ なら E = (M + 1)/2(closed)。対称を知らない探索(周期 2π、M₁ = ⌈π/φ⌉)との比 ratio_vs_blind → 1/n。 estimate_sigma [rad] を渡すと、e が推定値のまわりに標準偏差 σ の正規(周期に巻いたもの)で、”alternate” の順の期待回数も返す (expected_with_estimate、数値積分 4,096 点)。返り expected・closed・M・blind_expected・ratio_vs_blind。 Raises ValueError: n_sym < 1、phi_cap ≤ 0、sigma ≤ 0。 · 例: poc_peg_symmetry_search |
spiral_expected_tries matrix × scalar × scalar → table — 横ずれが半径 rho の円板に一様のとき、点列 points を順に試して初めて(距離 ≤ capture)捕まえるまでの期待試行回数。 measured = 円板内の格子(grid × grid、円の外は捨てる)の平均。closed = 掃いた面積の近似: k 点で面積 k·p·s を掃くので、半径 r に 達するのは k = πr²/(ps)、r が円板に一様なら E = πρ²/(2ps) + 1/2(p・s は点列から推定: s = 隣の点の距離の中央値、p = 外周の点の半径の 巻きあたりの増分)。どの点でも捕まらない格子点があれば uncovered > 0(覆いの穴)。 Raises ValueError: 点が (N ≥ 3, 2) でない、capture・rho ≤ 0、grid < 11。 · 例: poc_peg_symmetry_search
spiral_search_points scalar × scalar × scalar → table — 横ずれの探索点: Archimedes のらせん r = p φ/(2π) を弧長 step [m] ごとに(中心から)、半径 r_max まで。隣の巻きとの間隔 = pitch。面取りが捕まえる半径を c とすると、隣の巻きの間の点の最悪距離 sqrt((pitch/2)^2 + (step/2)^2) が c 以下なら覆える。この値を worst_gap で返す。返り points(N, 2)、worst_gap、n。 Raises ValueError: pitch・step・r_max ≤ 0、点が 200,000 を超える。 · 例: poc_peg_symmetry_search
symmetry_fold scalar × scalar → scalar — 角を n 回対称の商 SO(2)/C_n の代表 (−π/n, π/n] に畳む(n = 1 は (−π, π]、n = 0 = 円は 0)。群の恒等式 symmetry_fold(α + 2πk/n, n) = symmetry_fold(α, n) が門。Raises ValueError: n < 0、角が有限でない。 · 例: poc_peg_symmetry_search
drive / pegtactile(19)
contact_candidates table × signal × signal → table — 単一接触の候補点(世界系)と、その点が幾何的に触れうるかの印。tip_rim = 先端の縁の円(半径 r、軸に垂直)で、縁の点が 壁(最狭部より深い: 半径 ≥ R − tol)か面取り面(半径 ≥ R + (W − 深さ) − tol)に届くものだけ有効。mouth = 穴の最狭部の縁の円 (半径 R、z = −W)で、胴の表面が通る(軸の直線からの距離が r ± tol、先端が最狭部より深い)ものだけ有効。 候補を絞らないと、二点接触の合力の作用線が「壁に触れていない側の先端の縁」を通る偶然を一点と読む(試作のくさびで実測)。 tol は MuJoCo の柔らかい接触のめり込みと 36 角形の壁(頂点で +0.02 mm)ぶん。返り tip_rim・rim_ok・mouth・ mouth_ok・depth。Raises ValueError: tip・axis が有限の 3 成分でない、n_az < 8、tol < 0。 · 例: gallery_drive_peg
contact_state_from_wrench table × signal × signal × signal × signal × signal → table — 接触レンチ(ペグが穴から受ける F と把持点 g まわりの M、世界系)→ 接触状態(学習なしの規則)。 · 例: poc_peg_insertion_tactile
equivariance_check any × any × signal × scalar × signal → table — 同変性の門の部品: 形を角 θ だけ回して描き(render(θ) → 画像)、知覚 op(op(画像) → (row, col, 向き))の答えが群の作用 どおりに変わるか。期待 = 位置は centre = (row, col) まわりに θ 回る、向きは θ 進む(mod 2π/n、n = 0 なら向きは比べない)。 返り pos_err_px(最大)、ang_err_deg(最大、mod 2π/n の最短距離、比べなければ nan)、rows(角ごと)。 Raises ValueError: render・op が呼べない、角が 1 つも無い・有限でない、n < 0、centre が 2 成分でない。 · 例: poc_peg_insertion_tactile
-
friction_from_single_contact signal × text × any × signal → table — 一点接触で滑っている間の接触力から壁の摩擦係数(滑りの間だけ Coulomb の限界に張り付く、固着中は下限)。 先端の縁が壁(where="tip")なら法線 = 水平(穴の中心へ)、摩擦 = 鉛直 → μ̂ = |
F_z |
/ |
F_水平 |
。胴が最狭部の縁("mouth")なら 法線 = 軸に垂直、摩擦 = 軸方向 → μ̂ = |
F·a |
/ |
F_⊥ |
。chamfer なら 45° の面取り面の上(法線 = (−r̂, 1)/√2、c = 接触点が要る)。 "none" は None。返り mu(None 可)。Raises ValueError: where が語彙の外、F・axis が有限の 3 成分でない、面取りで c が無い。 · 例: poc_peg_insertion_tactile |
pad_context table → table — 膜の合成と読みで 1 回だけ作る道具: 画素中心の格子 (X, Y)、Cerruti 核、3 色の光源、無荷重の膜の背景とマーカーの基準像。 · 例: gallery_drive_soil_tactile, poc_knife_tactile_toughness, poc_peg_insertion_tactile, poc_tactile_dipole_torque
pad_loads_to_peg_wrench scalar × signal × scalar × signal × table → table — :func:peg_wrench_to_pad_loads の逆: 2 パッドの (P, q) と膜が受けるねじり(パッド 1 枚あたり、グリッパ x まわり)→ パッドが ペグに加えるレンチ(グリッパ系、把持点まわり)と把持力。ペグへのねじり = −2·torsion。返り F・M(3,)、grip = (N_R + N_L)/2。 Raises ValueError: q が有限の 2 成分でない、P か torsion が有限でない。 · 例: poc_peg_insertion_tactile
-
pad_marker_displacement scalar × signal × table → table — 膜の表面変位をマーカー位置で(閉形式 + Cerruti 畳み込み): 向き φ のせん断 |
q |
は x 向きの Mindlin 場を φ だけ回したもの u(p) = R(φ) u_x(R(−φ)p)(核は等方な半空間なので回転で閉じる)、法線荷重の半径変位 ūr(Johnson 式 3.41b)とねじりの場を足す。 ねじりの場は torsion_model="partial_slip"(既定、2026-10-06 から)なら部分滑り(:func:cuttouch.torsion_partial_slip の数値解、 縁の環から滑る)、"no_slip" なら 0.4.0 までの無滑りの場(:func:tactorque.torsion_stick_field)。ねじりが全滑りを超えるときは、 膜はそれ以上のねじりを運べないので表の最後の行(固着円が環 1 本)の場で描き、torsion_slipping の印を立てる。pts はマーカー中心 (px、省略時は ctx の基準位置)。返り u_m(N, 2)[m]、hz・mp(Hertz と Mindlin の表)、phi・Q・torsion・ torsion_model・torsion_ratio・torsion_slipping。全滑り( |
q |
≥ μP)は mp['slipping'] の印(場は c = 0)。 Raises ValueError: P ≤ 0(パッドが離れている)、q が有限の 2 成分でない、torsion_model の綴り違い。 · 例: gallery_drive_soil_tactile, poc_knife_tactile_toughness |
pad_params 入力なし → table — 指先パッドの表: ドームの半径 R、ゲルの E・ν、パッドとペグの摩擦 μ、把持力 G₀ [N]、指の半間隔 w(ペグの平取りの半幅)、 把持点のペグ上端からの距離、膜カメラの視野と画素数、マーカー(ピッチ・半径 [px]・濃さ)、ペグの質量と重心(pegfail の既定と同じ)。 · 例: gallery_drive_soil_tactile, poc_knife_tactile_toughness, poc_peg_insertion_tactile, poc_tactile_dipole_torque
-
pad_shear_asymmetry signal × signal → table — 2 パッドの膜のせん断を共通成分(= 軸方向の力、F_z/2 の向き)と差分(= 偶力、M/(2w))に分ける: 共通 = (q_R + q_L)/2、 差分 = (q_R − q_L)/2。ratio_v = |
差分_v |
/ ( |
共通_v |
+ |
差分_v |
)(0 = 同じ向き、1 = 純粋な偶力)、opposite_v = v 成分の 符号が左右で逆か。Raises ValueError: 有限の 2 成分でない。 · 例: gallery_drive_peg |
pad_tactile_frame scalar × signal × table → table — パッド 1 枚の合成像: Hertz 押し込みの陰影(:func:tacsim.membrane_render_rgb)+ 変位で中心を移したマーカー (:func:tacslip.membrane_render_markers、補間で歪めない)。noise は画素の正規雑音の σ。 返り rgb(マーカー入り、(n, n, 3))、shading(マーカー無し = 力の読み取り用、実機はマーカーの除去が要る)、pts (マーカー中心の真値 [px])、truth(P・q・φ・Q・c/a・滑りの印・a・ねじり・ねじりの模型と全滑りの印)。ねじりの場の模型は torsion_model(既定 "partial_slip"、:func:pad_marker_displacement)。Raises ValueError: P ≤ 0、noise < 0、綴り違い。 · 例: poc_peg_insertion_tactile
pad_tactile_read table × table → table — パッド 1 枚の像 → (P̂, q̂, ねじり)。 · 例: poc_knife_tactile_toughness, poc_peg_insertion_tactile
peg_wrench_to_pad_loads signal × signal × table → table — 2 つのパッドがペグに加えるレンチ(グリッパ系、把持点まわり)→ 各パッドの (法線力 P、膜が受けるせん断 q = (q_u, q_v))。 · 例: poc_knife_tactile_toughness, poc_peg_insertion_tactile
stall_verdict table × scalar × any → table — 二点接触で止まった時の Whitney の判定(OCW p.28): θ > c/μ̂ ならくさび(力を抜いても抜けない側)、以下ならかじり(力の向きで 解ける)。c = (R − r)/R。μ̂ は同じ挿入の滑りの区間で触覚から読んだ値(:func:friction_from_single_contact)、None か ≤ 0 なら 推測せず "unknown"。返り verdict(“wedging” / “jamming” / “unknown”)・theta_limit。Raises ValueError: θ が有限でないか負。 · 例: poc_peg_insertion_tactile
symmetric_peg_shape text → image2d — ペグの断面(真値つきの合成、反エイリアスの被覆率 0..1、(size, size)): 円・正三角形・正方形・正六角形(外接円半径 radius [px])・キー付きの円(D カット: 円の一部を弦で切る、n = 1)。angle [rad] だけ形を回して描く(画像を回すと補間が入る)。 centre = (col, row)、ss = 画素あたりの副標本の 1 辺。Raises ValueError: 未知の形、size < 16、radius ≤ 0、ss < 1。 · 例: poc_peg_insertion_tactile
-
symmetry_order_contour matrix → table — 閉輪郭 (N, 2) = (row, col) の複素フーリエ係数(:func:fourierdesc.contour_fourier_complex、弧長で打ち直し、±K 次)から n 回対称の 次数を読む: n 回対称なら非零の係数は k ≡ 1 (mod n) だけ。有意( |
c_k |
> rel· |
c_1 |
、k ≠ 0, 1)な k の (k − 1) の最大公約数が n。 有意な k が無ければ円(n = 0 = 連続)。向き α̂ = arg(c₁₋ₙ c₁ⁿ⁻¹)/n(始点の取り方に依らない不変量、mod 2π/n)。n = 1 は c₂ c₁⁻² から α̂ = −arg(·) —— k = −1(振幅は 3 倍)は形ごとの定数位相が違い、枝(α / α + π)を参照なしに決められない(試作で 180° 取り違えた)。返り n・angle(rad、n = 0 は nan)・amps(k → |
c_k |
/ |
c_1 |
)・sig・centroid(c₀ = (row, col))。 2 次モーメントの向きは n ≥ 3 で慣性が等方になり使えない(PoC の罠の門)。Raises ValueError: 輪郭が (N ≥ 8, 2) でない、K < 6。 · 例: poc_peg_insertion_tactile |
two_point_forces table × signal × signal × signal × signal × signal → table — 二点接触(Whitney)のレンチを 2 つの接触力と壁の摩擦 μ に分解する(平面、両点が下へ滑る Coulomb の仮定)。 · 例: poc_peg_insertion_tactile
whitney_wrench table × text × scalar × scalar × scalar × scalar → table — 閉形式の接触レンチ(Whitney の準静的な平面、真値つきの合成): 傾き θ(軸の上端が +x へ)・先端深さ depth(口の面から)の ペグに、state = "one_point"(先端の縁が −x の壁)/ "mouth"(胴が +x の最狭部の縁)/ "two_point"(両方)で、法線力 fn_tip・fn_mouth と下へ滑る Coulomb 摩擦 μ を与える。二点は depth = W + l₂(θ) で胴も縁に触れる(閉形式)。g は把持点 (省略時は先端から軸に沿って ペグ長 − 8 mm)。返り F・M_g(把持点まわり)・g・tip・axis・points。 Raises ValueError: state が語彙の外、θ が (0, π/2) の外、depth・μ・法線力が有限でないか負。 · 例: gallery_drive_peg, poc_peg_insertion_tactile
wrist_deflection_from_rgbd rgb × image2d × matrix × matrix × signal × signal × scalar → table — 手首 RGB-D 1 枚から手首の並進たわみと傾き: ペグの画素(pegsim の色分類)→ depth の点群 → PCA の軸 → 既知半径の円柱当てはめ (:func:pegsim.cylinder_fit_known_radius)→ 世界系の軸の直線 → 搬送台の系(エンコーダで既知の位置 carriage_pos を引く)で ヒンジの高さ z = hinge_z を通る点 = (Δx, Δy)。軸の向きから傾き (θ_x, θ_y) を atan2 で。円柱の軸方向の位置は見えないので Δz は出さない(正直に: 手首の z 圧縮は k̂ と触覚の F_z で補う、:func:pegtactile_process_episode)。 返り dx・dy・axis・tilt_x・tilt_y・rms_cyl・n_pts。 Raises ValueError: 形が合わない、ペグの画素が 50 未満(見えない)。 · 例: gallery_drive_peg
wrist_stiffness_fit signal × signal → table — 手首のたわみ Δx(手首カメラ)と、ペグが受ける接触力の同じ成分 F から k = Σ FΔx / ΣΔx²(原点を通る最小二乗、準静的な釣り合い F_contact + F_spring ≈ 0 ⇒ F_contact = kΔx)。回転(角と モーメント)にも同じ式で使える。返り k・r2・rms_N・n・span。 Raises ValueError: 点が 3 未満、形が違う、有限でない、Δx の幅が min_span 未満(悪条件: 動いていないばねの k は決まらない)。 · 例: poc_peg_insertion_tactile
drive / polish(13)
band_width_profile image2d × scalar × scalar → table — 直線の一筆(along の向き)で拭けた帯の幅を、帯に直交する線ごとに副画素で読む: しきい値を最初に越える所と最後に越える所を 隣の画素との線形補間で求め、その差 × res。返り widths(線ごと、読めない線は NaN)、centres(帯の中心の位置 [m]、 地図の座標)、valid、median。帯が 1 本である前提(複数の帯は外側どうしの幅になる)。 Raises ValueError: 画像の検査、res ≤ 0、along が x / y でない、しきい値が非有限。 · 例: poc_polish_wipe_measure
coat_image image2d × scalar → image2d — 除去の深さの地図 → 汚れ(膜)の残った板を真上から撮った画像 [0, 1]。残った厚さ t = clip(h0 − h, 0, h0)、明るさ I = bare · exp(−τ t/h0)(Beer–Lambert、τ = optical_depth は膜全体の光学的厚さ)+ 正規の雑音 noise。 Raises ValueError: 地図が 2-D でない・非有限、coat ≤ 0、τ ≤ 0、bare が (0, 1] の外、noise < 0。 · 例: poc_polish_wipe_measure
coat_thickness_from_image image2d × scalar → image2d — :func:coat_image の逆: t = h0 ln(bare/I)/τ を [0, h0] に切る。Raises ValueError: 画像の検査、数の検査。 · 例: poc_polish_wipe_measure
polish_scene_mjcf scalar → any — 平らな板(z = 0 の平面)の上で、円柱の工具(半径 radius、厚さ thickness、質量 mass)を x・y・z の 3 本の直動の 関節で動かす MJCF。z は位置サーボ(ゲイン k_z [N/m] = 手首の押し付けのばね)、x・y は硬いサーボ k_xy。重力あり。 ばねの閉形式: 工具の底が板に載っている時の法線力 N = m g + k_z (q_surface − q_cmd)(q_surface = 底が z = 0 に来る関節値)。 接触は硬めに(solref の時定数 = 4 × timestep、solimp 0.99)して、めり込みを ばねの縮みより十分小さくする(既定の柔らかい接触では 質量 0.05 kg・5 N で 0.7 mm めり込み、手首のばねと直列になって力が 6 % 小さく出た —— 実測)。摩擦の錐は楕円(elliptic)。 この設定では、硬い手首(20 kN/m)で 0.1〜0.36 mm めり込んで力が 17 % 小さく出た(摩擦 0 でも同じ、実測)。 Raises ValueError: 数の検査。 · 例: poc_polish_wipe_measure
-
preston_coefficient_fit image2d × image2d → table — 深さの地図 = k_p × 滞在の地図(dwell_map = k_p = 1 で積分した ∫ p |
v_rel |
dt [Pa·m])を最小二乗で解き、Preston 係数を 返す。原点を通す当てはめ k_p と、切片つき k_p_affine / offset、r2、rms_residual、n。mask が無ければ 滞在が最大の 5 % を超える画素。Raises ValueError: 形が違う・非有限、画素が 3 未満、滞在が 0。 · 例: poc_polish_wipe_measure |
preston_pressure_kernel scalar × scalar × scalar → image2d — 工具の下の圧力 [Pa] を画素中心で標本化した窓(奇数 × 奇数、中心の画素が工具の中心)。平板は円の内側で一様 F/(πa²)、 Hertz は p0 √(1 − r²/a²)(radius = 球の半径 R、estar が要る)。normalize=True なら Σ p · res² = F に合わせる (画素で数えた円の面積の誤差を消す。FFT の畳み込みで体積を保つため)。 Raises ValueError: 力・半径・画素が正でない、kind が不明、Hertz で estar が無い、接触半径が 1 画素より小さい。 · 例: poc_polish_wipe_measure
-
preston_removal_map matrix × scalar × scalar × scalar → image2d — 軌跡と押す力から、Preston の式 dh/dt = k_p p |
v_rel |
を積分した除去の深さの地図 [m] (形 shape、画素 res)。 · 例: poc_polish_wipe_measure |
-
preston_track_profile signal × scalar × scalar × scalar → signal — 長い直線の一筆(+x へ進む)の断面の除去の深さ h(y) [m] (y = 進む向きの左が正の横ずれ、y と同じ形)。閉形式: 平板 2 k_p p √(a² − y²)、Hertz k_p (E*/R)(a² − y²)(a は力から Hertz で)、回る平板(spin = ω、speed = v が要る) (k_p p / v)[c √(b² + ω²c²) + (b²/ω) asinh(ωc/ |
b |
)] (c = √(a² − y²)、b = v − ωy)。 |
y |
≥ a は 0。 Raises ValueError: 数の検査、回る時に速さが無い、Hertz で回す(閉形式が無い)。 · 例: poc_polish_wipe_measure |
raster_wipe_area scalar × scalar × scalar × scalar → table — 半径 radius の工具で、長さ length の平行な一筆(+x へ、間隔 pitch で +y へ並べ、一筆ごとに持ち上げて戻る)を n_strokes 本引いた時、工具が触れた面積の閉形式: (2a + (N − 1) min(s, 2a)) L + N π a² − (N − 1) lens(s)。 返り area、rect_area、disc_union_area、lens、overlap_saving(N 本の和 − 面積)、path((M, 2)、NaN で 区切った軌跡、step があれば各一筆をその刻みの点列に)。Raises ValueError: 数の検査、n_strokes < 1、面積が溢れる、 一筆の点が 1e6 を超える。 · 例: poc_polish_wipe_measure
removal_depth_from_heights image2d × image2d → image2d — 磨く前と後の高さ図(同じ格子に置かれていること)から削れた深さ [高さの単位、正 = 削れた]。後の図は載せ直しで傾きと高さが 変わるので、差 z_before − z_after から「触れていない所」(ref_mask、無ければ外周の frame の割合の枠)で最小二乗の平面を 引く。Raises ValueError: 形が違う・2-D でない・非有限、参照の画素が 3 未満、frame が (0, 0.5) の外。 · 例: poc_polish_wipe_measure
winkler_polish_run image2d × scalar × scalar × scalar × scalar × scalar → table — 弾性床(Winkler)のパッドを平均圧 pressure で押し、相対速度 speed で磨いた時の表面の高さ図 z の時間発展。 各刻みでパッドの面の高さ z_t を Σ k_w max(0, z − z_t) = N p̄ から解き(当たっている所だけが圧を受ける)、Preston の式で z ← z − k_p v k_w max(0, z − z_t) Δt(陽解法、c Δt ≤ 0.01、c = k_p k_w v)。 返り z(最後)、t・rms(平均からのずれの rms、形の除去なし)・mean・contact(当たっている割合)を n_record 点、rate_full_contact = c(全面が当たる間 rms は exp(−c t) で減る —— 導出、この関数は使わない)、dt、 steps。Raises ValueError: z の検査、数の検査、c Δt > 0.01。 · 例: poc_polish_wipe_measure
wipe_band_width scalar × scalar × scalar × scalar → table — 厚さ coat の膜を回らない工具の直線の一筆で拭いた時、膜が消える帯の幅(閉形式)。返り width(0 なら拭けない)、 half_width、force_min(帯ができ始める力)、centre_depth(中心の除去の深さ)、a(接触半径)。 平板: D = 2 a k_p p、半幅 a √(1 − (h0/D)²)、F_min = π a h0/(2 k_p)。Hertz: D = k_p E* a²/R、半幅 √(a² − h0 R/(k_p E))、 F_min = (4E/3R)(h0 R/(k_p E*))^{3/2}。速さに依らない(回らない時)。Raises ValueError: 数の検査。 · 例: poc_polish_wipe_measure
wipe_coverage image2d × scalar → table — 拭けた所(明るい = 膜が消えた所)の面積を画像から読む。2 値化と連結成分は detect.segment_objects(Otsu が既定)。 返り area(拭けた画素 × res² [m²])、fraction、largest_area、n_regions、mask、threshold(Otsu の しきい値 = 拭けた側の最小と残った側の最大の中点で推定)、coat を渡せば residual_at_threshold(しきい値の明るさが意味する 残った膜の厚さ —— 読んだ帯は「除去 ≥ h0 − この厚さ」の所)。Raises ValueError: 画像の検査、res ≤ 0、拭けた所も残った所も 無い(しきい値が決まらない)。 · 例: poc_polish_wipe_measure
drive / polygrav(2)
polyhedron_clip_halfspace any × any × any → any — 閉じたメッシュを平面で切り、(x − point)·normal ≥ 0 の側を閉じた立体として返す → (vertices, faces)。 · 例: itokawa_gravity_tour
polyhedron_gravity any × points → table — 一様密度の閉じた多面体が観測点に作る重力(Werner & Scheeres 1997 の厳密な式)。 · 例: itokawa_gravity_tour
drive / puck(26)
fivebar_fk signal × table → any — 順運動学: 関節角 (q₁, q₂)(各腕の近位リンクの x 軸からの角)→ 先端 E。肘 Bᵢ = Aᵢ + l₁(cos qᵢ, sin qᵢ)、 E = 円(B₁, l₂) ∩ 円(B₂, l₂) の “forward”(x が大きい側)か “back”。返り値 {"E", "B1", "B2"}、交わらなければ None。 · 例: poc_air_hockey_intercept
fivebar_ik signal × table → any — 逆運動学: 先端 E → (q₁, q₂)。腕 i の肘 = 円(Aᵢ, l₁) ∩ 円(E, l₂)、”out” は肘が外側(腕 1 は −y 側、腕 2 は +y 側)、 “in” はその逆。届かなければ None(fail-closed)。FK∘IK = 恒等になる領域が作業域(:func:fivebar_workspace)。 · 例: poc_air_hockey_intercept
fivebar_link 入力なし → table — 平面 5 節リンク(2 本の 2 リンク腕の先端を 1 点で繋ぐ): 根元 A₁ = base + (0, −d/2)、A₂ = base + (0, +d/2)、 近位 l₁・遠位 l₂、前方 = +x。数は 仮定(IROS 2024 の実機の寸法は原文を読めていない)。返り値 dict(table sort)。 · 例: poc_air_hockey_intercept
fivebar_reach_interval table × scalar → table — 守備線 x = x_line 上で届く y の区間(格子で、FK∘IK 往復つき)。{"y_lo","y_hi","ok"}。 · 例: poc_air_hockey_intercept
fivebar_trajectory signal × table × signal → matrix — 計画の関節軌道 q(t): t_now から t_move の間は一定角速度、着いたら止まる。(N,2)。 · 例: poc_air_hockey_intercept
fivebar_workspace table → table — 作業域: 格子の各点で IK が解けて FK∘IK が tol で戻る所(枝 out/forward で矛盾しない所だけを「届く」とする)。 返り値 {"xs","ys","mask","area","x_max","x_min"}(x_max = 届く最前の x)。 · 例: poc_air_hockey_intercept
puck_camera table → table — 真上から見た合成カメラ: 台を等倍率で画素へ写すホモグラフィ(アフィン)。 col = (x + x_half + margin)·s、row = (y_half + margin − y)·s。返り値 {"H" world→(col,row), "Hinv", "shape", "px_per_m", "margin", "table"}。 · 例: gallery_drive_ballistics, poc_air_hockey_intercept
puck_crossing_point table × scalar → any — 予測経路が守備線 x = x_line を最初に横切る時刻と場所(閉形式: 区間ごとに d(τ)·uₓ = 必要距離 を解く)。 · 例: poc_air_hockey_intercept
puck_detect image2d × table → any — :func:balltrack.ball_detect の facade: 真上のコマから円盤を 1 つ取り、ホモグラフィで台の平面 (x, y) [m] に写す。 · 例: poc_air_hockey_intercept
puck_mirror_path signal × signal × table × scalar → signal — 鏡映法(摩擦なし・e = kₜ = 1 専用): 直線 p₀ + v₀ t を壁の格子で折り返した位置を返す(第 2 実装、門の相手)。 ゴールは無視(壁として扱う)。返り値 = 終端位置 (2,)。 · 例: poc_air_hockey_intercept
puck_mu_from_decel signal × matrix → table — 向きに沿った距離 s(t) に二次式を当て、a = 2c₂ から μ = −a/g(Coulomb の等減速)。{"mu", "a", "v0", "resid_rms"}。N < 4 は ValueError。 · 例: poc_air_hockey_intercept
puck_pinhole_camera table × scalar × scalar × signal → table — 真上の針穴カメラ(位置 (0, 0, h)、−z を見る、up = +y、MuJoCo のカメラ規約)をホモグラフィに: col = W/2 + f x/h、 row = H/2 − f y/h、f = (H/2)/tan(fovy/2)。パック上面の高さ(≈ 0.02 m)は無視(視差 h に対して 1 % 強、残差は門で測る)。 shape = (H, W)。返り値は :func:puck_camera と同じ形。 · 例: gallery_drive_ballistics, poc_air_hockey_intercept
puck_pixel_to_world table × matrix → matrix — 画素 (col, row) (N,2) → world (N,2)(:func:calib.image_to_world_plane に逆行列を渡す)。 · 例: gallery_drive_ballistics
puck_render_frame table × signal → image2d — 真上の 1 コマを合成(float (H,W)、0〜1): 白い台・灰色の壁・暗いパック(1 次の反エイリアス)。 · 例: poc_air_hockey_intercept
puck_restitution_from_wall signal × matrix × table → table — 壁で跳ねた軌跡から e(法線)と kₜ(接線): 向きが最も変わるコマで前後に分け、両側を :func:puck_velocity_estimate で 衝突時刻へ外挿。壁は衝突点に最も近い壁。{"e", "kt", "t_hit", "wall", "n_before", "n_after", "v_in", "v_out"}。両側 3 点未満は ValueError。 · 例: poc_air_hockey_intercept
puck_scene_mjcf table → any — 自前の最小 MJCF(Coulomb 版、mujoco 不要): 摩擦のある平面に円柱のパック(自由関節)、4 枚の壁(箱)、真上カメラ。 Challenge の台は粘性減衰なので、Coulomb の等減速を MuJoCo で確かめるにはこちらを使う。壁の反発は軟接触で e は測る。 · 例: poc_air_hockey_intercept
puck_slide_predict signal × signal × table × scalar → table — パックの経路を閉形式で繋ぐ: 区間(壁から壁)ごとに向き一定・等減速、壁で :func:puck_wall_bounce。 · 例: poc_air_hockey_intercept
puck_state_at table × signal → table — :func:puck_slide_predict の経路上の位置と速度を時刻 t(スカラーか (N,))で。終端より後は終端の状態のまま(位置は動かない、速度は終端の値 = 止まっていれば 0)。 返り値 {"p" (N,2), "v" (N,2)}。 · 例: poc_air_hockey_intercept
puck_stop_distance scalar × table → scalar — 停止距離 v₀²/(2μg)(:func:ballistics.slide_stop_distance と同じ式、こちらは table から μ・g を取る)。 · 例: poc_air_hockey_intercept
puck_synth_frames table × table × signal × signal → table — 合成の連続コマと真値: 閉形式の経路(:func:puck_slide_predict)を fps で標本化し :func:puck_render_frame で描く。 · 例: poc_air_hockey_intercept
puck_table 入力なし → table — 台とパックの数(既定は Robot Air Hockey Challenge の table.xml から読んだ値、MIT、arXiv 2411.05718)。 · 例: gallery_drive_ballistics, poc_air_hockey_intercept
puck_track any × table → table — コマ列 → コマごとの候補 → :func:balltrack.ball_track(等速予測で繋ぐ、max_jump_px 超えは落とす)→ world 座標。 · 例: poc_air_hockey_intercept
puck_velocity_estimate signal × matrix × table → table — N 点の位置から速度を最小二乗で: 向き û を固定した等減速模型 p(τ) = p_ref + v_ref τ − ½ μg τ² û(τ = t − t_ref)。 · 例: poc_air_hockey_intercept
puck_wall_bounce signal × signal × scalar × scalar → table — 壁との衝突: 法線成分 vₙ’ = −e vₙ、接線成分 vₜ’ = kₜ vₜ(e = 法線の反発係数、kₜ = 接線の保持率 = 接線の反発係数)。 · 例: poc_air_hockey_intercept
puck_world_to_pixel table × matrix → matrix — world (N,2) → 画素 (col, row) (N,2)(:func:calib.image_to_world_plane に H を渡す)。 · 例: gallery_drive_ballistics, poc_air_hockey_intercept
-
striker_plan any × signal × table → table — 打点計画(規則): 予測の交点へ IK で関節角を出し、各サーボを一定角速度 ≤ ω_max で動かす。所要 = max |
Δq |
/ω_max。 交点の到着より先に着けば feasible。返り値 {"feasible","reason","q_target","dq","t_move","t_arrive","t_cross","E"}、 reason ∈ {“ok”,”no_crossing”,”unreachable”,”too_late”}。crossing = :func:puck_crossing_point の返り値(None 可)。 ω_max = 6 rad/s の既定は仮定。 · 例: poc_air_hockey_intercept |
drive / pxrd(14)
azimuthal_integrate image2d × table → table — 2-D の検出器像を 2θ の 1-D プロファイルに落とす(方位積分、マスクと補正つき)。 · 例: poc_pxrd_phase_peel
cif_read any → table — CIF(結晶構造の標準書式)を読んで、単位格子の中の全原子に展開した「相」を返す。 · 例: poc_pxrd_phase_peel
cubic_index signal × scalar → table — 立方晶として山に指数を付け、格子(P / I / F / diamond)と格子定数 a [Å] を決める。 · 例: poc_pxrd_phase_peel
cubic_prototype any × scalar × any → table — 立方晶の原型(sc・bcc・fcc・diamond・rocksalt・cscl・zincblende・fluorite)から相を作る。 · 例: poc_pxrd_phase_peel
debye_ring_image any × signal × table → table — デバイ環の 2-D 検出器像を合成する(相ごとの寄与つき)。 · 例: poc_pxrd_phase_peel
detector_calibrate image2d × signal × table → table — 既知の標準(Si など)の環から検出器の中心・距離・傾きを較正する。 · 例: poc_pxrd_phase_peel
detector_two_theta any × table → table — 検出器の各画素の 2θ・方位 χ・相対立体角(傾き・距離・中心つき)。 · 例: poc_pxrd_phase_peel
diffraction_peaks signal × signal → table — 1-D の回折プロファイルから山を拾い、ガウス + 直線の局所の当てはめで位置・高さ・FWHM・面積を出す。 · 例: poc_pxrd_phase_peel
phase_dictionary any × signal × scalar → table — 相の参照パターンの辞書: 2θ の格子の上に、体積分率 1 あたりの 1-D 強度を相ごとに並べる。 · 例: poc_pxrd_phase_peel
phase_fractions signal × signal × table → table — 非負の最小二乗(NNLS)で混合物の相分率を出す(背景は Chebyshev の多項式で同時に当てる)。 · 例: poc_pxrd_phase_peel
phase_peel signal × signal × table → table — 混合物から相を 1 つずつ剥がす(貪欲な前進選択)。 · 例: poc_pxrd_phase_peel
-
powder_reflections table × scalar → table — 相の粉末反射の一覧: 面間隔 d、Bragg の 2θ、多重度、 |
F |
²、強度(Lorentz 因子つき、偏光なし)。 · 例: poc_pxrd_phase_peel |
scherrer_size scalar × scalar × scalar → scalar — Scherrer の式で結晶子径 [Å] (L = K λ / (β cos θ))。 · 例: poc_pxrd_phase_peel
unexplained_peaks table → table — 相分率の当てはめの残差から、辞書のどの相でも説明できない山を取り出す(未知相の手がかり)。 · 例: poc_pxrd_phase_peel
drive / racket(10)
aim_velocity table → table — 点 p から時間 T で target に届く初速。真空の閉形式 v = (Δxy/T, (Δz + ½gT²)/T) を初期値に、抗力 + マグヌス(ω)の 運動方程式で refine 回 Gauss–Newton(有限差分)。{"v", "residual"}(residual = 到達点のずれ [m])。 · 例: gallery_drive_kendama_racket, poc_table_tennis_rally_loop
racket_hit_check table → table — 球の中心が板の面から radius 以内で、板の枠(幅 × 高さ + 半径)の中にあるか。{"hit", "dist", "u", "v"} (u = 幅方向、v = 高さ方向の板の中心からのずれ)。 · 例: gallery_drive_kendama_racket
racket_impact table × table → table — 動くラケット(法線 n、速度 v_r)に球が当たる: ラケット系の相対速度で :func:ballistics.bounce → 戻す。 返り値 = bounce と同じ + "v_rel_in"。n は球の側を向く(球が n と逆向きに近づく)。 · 例: poc_table_tennis_rally_loop
racket_move table → any — ラケットを target へ動かす(速さ・加速度の上限つきの bang-bang: 止まれる距離を見て減速)。返り値 (pos, vel)。 · 例: gallery_drive_kendama_racket
racket_params 入力なし → table — ラケットの表: 板の幅・高さ [m]、ラバーの反発係数 e と摩擦係数 μ、動きの上限(速さ v_max [m/s]、加速度 a_max [m/s²])。 · 例: gallery_drive_kendama_racket, poc_ball_bounce, poc_table_tennis_rally_loop
-
racket_plan table × table → table — 望む v_out を出すラケットの法線 n と速度 v_r(法線方向)。摩擦 0 の閉形式 n ∝ v_out − v_in、 v_r·n = |
Δv |
/(1+e) + v_in·n を初期値に、実際の衝突(摩擦・スピン込み)で refine 回反復。 返り値 {"normal", "v_racket", "v_out_actual", "omega_out", "residual"}。Δv ≈ 0 なら ValueError。 · 例: poc_table_tennis_rally_loop |
rally_simulate table × table × table → table — 2 本のラケット(x = −x_r と +x_r、板は相手を向く)で打ち合う。 · 例: poc_ball_bounce, poc_table_tennis_rally_loop
shot_is_legal table × table × table → table — 打球 (p, v, ω) を真の物理で先読みして、ネットを越え・相手コートに 1 度だけ落ち・相手の面 x = ∓x_r に打てる高さで 届くかを判定する。{"legal", "reason", "p_arrive", "t_arrive"}。 · 例: gallery_drive_kendama_racket
strategy_attacker table → table — 勝つための打ち方: 相手のラケットから遠い隅(左右の端、前後を交互)へ、短い滞空時間で。スピンは 3 打ごとに flat、それ以外は topspin。 ctx = {“opp_pos” (3,), “shot_index”, “tp”}。返り値 {“target” (x, y), “T”, “spin”}。 · 例: gallery_drive_kendama_racket
strategy_feeder table → table — 前回に近いがわずかにずらした位置へ返す(相手が取りやすい球): 前回の自分の狙いから ±step の一様乱数で動かし、 コートの内側(端から 12 cm)に収める。滞空時間はゆっくり 0.42 s。 · 例: gallery_drive_kendama_racket
drive / roadjp(7)
add_sign table → scalar — 路側式の標識を立てる: 柱(円柱、灰、ラベル 6)+ 板(下端 = mount_height、既定 1.8 m、ラベル 4)。 · 例: poc_driving_school, poc_world_terrain
add_signal_jp table → scalar — 日本式の信号機を立てる: 柱 + 水平アーム + 灯器(横型 3 灯、yaw の向きへ進んで来る車に表示面が向く)。 · 例: gallery_drive_japan_roads
plate_mesh_from_image rgba → table — RGBA 画像を、面の色を持つ薄い板のメッシュにする。 · 例: gallery_drive_japan_roads
sign_image 入力なし → rgba — 標識の絵を RGBA float (H, W, 4) ∈ [0,1] で返す(板の外 = alpha 0)。幅 = size_px、高さは形の比。 · 例: gallery_drive_japan_roads
sign_mesh 入力なし → table — :func:sign_image + :func:sign_params + :func:plate_mesh_from_image。返り値に width・height・params を足す。 · 例: gallery_drive_japan_roads
sign_params 入力なし → table — 標識 kind の形・寸法・色を返す(公表値、一次資料で要確認)。 · 例: gallery_drive_japan_roads
signal_jp_mesh 入力なし → table — 横型の車両用灯器(日本式)。原点 = 灯器の底面の中心、表示面は −x を向く。 · 例: gallery_drive_japan_roads
drive / roverslip(15)
bekker_pressure signal × scalar × any → signal — Bekker の圧力–沈下 p = (k_c / b + k_φ) zⁿ [kPa]。sinkage [m] はスカラーか配列(≥ 0)、width = b [m]。 · 例: gallery_drive_soil_tactile
bekker_wheel_sinkage scalar × table × any → scalar — Bekker の剛な車輪の沈下の近似式 [m]。接地を放物線 z(x) = z₀ − x²/D で近似し、せん断は入れない。 · 例: poc_rover_slip_risk_path
cvar_cost_map image2d × scalar × any → table — 数値標高(DTM)から、8 近傍の辺ごとの所要時間 [s] を、辺の傾き(進む向きの符号つき)の滑りの CVaR_α で割り引いて作る。 · 例: poc_rover_slip_risk_path
ground_shift_track any → table — 地面を見下ろすカメラのコマ列から、隣り合うコマの並進を、窓つきの相互相関(整数)と 並進の Lucas–Kanade(副画素)で測り、累積する。 · 例: poc_rover_slip_risk_path
odometry_slip any × signal × scalar → table — 視覚オドメトリの位置の列と車輪の累積回転角から、実際の滑り率 s = 1 − Δx / (r Δφ)。 · 例: poc_rover_slip_risk_path
path_slip_risk matrix × image2d × scalar × table → table — 経路を辺ごとに評価する: 傾き、平均の滑り、CVaR_α の滑り、s_max を越える確率(ガウス過程は正規分布、 分位点回帰は分位点の曲線の内挿)、平均の滑りでの所要時間と CVaR での所要時間。 · 例: poc_rover_slip_risk_path
risk_aware_path table × any × any → table — :func:cvar_cost_map の辺の所要時間の上で、8 近傍の Dijkstra(向きのある辺 —— 登りと下りで違う)。 · 例: poc_rover_slip_risk_path
slip_cvar table × signal × scalar → signal — 滑り率の CVaR_α(上側 1 − α の尾の条件付き期待値)。sign = −1 で −s の CVaR(下りの空走・横滑りの大きさ)。 · 例: gallery_drive_soil_tactile
slip_gp_fit signal × signal → table — 斜面の角 → 滑り率のガウス過程(RBF の核 + 一様な観測雑音)。超パラメータは対数周辺尤度の格子探索。 · 例: gallery_drive_soil_tactile, poc_rover_slip_risk_path
slip_predict table × signal → table — 滑り率の予測と両側 level の帯。ガウス過程は観測の予測分布(潜在の分散 + 雑音)、分位点回帰は曲線そのもの。 · 例: gallery_drive_soil_tactile, poc_rover_slip_risk_path
slip_quantile_fit signal × signal → table — 斜面の角 → 滑り率の分位点回帰(区分線形の基底、ピンボール損失を IRLS で、2 階差分の弱い罰則)。 · 例: poc_rover_slip_risk_path
slope_slip_curve signal × table × any × scalar → table — 斜面の角(度、登りが正)ごとに、車体の重さを支えつつ斜面方向の重力成分を牽引力で釣り合わせる定常の滑り率。 · 例: poc_rover_slip_risk_path
wheel_forces signal × signal × table × any → table — 沈下 z [m] と滑り率 s で、剛な車輪が土から受ける力(Wong–Reece の応力分布の数値積分)。 · 例: poc_rover_slip_risk_path
wheel_sinkage signal × table × any → signal — 1 輪の垂直荷重 load [N] を滑り率 slip で支える沈下 z [m] (F_z(z, s) = load の二分法)。 · 例: poc_rover_slip_risk_path
wheel_traction_curve scalar × table × any → table — 1 輪の荷重 load [N] を一定に保ったときの、滑り率ごとの沈下・牽引力・トルク(牽引–滑り曲線)。 · 例: poc_rover_slip_risk_path
rss_lateral table → scalar — 横方向(論文 Lemma lateral / lib calculateSafeLateralDistance)の最小安全距離 [m]。c_1 が左。 · 例: gallery_drive_lateral_env, poc_ttc_rss
rss_lateral_check table → table — 横間隔 d_lat(左車の右側面 〜 右車の左側面、≥ 0)が安全か。Returns は rss_longitudinal_check と同じ形。 · 例: poc_ttc_rss
rss_longitudinal_check table → table — 同方向の縦間隔 d(後続の前端 〜 先行の後端、≥ 0)が安全か。 · 例: poc_ttc_rss
rss_longitudinal_opposite table → scalar — 対向(論文 Lemma two_way / lib calculateSafeLongitudinalDistanceOppositeDirection)の最小安全距離 [m]。 · 例: poc_ttc_rss
rss_longitudinal_same table → scalar — 同方向(論文 Lemma 2 / lib calculateSafeLongitudinalDistanceSameDirection)の最小安全距離 [m]。 · 例: poc_ttc_rss
rss_params 入力なし → table — RSS パラメータの dict を作る(既定 = ad-rss-lib の公表表、ρ は ego の 1 s)。 · 例: gallery_drive_lateral_env, poc_ttc_rss
rss_stopping_distance 入力なし → scalar — ad-rss-lib の stated braking pattern による 符号つき位置オフセット(縦・横共通の 1 つの式)。 · 例: poc_driving_longitudinal
rss_worst_case_gap table → table — 同方向の最悪ケース(論文 Definition 4)を時間で追う。 · 例: poc_ttc_rss
rss_worst_case_gap_lateral table → table — 横方向の最悪ケース: ρ の間 互いに向かって lat_accel_max → lat_brake_min で横速度 0 まで減速。 · 例: gallery_drive_lateral_env
rss_worst_case_gap_opposite table → table — 対向の最悪ケース: 両車 ρ の間 accel_max で加速 → c_1 は brake_min_correct、c_2 は brake_min で停止。 · 例: poc_ttc_rss
drive / scoop(15)
pour_scene_mjcf scalar × scalar × scalar × scalar → table — 口の開いた樋(床の長さ L、幅 B、奥壁と側壁の高さ wall)に深さ h0 まで剛体球を格子で詰めた場面の MJCF (mujoco 不要)。樋は mocap の body(name="trough"、原点 = 口の床の縁、高さ lip_height)で、口を下げる向き (y 軸まわりに −θ)に回すのは :func:scoop_mujoco_pour が毎歩 mocap_quat を書いて行う。床は粗く(滑り摩擦 floor_mu、底の層が床ごと滑り出さない —— granular の粗い台と同じ役)、側壁は wall_mu。床の口の側(x < 0)が 開いていて、こぼれた球は落ちて地面(高さ 0)に届く。 返り: xml, positions, info(L, B, h0, wall, radius, lip_height, mass_each, n, timestep, A_fill = L·h0)。 Raises ValueError: h0 ≥ wall / contact_tc < 2 timestep / 球が 1 層も入らない / 綴り違い。 · 例: poc_powder_scoop_pour
revolution_volume_side image2d × scalar → table — 側面像 1 枚から軸対称を仮定した体積 —— Pappus の形 V = π Σ |x − x_axis| c(x, z) pitch³(c = 被覆率、 x = 画素の中心の列)。 · 例: poc_powder_scoop_pour
scoop_count scalar × scalar × scalar → table — 体積と充填率から粒の数 N = V ν / ((4/3) π r³)(density を与えれば質量 N m_p とかさ密度 ν ρ_p)。 · 例: poc_powder_scoop_pour
scoop_image_limit scalar × scalar × scalar × scalar → table — 山盛りのスプーンを側面像で量るときの不確かさの目安と「画像で足りるか、秤か」(規則、目安)。 · 例: poc_powder_scoop_pour
scoop_scene_mjcf scalar × scalar → table — 球冠の椀(縁の半径 a、深さ h、縁の高さ rim_height)を薄板のタイルで張り、真上から剛体球を n_spheres 個を椀の中から格子で積んで放す場面の MJCF 文字列(mujoco 不要、台帳に載る)。 · 例: poc_powder_scoop_pour
scoop_synth_side scalar × scalar → table — 球冠の椀の中の粉を横から見た被覆率を合成する(軸対称、真値は閉形式)。 · 例: poc_powder_scoop_pour
scoop_volume_read image2d × scalar × scalar × scalar × scalar → table — スプーンの側面像からすくった体積を読む。 · 例: poc_powder_scoop_pour
spoon_bowl_volume scalar × scalar → table — 球冠の椀(縁の半径 a、深さ h)の閉形式 —— すり切り・途中まで・山盛り。 · 例: poc_powder_scoop_pour
stream_areal_density image2d × scalar → image2d — 被覆率から粒の中心の面密度 [個 / px²] を Boolean 模型で逆に解く n = −ln(1 − c) / (π r²)。 · 例: gallery_drive_soil_tactile
stream_flux_read any × scalar × scalar → table — 流れのコマ列から流量 [個/s] (と質量流量)を読む —— 速さは PIV(pivops.piv_cross_correlate の全コマ対の中央値)、 粒の線密度は時間平均の被覆率の Boolean 模型の逆(:func:stream_areal_density)を横に積分した λ、流量 λ v。 · 例: poc_powder_scoop_pour
stream_synth scalar × scalar × scalar → table — 口から落ちる粉の流れ(横から見た薄い帯)の被覆率のコマ列を合成する。 · 例: poc_powder_scoop_pour
tilt_pour_rate scalar × scalar × scalar × scalar × scalar × scalar × scalar → table — :func:tilt_wedge_retained の器を角速度 ω で傾けたときの準静的な流量 W = ρ_b B (−dA/dθ) ω [kg/s] (供給で決まる流量: 口の通す力より遅く傾けている限り、流量は傾ける速さで決まる)。 · 例: poc_powder_scoop_pour
tilt_wedge_retained scalar × scalar × scalar × scalar → table — 口に壁の無い器(床の長さ L、奥壁は床に垂直で十分高い)に深さ h0 で平らに盛った粉を、口を下げて θ 傾けた ときに残る量(2 次元断面、準静的、自分の導出)。 · 例: poc_powder_scoop_pour
tilted_surface_read image2d × scalar × scalar × scalar × scalar → table — 傾いた器を横から見た像(被覆率)から、器に残る粉の断面積と奥の平らな面の高さを読む。 · 例: poc_powder_scoop_pour
two_view_volume image2d × image2d × scalar → table — 直交する 2 方向の側面像から体積 —— 行ごとの 2 つの弦 W_a・W_b を軸とする楕円の和 V = Σ f π (W_a/2)(W_b/2) pitch³。 · 例: poc_powder_scoop_pour
drive / swarmflow(12)
obstacle_fit_doublet table → table — 速度場に円柱まわりのポテンシャル流 u − i v = U (1 − R²/(z − z_c)²) を当てはめる(実装 2、2 次元の非線形最小二乗)。 · 例: poc_swarm_obstacle_from_flow
potential_flow_cylinder signal × signal × any → table — 円柱まわりのポテンシャル流(閉形式)。u − i v = U (1 − R²/(z − z_c)²)、円の内側は NaN。 · 例: poc_swarm_obstacle_from_flow
ritter_dam_break signal × scalar × scalar → table — Ritter のダム崩壊解(浅水方程式、乾いた床、ダムは x = 0、水は x < 0)。 · 例: poc_swarm_obstacle_from_flow
sph_dam_break_1d 入力なし → table — 1 次元 SPH の浅水方程式でダム崩壊(乾いた床)を解く(群れのゲートを開けたときの広がりの模型)。 · 例: poc_swarm_obstacle_from_flow
-
sph_density_pressure matrix × scalar → table — 点の集まりの SPH 密度 ρ_i = Σ_j m W( |
x_i − x_j |
, h)(自分を含む)と、弱圧縮の状態方程式 p = c² (ρ − ρ₀)。 · 例: gallery_drive_soil_tactile |
sph_kernel signal × scalar → signal — 3 次スプライン核 W(r, h)(M4、台の半径 2h)。derivative=True で dW/dr(r の向きの微分、0 以下)。 · 例: poc_swarm_obstacle_from_flow
stagnation_from_centerline table → table — 中心線の欠損を直線化して、上流の衝突点(よどみ点)・障害物の中心・半径を読む(実装 1、上流の点だけ)。 · 例: poc_swarm_obstacle_from_flow
swarm_field_from_piv any × scalar × scalar → table — 俯瞰のコマ列 → 隣どうしの相互相関の PIV(pivops.piv_cross_correlate)→ 全部の組の平均 → 世界の速度場。 · 例: poc_swarm_obstacle_from_flow
swarm_field_from_tracks any × scalar × scalar → table — 俯瞰のコマ列 → 個体を検出(blob2d の連結成分 + 明るさの重心)→ 隣のコマと相互最近傍でつなぐ → 速度を SPH 核で格子へ。 · 例: poc_swarm_obstacle_from_flow
swarm_render_overhead matrix × any × scalar → image2d — 個体の位置 → 上から見た 1 コマ(ガウスの輝点、直径 = 標準偏差の 2 倍 = PIV の慣行、pivops と同じ)。 · 例: poc_swarm_obstacle_from_flow
swarm_simulate 入力なし → table — 障害物のある周期の流路を流れる群れ(SPH の弱圧縮流体として動く個体)。障害物は個体には「ぶつかる壁」として効くだけ。 · 例: poc_swarm_obstacle_from_flow
-
velocity_deficit_map table → table — 速度場 → 自由流からの欠損 1 − u/U、横の振れ v/U、速さの欠損 1 − |
v |
/U。U は与えるか、上流の端 15 % の u の中央値。 · 例: poc_swarm_obstacle_from_flow |
drive / tacdome(12)
contact_patch_radius image2d × scalar → table — 接触の像(:func:dome_contact_image の型)から接触半径を読む。被覆率の線形和(面積法)で縁の副画素まで使う。 · 例: poc_tacdome_large_deformation
dome_contact_image scalar × scalar → image2d — ドームの内側から撮った接触の像(接触域が明るい、全反射の破れ型の照明の理想化)。(n, n) の float。 · 例: poc_tacdome_large_deformation
hertz_small_strain_error signal × scalar → table — 小変形の線形解(Hertz)を大変形に当てたときの誤差 [%] (d だけで決まり、L・寸法・弾性率に依らない)。 · 例: poc_tacdome_large_deformation
large_deformation_contact any × scalar × table → table — 押し込み δ(スカラーか配列)から大変形の力と接触半径(式 2・4)と、同じ δ の線形解(Hertz)との差。 · 例: poc_tacdome_large_deformation
large_deformation_inverse scalar × scalar × table → table — 測った接触半径 a から押し込みと力を逆に読む(式 4 を d について解き、式 2 で力)。センサの読み出しの本体。 · 例: poc_tacdome_large_deformation
largedef_c1_coefficient scalar → scalar — 式 (3) の 1 次の係数 c₁: "derived" = 2n/(1+n)(導出)、"printed" = (4+2n)/(1+n)(原文の活字)、"memo" = 2/(1+n)。 · 例: gallery_drive_soil_tactile
largedef_correction signal × scalar → signal — 大変形の補正 κₙ(d) = [1 − c₁·d + n/(2+n)·d²]/(1 − d)²(式 3、c₁ は :func:largedef_c1_coefficient)。F = κₙ·F_L。 · 例: poc_tacdome_large_deformation
largedef_radius_ratio signal × scalar → signal — 大変形の接触半径の比 a/a_L(式 4)= (1/p)·B_d(1/p, 3/2)·d^{−1/p}/√(1 − d) = ∫₀¹ √((1 − d·uᵖ)/(1 − d)) du。 · 例: poc_tacdome_large_deformation
largedef_universal_correction signal → signal — 普遍形の補正 κ(d) = (1 − k·d)⁻¹(式 6、k = 10/9)。Raises ValueError: d が [0, 1) の外、k·d ≥ 1、k ≤ 0。 · 例: poc_tacdome_large_deformation
mdr_spring_bed scalar × scalar × table → table — 1D の非線形ばね列を中点則で直接積分する(閉形式 :func:largedef_correction / :func:largedef_radius_ratio の第 2 実装)。 · 例: poc_tacdome_large_deformation
neohookean_cylinder_exact signal → table — 非圧縮 neo-Hookean の円柱を摩擦なしで一軸に圧縮する厳密解(連続体の教科書の結果、模型と独立)。 · 例: poc_tacdome_large_deformation
powerlaw_linear_contact text × scalar × scalar → table — べき乗則断面 f(r) = c·rᵖ を平板で押す線形解(式 1・5): F_L = C·δⁿ、a_L = D·δ^{1/p}、n = 1 + 1/p。 · 例: poc_tacdome_large_deformation
drive / tacscalib(10)
calib_pack_load text × scalar × scalar → table — 較正パック(npz)→ dict。キー f0(背景 (H, W, 3) uint8)・imgs((N, H, W, 3))・touch_center((N, 2) = (列 x, 行 y))・ touch_radius((N,) px)を必須とし、中心は (行, 列) に並べ替えて centers で返す。 · 例: poc_tacscalib_sphere_lut
field_position_sweep matrix × signal × any → table — 誤差の位置依存: 各画像の接触中心 (行, 列) と誤差(中央値など)を画像中心からの距離に対して並べ、最小二乗の傾き [誤差 / 100 px] と Spearman の順位相関(同順位は平均順位)を返す(numpy だけ)。 返り: dist_px・err・slope_per_100px・intercept・spearman・n。 Raises ValueError: 3 組未満 / 形の不一致 / 非有限 / image_shape の形。 · 例: poc_tacscalib_sphere_lut
gradient_lut_build matrix × matrix → table — example-based の勾配 LUT: 法線の(傾き θ, 向き φ)を bins × bins に切り、各ビンに落ちた画素の RGB の平均を入れる (np.add.at で重複した添字も全部足す)。rgb_rows (P, 3)、normal_rows (P, 3)。 · 例: poc_tacscalib_sphere_lut
gradient_lut_invert rgb × table × image2d → normalmap — RGB (H, W, 3) → 法線 (H, W, 3): 中身のあるビン(count ≥ min_count)のうち色が最も近いものの中心法線。位置依存版の 表(:func:gradient_lut_build に positions を与えたもの)は画素の位置で各ビンの色を予測してから比べる。 · 例: poc_tacscalib_sphere_lut
lights_fit_from_sphere rgb × normalmap × image2d → table — 背景差分画像(1 枚か列)と既知法線から、チャネルごとの線形 Lambertian 模型を最小二乗で解く。 · 例: poc_tacscalib_sphere_lut
membrane_predict_rgb normalmap × table → rgb — 法線 (H, W, 3) + :func:lights_fit_from_sphere の結果 → 背景差分 RGB の予測 (H, W, 3)(線形、クリップしない)。 order 2 の結果は画素ごとに a(x, y)・L(x, y) を作る(画像の大きさは較正時と同じであること)。 Raises ValueError: 法線の形 / order 2 で画像の大きさが違う。 · 例: poc_tacscalib_sphere_lut
-
normal_error_map normalmap × normalmap → image2d — 2 つの法線場の画素ごとの角度 [度] = atan2( |
a × b |
, a · b)(正規化しない —— 長さは atan2 の比で消える)。 acos(a · b) は単位ベクトルの近くで丸めの床を持つ(1e-7° を 1e-4° と答える)ので使わない。 Raises ValueError: 形が違う / 最後の軸が 3 でない。 · 例: poc_tacscalib_sphere_lut |
poly_lut_invert rgb × table × image2d → normalmap — アダプタ: 外部の位置依存多項式 LUT(bins と grad_r / grad_g / grad_b = (bins, bins, 6)、ビンごとに 6 係数 [x², y², xy, x, y, 1]・x = 列・y = 行を画素のままで背景差分の各チャネルを表す書式)を、 :func:gradient_lut_invert と同じ逆引き(同じビン割り・同じ粗 → 細)に通す。rgb は外部の手順と同じ背景処理をした差分。 外部の表は全ビンが埋まっているので全ビンを使う。 Raises ValueError: キー欠落 / 係数の形が (bins, bins, 6) でない / 非有限。 · 例: poc_tacscalib_sphere_lut
sphere_cap_height any × any × scalar × scalar × scalar → table — 幾何学的な押し込み(弾性の裾なし)の真の高さ: 接触円の内側 h(r) = −(√(R² − r²) − √(R² − a²))、外側 0(a は min(a, R))。 · 例: poc_tacscalib_sphere_lut
sphere_normals_known any × any × scalar × scalar → table — 既知球の押し込み: 接触円(中心 centre = (行, 列)、半径 a_px)の内側で法線を閉形式で返す。 · 例: poc_tacscalib_sphere_lut
drive / tacsim(15)
combined_modulus scalar × scalar → scalar — 複合弾性率 E: 1/E = (1 − ν1²)/E1 + (1 − ν2²)/E2(Johnson 1985 式 4.9)。E2=None は剛体の押し込み子(第 2 項 0)。 · 例: poc_knife_tactile_toughness, poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_tactile_dipole_torque
contact_radius_fit normalmap × matrix × matrix × scalar × scalar → table — 法線場の半径方向スロープ分布に Hertz のスロープ模型 dh/dr(r; a) を 1 パラメータ a で当てて接触半径を読む。 · 例: poc_peg_insertion_tactile, poc_tacsim_elastic_membrane
contact_radius_fit_pixelwise normalmap × matrix × matrix × scalar × scalar → table — 接触半径を画素ごとの半径方向スロープに Hertz のスロープ模型 dh/dr(r; a) を連続の a で当てて読む(:func:contact_radius_fit のビンを使わない版。a0 はその粗い値)。 · 例: poc_peg_insertion_tactile
-
contact_radius_ring image2d × scalar → table — 高さ場から接触半径 a を模型なしで読む: 接触縁 r = a は半径方向の傾き |
∂h/∂r |
が最大になる輪(Hertz では内側 r/R で 増え、外側は √ で急に落ちるカスプ)。方位角 n_az 本の半径線に沿って |
∇h |
を step_px 刻みで双線形補間し、各線の ピークを放物線補間で副画素化 → 72 点に :func:measure.fit_circle(第 2 実装)と半径の中央値。 · 例: poc_tacscalib_sphere_lut, poc_tacsim_elastic_membrane |
hertz_cylinder scalar × scalar × scalar → table — 円柱(半径 R)を弾性半空間に線荷重 F/L で押す線接触(Johnson 1985 §4.2): 接触半幅 b = √(4(F/L)R/(πE*))、p0 = 2(F/L)/(πb)。 · 例: poc_tacsim_elastic_membrane
hertz_force scalar × scalar → scalar — Hertz の逆算: 接触半径 a か押し込み δ のどちらか一方から荷重 F。F = 4Ea³/(3R) = (4/3) E √R δ^{3/2}。 · 例: poc_peg_insertion_tactile, poc_tacdome_large_deformation, poc_tacsim_elastic_membrane
hertz_pressure matrix × scalar × scalar → matrix — Hertz の接触圧 p(r) = p0 √(1 − r²/a²)(r < a)、外は 0。r と同じ形。Raises ValueError: a, p0 ≤ 0。 · 例: poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_tactile_dipole_torque
hertz_sphere scalar × scalar × scalar → table — 剛体球(半径 R)を弾性半空間(複合弾性率 E*)に荷重 F で押し込む Hertz 接触の閉形式(Johnson 1985 §3)。 · 例: poc_knife_tactile_toughness, poc_peg_insertion_tactile, poc_tacdome_large_deformation, poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_tactile_dipole_torque
hertz_surface_uz matrix × scalar × scalar × scalar → matrix — Hertz 球接触の半空間表面の法線変位 ū_z(r)(沈む量 ≥ 0、r と同じ形の配列)。 · 例: poc_tacsim_elastic_membrane, poc_tactile_dipole_torque
membrane_delta_from_normals normalmap × matrix × matrix × scalar → scalar — 中心の沈み込み δ を法線場から: 半径方向スロープ s̄(r) を中心から窓の端まで 1D 積分(∫ s̄ dr = ū_z(0) − ū_z(r_max))し、 tail="boussinesq" なら遠方場 ū_z ≈ C/r(点荷重の Boussinesq 解、Johnson §3.2)から残りの裾 ū_z(r_max) = r_max · s̄(r_max) を足す(窓の端の最後の 3 ビンの中央値)。tail="none" は裾なし(有限窓の過小評価をそのまま返す —— 間違いの量を測るため)。 · 例: poc_tacsim_elastic_membrane
membrane_indent_shape text × scalar → table — 既知形状の剛体を深さ depth だけ押し込んだゲル膜の高さ場を幾何学的な追従で作る: h = −max(0, depth − z_ind(x, y))。 · 例: poc_tacsim_elastic_membrane
membrane_indent_sphere table → table — 球押し込みのゲル膜の高さ場 h(x, y) = −ū_z(r)[m] (:func:hertz_sphere の表から)と解析的な法線。 · 例: poc_knife_tactile_toughness, poc_tacsim_elastic_membrane, poc_tacsim_marker_shear
membrane_lights scalar → matrix — 多方向の色つき照明の単位方向ベクトル (N, 3)(行 k が色チャネル k の光源、既定は方位 90/210/330°・仰角 55° の 3 灯)。 · 例: poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_tactile_dipole_torque
membrane_recover rgb × matrix × scalar → table — 視触覚 RGB (H, W, 3) → 3 チャネルを 3 光源の像として :func:photometric.photometric_stereo(lit_only)で法線 → :func:photometric.integrate_normals(Frankot-Chellappa)で高さ(画素単位 × pitch = m)。 · 例: poc_peg_insertion_tactile, poc_tacsim_elastic_membrane
membrane_render_rgb normalmap × matrix → rgb — 法線場 (H, W, 3) + 光源 (3, 3) → 視触覚センサ風の RGB (H, W, 3) float。チャネル k = 光源 k の Lambertian 像 albedo·(max(N·L_k, 0) + ambient)(:func:photometric.render_lambertian を 3 回、第 2 実装)。noise > 0 なら正規乱数を足す。 · 例: poc_knife_tactile_toughness, poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_tactile_dipole_torque
drive / tacslip(21)
cerruti_kernel scalar × scalar × scalar × scalar → table — x 向き接線トラクション(1 画素 = pitch² に一様 1 Pa)が作る表面変位の離散核を 2n 格子(零詰めの線形畳み込み用)で作り、rfft2 済みで返す。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
cerruti_surface_displacement matrix × table → table — 接線トラクション分布 qx (n, n) [Pa] → 表面変位 ux・uy(核に Kzx があれば uz)(n, n) [m]。零詰め 2n の線形畳み込み (巻き込みなし)。Raises ValueError: qx が (n, n) でない、kern が :func:cerruti_kernel の表でない。 · 例: poc_tacsim_marker_shear
displace_markers matrix × matrix × matrix × scalar → matrix — 変位場 fx, fy (n, n) [m] でマーカー中心 (N, 2) [px] を移す(場は中心位置で双線形標本化、画素に換算して足す)。 Raises ValueError: pts が (N, 2) でない、fx と fy の形が違う、pitch ≤ 0。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
fem_nodes_load text × text → table — 有限要素の表面節点テキスト(Robo-Touch/Taxim リポジトリ同梱、MIT ライセンス)を 3 本読む: <dirpath>/<name>_{x,y,z}.txt、 タブ区切り・1 行ヘッダ Node Number / X Location (m) / Y Location (m) / Z Location (m) / Directional Deformation (m)、単位 m。 3 本は同じ節点集合で最終列だけがその方向の変位。返り id・X・Y・Z・dx・dy・dz(各 (N,))、n、name。 Raises FileNotFoundError: ファイルが無い。ValueError: ヘッダが違う、列が 5 本でない、3 本の節点座標が一致しない(fail-closed)。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
fem_vs_halfspace table × table → table — 同じ節点集合の法線押し込み fz と斜め押し込み fxz(:func:fem_nodes_load)を半空間解と形だけ比べる(荷重の大きさは不明)。 (1) r·dz を 0.5〜0.8 mm で 1 に正規化(mids・rdz_n): 半空間 Boussinesq は r ≫ 接触で一定、有限厚は落ちる。1/r から 2 倍外れる 半径 r_half(無ければ None)。(2) 斜め押し込みの dx(θ) を r = 1/1.5/2/3 mm の環で A + B cos²θ に当てる(ang: Cerruti なら B/A = ν/(1−ν) → nu、ratio = (A+B)/A、R2)、dy を A + B sin2θ に(dy_fit)。R_dome(表面の r–z を球冠に当てた半径)、 dy_over_dz0(法線だけでも出ている接線成分 = 非対称の量)、rdx_n、dz0、dx_min_spacing、r・th(中心相対)も返す。 Raises ValueError: 2 つの表の節点数が違う、節点が 10 個未満。 · 例: poc_tacsim_marker_shear
hertz_surface_ur matrix × scalar × scalar × scalar × scalar → matrix — 法線荷重(Hertz 圧 p0√(1−r²/a²))が作る半空間表面の半径方向変位 ūr [m] (Johnson 1985 式 3.41b を E = 2G(1+ν) で書き直し)。 負 = 中心向き。内側 −(1−2ν)p0a²/(6Gr)[1 − (1−r²/a²)^{3/2}]、外側 −(1−2ν)p0a²/(6Gr)(= 点荷重 −(1−2ν)P/(4πGr))、r → 0 で 0。 最大は縁でなく r ≈ 0.93a(ūr(a) の 1.022 倍)。ūr(a)/δ = 2(1−2ν)/(3π(1−ν))(ν 0.48 で 1.6 %、ν 0.3 で 12 %)—— ほぼ非圧縮のゲルでは 法線荷重でマーカーはほとんど動かない。Raises ValueError: a, p0, G ≤ 0。 · 例: gallery_drive_soil_tactile, poc_tacsim_marker_shear, poc_tactile_dipole_torque
hertzian_tangential_inner matrix × matrix × scalar × scalar × scalar × scalar → table — Hertz 形の接線トラクション q0√(1−r²/a²) が円内 r ≤ a に作る表面変位の閉形式(Johnson 1985 式 3.91)。 ux = (πq0/32Ga)[4(2−ν)a² − (4−3ν)x² − (4−ν)y²]、uy = (πq0/32Ga)·2νxy [m]。円の外では成り立たない(そこは畳み込みで)。 Raises ValueError: a, G ≤ 0、x と y の形が違う。 · 例: poc_tacsim_marker_shear
marker_detect image2d × scalar × scalar → table — マーカー像 m(:func:marker_image)→ マーカー中心。weighted(主、(N, 2) の (x, y) [px]): 高しきい値 0.5·dark の連結成分 (:func:blob2d.blob_label)を本体とし、低しきい値 0.08·dark の画素(縞)を距離変換で最近傍の本体へ割り当て、m を重みにした重心を 反復ガウス重み(σ = r_px)で精密化。weighted_plain = 精密化前。binary=True なら binary = :func:blob2d.blob_features の row/col(二値重心、周長・凸包まで計算するので 1,000 個で 0.4 s)。縁に触る成分は捨てる。n = 本体の数。 縞を本体から切るのは、滑り環で隣接間隔が 8 → 6 px に縮むと低しきい値の縞が繋がって 1 成分に併合するから(実測)。 Raises ValueError: m が 2 次元でない、dark が (0, 1] の外、r_px ≤ 0。 · 例: poc_tacsim_marker_shear
marker_image rgb × rgb → image2d — マーカーだけの像 m = 1 − gray/gray_bg ∈ [0, 1] (H, W)。bg = マーカーの無い同じ照明の像 = 実機の参照フレーム較正に当たる。 Raises ValueError: 2 枚の形が違う、(H, W, 3) でない。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
marker_match_grow matrix × matrix × scalar → table — 基準マーカー p0 と荷重後 p1(各 (N, 2) [px])の対応を連続性で伸ばして取る。返り i0・i1(対応の index 配列)、matched。 · 例: gallery_drive_soil_tactile
marker_track image2d × image2d × scalar × scalar × scalar → table — 基準・荷重後のマーカー像(:func:marker_image)から変位ベクトル場: 検出(:func:marker_detect、2 枚)→ 連続性で対応 (:func:marker_match_grow)→ u = p1 − p0 [px]。返り p0・p1・u(各 (M, 2))、matched、n0・n1。 piv=True なら :func:pivops.piv_cross_correlate の場(第 2 実装、探索 ±0.12 窓)を piv_flow・piv_info・piv_at(点列で標本化する 関数)として付ける。Raises ValueError: 2 枚の形が違う。 · 例: poc_tacsim_marker_shear
membrane_markers scalar × scalar → matrix — n×n 画素の視野に撒くマーカー中心 (N, 2) = (x, y) [px] の規則格子(ピッチ pitch_px、副画素位相 (ox, oy))。視野の外にも 1 周だけ撒く (変位で入ってくるぶん)。Raises ValueError: n < 8、pitch_px < 2。 · 例: gallery_drive_soil_tactile, poc_tacsim_marker_shear, poc_tactile_dipole_torque
membrane_render_markers rgb × matrix × scalar × scalar → rgb — RGB (H, W, 3) に黒い円盤のマーカー(中心 pts (N, 2) [px]、半径 r_px)を描く: 画素の被覆率で rgb *= 1 − dark·coverage。 被覆率は円盤の縁の画素だけ sub² の副標本(内側 1・外側 0)。像を補間して歪めないので真値が厳密。 Raises ValueError: rgb が (H, W, 3) でない、pts が (N, 2) でない、r_px ≤ 0、dark が [0, 1] の外。 · 例: poc_knife_tactile_toughness, poc_tacsim_marker_shear, poc_tactile_dipole_torque
membrane_shear_field table × table × matrix × matrix × table → table — 膜表面の変位場: Mindlin のトラクション q(r) を Cerruti 核で畳んだ接線変位 ux・uy と、法線荷重の半径変位 urx・ury (:func:hertz_surface_ur を x, y に分けたもの)[m]、q、固着/滑りのマスク mask_stick(r ≤ c)・mask_slip(c < r ≤ a)、r。 X, Y は格子の座標 [m] (中心が原点)。Raises ValueError: X と Y の形が違う、kern の n と合わない。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
mindlin_fit table × matrix × matrix → table — マーカー位置 pts_px (M, 2) [px] と変位 u_m (M, 2) [m] に (c/a, μP) を当てる: c/a を粗く走査 → 最良の周りを細かく、μP は各 c で 線形最小二乗。返り c_over_a・q_ratio = 1 − (c/a)³・muP・Q・mu(= μP/P)・rms_m・shift_m。 rigid=True は剛体シフト (tx, ty) も自由にする —— 試作では逆効果だった(外側 900 点の 1/r の尾と縮退して c/a が 0.028 ずれる)ので 既定は切る。実機のドリフトは接触の外の遠方マーカーで別途引くのが筋。真の変位で当てると c/a の誤差 0.001、画像からの追跡では 0.011 (重心の pixel-locking が共通モードで乗る)。Raises ValueError: 形の不一致、点が 3 個未満。 · 例: poc_tacsim_marker_shear
mindlin_fit_vector table × matrix × matrix → table — 向きを持つせん断の Mindlin 当てはめ(:func:mindlin_fit の 2 成分版): (c/a, μP, 向き φ) を一度に読む。 · 例: gallery_drive_soil_tactile
mindlin_model table × matrix × matrix × table × scalar × scalar → table — 任意の c/a の Mindlin 変位場を相似則で出す逆算模型(畳み込みは 1 回だけ)。 · 例: gallery_drive_soil_tactile, poc_tacsim_marker_shear
mindlin_partial_slip scalar × table × scalar × scalar × scalar → table — Cattaneo–Mindlin の部分滑り(Johnson 1985 §7.2): 球を法線 P で押したまま接線 Q を掛ける。 · 例: poc_tacsim_marker_shear, poc_tactile_dipole_torque
mindlin_traction matrix × table → matrix — 接線トラクション q(r) = q′ − q″ [Pa]: q′ = μp0√(1−r²/a²)(r < a)、q″ = μp0(c/a)√(1−r²/c²)(r < c)。滑り環 c ≤ r < a では q = μp(r) (Coulomb の限界に張り付く)、固着円では q < μp。mp は :func:mindlin_partial_slip の表。r と同じ形。Raises ValueError: mp に a/c/mu/p0 が無い。 · 例: poc_tacsim_marker_shear
-
slip_entropy signal → scalar — 変位の大きさ |
u |
の列のヒストグラム(bins 本、範囲 [0, vmax] —— 省略時は最大値)の Shannon エントロピーを ln(bins) で正規化(0..1)。 Yuan 2017 の滑りの指標: 固着核が縮んで滑り環の勾配に乗るマーカーが増えると上がる。Raises ValueError: 点が無い、bins < 2。 · 例: poc_tacsim_marker_shear |
-
stick_radius_modelfree matrix × matrix → table — 模型なしの固着半径: 中心からの距離順に、内側 6 点の中央値 δ̂ から |
ux − δ̂ |
が rel· |
δ̂ |
+ abs_px を超える最初の点と、その手前の点の中点の 半径 c_px(分解能 = マーカー間隔)。core_px = δ̂。pts_c は中心相対 (M, 2) [px]、u_px は (M, 2) [px]。Raises ValueError: 点が 6 個未満。 · 例: poc_tacsim_marker_shear |
drive / tactorque(17)
boussinesq_kernel scalar × scalar × scalar × scalar → table — 法線圧(1 画素 = pitch² に一様 1 Pa)が作る表面変位の離散核(2n 格子、rfft2 済み): Kx = ū_x、Ky = ū_y(接線、 −(1−2ν)/(4πG) · x/r² と y/r²、Johnson 1985 §3.2 の点荷重解)、with_uz なら Kz = ū_z((1−ν)/(2πGr))。 画素平均(sub² の副標本)。中心画素: ∫□ x/r² dA = 0(奇関数)、∫□ 1/r dA = 4h ln(1+√2)(解析値)。 :func:tacslip.cerruti_kernel(接線 → 接線)と同じ作りの法線版。Raises ValueError: n < 8、pitch, G ≤ 0、ν が [0, 0.5] の外。 · 例: poc_tactile_dipole_torque
boussinesq_surface_displacement matrix × table → table — 法線圧 p (n, n) [Pa] → 表面変位 ux・uy(核に Kz があれば uz、沈む向きが正)(n, n) [m]。零詰め 2n の線形畳み込み。 Raises ValueError: p が (n, n) でない、kern が :func:boussinesq_kernel の表でない。 · 例: poc_tactile_dipole_torque
dipole_to_torque_fit signal × signal → table — 双極子の 1 成分列 D (K,) と既知のモーメント M (K,) [N·m] の線形較正 D ≈ k M(原点通過)と D ≈ k₁ M + b(切片あり)。 返り k・R2(原点通過の決定係数 = 1 − SS_res/SS_tot)・k1・b・R2_affine・rmse_M(M に換算した残差 RMS)。 論文の較正係数 c = 1/k に当たる。Raises ValueError: K < 2、形が違う、M がすべて同じ。 · 例: poc_tactile_dipole_torque
-
dipole_torque_resolution matrix × matrix × scalar × scalar × scalar × scalar × scalar → table — マーカー重心の雑音 σ [px] を変位に足して双極子を trials 回取り直し、トルク分解能 σ_M = σ_D/ |
coef |
[N·m] を測る。 返り sigma_D (2,)、sigma_M (2,)、D0(雑音なし)、snr = |
D0 |
/σ_D、trials。σ_M ∝ σ(実測)。 Raises ValueError: σ < 0、trials < 2、coef = 0。 · 例: poc_tactile_dipole_torque |
ellipse_pressure_shifted matrix × matrix × scalar × scalar × scalar → matrix — 半軸 a(x)・b(y)[m] の楕円 Hertz 圧 p0 √(1 − x′²/a² − y′²/b²) [Pa]、P = 2πab p0/3(Johnson 1985 式 4.24)、中心を d にずらす。 b ≫ a で円筒(稜・くさび状)の押し込みに近い形 —— 形状不変の門の 3 つ目。Raises ValueError: a, b, P ≤ 0、X と Y の形が違う。 · 例: poc_tactile_dipole_torque
grasp_torque_frame image2d × image2d × scalar × scalar × scalar × scalar × scalar × scalar → table — 像から 1 回で: 基準・現在のマーカー像(:func:tacslip.marker_image)→ :func:tacslip.marker_track → m 単位の場 → :func:torque_decompose。 pitch_px・r_px = マーカー格子と半径 [px]、pitch = m/px、window は [px] の (cx, cy, R)。マーカー 1 個あたりの面積 = (pitch_px·pitch)²、 発散の近傍半径 = 1.5 ピッチ。P・mu・torsion_model はねじりの換算(:func:torque_decompose、既定は Hertz 接触の部分滑りで P と mu が要る、平頭押し込み子は "no_slip")。返り = torque_decompose の表 + track(matched・n0・n1・p0・u [px])。 Raises ValueError: 追跡の対応が 9 個未満(双極子に足りない)、pitch ≤ 0、torque_decompose の ValueError。 · 例: poc_tactile_dipole_torque
hertz_pressure_shifted matrix × matrix × table → matrix — 中心を d = (dx, dy) [m] にずらした Hertz 圧 p0 √(1 − r′²/a²) [Pa] (hz = :func:tacsim.hertz_sphere の表)。 小さな傾きトルク τ を受けた把持球は圧の中心が d = τ/P だけ寄る(準静的なモーメント釣合い)ので、ずらした Hertz 圧の元の中心まわりの 1 次モーメントは P·d = τ(厳密に線形)。Raises ValueError: hz に a/p0 が無い、X と Y の形が違う。 · 例: poc_tactile_dipole_torque
marker_divergence matrix × matrix × scalar → table — 散在マーカー pts (N, 2) と変位 u (N, 2) から各点の発散 div = ∂ux/∂x + ∂uy/∂y と回転 curl = ∂uy/∂x − ∂ux/∂y (単位は u の単位 ÷ pts の単位)。近傍半径 radius 内(最大 k_max 個)の点に平面 c0 + c1 x + c2 y を最小二乗で当てる (規則格子 + 半径 1.01 ピッチなら 5 点の中心差分と同値で :func:sceneflow.flow_divergence と 1e-15、半径 1.5 ピッチの 9 点は行平均の差分で 縁で 11 % 違う、実測)。正規方程式を点ごとに一括で解く。近傍が min_neighbors 未満、または正規方程式が特異(共線)な点は valid = False、div/curl = nan(fail-closed: 黙って 0 にしない)。FEM の散在節点にも同じ op。 Raises ValueError: pts/u が (N, 2) でない、形が違う、radius ≤ 0、N < min_neighbors。 · 例: poc_tactile_dipole_torque
pressure_first_moment matrix × matrix × matrix × scalar → table — 格子上の圧力 p (n, n) [Pa] の 0 次・1 次モーメント: P = Σ p h² [N]、M1 = Σ (x, y) p h² [N·m]、tau = (−M1_y, M1_x) (z はゲルから物体へ、物体がゲルを押す力 −ẑ p のモーメント)。Raises ValueError: 形が違う、pitch ≤ 0。 · 例: poc_tactile_dipole_torque
-
punch_pressure matrix × matrix × scalar × scalar → matrix — 平頭円形押し込み子(半径 a [m])の圧力 [Pa]: p = P/(2πa√(a²−r²)) + 3(M1_x x + M1_y y)/(2πa³√(a²−r²))(r < a、外は 0)。 第 1 項 = Johnson 1985 式 3.34、第 2 項 = ∫ (x, y) p dA = M1 を満たす反対称項(導出はモジュール docstring、門で数値確認)。 pitch を渡すと画素を sub×sub の副標本で平均する(縁の 1/√ 特異点の格子誤差を減らす。4×4 で Σ p h² が P と 0.6 %、実測)。 Raises ValueError: a ≤ 0、P < 0、X と Y の形が違う、 |
M1 |
> Pa/3(接触が離れる: 線形の式が成り立たない、fail-closed)。 · 例: poc_tactile_dipole_torque |
punch_surface_uz matrix × scalar × scalar × scalar × scalar → matrix — 平頭円形押し込み子(法線力 P)の半空間表面の法線変位 [m] (沈む向き正): 円内は一様 δ = P(1−ν)/(4Ga)、外側は (2δ/π) arcsin(a/r) (Johnson 1985 §3.4 の平頭押し込み子。式番号は本文で確認できず unverified —— Boussinesq 核 Kz の畳み込みと 0.35 % で一致することで 数値検証した)。Raises ValueError: a, P, G ≤ 0。 · 例: poc_tactile_dipole_torque
rigid_rotation_fit matrix × matrix → table — 窓内のマーカー場に剛体変位 u ≈ t + ω ẑ×r を最小二乗で当てる: t = 平均変位、omega = Σ (x′u′_y − y′u′_x)/Σ r′² (′ は窓内平均を引いたもの)、resid_rms = 残差 RMS、n。無滑りねじりでは円内が剛体回転(u_θ = βr)なので ω = β が真値 (平均 curl/2 は円の縁で当てはめが外に漏れて低くなる —— 実測 11 %)。window = (cx, cy, R)。Raises ValueError: 点が 3 未満。 · 例: poc_knife_tactile_toughness, poc_tactile_dipole_torque
surface_divergence_closed_form matrix × scalar × scalar → matrix — 半空間の表面接線変位の発散の閉形式 ∇·ū = −(1−2ν) p/(2G)(本モジュールの導出: Boussinesq 点荷重 ū_r = −(1−2ν)P/(4πGr) と 2 次元の ∇·(r̂/r) = 2πδ²)。畳み込みの数値発散と比べる門(r < 0.8a で 0.2 %、実測)。Raises ValueError: G ≤ 0。 · 例: poc_tactile_dipole_torque
-
tactile_dipole_moment matrix × matrix → table — 触覚双極子モーメント D = Σ_i w ρ_i r_i(2 成分)。form: * "divergence" —— 論文(arXiv 2404.15626)式 4–8: ρ_i = (∇·u)_i(rho を渡すか、radius で :func:marker_divergence)。 * "norm_cross" —— 論文の基線(式 10–11、Yamaguchi & Atkeson 流): ρ_i = |
u_i |
(ベクトルのノルムを法線力の代わりに)。 l_i × f_i の傾き成分は (l_y |
u |
, −l_x |
u |
) で D を 90° 回したものなので、同じ「1 次モーメント」の枡で返す。零点後の対称な傾きでは |
u |
が M の偶関数なので恒等的に 0(符号を知らない、門)。 * "radial" —— 本モジュールの変種: ρ_i = u_i · r̂_i(放射成分)。 origin: "midpoint"(式 6–7、正負の重心の中点)/ "centre"(pts の平均、基線の作法)/ (x0, y0)。 weight: "area" = 1 点あたり面積 area [m²] を掛ける(閉形式の係数 −(1−2ν)/(2G) と比べられる、単位 m³)/ "mean" = 1/N(論文)。 window = (cx, cy, R) なら半径 R 内の点だけ使う(せん断の漏れを切る窓、根拠はモジュール docstring)。valid でない点(nan)は除く。 返り D (2,)、tau_dir = (−D_y, D_x)(式 9 の向き、係数なし)、origin、n、rho、form、keep。 Raises ValueError: form/origin/weight が未知(綴り違いは fail-closed)、pts/u の形、area 無しの “area”、使える点が 3 未満。 · 例: poc_tactile_dipole_torque |
tilt_shear_field matrix × matrix × table → table — 「把持後に零点を取る」論文の手順そのまま: 把持直後の圧 p_before とトルク後の圧 p_after の差 Δp を Boussinesq 核で畳み、 零点後のマーカー変位 ux・uy(・uz)と dp を返す。Δp の 0 次モーメントが 0(法線力不変)なら双極子は原点に依らない。 Raises ValueError: 2 枚の形が違う。 · 例: poc_tactile_dipole_torque
torque_decompose matrix × matrix × scalar × scalar × scalar → table — マーカー場を 3 つの力学量に分ける: translation = 窓内の平均変位(せん断 Q、単向成分)、omega = 剛体回転角 (:func:rigid_rotation_fit)→ ねじり Mz(a が要る; omega_curl = 平均 curl/2 は参考)、 D = 発散双極子(面積重み)→ 傾き M1 = D / coef(coef 既定 = 半空間の閉形式 −(1−2ν)/(2G)、実機は較正値を渡す)、tau = (−M1_y, M1_x)。 発散・curl は平均変位を引いても変わらない(定数の微分は 0)ので順序に依らない。窓 (cx, cy, R) は接触円に限る(半空間では純せん断が 窓全体に発散双極子を作るため、モジュール docstring 参照)。radius = 発散の近傍半径(必須)。 · 例: poc_tactile_dipole_torque
torsion_stick_field matrix × matrix × scalar × scalar × table × scalar → table — 無滑りねじり(Reissner–Sagoci、Johnson 1985 §3.9 相当、式番号は未確認 → 畳み込みで数値検証)の表面変位場: トラクション q_θ = 3M_z r/(4πa³√(a²−r²)) を :func:tacslip.cerruti_kernel の核で畳んだ ux・uy [m] と、閉形式 beta = 3M_z/(16Ga³)、 円内の剛体回転 ux_cf = −βy・uy_cf = βx(r < a)、トラクション qx・qy。畳み込みが円内で一様な u_θ/r = β を返すことで β の式を 独立実装で検証する(−0.5 %、一様性 0.14 %、実測)。これは無滑りの場: 平頭押し込み子なら全滑りの 8/(3π) 倍まで厳密だが、Hertz 接触では 縁から必ず滑る —— Hertz 接触の部分滑りの場は :func:cuttouch.torsion_partial_slip の field=True(モジュール docstring 参照)。 Raises ValueError: G ≤ 0、a ≤ 0、X と Y の形が違う、核の格子が合わない。 · 例: poc_tactile_dipole_torque
drive / terrain(20)
add_mesh_object table × table → scalar — 手続き的なメッシュ(tree_mesh / pedestrian_mesh …、原点 = 底面中心)を姿勢に置いて世界に足す。 · 例: gallery_drive_world_objects, poc_driving_crossing, poc_driving_decisions, poc_driving_humanoids, poc_driving_lateral, poc_driving_traffic, poc_world_terrain
course_distance table × points → table — 点 (N, 2) からコース(走れる多角形の和)への距離と、最寄り点から外へ向く単位ベクトル。 · 例: poc_world_terrain
crosswalk_mesh 入力なし → table — 横断歩道(ゼブラ): 道を横切る線分 a→b に沿って幅 stripe・間隔 gap の縞を、a→b に直交する向きに length だけ伸ばす(a→b の左手側)。{"V", "F", "color", "label" (12), "n_stripes", "area"}。 · 例: poc_driving_crossing, poc_driving_humanoids, poc_world_terrain
fbm_gradient image2d × image2d × table → any — (∂h/∂x, ∂h/∂y) の閉形式。 · 例: poc_world_terrain
fbm_height image2d × image2d × table → image2d — fBm の高さの閉形式: h(x, y) = Σ_k A_k cos(2π f_k (x cosθ_k + y sinθ_k) + φ_k)(表は :func:fbm_params)。 · 例: poc_rover_slip_risk_path, poc_world_terrain
fbm_params 入力なし → table — 乱数位相の正弦の和で fBm 面を作るための表(Saupe 1988 のスペクトル合成の連続版)。 · 例: poc_rover_slip_risk_path
material_params 入力なし → table — 材質の表。puddle = Perlin(puddle_freq) > puddle_level の所(道の内側だけ、ラベル 11、色 = 写り込み refl·空 + (1−refl)·陰影つきの路面)、 stain = 同様に暗い染み(ラベルは道のまま、真値の場 “stain” に残る)、wear = 白線の摩耗率 clip(wear·(Perlin(wear_freq)·0.5+0.5)·2, 0, 1)。 · 例: poc_world_terrain
mesh_signed_volume points × matrix → scalar — 閉じたメッシュの符号つき体積(発散定理: Σ v₀·(v₁×v₂)/6、外向きで正)。 · 例: poc_world_terrain
pedestrian_mesh 入力なし → table — 手続き的な歩行者: 脚 2 本(箱)、胴(箱)、頭(回転体)。原点 = 足元中心、+x が前。stride [m] で脚を前後に開く。 · 例: gallery_drive_world_objects, poc_driving_crossing, poc_driving_humanoids, poc_driving_traffic, poc_driving_weather, poc_world_terrain
perlin2 image2d × image2d → table — Perlin(2002, improved noise)の 2 次元勾配雑音を世界座標 (x, y) で評価する。 · 例: poc_world_terrain
radial_periodogram image2d → table — 格子上の高さ場 (H, W) の周期図を動径方向に平均する: {"f", "power", "count"}(f は周期/m)。 · 例: poc_world_terrain
scatter_offroad table → points — 道の外に物を撒く(dart throwing): 各点はコースから margin 以上、互いに r_min 以上離れる。 · 例: poc_world_terrain
spectral_slope image2d → table — 動径周期図の log–log 直線当てはめ: {"beta", "intercept", "n"}(power ∝ f^{−beta})。 · 例: poc_world_terrain
terrain_gradient image2d × image2d × table → any — (∂z/∂x, ∂z/∂y) の閉形式: ∇(h·w) = w∇h + h·w′(d)·∇d、∇d = 最寄り点から外へ向く単位ベクトル。 · 例: poc_world_terrain
terrain_height image2d × image2d × table → image2d — z = fbm(x, y)·w(d(x, y)) + うねり(x, y)。course が無ければ w = 1(起伏だけ)。 · 例: poc_world_terrain
terrain_mesh table × table → table — (xmin, xmax, ymin, ymax) を step の升に割り z = terrain_height の格子メッシュ。 · 例: gallery_drive_city_terrain
terrain_params 入力なし → table — 地形の表: fBm の起伏(道から flat m は 0、そこから blend m で smoothstep)+ 路面のうねり road_amp·½[sin(2πx/L₁+φ₁) + sin(2πy/L₂+φ₂)](道にも掛かる、勾配の上限 = road_amp·π/min(L))。 · 例: gallery_drive_city_terrain, poc_world_terrain
tree_mesh 入力なし → table — 手続き的な木: 幹 = 正 n 角柱(高さ 0.35·height)、樹冠 = 円錐(conifer)か回転楕円体(broadleaf、上下 0.65·height)。 · 例: poc_world_terrain
world_apply_terrain table × table → table — world_build の出力(平らな世界)に地形を掛ける(その場で書き換え、同じ dict を返す)。 · 例: poc_world_terrain
world_materials table × table × matrix × matrix × table → table — 描画結果 view(world_camera、”shade” を含む)に路面の材質を画素ごとに掛ける。 · 例: poc_world_terrain
drive / town(10)
kyosoku_summary 入力なし → table — 教則の場面の再現台帳(docs/drive/kyosoku_scenarios.json)を読み、category × status の件数表にする。 · 例: poc_driving_town
town_centerline table → any — 継いだ中心線を弧長 step ごとに標本化する → (N, 4) = (s, x, y, yaw)(終点は必ず含む)。 · 例: poc_driving_town
town_chain any → table — 要素を順に継いで配置する: 要素 k+1 の entry を要素 k の exit(の overlap 手前)に合わせる剛体配置を閉形式で求め、 :func:drivecourse.course_layout に渡す。 · 例: poc_driving_town
town_checks table × table → table — 通し走行の採点(閉形式の門 + 既存の踏切の採点 op)。 · 例: poc_driving_japan_town, poc_driving_town
town_crossing_state table → table — 時刻 t の踏切の設備を世界に書き込む(全部の踏切に同じ列車の時刻を使う)。 · 例: poc_driving_town
town_layout 入力なし → table — 既定の町。"default" = road(30) → intersection → road(20) → crossing(踏切) → road(20) → slope → road(20) → parallel_parking → road(30)(全部幅 7 m、停止線は交差点 1 本と踏切 1 本)。"short" = road(20) → crossing → road(20) (テストの速い門)。 · 例: poc_driving_town
town_rules 入力なし → table — 法規パック(:data:RULE_PACKS の複製)。{"jurisdiction", "side": "left"|"right", "crossing_stop": "always"|"when_active", "intersection_stop": "signal", "hold_s", "look_required", "look_hold_s", "sources": [...], "verified", "notes"}。 · 例: poc_driving_town
town_run table → table — 中心線に沿う縦だけの通し走行(ルールベース)。 · 例: poc_driving_japan_town, poc_driving_town
town_stop_lines table → table — 町の停止線を弧長順に並べる: [{"s", "x", "y", "yaw", "kind", "element", "crossing_zone": (s0, s1) | None, "drawn": bool}, ...]。 · 例: poc_driving_town
town_world table → table — :func:driveworld.world_build の薄い包み(props と残りの引数をそのまま渡す)に、停止線・信号・踏切の位置の表を world["town"] として足し、踏切の要素ごとに 遮断機つき警報機 2 基・遮断かん(上がり)・踏切の板・列車(遠くに待機) を置く。 · 例: poc_driving_town
drive / traffic(18)
bus_stop_rate any → any — 停車中のバスの前後で高い出現率 λ(x) = base + peak [exp(−½((x − rear)/spread)²) + exp(−½((x − front)/spread)²)] [件/m]。バスの陰(前端の先)と後ろから人が出てくる、という形の例(値は呼び出し側の仮定)。上限は base + 2·peak。 · 例: poc_driving_traffic
driver_style 入力なし → table — 運転の癖 3 種(“careful” / “normal” / “sloppy”)の母数を返す。値はすべて仮定(出典なし)。 · 例: poc_driving_traffic
idm_accel any → any — Intelligent Driver Model の加速度(Treiber, Hennecke, Helbing 2000)。 · 例: poc_driving_decisions, poc_driving_town, poc_driving_traffic
idm_equilibrium_gap any → any — IDM の平衡車間 s_e(v) = (s0 + v T) / sqrt(1 − (v/v0)^δ)(0 ≤ v < v0)。 · 例: poc_driving_traffic
idm_platoon_simulate any → table — 先頭車の速度プロファイルに IDM の追従車列を積分する(車 0 = 先頭、1..n = 追従車)。 · 例: poc_driving_traffic
importance_risk_estimate any → table — 出現率を上げた試行(率 λ’)で事故を起こしやすくし、尤度比の重みで本来の率 λ の事故確率に戻す。 · 例: poc_driving_traffic
lateral_wobble 入力なし → signal — Ornstein–Uhlenbeck 過程 dX = −θ X dt + σ dW の厳密離散化(長さ n の列、刻み dt)。 · 例: poc_driving_traffic
occlusion_reveal_distance any → scalar — 路肩駐車車両(向きつきの箱)の陰にある点 emerge_xy が、自車の目から 初めて見える ときの縦距離。 · 例: poc_driving_traffic
occlusion_safe_speed any → any — 見えた瞬間から距離 d 以内に止まれる最大速度 v = b(−ρ + sqrt(ρ² + 2d/b))。 · 例: poc_driving_traffic
occlusion_visible_intervals any → any — 自車の目が p(s) = ego_xy + s h を 0 ≤ s ≤ s_max 進む間に、点 emerge_xy が 見えている 前進量の区間の列。 · 例: poc_driving_traffic
ou_estimate signal → table — 横ふらつき(平均 0 の OU 過程 dX = −θX dt + σ dW)の母数を、等間隔 dt の観測の列から読む。 · 例: poc_driving_traffic
passing_decision 入力なし → any — 対向車までの距離 dist_oncoming(判断時、自車が x_in にいるとき)で “go” か “wait” を返す。 · 例: poc_driving_traffic
passing_gap_required 入力なし → table — 駐車車両を避けて対向車線にはみ出す区間を抜ける時間と、対向車がそれまでに来ない境目の距離(閉形式)。 · 例: poc_driving_traffic
passing_simulate 入力なし → table — “go” にした場合を時間を進めて走らせ、PET(自車が対向車線から戻り切った時刻と、対向車がその地点に着く時刻の差)を返す。 · 例: poc_driving_traffic
pedestrian_crossing 入力なし → table — 横断の意図を真値に持つ歩行者の軌跡(区分ごとの閉形式。積分しない)。 · 例: poc_driving_traffic
poisson_events any → signal — [0, x_max] の非一様ポアソン過程を thinning(Lewis & Shedler 1979)で 1 本引く(昇順の位置の配列)。 · 例: poc_driving_traffic
poisson_events_xt any → any — [0, x_max] × [0, t_max] の時空の非一様ポアソン過程(率 λ(x, t) [件/(m·s)])を thinning で 1 本引く。 · 例: poc_driving_traffic
social_force_step points × points × points → any — social force の 1 歩(単位質量あたり。Helbing & Molnár 1995 / Helbing, Farkas, Vicsek 2000 の形)。 · 例: gallery_drive_mirrors_crowds
drive / ttc(9)
flow_from_depth_motion image2d × matrix × matrix → table — 深度像と剛体運動から 真の像の流れ: {"u", "v", "valid", "depth1"}(各 (H, W))。 · 例: poc_ttc_rss, poc_world_terrain
foe_from_flow image2d × image2d → table — 光学流から拡大の中心(FoE)を推定する: {"foe": (col, row), "n", "residual"}。 · 例: poc_world_terrain
foe_from_motion matrix × matrix → signal — 拡大の中心(FoE)の画素 (col, row): 相対運動の並進 t を無限遠で投影した点。 · 例: poc_ttc_rss, poc_world_terrain
label_extent labels2d → table — ラベル像の中で値 value の画素の箱: {"col0", "col1", "row0", "row1", "width", "height", "n"}。 · 例: poc_ttc_rss, poc_video_physics_consistency
relative_motion matrix × matrix → matrix — 2 コマの間の、カメラ座標で見た点の剛体運動 T_rel(P_c1 = T_rel · P_c0)。 · 例: poc_ttc_rss, poc_world_terrain
ttc_from_flow image2d × image2d → table — 光学流から τ(秒): {"tau_map", "tau", "n", "foe"}。 · 例: poc_ttc_rss
ttc_from_range 入力なし → scalar — 距離と閉じる速さから τ = d / v(秒)。世界の姿勢から出す真値(v ≤ 0 なら inf、d < 0 は ValueError)。 · 例: poc_ttc_rss
ttc_from_scale 入力なし → scalar — 見かけの大きさの変化から τ(秒、最初のコマの時刻で): τ₀ = Δt · w₁ / (w₁ − w₀)。 · 例: poc_ttc_rss
ttc_truth image2d × matrix × matrix → table — 画素ごとの 真の τ(秒、最初のコマの時刻で)と閉じる速さ: {"tau", "closing_speed", "depth1", "valid"}。 · 例: poc_ttc_rss
drive / world(4)
load_asset 入力なし → table — 同梱資産をメッシュ dict に: {"V", "F", "color", "label", "name", "dims"}。 · 例: poc_driving_longitudinal, poc_driving_pass, poc_driving_school, poc_driving_weather, poc_ttc_rss
world_build table → table — コース(要素か layout)から世界を組む。 · 例: gallery_drive_japan_roads, gallery_drive_world_objects, poc_driving_longitudinal, poc_driving_school, poc_driving_weather, poc_ttc_rss, poc_world_terrain
world_camera table × matrix × matrix → table — 世界をカメラで撮る: {"color" (H,W,3), "label" (H,W) int(−1 = 空), "depth" (H,W), "face" (H,W), "shade" (H,W)}。 · 例: gsplat_trained_product, poc_ball_bounce, poc_driving_crossing, poc_driving_decisions, poc_driving_endless_map, poc_driving_humanoids, poc_driving_japan_town, poc_driving_lateral, poc_driving_longitudinal, poc_driving_pass, poc_driving_school, poc_driving_town, poc_driving_traffic, poc_kendama, poc_table_tennis_bounce, poc_table_tennis_spin, poc_ttc_rss, poc_world_terrain
world_move table → any — 物体 i(資産で置いたもの)を新しい姿勢 (x, y, yaw) へ動かす(頂点だけ書き換える。面・ラベル・色は不変)。 · 例: poc_driving_crossing, poc_driving_decisions, poc_driving_lateral, poc_ttc_rss, poc_world_terrain
tomography(32 ops / 7 categories)
tomography / artifact(5)
beam_hardening_apply sinogram → sinogram — Turn a monochromatic sinogram into a polychromatic one — cupping. · 例: ct_reconstruction, poc_battery_ct_degradation
beam_hardening_correct sinogram → sinogram — Undo cupping — either the exact model inverse, or a calibrated polynomial. · 例: ct_reconstruction
metal_trace_interpolate sinogram → sinogram — Linear-interpolation metal artefact reduction (LI-MAR). · 例: ct_reconstruction
ring_artifact_apply sinogram → sinogram — Give the detector a per-bin gain error — the source of ring artefacts. · 例: ct_reconstruction, poc_battery_ct_degradation
ring_artifact_remove sinogram → sinogram — Remove per-detector-bin offsets by flattening the angle-averaged profile. · 例: ct_reconstruction
tomography / forward(3)
ellipse_phantom 入力なし → image2d — Rasterise a sum of uniform ellipses onto a size x size slice. · 例: ct_reconstruction, poc_ct_fidelity, tomography_reconstruct
ellipse_sinogram 入力なし → sinogram — The closed-form Radon transform of a sum of uniform ellipses. · 例: ct_reconstruction, poc_ct_fidelity
radon_transform image2d → sinogram — Forward parallel-beam projection: a slice in, a sinogram out. · 例: ct_reconstruction, poc_aoi_ct_traceability, poc_ct_fidelity, poc_sem_tem_same_particle
tomography / geometry(2)
sinogram_center_of_rotation sinogram → measurement — Where the axis of rotation actually is, in detector bins from the centre. · 例: ct_reconstruction
sinogram_center_shift sinogram → sinogram — Re-centre a sinogram on its axis of rotation. · 例: ct_reconstruction
tomography / layout(2)
projection_angles 入力なし → signal — The angle sequence of a scan, in degrees, as a 1-D float64 array. · 例: ct_reconstruction, poc_battery_ct_degradation, poc_ct_fidelity, tomography_reconstruct
sinogram_design 入力なし → table — What a scan geometry can and cannot resolve — before anything is built. · 例: ct_reconstruction, tomography_reconstruct
tomography / reconstruct(3)
backproject_sinogram sinogram → image2d — Plain, un-filtered back-projection — the blurred baseline. · 例: ct_reconstruction, poc_ct_fidelity
filtered_backprojection sinogram → image2d — Filtered back-projection (FBP) — the standard CT reconstruction. · 例: ct_reconstruction, poc_aoi_ct_traceability, poc_ct_fidelity, poc_sem_tem_same_particle
sart_reconstruct sinogram → image2d — SART — simultaneous algebraic reconstruction, one angle at a time. · 例: ct_reconstruction
tomography / spectral_xray(15)
basis_decomposition_crlb 入力なし → table — 基底の厚み b での分解の分散の下限(Cramér–Rao)を閉形式で返す。 · 例: poc_dual_energy_xray
basis_material_decompose images → images — チャネルの信号 → 基底物質の厚み図(Alvarez–Macovski / Lehmann の基底分解)。 · 例: poc_dual_energy_xray
dual_energy_separability 入力なし → table — 2 つの材料(厚み)が、チャネルの対数減衰でどれだけ分けられるか(d′ と誤り率の閉形式)。 · 例: poc_dual_energy_xray
dual_kvp_channels pairs × pairs → table — 2 つの管電圧で撮るエネルギー積分型(シンチレータ)の 2 チャネル。 · 例: poc_dual_energy_xray
effective_z_map images → image2d — デュアルエナジーの像から実効原子番号の像を推定する(R を元素の曲線と照合)。
material_effective_z 入力なし → table — 組成から実効原子番号(Mayneord / Spiers の冪の式)と電子密度を返す。 · 例: poc_dual_energy_xray
material_xray_attenuation 入力なし → pairs — 材料の X 線の減衰を pairs(E [keV], 値)で返す(質量減衰係数 μ/ρ [cm²/g] が既定)。 · 例: poc_dual_energy_xray, poc_geodetic_height_frames
material_xray_constants 入力なし → table — 1 エネルギーの X 線の定数(μ/ρ・μ_en/ρ・μ・半価層・平均自由行程)と出典を返す。 · 例: poc_dual_energy_xray
material_xray_table 入力なし → table — X 線の列(質量減衰係数 μ/ρ)を引ける材料の一覧を返す。
photon_counting_channels pairs → table — フォトンカウンティング検出器のエネルギーの窓 → チャネル(1 光子 1 カウント)。 · 例: poc_dual_energy_xray
r_value_map images → image2d — R = L_low / L_high(低エネルギーと高エネルギーの対数減衰の比)の像を返す。
scintillator_sensor_qe 入力なし → table — シンチレータ積層のセンサの量子効率: X 線 1 個 → シンチレータの吸収 → 発光 → 光検出器の電子の数。 · 例: scintillator_sensor_tour
xray_beam_quality pairs → table — スペクトルの線質: 第 1・第 2 半価層、均等度、平均エネルギー、実効エネルギーを返す。 · 例: poc_dual_energy_xray
xray_channel_projection images → images — 材料ごとの厚み図 → チャネルごとの信号の像 (C, H, W)。 · 例: poc_dual_energy_xray
xray_tube_spectrum 入力なし → pairs — X 線管の光子スペクトルを pairs(E [keV], 光子数 / keV)で返す(Σ φ ΔE = 1 に正規化)。 · 例: poc_dual_energy_xray
tomography / volume(2)
fbp_volume sinostack → voxel — Reconstruct every sinogram of a (Z, A, D) stack -> a (Z, S, S) volume. · 例: poc_battery_ct_degradation, tomography_reconstruct
radon_volume voxel → sinostack — Project every slice of a (Z, H, W) volume -> a (Z, A, D) stack. · 例: poc_battery_ct_degradation, tomography_reconstruct
volcolor(11 ops / 7 categories)
volcolor / colorize(2)
vol_colorize_labels labels → rgbvolume — 3-D ラベルボリューム -> (D, H, W, 3) float64 の RGB ボリューム。 · 例: voxel_labels_color
vol_label_overlay voxel × labels → rgbvolume — 元のグレーボリュームに色ラベルを重ねた (D, H, W, 3) を返す。 · 例: voxel_labels_color
volcolor / diagnose(1)
vol_label_color_flicker voxel → table — 「切ってから色を付ける」と「色を付けてから切る」の差を数える。 · 例: voxel_labels_color
volcolor / measure(2)
vol_label_legend labels → table — 「どの色がどの成分で、その計測値は幾つか」の凡例表を返す。 · 例: voxel_labels_color
vol_label_shape_stats labels → table — 成分ごとの線形時間で出せる定量値(体積・重心・箱・主成分形状指標)。 · 例: poc_cold_chain_excursion, voxel_labels_color
volcolor / palette(1)
vol_label_palette 入力なし → matrix — ラベル 0..n_labels の RGB パレット (n_labels + 1, 3) float64。 · 例: voxel_labels_color
volcolor / render(2)
vol_label_volume_render labels → rgbimage — 色付きラベルの合成投影 (H, W, 3) を numpy だけで作る。 · 例: voxel_labels_color
vol_labels_to_meshes labels → table — 成分ごとに marching cubes をかけ、色付きメッシュの集合にする。 · 例: voxel_labels_color
volcolor / select(1)
vol_select_labels labels → labels — 3-D の特徴で成分をふるいにかける(2-D のブロブ選別の 3-D 版)。 · 例: voxel_labels_color
volcolor / slice(2)
vol_label_mpr_rgb rgbvolume → rgbimage — 色付きボリュームの直交 3 断面を 1 枚の RGB に並べた図を返す。 · 例: voxel_labels_color
vol_label_slice_rgb rgbvolume → rgbimage — 色付きボリュームから 1 枚の断面 RGB を取り出す(axial / coronal / sagittal)。 · 例: voxel_labels_color
reprconv(42 ops / 10 categories)
reprconv / algebra(11)
angle_to_matrix angle → matrix — 角度 [度] → z 軸まわりの回転行列 matrix (3,3)。angle の出口。 · 例: representation_roundtrip
countrate_to_counts countrate → counts — 計数レート [Hz] → 計数 counts。countrate の出口(可逆)。 · 例: representation_roundtrip
counts_to_countrate counts → countrate — 計数 → 計数レート [Hz]。:func:countrate_to_counts の逆。 · 例: representation_roundtrip
cscalar_to_polar cscalar → pairs — 複素スカラ → 極形式 pairs (1,2) = [|z|, arg z[度]]。cscalar の出口。 · 例: representation_conversion
deformation_to_points deformation → points — TPS 変形 deformation → 制御点 points (N,3)。deformation の出口。 · 例: representation_conversion
matrix_to_angle matrix → angle — z 軸まわりの回転行列 → 角度 [度]。:func:angle_to_matrix の逆。 · 例: representation_roundtrip
matrix_to_rot_scale matrix → rot_scale — 2-D 相似変換 (2,2) → (角度[度], 倍率)。:func:rot_scale_to_matrix の逆。 · 例: representation_conversion
polar_to_cscalar pairs → cscalar — 極形式 pairs (1,2) = [r, theta[度]] → 複素スカラ。:func:cscalar_to_polar の逆。 · 例: representation_conversion
rot_scale_to_matrix rot_scale → matrix — (角度[度], 倍率) → 2-D 相似変換 matrix (2,2)。rot_scale の出口。 · 例: representation_conversion
shift_to_vector shift → vector — 整数シフト (dz, dy, dx) → vector (3,)。shift の出口(可逆)。 · 例: representation_conversion
vector_to_shift vector → shift — vector (3,) → 整数シフト (dz, dy, dx)。:func:shift_to_vector の逆向き。 · 例: representation_conversion
reprconv / curvature(3)
curvature_to_shape_index curvature → pairs — 主曲率 (N,2) → 形状指数と曲がり (N,2) の pairs。curvature の出口。 · 例: representation_roundtrip
curvature_to_table curvature → table — 曲率 → 分布の要約 table。一方向(統計は情報を捨てるのが仕事)。 · 例: representation_conversion
shape_index_to_curvature pairs → curvature — 形状指数と曲がり (N,2) → 主曲率 (N,2)。:func:curvature_to_shape_index の逆。 · 例: representation_roundtrip
reprconv / descriptor(3)
descriptor_to_matrix descriptor → matrix — 記述子 → matrix。descriptor の出口(可逆)。 · 例: representation_conversion, representation_roundtrip
descriptor_to_table descriptor → table — 記述子 → 要約 table。一方向。 · 例: representation_conversion
matrix_to_descriptor matrix → descriptor — matrix → 記述子。:func:descriptor_to_matrix の逆。 · 例: representation_conversion
reprconv / direction(3)
angles_to_normals pairs → normals — 方位・仰角の対 (N,2) [度] → 単位法線 (N,3)。pairs の出口。 · 例: representation_roundtrip
normals_to_angles normals → pairs — 法線 (N,3) → 方位・仰角の対 (N,2) [度]。normals の出口。 · 例: poc_tacscalib_sphere_lut, representation_roundtrip
normals_to_egi normals → image2d — 法線 (N,3) → 拡張ガウス像 (n_el, n_az) の image2d。 · 例: representation_conversion
reprconv / flow(4)
flow_apply points × flow_scattered → points — 点群 (N,3) に散在フロー (N,3) を足す → points。flow の消費側。 · 例: representation_conversion
flow_magnitude flow_dense → voxel — 密なシーンフロー (3,D,H,W) → 速さの体積 voxel (D,H,W)。flow の出口。 · 例: perception_on_video, representation_roundtrip
flow_speed flow_scattered → signal — 散在フロー (N,3) → 速さの signal (N,)。散在 flow の出口。 · 例: representation_conversion, representation_roundtrip
flow_to_rgbimage flow_dense → rgbimage — 密なシーンフローの 1 スライス → 色相=向き・明度=速さの rgbimage。 · 例: representation_conversion
reprconv / gaussians(3)
gaussians_to_points gaussians → points — gaussians → 中心の点群 (N,3)。gaussians の出口(中心は可逆)。 · 例: representation_roundtrip
gaussians_to_voxel gaussians → voxel — gaussians → 密度 voxel (D,H,W)。gaussians の 2 つ目の出口。 · 例: representation_roundtrip
points_to_gaussians points → gaussians — 点群 (N,3) → 等方ガウシアン gaussians。この型の唯一の入口。 · 例: representation_roundtrip
reprconv / index(3)
indices_to_labels indices → labels — 添字 (N,) → 選択マスク labels。indices の出口(可逆)。 · 例: representation_conversion
labels_to_indices labels → indices — labels → 非背景の添字 (N,)。:func:indices_to_labels の逆向き。 · 例: representation_conversion
select_points points × indices → points — 点群 (N,3) と添字 (M,) → 部分点群 (M,3)。indices の消費側。 · 例: representation_conversion
reprconv / keypoint(6)
keypoints_from_image2d image2d → keypoints — 計数/応答画像 (H, W) → 画像座標 (N,2) = (u, v)。往復の戻り路。 · 例: representation_roundtrip
keypoints_to_image2d keypoints → image2d — 画像座標 (N,2) = (u, v) → 計数画像 (H, W)。keypoints の 2 つ目の出口。 · 例: representation_roundtrip
keypoints_uv_to_points keypoints → points — 画像座標 (N,2) = (u, v) → 点群 (N,3) = (z, y, x)。keypoints の出口。 · 例: representation_roundtrip
points_to_position points → position — 点群 (N,3) → 重心 (z, y, x)。不可逆(分布を捨てる)。 · 例: representation_conversion, representation_roundtrip
points_zyx_to_keypoints_uv points → keypoints — 点群 (N,3) = (z, y, x) → 画像座標 (N,2) = (u, v)。 · 例: representation_roundtrip
position_to_points position → points — 位置 (z, y, x) → 1 点の点群 (1, 3)。position の出口(可逆)。 · 例: representation_conversion
reprconv / pairs(3)
pairs_to_image2d pairs → image2d — 対 (N,2) → 散布密度画像 (H, W)。pairs の 3 つ目の出口。 · 例: representation_conversion
pairs_to_signal pairs → signal — 対 (N,2) → 従属変数の signal (N,)。pairs の 2 つ目の出口。 · 例: representation_conversion, representation_roundtrip
pairs_to_table pairs → table — 対 (N,2) → 要約 table。一方向。 · 例: representation_conversion
reprconv / score(3)
correlation_score voxel × voxel → score — 2 つの voxel → 正規化相互相関の score volume。この型の唯一の入口。 · 例: poc_leak_localization, representation_conversion, representation_roundtrip
score_to_image2d score → image2d — score volume → 最大値投影 image2d。score の 2 つ目の出口。 · 例: representation_conversion
score_to_position score → position — score volume → 最大値の位置 position (z, y, x)。score の出口。 · 例: representation_conversion
fileio(14 ops / 4 categories)
fileio / e57(2)
e57_read any → table — ASTM E57 の bytes を読み、座標・強度・色・pose の点群 table を返す。 · 例: fileio_roundtrip
e57_write table → any — 座標・強度・色・pose を持つ点群 table を ASTM E57 の bytes に書く。 · 例: fileio_roundtrip
fileio / mesh(8)
mesh_read_obj text → mesh — Wavefront OBJ の v / f(v//vn を含む)を読み、三角形 mesh を返す。
mesh_read_off text → mesh — Geomview OFF を読み、三角形 mesh (vertices, faces) を返す。
mesh_read_ply any → table — ASCII / binary PLY を読み、頂点・面・色・法線・スカラー属性の table を返す。 · 例: fileio_roundtrip
mesh_read_stl any → mesh — ASCII / little-endian binary STL を読み、共有頂点の mesh (vertices, faces) を返す。
mesh_write_obj mesh → text — 三角形 mesh を v / vn / f を持つ Wavefront OBJ 文字列に書く(text)。
mesh_write_off mesh → text — 三角形 mesh を Geomview OFF 文字列に書く(text)。
mesh_write_ply table → any — 頂点・面・色・法線・任意スカラー属性を ASCII / little-endian PLY に書く(text / bytes)。 · 例: fileio_roundtrip
mesh_write_stl mesh → any — 三角形 mesh を ASCII または little-endian binary STL に書く(text / bytes)。
fileio / points(2)
points_read_xyz text → points — 空白区切りの XYZ テキストを読み、(N,3) の points を返す。 · 例: fileio_roundtrip
points_write_xyz points → text — 有限な (N,3) 点群を17桁の XYZ テキストに書く(text)。 · 例: fileio_roundtrip
fileio / table(2)
table_read_csv text → table — :func:table_write_csv の単位つき CSV を読み、列・単位・メタデータの table を返す。 · 例: fileio_roundtrip
table_write_csv table → text — 単位と由来を持つ表を、pandas / MATLAB でも読める CSV 文字列にする(text)。 · 例: fileio_roundtrip
cadmap(4 ops / 4 categories)
cadmap / defect(1)
cad_defect_to_cad mesh × labels → table — 2-D の欠陥ラベル画像 → CAD 面上の表(面 ID / 面上の面積 / 3-D 重心)。 · 例: defect_to_cad
cadmap / project(1)
cad_surface_to_pixel mesh × points → table — 3-D 点 (N,3) → 画素 + 可視性(遮蔽・背面・画枠外を区別して返す)。 · 例: defect_to_cad
cadmap / raycast(1)
cad_pixel_to_surface mesh × keypoints → table — 画素 (N,2) → CAD 面上の (face_id, 重心座標, 3-D 点)(閉形式)。 · 例: defect_to_cad
cadmap / visibility(1)
cad_visible_faces mesh → indices — このカメラから実際に見えている面の ID(昇順、indices sort)。 · 例: defect_to_cad
annotate(51 ops / 8 categories)
annotate / compose(3)
compare_frame image2d × image2d → image2d — 2 枚を並べ、境界に仕切りとラベルを置く。 · 例: annotate_gallery
panel_grid image2d → image2d — パネルを格子に並べ、各枠の下にラベルを敷く(montage / contact sheet)。 · 例: annotate_gallery, annotate_paper_tour
zoom_inset image2d → image2d — 拡大の差し込み ―― 元図に枠と引き出し線を付ける。 · 例: annotate_gallery, poc_diabolo_model_and_vision, poc_food_cutting_measure
annotate / furniture(3)
color_bar image2d × lut → image2d — LUT の凡例(カラーバー)。最小・最大・単位のラベルつき。 · 例: annotate_gallery, poc_cad_scan_deviation, poc_ct_void_morphology, poc_dem_terrain, poc_interferometry_step, poc_lidar_terrain_change, poc_lightfield_depth, poc_multibeam_bathymetry, poc_pv_thermal_survey, poc_sem_tem_same_particle, poc_simcal_thin_film, poc_stockpile_volume, poc_thermography_ndt
legend_box image2d × entries → image2d — 色 × 説明の凡例。箱の高さは要素数から閉形式で決まる。 · 例: annotate_gallery, poc_driving_decisions, poc_measurement_system_analysis, poc_moire_alignment, poc_pxrd_phase_peel
scale_bar image2d → image2d — 物理長のスケールバー。画素↔物理の換算は引数で受ける(勝手に決めない)。 · 例: annotate_gallery, poc_sem_tem_same_particle
annotate / overlay(5)
annotate_invert image2d × mask → image2d — 領域(region)を反転色で塗る/縁取る。 · 例: annotate_paper_tour
annotate_invert_path image2d × pairs → image2d — 折れ線(line)を反転色で描く。アンチエイリアスつき。 · 例: annotate_paper_tour
annotate_invert_visibility image2d × mask → table — 反転色がその地の上で本当に見えるかを、描く前に測る。 · 例: annotate_paper_tour
overlay_labels image2d × labels → image2d — 色ラベル図を α で重ねる。同じラベル番号には常に同じ色。 · 例: annotate_gallery, poc_mri_bias_field, poc_recycling_sorting
overlay_mask image2d × mask → image2d — 2 値マスクを α で重ねる。厳密に a*f + (1-a)*b。 · 例: annotate_gallery, poc_kendama, poc_pv_thermal_survey
annotate / paper(23)
annotate_angle image2d → image2d — 画像(image2d)を返す: 3 点のなす角を弧と値で示す(必要なら 2 本の腕も)。 · 例: paper_figure
annotate_angle_layout 入力なし → table — table(dict)を返す: 3 点 a, vertex, b のなす角(小さい方)の弧と文字位置。 · 例: paper_figure
annotate_colorbar image2d × image2d → image2d — 画像(image2d)を返す: スカラ場を LUT で色分けして重ね、カラーバーを添える。 · 例: paper_figure, poc_thin_film_reflectometry
annotate_dimension image2d → image2d — 画像(image2d)を返す: 寸法線(両端矢じり + 補助線 + 値と単位)。 · 例: paper_figure
annotate_dimension_layout 入力なし → table — table(dict)を返す: 寸法線の幾何(寸法線・補助線・文字位置)を閉形式で決める。 · 例: paper_figure
annotate_figure_grid images → image2d — 画像(image2d)を返す: 画像 + 見出しを一枚の図に組む(余白一定・パネル文字つき)。 · 例: paper_figure, poc_flybrain_pointcloud, poc_itof_multifreq, poc_pixel_shift
annotate_figure_grid_layout 入力なし → table — table(dict)を返す: 多パネル図の組版(セル・パネル・見出し帯の矩形)を閉形式で。 · 例: paper_figure
annotate_inset image2d → image2d — 画像(image2d)を返す: 元枠の拡大を隅に差し込み、対応する角を線で結ぶ。 · 例: paper_figure, poc_real_defect_floor
annotate_inset_layout 入力なし → table — table(dict)を返す: 拡大差し込みの置き場所と倍率を閉形式で決める。 · 例: paper_figure
annotate_leader image2d → image2d — 画像(image2d)を返す: 肘つき引き出し線 + 文字(複数点の衝突回避つき)。 · 例: paper_figure
annotate_leader_layout 入力なし → table — table(dict)を返す: 引き出し線の配置(肘・文字位置・板の矩形)を閉形式で決める。 · 例: paper_figure
annotate_legend image2d → image2d — 画像(image2d)を返す: 番号つき丸マーカー × 説明の凡例(:func:annotate_markers の対)。 · 例: paper_figure, poc_real_defect_floor
annotate_markers image2d → image2d — 画像(image2d)を返す: 番号(または短い文字)入りの丸いマーカーを各点に置く。 · 例: paper_figure
annotate_orientation image2d → image2d — 画像(image2d)を返す: 方位(北)や向きを示す矢印 + 文字。 · 例: paper_figure
annotate_outline image2d × mask → image2d — 画像(image2d)を返す: マスクの輪郭を(AA の)閉折れ線で描き、重心に文字を置く。 · 例: paper_figure, poc_rotation_invariance_audit
annotate_outline_layout mask → table — table(dict)を返す: 2 値マスクの境界ループ(画素の辺に沿う閉多角形)と重心。 · 例: paper_figure
annotate_panel_label image2d → image2d — 画像(image2d)を返す: パネル文字 (a)/(b) を隅に置く。 · 例: annotate_paper_tour
annotate_scale_bar image2d → image2d — 画像(image2d)を返す: 隅に置く切りのよい長さのスケールバー(値と単位つき)。 · 例: paper_figure, poc_flybrain_pointcloud, poc_telecentric_metrology
annotate_scale_bar_layout 入力なし → table — table(dict)を返す: 画像幅の target_fraction 以下で切りのよい長さのバー。 · 例: paper_figure
annotate_table image2d × text → image2d — 画像(image2d)を返す: タブ区切りの文字列を表として描く(半透明の板つき)。 · 例: annotate_paper_tour, poc_rotation_invariance_audit
annotate_table_layout text → table — table(dict)を返す: タブ区切りの文字列を表として置く桁と行の位置。 · 例: annotate_paper_tour
annotate_text_path image2d × text → image2d — 画像(image2d)を返す: 折れ線に沿って文字を置く(各字を接線角に回転)。 · 例: annotate_paper_tour, paper_figure
annotate_text_path_layout text → table — table(dict)を返す: 折れ線に沿って 1 文字ずつ置く位置と傾き(弧長で決める)。 · 例: annotate_paper_tour
annotate / plot(7)
axes_frame image2d × axes → image2d — 軸の枠(box=True で四辺、False で左と下の 2 辺だけ)。 · 例: annotate_gallery, annotate_paper_tour, poc_beam_modal_video, poc_camera_calibration, poc_camera_shake_deblur, poc_crack_width_timeseries, poc_dehazing, poc_dic_strain, poc_driving_decisions, poc_driving_traffic, poc_focus_stacking, poc_interferometry_step, poc_measurement_system_analysis, poc_moire_alignment, poc_motion_magnification, poc_panorama_drift, poc_particle_tracking, poc_photoelasticity, poc_pxrd_phase_peel, poc_registration_basin, poc_river_surface_velocity, poc_simcal_thin_film, poc_strain_history, poc_structure_4d_deterioration, poc_superresolution_limits, poc_template_tracking, poc_timelapse_growth, poc_traffic_counting, poc_wound_area_tracking, poc_xyt_event_surface
axes_transform 入力なし → axes — データ座標 → 画素座標の対応(閉形式)を作る。 · 例: annotate_gallery, annotate_paper_tour, poc_beam_modal_video, poc_camera_calibration, poc_camera_shake_deblur, poc_crack_width_timeseries, poc_dehazing, poc_dic_strain, poc_driving_decisions, poc_driving_traffic, poc_focus_stacking, poc_interferometry_step, poc_measurement_system_analysis, poc_moire_alignment, poc_motion_magnification, poc_panorama_drift, poc_particle_tracking, poc_photoelasticity, poc_pxrd_phase_peel, poc_registration_basin, poc_river_surface_velocity, poc_simcal_thin_film, poc_strain_history, poc_structure_4d_deterioration, poc_superresolution_limits, poc_template_tracking, poc_timelapse_growth, poc_wound_area_tracking, poc_xyt_event_surface
data_to_pixel axes × signal × signal → pairs — :func:axes_transform の対応でデータ点を画素 (x,y) に写す。 · 例: annotate_gallery, poc_beam_modal_video, poc_camera_calibration, poc_crack_width_timeseries, poc_moire_alignment, poc_motion_magnification, poc_strain_history, poc_structure_4d_deterioration, poc_superresolution_limits, poc_traffic_counting, poc_wound_area_tracking, poc_xyt_event_surface
grid_lines image2d × axes → image2d — 格子。目盛り値を渡さなければ :func:nice_ticks が決める。 · 例: annotate_gallery, poc_driving_decisions, poc_driving_traffic, poc_measurement_system_analysis, poc_moire_alignment, poc_pxrd_phase_peel
nice_ticks 入力なし → signal — [lo, hi] を覆う「切りのよい」目盛り値(1/2/5 × 10^k、閉形式)。 · 例: annotate_gallery, poc_dehazing, poc_driving_decisions, poc_driving_traffic, poc_measurement_system_analysis, poc_moire_alignment, poc_pxrd_phase_peel, poc_simcal_thin_film
plot_series image2d × axes × signal × signal → image2d — 折れ線・散布・棒を描く。データ座標で受ける(画素は axes が決める)。 · 例: annotate_gallery, poc_camera_calibration, poc_camera_shake_deblur, poc_crack_width_timeseries, poc_dehazing, poc_dic_strain, poc_driving_decisions, poc_driving_traffic, poc_focus_stacking, poc_interferometry_step, poc_measurement_system_analysis, poc_moire_alignment, poc_panorama_drift, poc_particle_tracking, poc_photoelasticity, poc_pxrd_phase_peel, poc_registration_basin, poc_river_surface_velocity, poc_simcal_thin_film, poc_superresolution_limits, poc_template_tracking, poc_timelapse_growth, poc_wound_area_tracking
ticks image2d × axes → image2d — 目盛りとその数値。位置は閉形式(:func:data_to_pixel そのもの)。 · 例: annotate_gallery, annotate_paper_tour, poc_beam_modal_video, poc_camera_calibration, poc_camera_shake_deblur, poc_crack_width_timeseries, poc_dehazing, poc_dic_strain, poc_driving_decisions, poc_driving_traffic, poc_focus_stacking, poc_interferometry_step, poc_measurement_system_analysis, poc_moire_alignment, poc_motion_magnification, poc_panorama_drift, poc_particle_tracking, poc_photoelasticity, poc_pxrd_phase_peel, poc_registration_basin, poc_river_surface_velocity, poc_simcal_thin_film, poc_strain_history, poc_structure_4d_deterioration, poc_superresolution_limits, poc_template_tracking, poc_timelapse_growth, poc_traffic_counting, poc_wound_area_tracking, poc_xyt_event_surface
annotate / pointer(4)
arrow image2d → image2d — p0 から p1 へ矢印(軸は :func:imagedraw.draw_line、矢じりは塗り)。 · 例: annotate_gallery, poc_agv_fleet, poc_car_parking, poc_diabolo_model_and_vision, poc_leak_localization, poc_machine_condition_fusion, poc_moire_alignment, poc_peg_insertion_tactile, poc_river_surface_velocity, poc_ttc_rss
crosshair image2d → image2d — 断面の交差線(MPR で使う)。gap だけ中心を空けて視点を隠さない。 · 例: annotate_gallery, poc_air_hockey_intercept, poc_ball_bounce, poc_kendama, poc_table_tennis_bounce, poc_ttc_rss, poc_world_terrain
label_points image2d × pairs → image2d — 点群に番号や値を振る。重なりを避けて置く(避けられなければ例外)。 · 例: annotate_gallery
leader_line image2d × text → image2d — 引き出し線 —— 注記の位置(anchor_xy)から対象(target_xy)へ。 · 例: annotate_gallery, poc_kendama
annotate / shape(4)
arc image2d → image2d — 円弧。角度は画面の x 軸から時計回り(row が下向きだから)で度。 · 例: annotate_gallery, poc_optics_drawings, poc_plenoptic_camera, poc_polish_wipe_measure, poc_weld_radiograph_porosity
ellipse image2d → image2d — 楕円(angle_deg で回転、fill=True で塗り)。 · 例: annotate_gallery, poc_dimensional_inspection, poc_driving_crossing, poc_driving_lateral, poc_driving_pass, poc_dual_energy_xray, poc_machine_condition_fusion, poc_peg_insertion_tactile, poc_public_camera_heading_real
filled_polygon image2d × pairs → image2d — 多角形の塗り(偶奇規則の交差判定 ―― :mod:imagedraw は輪郭のみ)。 · 例: annotate_gallery, poc_driving_decisions
rounded_rect image2d → image2d — 角丸の矩形(fill=True で塗り)。下敷きや囲みに使う。 · 例: annotate_gallery, poc_machine_condition_fusion
annotate / text(2)
measure_text text → table — 文字を描く前に測る。収まらないなら折り返すか縮め、駄目なら例外。 · 例: annotate_gallery, annotate_paper_tour, poc_diabolo_model_and_vision
text_box image2d × text → image2d — 下敷き(半透明の板)つきの文字。はみ出しは黙って切らず例外。 · 例: anim3d_lens_aberrations, annotate_gallery, annotate_paper_tour, drawlist_deferred, poc_active_contours, poc_agv_fleet, poc_air_hockey_intercept, poc_ball_bounce, poc_beam_modal_video, poc_cad_scan_deviation, poc_camera_calibration, poc_camera_shake_deblur, poc_chromatic_confocal, poc_code_matching_breakdown, poc_connectome_across_worms, poc_crack_width_timeseries, poc_ct_void_morphology, poc_dehazing, poc_dem_terrain, poc_dense_bubble_count, poc_diabolo_model_and_vision, poc_dic_strain, poc_driving_crossing, poc_driving_decisions, poc_driving_endless_map, poc_driving_lateral, poc_driving_longitudinal, poc_driving_pass, poc_driving_school, poc_driving_traffic, poc_driving_weather, poc_emva1288_sensor, poc_eye_to_brain, poc_flybrain_pointcloud, poc_focus_stacking, poc_food_cutting_measure, poc_granular_heap_repose, poc_graph_hierarchy_segmentation, poc_hyperspectral_foreign_matter, poc_illumination_cone_vs_na, poc_interferometry_step, poc_kendama, poc_leak_localization, poc_lens_merit_operands, poc_lens_solves_afocal, poc_lidar_terrain_change, poc_livestock_body_volume, poc_machine_condition_fusion, poc_malecns_activity_wave, poc_material_optical_library, poc_measurement_system_analysis, poc_mesh_quality_repair, poc_moire_alignment, poc_motion_magnification, poc_multibeam_bathymetry, poc_nir_silicon_transmission, poc_noncoaxial_optics, poc_panorama_drift, poc_particle_tracking, poc_peg_failure_recovery, poc_peg_insertion_tactile, poc_phase_measuring_deflectometry, poc_photoelasticity, poc_pixel_shift, poc_powder_scoop_pour, poc_print_warpage_risk, poc_pxrd_phase_peel, poc_registration_basin, poc_river_surface_velocity, poc_rotation_invariance_audit, poc_rover_slip_risk_path, poc_segmentation_gauntlet, poc_sem_tem_same_particle, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, poc_spectrometer_illumination, poc_stockpile_volume, poc_strain_history, poc_structure_4d_deterioration, poc_superresolution_limits, poc_swarm_obstacle_from_flow, poc_table_tennis_bounce, poc_table_tennis_rally_loop, poc_table_tennis_spin, poc_tacscalib_sphere_lut, poc_telecentric_metrology, poc_template_tracking, poc_thin_film_reflectometry, poc_timelapse_growth, poc_traffic_counting, poc_ttc_rss, poc_video_physics_consistency, poc_world_terrain, poc_wound_area_tracking, poc_xyt_event_surface, poc_zebra_stripes_fly_eye
gfx2d(44 ops / 9 categories)
gfx2d / camera(1)
viewport rgb → rgb — Crop the rectangle at (x, y, width, height) and resample it by scale. · 例: gfx2d_scene, omni360_roundtrip
gfx2d / colorspace(2)
linear_to_srgb rgb → rgb — Linear light back to sRGB encoding. Exact inverse of :func:srgb_to_linear. · 例: gfx2d_scene, poc_leaf_disease_area, poc_pigment_unmixing, poc_white_balance
srgb_to_linear rgb → rgb — sRGB-encoded values to linear light (IEC 61966-2-1). · 例: gfx2d_scene, poc_leaf_disease_area
gfx2d / composite(6)
alpha_composite rgba × rgba → rgba — Porter–Duff over on straight-alpha rgba (Porter & Duff 1984). · 例: gfx2d_scene
alpha_composite_premul rgba_premul × rgba_premul → rgba_premul — Porter–Duff over on premultiplied colour: src + dst*(1 - src.a). · 例: gfx2d_scene
blend_mode rgb × rgb → rgb — Blend two opaque rgb images with a named mode (W3C Level 1). · 例: genspark_external_review, gfx2d_scene
layer_stack table → rgba — Composite a z-ordered list of rgba layers, bottom first. · 例: gfx2d_scene
premultiply rgba → rgba_premul — Straight-alpha rgba to premultiplied rgba: (C*A, A). · 例: gfx2d_scene
unpremultiply rgba_premul → rgba — Premultiplied rgba back to straight alpha: (C/A, A). · 例: gfx2d_scene
gfx2d / isp(12)
awb_gains rgb → vector — Estimate white-balance gains (g_R, g_G, g_B) with g_G = 1. · 例: raw_to_display_isp
brightness_contrast rgb → rgb — out = (rgb - 0.5) * contrast + 0.5 + brightness, clipped to [0, 1]. · 例: raw_to_display_isp
color_correction_matrix rgb × matrix → rgb — Apply a 3x3 colour-correction matrix: out = rgb @ ccm.T per pixel, clipped to [0, 1]. · 例: raw_to_display_isp
hue_saturation rgb → rgb — Rotate the hue by hue_deg and scale the saturation by saturation, in BT.601 YCbCr: luma is kept, the chroma vector (Cb, Cr) is rotated and scaled. Output clipped to [0, 1]. · 例: raw_to_display_isp
lens_shading_correct image2d × image2d → image2d — Multiply a frame by a lens-shading gain map and clip to [0, 1]. raw and gain must have the same shape; the gain must be finite and > 0. · 例: poc_tdi_linescan, raw_to_display_isp
lens_shading_gain image2d → image2d — The gain map that flattens a flat-field frame: gain = mean / flat per colour channel (or for the whole frame when pattern is None). · 例: poc_tdi_linescan, raw_to_display_isp
raw_apply_gains image2d × vector → image2d — Multiply a Bayer frame by per-channel gains (3 values R, G, B or 4 values R, G1, G2, B) and clip to [0, 1] — white balance applied before demosaicing, which is where a real ISP does it (interpolating unbalanced channels smears the cast across colours). · 例: raw_to_display_isp
raw_black_level image2d → image2d — Black-level compensation on a Bayer frame: (raw - offset) / (white - offset) per colour channel, clipped to [0, 1]. · 例: raw_to_display_isp
raw_dead_pixel_correct image2d → image2d — Replace every dead pixel (:func:raw_dead_pixel_mask) by the median of its 8 same-colour neighbours; every other pixel is returned bit-for-bit. · 例: raw_to_display_isp
raw_dead_pixel_mask image2d → image2d — Where the dead (stuck / hot) pixels are: 1.0 at a pixel that differs from every one of its 8 same-colour neighbours by more than threshold in the same direction, 0.0 elsewhere. (H, W) float64. · 例: raw_to_display_isp
raw_demosaic_bilinear image2d → rgb — Bayer mosaic → (H, W, 3) RGB by bilinear interpolation, in NumPy. · 例: poc_pixel_shift, raw_to_display_isp
rgb_apply_gains rgb × vector → rgb — Multiply the R, G, B channels by gains (3 values) and clip to [0, 1]. · 例: gallery_mesh_seg_sun_gains
gfx2d / light(5)
light_mask rgb × rgb → rgb — Modulate an rgb image by an rgb light map: base * (ambient + light). · 例: gfx2d_scene
normal_map_decode rgb → normalmap — Tangent-space normal map rgb in [0, 1] to unit vectors (H, W, 3). · 例: gfx2d_scene
normal_map_shade normalmap → rgb — Shade a 2-D normal map with one directional light (Lambert + Blinn 1977). · 例: gfx2d_scene
radial_light 入力なし → rgb — A radial light map, rgb (H, W, 3), centred on (x, y). · 例: gfx2d_scene
shadow_cast_2d image2d → image2d — Visibility of every pixel from a point light at (x, y), as image2d. · 例: gfx2d_scene
gfx2d / particle(3)
particle_emit 入力なし → table — Emit count particles from origin, deterministically from seed. · 例: gfx2d_scene
particle_render table → rgba — Splat a particle state into an rgba image. · 例: gfx2d_scene
particle_step table → table — Advance a particle state by dt seconds. Returns a new dict. · 例: gfx2d_scene
gfx2d / post(8)
bloom rgb → rgb — Bleed the bright parts of an image into their neighbourhood. · 例: gfx2d_scene, poc_public_camera_heading_real
chromatic_aberration rgb → rgb — Scale the red and blue channels about the image centre, green fixed. · 例: gfx2d_scene
color_grade rgb × lut → rgb — Apply a 3-D colour LUT to an rgb image by trilinear interpolation. · 例: gfx2d_scene
color_lut 入力なし → lut — Build a 3-D colour LUT, (n, n, n, 3) indexed [r, g, b]. · 例: genspark_external_review, gfx2d_scene
dither image2d → image2d — Quantise to levels values per channel while preserving the local mean. · 例: gfx2d_scene
film_grain rgb → rgb — Add zero-mean Gaussian grain, deterministically from seed. · 例: gfx2d_scene
palette_quantize rgb → rgb — Map every pixel to its nearest palette colour in Euclidean RGB. · 例: gfx2d_scene
vignette rgb → rgb — Darken towards the corners: out = rgb * (1 - strength * t**power). · 例: gfx2d_scene, poc_search_sweep_width, poc_solar_el_inspection
gfx2d / sprite(5)
nine_slice rgba → rgba — Stretch a frame to a new size without deforming its corners. · 例: gfx2d_scene
sprite_blit rgba × rgba → rgba — Composite sprite onto a copy of dst at integer (x, y). · 例: gfx2d_scene
sprite_sheet_slice rgba → sprites — Cut a sprite atlas into a list of equal rgba frames, row-major. · 例: gfx2d_scene
sprite_synthesize 入力なし → rgba — A deterministic anti-aliased test sprite, rgba (size, size, 4). · 例: gfx2d_scene
sprite_transform rgba → rgba — Rotate and/or scale an rgba sprite about its centre. · 例: gfx2d_scene
gfx2d / tile(2)
parallax_layers sprites → rgba — Scroll a set of rgba layers at different rates and composite them. · 例: gfx2d_scene
tilemap_render sprites → rgba — Paint a grid of tile indices into one rgba image. · 例: gfx2d_scene
multivar(18 ops / 6 categories)
multivar / analysis(4)
doe_main_effects design × signal → table — Level means per factor — the response table of a designed experiment — with dispersion and SN. · 例: multivar_inspection_tour
mv_pca matrix → table — Principal components of a table (samples x variables) and how many of them the data support. · 例: multivar_inspection_tour, poc_simcal_thin_film
mv_pls matrix × signal → table — Partial least squares regression of Y on X with cross-validated Q^2, the Q^2 rule and VIP. · 例: multivar_inspection_tour
rsm_fit design × signal → table — Fit a response surface on a design (coded units): ANOVA, lack of fit, stationary point. · 例: multivar_inspection_tour
multivar / coding(2)
doe_decode design → matrix — design -> natural-unit matrix (n, k); or decode any coded point(s) with its ranges. · 例: doe_plan_tour, multivar_inspection_tour, poc_simcal_thin_film, sensitivity_tour
doe_encode matrix → design — Natural-unit settings (n, k) -> design with coded values (−1..+1 = lo..hi). · 例: multivar_inspection_tour
multivar / features(1)
feat_image_vector images → table — Images -> feature table {"matrix" (N, F), "names", "units", ...}, one row per image. · 例: multivar_inspection_tour
multivar / identifiability(2)
mv_confounding matrix → table — Collinearity index gamma_K (Brun, Reichert & Künsch 2001): which parameters the data can fix. · 例: poc_simcal_thin_film, sensitivity_tour
mv_residual_pca matrix → table — Do the residuals of a fitted model still carry structure? PCA of a residual matrix vs. noise. · 例: sensitivity_tour
multivar / plan(5)
doe_box_behnken 入力なし → design — Box-Behnken design (Box & Behnken 1960) for 3, 4 or 5 factors -> design. · 例: doe_plan_tour
doe_central_composite 入力なし → design — Central composite design (Box & Wilson 1951) -> design. · 例: doe_plan_tour, multivar_inspection_tour
doe_fractional_factorial 入力なし → design — Regular two-level fractional factorial 2^(k-p) from generators (Box & Hunter 1961) -> design. · 例: doe_plan_tour
doe_lhs 入力なし → design — Latin hypercube design (McKay, Beckman & Conover 1979) -> design. · 例: doe_plan_tour, multivar_inspection_tour, sensitivity_tour, simcal_checks_tour
doe_orthogonal_array 入力なし → design — Orthogonal array L4 / L8 / L9 / L12 / L16 / L18 / L27 from a published table -> design. · 例: doe_plan_tour, multivar_inspection_tour, poc_simcal_thin_film
multivar / sensitivity(4)
doe_morris 入力なし → design — Morris one-at-a-time screening plan: r trajectories of k+1 runs -> design. · 例: sensitivity_tour
doe_saltelli 入力なし → design — Sample matrices for Sobol’ indices (Saltelli et al. 2010) -> design of n (k + 2) runs. · 例: sensitivity_tour
sens_morris design × signal → table — Morris elementary effects -> mu, mu, sigma per factor (Morris 1991; mu Campolongo et al. 2007). · 例: sensitivity_tour
sens_sobol design × signal → table — First-order and total Sobol’ indices with bootstrap confidence intervals. · 例: sensitivity_tour
simcal(10 ops / 4 categories)
simcal / check(4)
simcal_discrepancy calresult → calresult — Is there structure in the noise-normalised residuals that the model cannot produce (model discrepancy)? · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour
simcal_identifiability calresult → calresult — Fisher information, Cramér-Rao bound, correlations, collinearity and profile likelihood of every fitted knob. · 例: poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour
simcal_uncertainty calresult → calresult — Standard deviations and intervals of the determined knobs: Laplace (inverse Fisher) or parametric bootstrap. · 例: poc_simcal_thin_film
simcal_validate calresult × simmodel → calresult — Over-fitting gates on held-out images; any one failing rejects the calibration (the estimates are withdrawn). · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour
simcal / fit(2)
simcal_fit simmodel → calresult — Fit the free knobs of an observed simmodel to its images (weighted least squares) -> calresult. · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour, simcal_tour
simcal_screen simmodel → table — Which knobs move the images above the camera noise, which are confounded, and how many output directions exist. · 例: poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_tour
simcal / model(3)
simcal_model 入力なし → simmodel — Build a simmodel: a forward chain of ops whose arguments are knobs with units, ranges and a noise model. · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour, simcal_tour
simcal_observe simmodel × images → simmodel — Attach measured images to a simmodel: alignment, region of interest and exposure normalisation. · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_telecentric, poc_simcal_thin_film, simcal_checks_tour, simcal_tour
simcal_simulate simmodel → images — Run a simmodel’s chain at given knob values -> one 2-D array per condition (images). · 例: poc_pocket_interreflection, poc_simcal_pixel_shift, poc_simcal_thin_film, simcal_checks_tour, simcal_tour
simcal / report(1)
simcal_report calresult → table — One table of a calibration: each knob’s value, unit, interval and class, the gates, and the reasons for refusals. · 例: poc_simcal_thin_film, simcal_checks_tour
converge(6 ops / 4 categories)
converge / iterate(1)
iterate_fixed_point 入力なし → table — Solve x = g(x) by fixed-point iteration (plain / Aitken / Anderson) and refuse if it does not converge. · 例: converge_tour
converge / montecarlo(2)
mc_photon_slab 入力なし → table — Diffuse reflectance, total transmittance and absorption of a layered turbid slab by MCML-type Monte Carlo, with confidence intervals. · 例: converge_tour
mc_sequential_mean 入力なし → table — Sequential Monte Carlo mean: add samples until the confidence interval is narrower than the tolerance.
converge / stopping(1)
iv_richardson_lucy_until image2d → table — Richardson-Lucy deconvolution stopped by the discrepancy principle (Poisson: Bertero 2010, tau = 1; Gaussian: Morozov); refuses data outside the model’s range. · 例: converge_tour
converge / verification(2)
conv_gci 入力なし → table — Grid convergence index of the finest solution: Celik et al. 2008 procedure, eqs. (1)-(7). · 例: converge_tour
conv_observed_order 入力なし → table — Apparent order of convergence p from three systematically refined solutions (Celik et al. 2008, eq. 3).
codematch(6 ops / 3 categories)
codematch / change(1)
radial_reach_filter image2d × image2d → table — Radial Reach Filter(RRF)。背景と現在の画像を、8 方向の reach の符号で比べる。 · 例: poc_code_matching_breakdown
codematch / code(2)
increment_sign image2d → image2d — 隣の画素との増分の符号 b = [I(次) >= I(今)](1 / 0 の uint8)。
orientation_code image2d → image2d — 勾配の向きを n_codes 段に量子化した方向符号の画像(OCM の符号化)。
codematch / match(3)
isc_match image2d × image2d → table — 増分符号相関(ISC)。増分符号が一致する割合が最大の位置を返す。 · 例: poc_code_matching_breakdown
ocm_match image2d × image2d → table — 方向符号照合(OCM)。符号の巡回差の平均が最小の位置を返す。 · 例: poc_code_matching_breakdown
scc_match image2d × image2d → table — 選択的相関係数(SCC)。増分符号の一致する画素だけで正規化相関を取る。 · 例: poc_code_matching_breakdown
aoi(3 ops / 3 categories)
aoi / aggregate(1)
tiled_map image2d → table — 画像をタイルに割り、タイルごとの量を小さな地図にする。→ dict。 · 例: aoi_frontend_tour
aoi / geometric(1)
register_image image2d × image2d → table — 検査画像を基準画像へ合わせる平行移動を、合っていないと分かる量つきで返す。→ dict。 · 例: aoi_frontend_tour
aoi / photometric(1)
flat_field_correct image2d × image2d → image2d — 照明ムラとセンサ感度のばらつきを、暗電流つきの割り算で戻す。→ 補正済み画像。 · 例: aoi_frontend_tour
calib(21 ops / 5 categories)
calib / calibrate(3)
camera_calibration keypoints → table — Zhang 法で平面ターゲット多視点から内部行列 K を推定(camera_calibration)。 · 例: camera_intrinsics_calibration, lens_calibration_loop_demo, poc_camera_calibration
find_marks_and_pose image2d → table — マーク検出 + 校正板の姿勢推定(平面ホモグラフィ → pose)(find_marks_and_pose)。
hand_eye_calibration 入力なし → matrix — 一連の運動対から AX=XB を解き X(4x4)を推定(hand_eye_calibration)。
calib / fit(4)
hom_vector_to_proj_hom_mat2d keypoints → matrix — 4 点以上の対応から射影変換(homography, DLT)3x3 を求める(hom_vector_to_proj_hom_mat2d)。 · 例: poc_panorama_drift, poc_wound_area_tracking
vector_angle_to_rigid 入力なし → matrix — 1 組の (点, 角度) から 2D 剛体変換を求める(vector_angle_to_rigid)。
vector_to_rigid keypoints → matrix — 対応点から 2D 剛体変換(回転+並進、Kabsch)を求める(vector_to_rigid)。
vector_to_similarity keypoints → matrix — 対応点から 2D 相似変換(回転+スケール+並進、Umeyama)を求める(vector_to_similarity)。 · 例: poc_document_scan, poc_star_astrometry
calib / plane(5)
contour_to_world_plane_xld table → table — XLD 輪郭(dict {cs:[Nx2]})を world 平面へ写す(contour_to_world_plane_xld)。 · 例: poc_wound_area_tracking
gen_image_to_world_plane_map 入力なし → table — 画像→ワールド平面(z=0)の写像テーブルを生成(gen_image_to_world_plane_map)。
gen_radial_distortion_map 入力なし → table — 半径歪みの逆マップ(row_map, col_map)を生成(gen_radial_distortion_map)。
image_points_to_world_plane table → keypoints — カメラ内部/外部から画素を world 平面 z=0 へ逆投影(image_points_to_world_plane)。
image_to_world_plane keypoints → keypoints — 画像点を平面ホモグラフィで world 平面(z=0)へ写す(image_to_world_plane)。 · 例: poc_document_scan, poc_matrix_code_reading, poc_wound_area_tracking
calib / project(3)
project_3d_point points → keypoints — 3D 点をカメラへ透視投影し画素 (row, col) を返す(project_3d_point)。
project_hom_point_hom_mat3d matrix → keypoints — 同次 3D 点 (4,) を 3x4/4x4 射影行列で投影し画素 (row, col) を返す(project_hom_point_hom_mat3d)。
-
project_point_hom_mat3d points → keypoints — 4x4 or 3x4 射影行列 P=K[R |
t] で 3D 点を投影し画素 (row, col) を返す(project_point_hom_mat3d)。 |
calib / target(6)
caltab_points 入力なし → keypoints — 校正板の理想マーク座標(ワールド, mm; 原点=最初のマーク)を (y, x) で返す(caltab_points)。
create_caltab 入力なし → table — 校正板の記述(理想点、板中心が原点)を作る(create_caltab)。
disp_caltab table → image2d — 校正板画像を返す(表示用)(disp_caltab)。
find_caltab image2d → keypoints — 画像から校正板の円マーク中心を検出(連結成分の重心)(find_caltab)。
gen_caltab 入力なし → table — 円マーク格子の校正板画像を生成(gen_caltab)。
sim_caltab table → table — 校正板を指定カメラ姿勢で投影した画像をシミュレート(sim_caltab)。
generative(42 ops / 6 categories)
generative / illusion(13)
illusion_cafe_wall 入力なし → rgb — カフェウォール錯視。目地は厳密な水平線なのに、傾いて見える。 · 例: poc_calipers_under_illusion
illusion_checker_shadow 入力なし → rgb — チェッカーシャドウ。印を付けた 2 マスは厳密に同じ画素値。 · 例: gallery_illusion_invariants
illusion_ebbinghaus 入力なし → rgb — エビングハウス錯視。中央の 2 円は厳密に同じ半径。 · 例: poc_calipers_under_illusion
illusion_fraser_spiral 入力なし → rgb — フレーザー錯視。渦に見えるが、実体は同心円。 · 例: gallery_illusion_invariants
illusion_ground_truth 入力なし → table — 錯視が守っている厳密な不変量を表で返す(name 空で全件)。 · 例: poc_calipers_under_illusion
illusion_hermann_grid 入力なし → rgb — ヘルマン格子。交点は他の場所と厳密に同じ白(黒い点は目が作る)。 · 例: gallery_illusion_invariants
illusion_kanizsa 入力なし → rgb — カニッツァの三角形。輪郭は 1 本も描かれていないのに三角形が見える。 · 例: gallery_illusion_invariants
illusion_muller_lyer 入力なし → rgb — ミュラー・リヤー錯視。2 本の軸は厳密に等長。 · 例: poc_calipers_under_illusion, poc_illusions_and_perpetual_drawing
illusion_poggendorff 入力なし → rgb — ポッゲンドルフ錯視。斜線は厳密に 1 本の直線(帯で隠れているだけ)。 · 例: poc_calipers_under_illusion
illusion_ponzo 入力なし → rgb — ポンゾ錯視。2 本の横棒は厳密に等長(遠近の手がかりが長さを変える)。 · 例: gallery_illusion_invariants
illusion_scintillating_grid 入力なし → rgb — きらめき格子。ヘルマン格子の交点に白丸を置いたもの。 · 例: gallery_illusion_invariants
illusion_simultaneous_contrast 入力なし → rgb — 同時対比。2 つの灰色パッチは厳密に同じ値(周りだけが違う)。 · 例: gallery_illusion_invariants
illusion_zollner 入力なし → rgb — ツェルナー錯視。長い線は厳密に平行なのに、収束して見える。 · 例: poc_calipers_under_illusion
generative / loop(2)
perpetual_loop 入力なし → rgbvideo — 継ぎ目の無い循環動画を作る → rgbvideo (T,H,W,3)。 · 例: poc_illusions_and_perpetual_drawing, poc_periodic_video_boundary
perpetual_loop_seam rgbvideo → table — 循環動画の継ぎ目を数で出す(table)。 · 例: poc_endless_zoom_and_turning_solids, poc_illusions_and_perpetual_drawing, poc_periodic_video_boundary
generative / perpetual(12)
perpetual_apollonian 入力なし → rgb — アポロニウスの円詰め ―― 隙間に接する円を入れ続ける(終わりが無い)。 · 例: poc_illusions_and_perpetual_drawing
perpetual_chaos_game 入力なし → rgb — カオスゲーム ―― 賽を振って半分ずつ寄るだけで、シェルピンスキーが出る。 · 例: poc_illusions_and_perpetual_drawing
perpetual_elementary_ca 入力なし → rgb — 基本セルオートマトン(Wolfram の 256 規則)を上から下へ無限に伸ばす。 · 例: poc_illusions_and_perpetual_drawing
perpetual_flow_field 入力なし → rgb — 流れ場 ―― 粒子を場に乗せて流し続ける(止めなければ終わらない)。 · 例: poc_illusions_and_perpetual_drawing
perpetual_harmonograph 入力なし → rgb — ハーモノグラフ ―― 減衰する 2 つの振り子が、閉じない曲線を描き続ける。 · 例: gallery_illusion_invariants
perpetual_identities 入力なし → table — 各系が満たすべき厳密な主張を、実測つきで返す(table)。 · 例: poc_illusions_and_perpetual_drawing
perpetual_ifs_attractor 入力なし → rgb — 反復関数系の吸引子(バーンズリーのシダ)―― 4 本の式を無限に回すだけ。 · 例: poc_illusions_and_perpetual_drawing
perpetual_langtons_ant 入力なし → rgb — ラングトンの蟻 ―― 2 つの規則だけで、1 万歩後に「高速道路」を作り続ける。 · 例: gallery_illusion_invariants
perpetual_plasma 入力なし → rgb — ダイヤモンド–スクエア法(1980 年代の「プラズマ」)―― 割り続ければ無限に細かい。 · 例: poc_illusions_and_perpetual_drawing
perpetual_reaction_diffusion 入力なし → rgb — グレイ–スコット反応拡散 ―― 模様が生まれ、分裂し、増え続ける。 · 例: poc_illusions_and_perpetual_drawing
perpetual_ten_print 入力なし → rgb — 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 ―― 無限に伸びる迷路。 · 例: poc_illusions_and_perpetual_drawing
perpetual_truchet 入力なし → rgb — トルシェ・タイル ―― 4 分円 2 本の向きを振るだけで、途切れない曲線網になる。 · 例: poc_illusions_and_perpetual_drawing
generative / pl(3)
pl_diffusion_psf 入力なし → image2d — キャリア拡散の PSF(2 次元のグリーン関数 K₀(r/L)/2πL²、総和 1)を画像で返す。 · 例: poc_si_wafer_pl_defect_visibility
pl_groove_visibility 入力なし → table — 溝の幅・拡散長・雑音から、影の溝と沈みの溝のコントラストと CNR を閉形式で返す(table)。 · 例: poc_si_wafer_pl_defect_visibility
pl_image_simulate image2d → image2d — 励起の場と再結合の場から PL 像を作る(定常拡散方程式の厳密解 + 光学 PSF + 雑音)。 · 例: poc_si_wafer_pl_defect_visibility
generative / sem(9)
sem_cd_measure pairs → table — 線プロファイル(pairs: x と信号)から線幅を出す(CD-SEM の 2 方式)。 · 例: poc_virtual_sem_kv_cd_bse
sem_charging_series image2d → video — 絶縁物の帯電を走査のコマごとに進め、像の時間変化(video、(T, H, W))を返す。 · 例: poc_virtual_sem_kv_cd_bse
sem_electron_mc 入力なし → table — 平らな試料に電子を撃つモンテカルロ: 反射電子係数 η・二次電子収率 δ・相互作用体積。 · 例: poc_sem_tem_same_particle, poc_virtual_sem_kv_cd_bse
sem_image image2d → image2d — 高さ場と材料の地図から、画素ごとに電子を撃って SEM 像を作る(MC の直接計算)。 · 例: poc_sem_tem_same_particle, poc_sem_wafer_defect_edge_bias, poc_virtual_sem_kv_cd_bse
sem_line_profile 入力なし → table — 1 本の線(台形の断面)を横切って電子線を走査した線プロファイルを MC で出す(CD-SEM)。 · 例: poc_virtual_sem_kv_cd_bse
sem_render image2d → image2d — 高さ場から SEM 像(二次電子の縁効果 + ビーム PSF + ショット雑音)を描く。 · 例: poc_sem_tem_same_particle, poc_sem_wafer_defect_edge_bias
sem_se_escape_fraction 入力なし → signal — 正に帯電した面(電位 V > 0)から、二次電子が出ていける割合 F(V)。 · 例: poc_virtual_sem_kv_cd_bse
sem_se_universal_curve 入力なし → signal — 二次電子収率の普遍曲線 δ/δmax = 1.28 (E/Emax)^−0.67 [1 − exp(−1.614 (E/Emax)^1.67)]。 · 例: poc_virtual_sem_kv_cd_bse
sem_yield_curve 入力なし → table — 加速電圧を振って η(E) と δ(E) を MC で出し、δ の形を普遍曲線と比べる。 · 例: poc_virtual_sem_kv_cd_bse
generative / stream(3)
perpetual_render table → rgb — 状態を絵にする(rgb)。何歩目で描いてもよい。 · 例: poc_illusions_and_perpetual_drawing
perpetual_state 入力なし → table — 無限に回せる状態を作る(table)。止めどきは呼んだ側が決める。 · 例: poc_illusions_and_perpetual_drawing
perpetual_step table → table — 状態を steps だけ進める(同じ dict を返す ―― 大きな配列を複製しない)。 · 例: poc_illusions_and_perpetual_drawing
imgmetrics(42 ops / 8 categories)
imgmetrics / colordiff(3)
delta_e_2000 lab × lab → image2d — CIEDE2000 色差(CIE 142-2001)。 · 例: image_quality_metrics
delta_e_76 lab × lab → image2d — CIE76 色差 ―― Lab 空間のユークリッド距離。 · 例: image_quality_metrics
delta_e_map rgbimage × rgbimage → image2d — 2 枚の sRGB 画像の画素ごとの色差マップ。 · 例: color_transport, image_quality_metrics, poc_colormap_readability, poc_pigment_unmixing, poc_white_balance
imgmetrics / colorspace(4)
lab_to_rgb lab → rgbimage — CIE L*a*b* → sRGB [0, 1]。色域外は切り詰められるので rgb_to_lab との往復は色域内でしか一致しない(テストで固定)。 · 例: image_quality_metrics
rgb_to_lab rgbimage → lab — sRGB → CIE L*a*b*(D65)。ΔE を測る前段。 · 例: image_quality_metrics, poc_colormap_readability, poc_leaf_disease_area, poc_solder_fillet_aoi
rgb_to_xyz rgbimage → rgb — sRGB((..., 3))→ CIE XYZ。伝達関数を外してから行列を掛ける。 · 例: image_quality_metrics
xyz_to_lab rgb → lab — CIE XYZ → CIE 1976 L*a*b*。既定の白色点は D65 2°。 · 例: image_quality_metrics
imgmetrics / compression(2)
compressed_size image2d → scalar — 配列を可逆圧縮したバイト数。ncd の材料。 · 例: image_quality_metrics
ncd image2d × image2d → scalar — 正規化圧縮距離(Li, Chen, Li, Ma & Vitányi, IEEE TIT 50(12), 2004)。 · 例: image_quality_metrics
imgmetrics / fidelity(6)
ms_ssim image2d × image2d → scalar — 多尺度 SSIM(Wang, Simoncelli & Bovik, Asilomar Conf. 2003)。 · 例: image_quality_metrics
mse image2d × image2d → scalar — 平均二乗誤差。data_range に依らない生の量。 · 例: image_quality_metrics
psnr image2d × image2d → scalar — 2 枚の画像のピーク信号対雑音比(PSNR、単位 dB)を返す。 · 例: image_quality_metrics, poc_camera_shake_deblur, poc_dehazing, poc_focus_stacking, poc_iqa_tid2013, poc_pixel_shift, poc_real_deblur_honesty, poc_superresolution_limits
rmse image2d × image2d → scalar — 平均二乗誤差の平方根(画素値と同じ単位)。 · 例: grasp_pose, image_quality_metrics, poc_ct_fidelity, poc_datacenter_thermal_field, poc_polarization_specular, poc_structure_4d_deterioration
ssim image2d × image2d → scalar — 構造的類似度(Wang, Bovik, Sheikh & Simoncelli, IEEE TIP 13(4), 2004)。 · 例: image_quality_metrics, poc_camera_shake_deblur, poc_ct_fidelity, poc_dehazing, poc_iqa_tid2013, poc_superresolution_limits
ssim_map image2d × image2d → image2d — SSIM のマップ(平均を取る前)。どこが似ていないかを絵で見るため。 · 例: image_quality_metrics, poc_iqa_tid2013
image_entropy image2d → scalar — 1 枚のシャノンエントロピー [bit]。 · 例: image_quality_metrics, poc_dehazing
joint_entropy image2d × image2d → scalar — 同時エントロピー H(A, B) [bit]。 · 例: image_quality_metrics
joint_histogram image2d × image2d → image2d — 2 枚の同時ヒストグラム(正規化した同時確率)。 · 例: image_quality_metrics
mutual_information image2d × image2d → scalar — 相互情報量 I(A; B) [bit] = H(A) + H(B) - H(A, B)。 · 例: image_quality_metrics
normalized_mutual_information image2d × image2d → scalar — 正規化相互情報量 2*I(A;B) / (H(A) + H(B))。同じ絵で 1.0。 · 例: image_quality_metrics
imgmetrics / iqa(11)
luma_limited_u8 any → any — RGB (H, W, 3) uint8 → Y′ = round(16 + (65.481 R + 128.553 G + 24.966 B) / 255) の uint8 (H, W)。 · 例: poc_iqa_tid2013
rank_data any → any — 平均順位(1 始まり)。同順位は同じ値の順位の平均(scipy.stats.rankdata の ‘average’ と同じ定義)。 · 例: poc_iqa_tid2013
rank_kendall_b any × any → scalar — Kendall の τ_b(同順位補正あり)= (C − D) / sqrt((n0 − n1)(n0 − n2))。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
rank_spearman any × any → scalar — Spearman の順位相関 ρ = 平均順位どうしの Pearson 相関(同順位があっても正しい形。古典式 1 − 6Σd²/(n(n²−1)) は 同順位が無いときだけ一致)。単調増加で 1、反転で −1。どちらかが定数なら nan(順位の分散が 0、相関は定義されない)。 ±inf は順序だけ使う(完全一致の PSNR = inf を落とさない)。Raises ValueError: 長さ不一致・2 未満・nan。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_by_distortion any × table → table — 歪み種(24)ごとの、指標と MOS の順位相関。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_compare any × any × any → table — 自前の値と作者の値(同じ組、同じ順)の行ごとの差と、MOS との順位相関を比べる。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_evaluate any × any → table — 自前の指標 fn(ref, dist) -> float を TID2013 の組に当て、MOS との順位相関を返す。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_index any → table — mos_with_names.txt を読んで組の台帳を返す。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_metric_values any × any → any — 作者の計算値 metrics_values/<metric>.txt(大文字小文字無視、3000 行、名前なし)を (3000,) float で返す。 行の順は :func:tid2013_index の names と同じ。metric は :func:tid2013_published の鍵(psnr / psnrc / ssim / mssim …)。 Raises ValueError: ファイルが無い、行数 ≠ 3000、非数。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_published 入力なし → table — 公表の順位相関表 {metric: (SROCC, KROCC)}(14 本)。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
tid2013_root 入力なし → any — 配布物の展開先。root が無ければ環境変数 FULLSEYE_TID2013_DATA。どちらも無い・mos_with_names.txt が無ければ None (呼び手は skip する —— データは repo に無い)。 · 例: poc_iqa_fsim_gmsd_vif, poc_iqa_tid2013
imgmetrics / perceptual(7)
-
fsim image2d × image2d → scalar — FSIM(輝度のみ、1 = 同一、higher is better)。TID2013 の FSIM.txt と 4 桁一致するのは Y′ limited の灰色画像を渡したとき (iqatid.tid2013_evaluate(root, fsim, luma="limited_u8")、3,000 組 max |
差 |
5.0e-5)。詳細 :func:fsim_pair。 · 例: poc_iqa_fsim_gmsd_vif |
fsim_pair rgbimage × rgbimage → table — FSIM と FSIMc を一度に(位相一致は 1 枚 1 回しか計算しない —— 評価器や PoC はこちらを呼ぶ)。 · 例: poc_iqa_fsim_gmsd_vif
-
fsimc rgbimage × rgbimage → scalar — FSIMc(彩度 I / Q を含む、1 = 同一、higher is better)。TID2013 の FSIMc.txt と 4 桁一致するのは色画像(RGB → YIQ full range)を渡したとき (iqatid.tid2013_evaluate(root, fsimc, luma="rgb")、3,000 組 max |
差 |
5.0e-5)。(H, W) 入力なら FSIM と同じ値。詳細 :func:fsim_pair。 · 例: poc_iqa_fsim_gmsd_vif |
-
gmsd image2d × image2d → scalar — GMSD = GMS 地図の標準偏差(N−1、原実装の std2、論文 式 5)。0 = 同一、大きいほど劣化(lower is better —— MOS との順位相関は負で、 公表表は |
ρ |
を載せる: TID2013 全体 |
SROCC |
0.8038、二次資料 0.8044)。入力 (H, W) か (H, W, 3)(3-ch は Y)。 iqatid.tid2013_evaluate(root, gmsd, luma="rgb")。Raises ValueError: :func:gmsd_map と同じ、地図が 1 画素(分散が定義されない)。 · 例: poc_iqa_fsim_gmsd_vif |
gmsd_map image2d × image2d → image2d — GMS 地図 (2 m_r m_d + c)/(m_r² + m_d² + c) ∈ (0, 1] (論文 式 3)。m = Prewitt([1 0 −1]×3 /3)勾配の大きさ、前処理は 2×2 平均 + 2 間引き (:func:_average_downsample、原実装の ‘same’ 規約)。入力 (H, W) か (H, W, 3)(3-ch は Y = 0.299R+0.587G+0.114B、作者の慣例)。 Raises ValueError: 形が違う、c ≤ 0、down_step < 1。 · 例: poc_iqa_fsim_gmsd_vif
phase_congruency_pc image2d → image2d — 位相一致 PC(x) = Σ_o E_o(x) / Σ_o Σ_s A_{s,o}(x) ∈ [0, 1] (Kovesi 1999、FSIM 論文 式 4 の規約: log-Gabor 4 スケール × 4 向き)。 · 例: poc_iqa_fsim_gmsd_vif
vifp image2d × image2d → scalar — VIF の画素領域版(Sheikh & Bovik 2006 §V の scalar GSM、公開 vifp_mscale の規約)。1 = 同一、higher is better。 · 例: poc_iqa_fsim_gmsd_vif
imgmetrics / report(4)
compare_images image2d × image2d → metrics — 一括で測り、何をどう測ったかを一緒に返す。 · 例: image_quality_metrics
data_range_of image2d → scalar — 画素値が取りうる幅を決める。推測はしない。 · 例: image_quality_metrics
measure_with metrics × image2d × image2d → metrics — 前の測定と厳密に同じ条件でもう一組を測る。 · 例: image_quality_metrics
metrics_table metrics → table — 報告を (名前, 値) の表にする ―― 条件の行も必ず一緒に並べる。 · 例: image_quality_metrics
oned(49 ops / 4 categories)
プロファイル/信号の 1-D op。源流は 2-D の measure1d・3-D の probe・音声/センサー系列(dsp)— 取り出した (x, y) 列を funct1d/dsp で加工して測る。
oned / function(23)
abs_funct_1d signal → signal — Absolute value of the y-values (HALCON abs_funct_1d). · 例: signal_funct1d
compose_funct_1d signal × signal → signal — Composition y1(y2): the values of y2 used as positions into y1 (HALCON compose_funct_1d). · 例: gallery_oned_audio_funct
create_funct_1d_array signal → signal — A 1-D function from equidistant samples (HALCON create_funct_1d_array). · 例: signal_funct1d
create_funct_1d_pairs signal × signal → signal — A 1-D function from arbitrary (x, y) pairs, resampled to an equidistant grid (HALCON create_funct_1d_pairs). · 例: poc_veiling_glare
derivate_funct_1d signal → signal — First derivative by central differences (HALCON derivate_funct_1d). · 例: poc_tree_ring_dendro, poc_veiling_glare, signal_funct1d
distance_funct_1d signal × signal → measurement — Distance between two functions on the same grid (HALCON distance_funct_1d). · 例: signal_funct1d
funct_1d_to_pairs signal → pairs — The function as explicit (x, y) pairs (HALCON funct_1d_to_pairs). · 例: signal_funct1d
get_pair_funct_1d signal → pairs — The (x, y) pair at index (HALCON get_pair_funct_1d). · 例: signal_funct1d
get_y_value_funct_1d signal → measurement — The y-value at (fractional) position x (HALCON get_y_value_funct_1d). · 例: poc_veiling_glare, signal_funct1d
integrate_funct_1d signal → signal — Cumulative integral by the trapezoidal rule (HALCON integrate_funct_1d). · 例: poc_cold_chain_excursion, poc_search_sweep_width, signal_funct1d
invert_funct_1d signal → pairs — Swap the roles of x and y: x = f^-1(y) (HALCON invert_funct_1d). · 例: poc_veiling_glare
local_min_max_funct_1d signal → table — Indices of strict local maxima / minima (HALCON local_min_max_funct_1d). · 例: poc_web_roll_periodicity, signal_funct1d
match_funct_1d_trans signal × signal → table — Best integer translation between two functions by correlation (HALCON match_funct_1d_trans, translation only). · 例: signal_funct1d
negate_funct_1d signal → signal — Sign-flipped y-values (HALCON negate_funct_1d). · 例: gallery_oned_audio_funct, gallery_spectrum_signal_bridge
num_points_funct_1d signal → measurement — Number of samples (HALCON num_points_funct_1d). · 例: signal_funct1d
sample_funct_1d signal → signal — Every step-th sample (HALCON sample_funct_1d). · 例: poc_cold_chain_excursion, signal_funct1d
scale_y_funct_1d signal → signal — Linear map of the y-values, mult * y + add (HALCON scale_y_funct_1d). · 例: signal_funct1d
smooth_funct_1d_gauss signal → signal — Gaussian smoothing of a 1-D function (HALCON smooth_funct_1d_gauss). · 例: poc_fiber_orientation, poc_tree_ring_dendro, poc_web_roll_periodicity, signal_funct1d
smooth_funct_1d_mean signal → signal — Iterated moving-average smoothing (HALCON smooth_funct_1d_mean). · 例: poc_weld_bead_profile, signal_funct1d
transform_funct_1d signal → pairs — Independent affine transform of x and y (HALCON transform_funct_1d). · 例: gallery_oned_audio_funct
x_range_funct_1d signal → pairs — The x-domain (0.0, n - 1.0) (HALCON x_range_funct_1d). · 例: signal_funct1d
y_range_funct_1d signal → pairs — The value range (min(y), max(y)) (HALCON y_range_funct_1d). · 例: signal_funct1d
zero_crossings_funct_1d signal → indices — Indices where the function changes sign (HALCON zero_crossings_funct_1d). · 例: signal_funct1d
oned / io(3)
read_audio file → signal — Read any audio format -> (x, rate). Uses soundfile if available (mp3/flac/ogg/…), else falls back to the stdlib WAV reader. · 例: gallery_oned_audio_funct
read_wav file → signal — Read a WAV file (stdlib) -> (x float64 [-1,1], rate). Multi-channel is averaged to mono. Handles 8/16/32-bit PCM. · 例: genspark_external_review
write_wav signal → file — Write a float [-1,1] mono signal to a 16-bit PCM WAV (stdlib). Non-finite samples raise (they would become garbage PCM). · 例: genspark_external_review
oned / matched(7)
chirp_mass_from_track pairs → table — 重力波周波数の軌跡 (t, f) からチャープ質量と合体時刻を最小二乗で返す。 · 例: poc_gw_detector_pseudo_simulation
chirp_newtonian 入力なし → signal — ニュートン近似(0PN)のインスパイラル波形 h₊(t) を signal で返す(合体が配列の末尾)。 · 例: poc_gw_detector_pseudo_simulation
coincidence_delay signal × signal → table — 2 本の SNR 時系列の山の時刻差(b − a)を副標本精度で返す。 · 例: poc_gw_detector_pseudo_simulation
-
matched_filter_snr signal × signal × pairs → signal — 整合フィルタの SNR 時系列 |
ρ(t) |
(位相で最大化)を signal で返す。 · 例: poc_gw_detector_pseudo_simulation |
optimal_snr signal × pairs → measurement — テンプレートの最適 SNR σ = √(4∫|h̃|²/S df)(measurement)。 · 例: poc_gw_detector_pseudo_simulation
psd_welch signal → pairs — Welch 法の片側 PSD を pairs(周波数 [Hz], S [1/Hz])で返す。 · 例: poc_gw_detector_pseudo_simulation
whiten_by_psd signal × pairs → signal — 雑音の PSD で割って白色化する(x_w = irfft(rfft(x)·√(2Δt/S(f))))。 · 例: poc_gw_detector_pseudo_simulation
oned / signal(16)
bandpass signal → signal — Butterworth band-pass between low and high Hz. Both edges must be inside (0, rate/2); same length contract as :func:lowpass. · 例: poc_gw_detector_pseudo_simulation, poc_leak_localization
companding_mu_law signal → signal — mu-law companding — the G.711 curve, used here on any 1-D signal. · 例: gallery2d_gray_arith
envelope signal → signal — Amplitude envelope via the analytic (Hilbert) signal — the shape of a knock / impact / acoustic-emission burst. · 例: coherence_scanning, poc_beam_modal_video
find_peaks signal → indices — Peak indices (scipy.signal.find_peaks) — impacts / defect echoes. · 例: poc_multibeam_bathymetry, poc_tree_ring_dendro, poc_web_roll_periodicity
highpass signal → signal — Butterworth high-pass. Same Nyquist / length contract as :func:lowpass. · 例: gallery2d_texture_freq, optics_four_f_processor, signal_filter
local_std signal → signal — Rolling standard deviation with a stated error bound. · 例: gallery2d_texture_freq
lowpass signal → signal — Butterworth low-pass (scipy, zero-phase filtfilt). cutoff must be inside (0, rate/2); an out-of-Nyquist cutoff raises instead of passing the signal through. A signal too short for zero-phase filtfilt also raises (the message names the exact minimum) instead of silently coming back unfiltered. · 例: degenerate_inputs, gallery2d_texture_freq, optics_four_f_processor, signal_filter
peak_subbin signal × indices → signal — Peak position between samples — the vertex of a fit through 3 points. · 例: poc_multibeam_bathymetry, poc_print_registration, poc_web_roll_periodicity
point_spectrum positions → table — Periodogram of event positions — defects, impacts, counts, arrivals. · 例: poc_web_roll_periodicity
quantize signal → signal — Scalar quantiser with the error model stated, plus optional dither. · 例: poc_cold_chain_excursion
resample signal → signal — Resample a signal to new_rate (Fourier method). · 例: poc_driving_school
rms signal → measurement — RMS level. Scalar for the whole signal, or a framewise array when frame is given (a vibration/energy envelope over time). · 例: lens_design_demo, lightfield_depth, poc_battery_electrode_breathing, poc_bilateral_asymmetry, poc_bump_coplanarity, poc_cad_scan_deviation, poc_calipers_under_illusion, poc_camera_calibration, poc_dimensional_inspection, poc_exoplanet_transit, poc_fabric_defect, poc_focus_stacking, poc_fourier_ptychography, poc_lens_solves_afocal, poc_panorama_drift, poc_print_registration, poc_river_surface_velocity, poc_screw_thread_metrology, poc_solar_limb_darkening, poc_strain_history, poc_surface_roughness, poc_symmetry_restoration, poc_table_tennis_bounce, poc_tacscalib_sphere_lut, poc_tacsim_elastic_membrane, poc_tacsim_marker_shear, poc_thermal_radiometry, profile_shape_inspection
signal_features signal → table — A compact acoustic/vibration feature vector for anomaly detection: rms, peak, crest_factor, zcr, spectral_centroid (Hz), peak_freq (Hz), bandwidth (Hz). All finite — a NaN / Inf sample raises ValueError rather than producing NaN features (an empty signal too, since 2026-10-12; it used to give zeros). · 例: gallery_oned_audio_funct
spectrogram signal → image2d — STFT magnitude spectrogram -> (freqs, times, S) with S shape (n_freqs, n_frames). Hann-windowed; hop defaults to win//2. · 例: acoustic_condition_monitoring, poc_emva1288_sensor, poc_gw_detector_pseudo_simulation
spectrum signal → pairs — Raw one-sided magnitude spectrum -> (freqs, magnitude) (np.fft.rfft). · 例: acoustic_condition_monitoring, anim3d_lens_aberrations, poc_bearing_diagnosis, poc_gear_tooth_metrology, poc_machine_condition_fusion, poc_pipe_wall_loss, poc_recycling_sorting, poc_thin_film_reflectometry, poc_web_roll_periodicity
zero_crossing_rate signal → measurement — Fraction of adjacent samples that change sign — a cheap pitch/noisiness cue. · 例: gallery_oned_audio_funct, gallery_spectrum_signal_bridge
colortransport(11 ops / 4 categories)
colortransport / blend(1)
poisson_blend image2d × image2d × mask → image2d — 勾配場を運ぶ継ぎ目なし合成(Pérez, Gangnet & Blake, SIGGRAPH 2003)。 · 例: color_transport
colortransport / matching(3)
color_transfer rgbimage × rgbimage → rgbimage — src の色味を ref に寄せる。 · 例: color_transport
gaussian_transport_map points × points → matrix — 2 つの点群を正規分布とみなしたときの Monge 写像の線形部 A と平均 m1, m2。 · 例: color_transport
histogram_match image2d × image2d → image2d — src の値分布を ref に合わせる(1 次元の厳密な最適輸送)。 · 例: color_transport, poc_change_detection_misreg
colortransport / plan_use(2)
apply_transport transport_plan × signal → signal — 輸送計画で target_values を元の点へ引き戻す(重心写像)。 · 例: color_transport
transport_cost transport_plan × matrix → scalar — 輸送計画の総費用 <plan, cost>。計画を消費する側の op。 · 例: color_transport
colortransport / transport(5)
sinkhorn signal × signal × matrix → transport_plan — エントロピー正則化つき最適輸送の計画(Cuturi, NIPS 2013)。 · 例: color_transport
sinkhorn_distance signal × signal × matrix → scalar — 正則化つき輸送費 <plan, cost>。厳密な距離ではない。 · 例: color_transport
sinkhorn_divergence signal × signal × matrix → scalar — 偏りを打ち消した Sinkhorn 距離(Genevay, Peyré & Cuturi, AISTATS 2018)。 · 例: color_transport
transport_plan_1d signal × signal → transport_plan — 1 次元の厳密な輸送計画(北西隅則)。(n, m) の質量行列を返す。 · 例: color_transport
wasserstein_1d signal × signal → scalar — 1 次元の p-Wasserstein 距離。厳密解。 · 例: color_transport, poc_physarum_transport
imgforensics(16 ops / 7 categories)
imgforensics / calibration(2)
evidence_quantile measurement × table → table — 証拠量が、清浄な分布のどのあたりに座るかを返す。判定は返さない。 · 例: image_forensics_audit, poc_prnu_camera_fingerprint, poc_video_physics_consistency
null_distribution signal → table — 改竄が無いと分かっている標本から、証拠量の帰無分布をまとめる。 · 例: image_forensics_audit, poc_prnu_camera_fingerprint, poc_video_physics_consistency
imgforensics / compression(4)
error_level_map image2d → image2d — ELA(誤差レベル解析)。指定品質で 再圧縮した差分の地図を返す。image2d。 · 例: image_forensics_audit, poc_forensics_roc
jpeg_ghost_map image2d → images — JPEG ゴースト(Farid 2009)。品質を掃引した 再圧縮残差の地図の列。images。 · 例: image_forensics_audit, poc_forensics_roc
jpeg_ghost_quality images → image2d — ゴースト地図の列 → 画素ごとに 残差が最小になる品質 の地図。image2d。 · 例: image_forensics_audit, poc_forensics_roc
jpeg_quality_estimate image2d → table — デコード済み画像から 量子化表と JPEG 品質をブラインド推定する。table。 · 例: image_forensics_audit
imgforensics / copy_move(1)
copy_move_regions image2d → table — 1 枚の画像の中の コピー&ムーブ(自己複製)領域の対を返す。table。 · 例: image_forensics_audit, poc_forensics_roc
imgforensics / hash(2)
hash_distance phash × phash → measurement — 2 つの知覚ハッシュのハミング距離(異なるビット数)。 · 例: image_forensics_audit
perceptual_hash image2d → phash — 知覚ハッシュ(perceptual hash)。bool の 1-D ビット列を返す。 · 例: image_forensics_audit
imgforensics / noise(1)
noise_inconsistency_map image2d → image2d — ブロックごとの 雑音標準偏差 を並べた地図。image2d。 · 例: image_forensics_audit, poc_forensics_roc
imgforensics / sensor(3)
fingerprint_correlate image2d × fingerprint → table — 1 枚の画像を指紋に照合する。判定は返さない —— 証拠量と注意書きを返す。 · 例: image_forensics_audit, poc_prnu_camera_fingerprint
fingerprint_strength_map fingerprint → image2d — 指紋の ブロックごとの実効強度(標準偏差)を並べた地図。image2d。 · 例: image_forensics_audit
sensor_fingerprint images → fingerprint — 複数枚から PRNU センサ指紋 K を最尤推定する(Chen et al. 2008)。 · 例: image_forensics_audit, poc_prnu_camera_fingerprint
imgforensics / watermark(3)
watermark_capacity image2d × phash → table — 埋め込み強度と PSNR / BER のトレードオフを掃引して返す。table。 · 例: image_forensics_audit
watermark_embed image2d × phash → image2d — DWT-DCT 電子透かしの埋め込み。透かし入り画像 (H, W) を返す。image2d。 · 例: image_forensics_audit
watermark_extract image2d → phash — 透かしの ブラインド抽出。bool の 1-D(phash 語彙)を返す。 · 例: image_forensics_audit
astrostack(14 ops / 6 categories)
astrostack / align(2)
align_frames images → images — フレーム列を 1 枚の基準へ重ね合わせる。 · 例: astro_stacking
frame_align image2d × image2d → matrix — 星の対応から frame → reference の 2-D 変換を推定する。 · 例: astro_stacking, poc_exoplanet_transit, poc_print_registration
astrostack / cosmic(2)
cosmic_ray_reject image2d → image2d — 単一フレームの宇宙線除去(ラプラシアン鋭度)。 · 例: astro_stacking
cosmic_ray_reject_stack images → images — フレーム間比較による宇宙線除去 —— 同じ場所に二度は当たらない。 · 例: astro_stacking
astrostack / photometry(3)
aperture_photometry image2d × keypoints → table — 円形開口 + 環状背景の測光(古典的な CCD 測光)。 · 例: astro_stacking, poc_astro_photometry, poc_exoplanet_transit, poc_nuclei_ploidy, poc_real_sky_photometry
psf_fit image2d × keypoints → table — 星像に PSF を当てはめて中心と FWHM を出す。 · 例: astro_stacking, poc_star_astrometry
star_detect image2d → keypoints — 星を検出して (row, col) の重心列を返す。 · 例: astro_stacking, poc_exoplanet_transit, poc_search_sweep_width, poc_star_astrometry
astrostack / quality(3)
frame_quality image2d → table — 1 枚の品質を数える —— 鋭さ・FWHM・背景・真円度、そして選別用の点。 · 例: astro_stacking
lucky_select images → indices — 品質点の上位 keep_fraction だけを採る —— lucky imaging の選別。 · 例: astro_stacking, poc_astro_photometry
noise_sigma image2d → measurement — 背景の雑音 sigma を頑健に推定する(星に汚されない一つの実数)。 · 例: astro_stacking, poc_colocalization_crosstalk, poc_search_sweep_width, poc_star_astrometry, poc_thermal_radiometry
astrostack / stack(2)
drizzle_resample images → image2d — Drizzle —— 副画素でずれた複数フレームから細かい格子を作る(面積保存)。 · 例: astro_stacking, poc_astro_photometry, poc_pixel_shift, poc_superresolution_limits
sigma_clip_stack images → image2d — フレーム列を合成する(平均 / 中央値 / κ-σ クリップ)。採否マスクつき。 · 例: astro_stacking, poc_astro_photometry, poc_exoplanet_transit, poc_river_surface_velocity
astrostack / synth(2)
synth_frame_series 入力なし → images — 同じ星野を n_frames 枚、別々のノイズと別々のディザで撮り直す。 · 例: astro_stacking, poc_astro_photometry
synth_starfield 入力なし → image2d — 既知の星野を 1 枚合成する —— この族の正解の供給源。 · 例: astro_stacking, poc_astro_photometry
videostream(16 ops / 8 categories)
videostream / analysis(1)
scene_cut_detection video → table — Shot-boundary chi-square histogram distance over a clip → {"distance", "cut", "n"} (table). · 例: video_streaming
videostream / background(2)
running_gaussian_background video → video — Adaptive single-Gaussian background (the running mean) per frame → (T, H, W) (video). · 例: video_streaming
running_gaussian_foreground video → video — Adaptive single-Gaussian foreground masks per frame → 0/1 (T, H, W) (video). · 例: video_streaming
videostream / denoise(1)
temporal_bilateral video → video — Causal temporal bilateral denoise per frame → (T, H, W) (video). · 例: find_ops_by_meaning, video_streaming
videostream / flow(1)
optical_flow_magnitude_stream video → video — Per-frame dense flow speed against the previous frame → (T, H, W) (video). · 例: video_streaming
videostream / motion(3)
motion_energy_image video → video — Bobick–Davis Motion Energy Image per frame → 0/1 (T, H, W) (video). · 例: video_streaming
motion_history_image video → video — Bobick–Davis Motion History Image per frame → (T, H, W) in [0, 1] (video). · 例: video_streaming
three_frame_difference video → video — Collins three-frame-difference motion mask per frame → 0/1 (T, H, W) (video). · 例: poc_periodic_video_boundary, video_streaming
videostream / recursive(4)
exponential_background video → video — Recursive background bg ← (1−α)·bg + α·frame per frame → (T, H, W) (video). · 例: video_streaming
exponential_foreground video → video — Foreground masks |frame − exponential background| > threshold → 0/1 (T, H, W) (video). · 例: video_streaming
frame_difference_causal video → video — |frame t − frame t−1| with a zero first frame → (T, H, W) (video). · 例: video_streaming
running_mean_std video → table — Welford per-pixel mean / population std over the clip → {"mean", "std", "n"} (table). · 例: video_streaming
videostream / restore(1)
deflicker video → video — Luminance deflicker per frame → (T, H, W) (video). · 例: video_streaming
videostream / window(3)
background_subtraction_window video → video — Causal window-median background → per-frame 0/1 foreground masks (T, H, W) (video). · 例: video_streaming
moving_average_window video → video — Causal per-pixel mean over the last window frames → (T, H, W) (video). · 例: poc_periodic_video_boundary, poc_strain_history, video_streaming
temporal_median_window video → video — Causal per-pixel median over the last window frames → (T, H, W) (video). · 例: video_streaming
profile(12 ops / 4 categories)
profile / compare(2)
profile_align pairs × pairs → pairs — 測った輪郭を設計輪郭へ合わせる。返りは (aligned, info)。 · 例: profile_frame_tour
profile_deviation pairs × pairs → table — 設計形状からの符号つき法線方向のずれ。返りは dict。 · 例: profile_shape_inspection
profile / frame(3)
profile_chord_frame pairs → table — 弦(最も離れた 2 点)を見つける。返りは dict。 · 例: profile_frame_tour, profile_shape_inspection
profile_normalise pairs → pairs — 弦長 1・前縁が原点・弦が +x になるよう回転と並進で正規化する。 · 例: profile_frame_tour
profile_resample pairs → pairs — 輪郭を等間隔に取り直す。kind は "arclength" のみ(現状)。 · 例: profile_frame_tour
profile / measure(5)
profile_camber pairs → pairs — キャンバー線(上下面の中線)。返りは (n, 2) の (x, yc)。 · 例: profile_shape_inspection
profile_leading_edge_radius pairs → measurement — 前縁半径(翼弦比)。前縁近傍の点に円を当てはめる。 · 例: profile_shape_inspection
profile_sides pairs → table — 上面・下面を弦方向の関数として取り出す。返りは dict。 · 例: profile_frame_tour
profile_thickness pairs → pairs — 厚み分布 t(x)。返りは (n, 2) の (x, t)。 · 例: profile_shape_inspection
profile_trailing_edge_gap pairs → measurement — 後縁の開き(翼弦比)。上面と下面の後縁端の距離。 · 例: profile_shape_inspection
profile / synth(2)
profile_perturb pairs → pairs — 既知の量の欠陥を入れた輪郭を返す。:data:PERTURB_KINDS。 · 例: profile_shape_inspection
profile_synth_naca4 入力なし → pairs — NACA 4 桁翼型を閉形式で生成する。返りは (N, 2) の一筆書き。 · 例: profile_frame_tour, profile_shape_inspection
shapestat(16 ops / 5 categories)
shapestat / deviation(1)
signed_surface_distance points × points → signal — 問い合わせ点から面までの符号つき距離。→ (N,)。 · 例: poc_am_thermal_to_ct, shapestat_landmark_tour
shapestat / model(6)
shape_explained_variance shapemodel → signal — 各主成分の寄与率(合計 1)。→ (k,)。 · 例: shapestat_landmark_tour
shape_mahalanobis shapemodel × points → measurement — モデルから見てその形がどれだけ異常か。→ float。 · 例: shapestat_landmark_tour
shape_pca shapeset → shapemodel — 形態 PCA(統計形状モデル)。→ dict(shapemodel)。 · 例: shapestat_landmark_tour
shape_project shapemodel × points → signal — 形をモデルの座標(主成分スコア)へ。→ (k,)。 · 例: shapestat_landmark_tour
shape_reconstruct shapemodel × signal → points — スコアから形を戻す。→ (N, 3)。 · 例: shapestat_landmark_tour
shape_synthesize shapemodel → points — モデルからもっともらしい新しい形を 1 つ作る。→ (N, 3)。 · 例: shapestat_landmark_tour
shapestat / procrustes(5)
generalized_procrustes shapeset → shapeset — 一般化 Procrustes(GPA)。全個体を共通の枠へ。→ (K, N, 3)。 · 例: shapestat_landmark_tour
procrustes_align points × points → points — source を target に重ねた点。→ (N, 3)(:func:procrustes_fit の適用)。 · 例: shapestat_landmark_tour
procrustes_distance points × points → measurement — Procrustes 距離 = 重ねたあとの点ごと RMS。→ float。 · 例: shapestat_landmark_tour
procrustes_fit points × points → matrix — source を target へ重ねる相似変換。→ (4, 4) の同次行列。 · 例: poc_change_detection_misreg, poc_die_tilt_tsv_overlay, shapestat_landmark_tour
shape_mean shapeset → points — GPA で揃えたあとの平均形状。→ (N, 3)。 · 例: shapestat_landmark_tour
shapestat / symmetry(2)
landmark_asymmetry points → signal — 左右の対ごとの符号つき非対称量。→ (M,)。 · 例: shapestat_landmark_tour
mirror_plane_from_pairs points → matrix — 左右の対応ランドマークから正中面を出す。→ (2, 3)(1 行目 = 点、2 行目 = 法線)。 · 例: shapestat_landmark_tour
shapestat / synth(2)
shape_perturb points → points — 形に既知の変形を 1 つ入れる。→ (N, 3)。 · 例: shapestat_landmark_tour
shape_synth_family 入力なし → shapeset — 既知の変形モードを持つ形の群を作る。→ (n_shapes, n_points, 3)。 · 例: shapestat_landmark_tour
measure1d(17 ops / 4 categories)
measure1d / apply(2)
align_metrology_model metrologymodel → metrologymodel — 計測モデルの全オブジェクトを平行移動して整列(align_metrology_model)。 · 例: poc_dimensional_inspection
apply_metrology_model metrologymodel × image2d → table — 各計測オブジェクトの参照形状の法線に沿ってサブピクセルエッジを測り、形状を 再フィットして結果を返す(apply_metrology_model)。 · 例: example_inner_diameter_mm, poc_calipers_under_illusion, poc_dimensional_inspection, poc_telecentric_metrology
measure1d / caliper(6)
fuzzy_measure_pairing image2d × measurehandle → table — ファジィ基準(想定幅 pair_size)に最も合うエッジ対を選ぶ(fuzzy_measure_pairing)。 · 例: poc_calipers_under_illusion, poc_dimensional_inspection
-
gen_measure_arc 入力なし → measurehandle — 測定弧(円周方向に ≈1 px 間隔でプロファイルを取る)を定義(gen_measure_arc)。 サンプル数 n = round( |
angle_extent |
*radius)+1、spacing = 弧長/(n-1)。 · 例: poc_dimensional_inspection |
gen_measure_rectangle2 入力なし → measurehandle — 回転測定矩形(長軸 phi 方向に 1 px 間隔でプロファイルを取る)を定義 (gen_measure_rectangle2)。サンプル数 n = max(2, round(2*length1)+1)、始点は 中心から -(n-1)/2 px の位置。length2 は幅方向の平均化幅 [px]。 · 例: example_scratch_width, poc_barcode_1d, poc_battery_electrode_breathing, poc_calipers_under_illusion, poc_dimensional_inspection, poc_screw_thread_metrology, poc_solar_limb_darkening, poc_telecentric_metrology, poc_tree_ring_dendro, poc_water_level, poc_weld_bead_profile, poc_weld_radiograph_porosity
measure_pairs image2d × measurehandle → table — 立ち上がり/立ち下がりエッジのペア(構造の幅)を抽出(measure_pairs)。 first/second = 各エッジの pos、width = 幅 [px]、 first_point/second_point = (row, col)。 · 例: example_scratch_width, poc_calipers_under_illusion, poc_dimensional_inspection, poc_weld_radiograph_porosity
measure_pos image2d × measurehandle → table — 測定線上のエッジ位置(サブピクセル)と振幅を抽出(measure_pos)。 · 例: poc_barcode_1d, poc_battery_electrode_breathing, poc_calipers_under_illusion, poc_dimensional_inspection, poc_screw_thread_metrology, poc_solar_limb_darkening, poc_telecentric_metrology, poc_tree_ring_dendro, poc_water_level, poc_weld_bead_profile, poc_weld_radiograph_porosity
translate_measure measurehandle → measurehandle — 測定オブジェクトを平行移動(translate_measure)。 · 例: poc_dimensional_inspection
measure1d / model(6)
add_metrology_object_circle_measure metrologymodel → scalar — 円計測オブジェクトを追加(add_metrology_object_circle_measure)。 · 例: example_inner_diameter_mm, poc_calipers_under_illusion, poc_dimensional_inspection, poc_telecentric_metrology
add_metrology_object_ellipse_measure metrologymodel → scalar — 楕円計測オブジェクトを追加(add_metrology_object_ellipse_measure)。 phi = ra 軸の向き(col 軸から、ラジアン)。 · 例: poc_dimensional_inspection
add_metrology_object_generic metrologymodel → scalar — 汎用計測オブジェクトを追加(add_metrology_object_generic)。 · 例: poc_dimensional_inspection
add_metrology_object_line_measure metrologymodel → scalar — 直線計測オブジェクトを追加(add_metrology_object_line_measure)。index を返す。 · 例: poc_calipers_under_illusion, poc_dimensional_inspection
add_metrology_object_rectangle2_measure metrologymodel → scalar — 矩形計測オブジェクトを追加(add_metrology_object_rectangle2_measure)。 phi = l1 辺の向き(col 軸から、ラジアン)、l1/l2 = 半辺長。 · 例: poc_dimensional_inspection
create_metrology_model 入力なし → metrologymodel — 空の計測モデルを作る(create_metrology_model)。 · 例: example_inner_diameter_mm, poc_calipers_under_illusion, poc_dimensional_inspection, poc_telecentric_metrology
measure1d / scale(3)
mm_per_px_from_reference measurement → measurement — 既知寸法の的(スケールバー・基準穴・ゲージ)から画素ピッチ mm/px を出す(校正)。 · 例: example_inner_diameter_mm, example_scratch_width
pixel_to_world measurement → measurement — 画素で測った長さ 1 個を実寸 mm にする(value_px * mm_per_px)。 · 例: example_inner_diameter_mm
table_px_to_mm table → table — 計測結果の表(measure_pairs / apply_metrology_model の返り)に mm 列を足す。 · 例: example_inner_diameter_mm, example_scratch_width
roughness(9 ops / 3 categories)
roughness / measure(3)
profile_params signal → table — 断面の粗さパラメータ Ra/Rq/Rz/Rt/Rp/Rv/Rsk/Rku(ISO 4287)。 · 例: poc_food_cutting_measure, poc_surface_roughness
surface_params depth → table — 面の粗さパラメータ Sa/Sq/Sp/Sv/Sz/Ssk/Sku/Sdq/Sdr(ISO 25178-2)。 · 例: poc_polish_wipe_measure, poc_surface_roughness
surface_psd depth → pairs — 高さ場のパワースペクトル密度。(q, C) を返す。規約を引数で明示する。 · 例: poc_surface_roughness
roughness / prepare(5)
robust_gaussian_profile signal → signal — ロバスト・ガウシアン回帰フィルタ(断面): 外れ値・傷に引きずられない平均線と粗さ。 · 例: example_robust_profile_filter, poc_robust_profile_filter
robust_gaussian_surface depth → depth — ロバスト・ガウシアン回帰フィルタ(面): 傷・突起に引きずられない面のうねりと粗さ。 · 例: poc_robust_profile_filter
robust_spline_profile signal → signal — ロバスト・スプラインフィルタ(断面): 外れ値に引きずられない平均線と粗さ。 · 例: poc_robust_profile_filter
surface_filter depth → depth — 高さ場を粗さとうねりに分ける(ISO 16610-21 のガウスフィルタ)。 · 例: poc_robust_profile_filter, poc_surface_roughness
surface_form_remove depth → depth — 格子のまま平面 / 二次曲面を除く。(residual, coeffs) を返す。 · 例: poc_polish_wipe_measure, poc_pv_thermal_survey, poc_surface_roughness
roughness / synth(1)
surface_synth_psd 入力なし → depth — 指定した PSD から高さ場を合成する。(z, sq_analytic) を返す。 · 例: poc_polish_wipe_measure, poc_surface_roughness
shape2d(16 ops / 2 categories)
shape2d / descriptor(10)
contour_epicycle_chain matrix → pairs — 位相 t における回る振り子の連鎖を返す(pairs)。 · 例: poc_one_stroke_epicycles
contour_fourier_complex pairs → matrix — 閉輪郭を複素フーリエ級数の係数にする —— z(t) = Σ c_k exp(2πi k t)。 · 例: poc_one_stroke_epicycles
contour_fourier_truncation_energy matrix → table — 打ち切り次数ごとの予言される誤差(table)—— パーセバルの厳密式。 · 例: poc_one_stroke_epicycles
descriptor_distance efdmodel × efdmodel → measurement — 2 つの形状間の距離(小さいほど似た形)。回転/平行移動/始点/(任意で)スケール不変。 · 例: contour_fourier, shape2d_morph_descriptor_tour
elliptic_fourier pairs → efdmodel — 閉輪郭の楕円フーリエ係数を Kuhl–Giardina 閉形式で求める。 · 例: contour_fourier, shape2d_morph_descriptor_tour
fourier_smooth pairs → pairs — 輪郭を複素 FFT で帯域制限して平滑化する。 · 例: contour_fourier
from_xld table → pairs — XLD 輪郭 dict({"shape", "cs":[Nx2,...]})から i 番目の輪郭を取り出す。 · 例: shape2d_morph_descriptor_tour
invariants efdmodel → pairs — 回転・平行移動・始点・(任意で)スケールに不変な形状記述子((N,2))。 · 例: shape2d_morph_descriptor_tour
normalize efdmodel → matrix — EFD 係数を「正準ポーズ」の係数へ変換する(第1高調波を基準に整列)。 · 例: piv_flow_from_particles, poc_exoplanet_transit
reconstruct efdmodel → pairs — EFD 係数から輪郭を再構成する((M,2))。 · 例: contour_fourier
shape2d / morph(6)
add_frame_corners pairs → pairs — 点群に画像の四隅(+辺の中点)を固定点として足す。 · 例: shape2d_morph_descriptor_tour
blend image2d × image2d → image2d — クロスディゾルブ (1-alpha)·a + alpha·b(a,b は同 shape・[0,1])。 · 例: image_morph, poc_live4d
morph image2d × image2d × pairs × pairs → image2d — 2 枚の画像 A, B を対応点でモーフし、比率 alpha の中間画像を作る。 · 例: image_morph, poc_vanishing_detail_and_morphing_area
morph_sequence image2d × image2d × pairs × pairs → images — alpha を 0→1 に n 段で振ったモーフ列(A から B へ滑らかに変わる各フレーム)。 · 例: image_morph
warp_piecewise_affine image2d × pairs × pairs → image2d — img の src_pts にある内容を dst_pts へ動かす区分アフィンワープ。 · 例: shape2d_morph_descriptor_tour
warp_tps_image image2d × pairs × pairs → image2d — 薄板スプラインで img の src_pts を dst_pts へ動かす滑らかなワープ。 · 例: shape2d_morph_descriptor_tour
piv(29 ops / 7 categories)
piv / assess(4)
piv_error_stats flow2d × flow2d → table — 真値との差の内訳。偏りと散らばりを分けて返す。 · 例: piv_field_analysis_tour, piv_flow_from_particles, poc_river_surface_velocity, poc_strain_history
piv_peak_locking flow2d → table — ピークロッキングの強さ。小数部の分布が一様からどれだけ外れているか。 · 例: piv_field_analysis_tour, poc_battery_electrode_breathing
piv_sample_at_windows flow2d → flow2d — 画素ごとの場 (2, H, W) を窓中心の格子へ落とす(最近傍)。 · 例: piv_field_analysis_tour, piv_flow_from_particles, poc_river_surface_velocity, poc_strain_history
piv_time_statistics images → table — 画像列 → 時間平均・変動の RMS・レイノルズ応力。 · 例: piv_field_analysis_tour
piv / estimate(4)
piv_cross_correlate image2d × image2d → flow2d — 窓ごとの相互相関で変位場を出す。返りは (flow, info)。 · 例: piv_field_analysis_tour, piv_flow_from_particles, poc_beam_modal_video, poc_change_detection_misreg, poc_dic_strain, poc_print_registration, poc_river_surface_velocity, poc_strain_history, poc_superresolution_limits, poc_tacsim_marker_shear
piv_deform_pass image2d × image2d × flow2d → flow2d — 窓変形つきの 1 段。予測変位で画像そのものを歪めてから相関を取る。 · 例: piv_field_analysis_tour
piv_ensemble_correlate images → flow2d — 相関マップを足してからピークを探す(アンサンブル相関)。 · 例: piv_field_analysis_tour, poc_river_surface_velocity
piv_multipass image2d × image2d → flow2d — 粗い窓から細かい窓へ段を下げる多段 PIV。返りは (flow, info)。 · 例: piv_field_analysis_tour, piv_flow_from_particles, poc_strain_history
piv / field(8)
piv_divergence flow2d → image2d — 発散 d(dy)/dy + d(dx)/dx。非圧縮なら 0 —— 独立な検算に使える。 · 例: piv_flow_from_particles, poc_what_a_picture_cannot_check
piv_flow_magnitude flow2d → image2d — sqrt(dy^2 + dx^2)。向きを捨てる一方向の変換。 · 例: piv_field_analysis_tour, poc_what_a_picture_cannot_check
piv_q_criterion flow2d → image2d — Q 基準 -tr(J^2)/2。回転がひずみを上回る場所が正になる。 · 例: piv_field_analysis_tour
piv_strain_rate flow2d → image2d — ひずみ速度の大きさ sqrt(2 e_ij e_ij)。剛体回転では 0 になる。 · 例: piv_field_analysis_tour
piv_swirling_strength flow2d → image2d — 渦回転強度 λ_ci —— 速度勾配テンソルの複素固有値の虚部の大きさ。 · 例: piv_field_analysis_tour
piv_to_velocity flow2d → flow2d — 画素/フレーム → m/s。両方とも必須引数(既定値を置かない)。 · 例: piv_flow_from_particles, poc_river_surface_velocity
piv_velocity_gradient flow2d → table — 速度勾配テンソルの成分と、そこから出る量をまとめて返す。 · 例: piv_field_analysis_tour
piv_vorticity flow2d → image2d — 渦度 d(dx)/dy - d(dy)/dx。反時計回りが正(画像座標での定義)。 · 例: piv_flow_from_particles, poc_tactile_dipole_torque, poc_what_a_picture_cannot_check
piv / solid(3)
correlation_quality image2d × image2d × flow2d → image2d — 与えられた変位場がどれだけ合っているかを点ごとに返す ZNCC マップ。 · 例: piv_field_analysis_tour
speckle_quality image2d → table — 撮ったスペックルが DIC に向いているかを 4 つの数字で返す。 · 例: piv_field_analysis_tour
strain_from_displacement image2d × image2d → image2d — 変位場からひずみ場を出す。(exx, eyy, exy) を返す。 · 例: poc_dic_strain
piv / synth(3)
piv_synth_pair 入力なし → image2d — 既知の変位場を持つ画像対を作る。返りは (image_a, image_b, truth)。 · 例: piv_field_analysis_tour, piv_flow_from_particles, poc_strain_history
piv_synth_particles 入力なし → image2d — トレーサ粒子を撒いた 1 枚を作る。返りは (image, positions)。 · 例: piv_field_analysis_tour
piv_synth_sequence 入力なし → images — 同じ粒子を繰り返し動かした画像列。返りは (frames, truth)。 · 例: piv_field_analysis_tour
piv / validate(2)
piv_outlier_mask flow2d → mask — 正規化中央値検定(Westerweel & Scarano 2005)で外れベクトルを見つける。 · 例: perf_hankel_plan_and_piv_stream, piv_flow_from_particles, poc_change_detection_misreg, poc_river_surface_velocity
piv_replace_outliers flow2d × mask → flow2d — 外れ値を近傍で埋める。method="nan" なら埋めずに欠測にする。 · 例: piv_flow_from_particles, poc_river_surface_velocity
piv / visualise(5)
piv_flow_to_rgbimage flow2d → rgb — 色相 = 向き、明度 = 速さの標準的なフロー可視化。返りは (h, w, 3)。 · 例: piv_field_analysis_tour
piv_line_integral_convolution flow2d → image2d — 線積分畳み込み(LIC)—— 流れに沿って白色雑音をぼかした模様の画像。 · 例: piv_field_analysis_tour
piv_quiver flow2d → rgb — 矢印図(MATLAB の quiver)。返りは (h*upsample, w*upsample, 3)。 · 例: piv_field_analysis_tour
piv_streamline_image flow2d → rgb — 流線図(MATLAB の streamslice)。返りは (h*upsample, w*upsample, 3)。 · 例: piv_field_analysis_tour
piv_streamlines flow2d → table — 流線を RK4 でたどる(MATLAB の stream2 / streamslice に当たる)。 · 例: piv_field_analysis_tour
blob(11 ops / 5 categories)
blob / connect(1)
blob_label mask → labels2d — 二値領域を連結成分に分け、int32 のラベル画像(背景 0、物体 1..n)を返す。 · 例: blob_split_tour, poc_am_thermal_to_ct, poc_bone_trabecular_thickness, poc_bump_coplanarity, poc_dense_bubble_count, poc_em_split_merge_score, poc_fresco_craquelure, poc_gear_tooth_metrology, poc_gravitational_lens_invariants, poc_leaf_disease_area, poc_machine_condition_fusion, poc_metal_grain_size, poc_nuclei_ploidy, poc_particle_sizing, poc_particle_tracking, poc_peg_insertion_tactile, poc_pipe_wall_loss, poc_powder_grinding_ae, poc_print_warpage_risk, poc_pv_thermal_survey, poc_real_coin_metrology, poc_rotation_invariance_audit, poc_sea_ice_concentration, poc_segmentation_gauntlet, poc_sem_wafer_defect_edge_bias, poc_solar_el_inspection, poc_solder_fillet_aoi, poc_timelapse_growth, poc_traffic_counting, poc_vessel_network, poc_weld_radiograph_porosity, poc_wound_area_tracking
blob_boundaries labels2d → mask — 物体の輪郭(1 画素幅、bool)。隣り合う物体の境目も残る。 · 例: poc_gear_tooth_metrology
blob_overlay image2d × labels2d → rgb — 元画像の上に物体を色分けして重ね、(H, W, 3) の float RGB を返す。 · 例: poc_bump_coplanarity, poc_fresco_craquelure, poc_gear_tooth_metrology, poc_leaf_disease_area, poc_metal_grain_size, poc_nuclei_ploidy, poc_particle_sizing, poc_powder_grinding_ae, poc_weld_radiograph_porosity
blob_region labels2d → mask — 物体 1 個を二値領域(bool)として抜く。index は 1 起点。 · 例: poc_gear_tooth_metrology, poc_particle_sizing
blob / measure(1)
blob_features labels2d → table — 物体ごとの形の特徴量を、鍵ごとに 1 本の配列で返す。 · 例: poc_am_thermal_to_ct, poc_bone_trabecular_thickness, poc_bump_coplanarity, poc_dense_bubble_count, poc_fresco_craquelure, poc_gear_tooth_metrology, poc_leaf_disease_area, poc_metal_grain_size, poc_nuclei_ploidy, poc_particle_sizing, poc_particle_tracking, poc_peg_insertion_tactile, poc_print_warpage_risk, poc_pv_thermal_survey, poc_real_coin_metrology, poc_rotation_invariance_audit, poc_sea_ice_concentration, poc_sem_wafer_defect_edge_bias, poc_solar_el_inspection, poc_solder_fillet_aoi, poc_traffic_counting, poc_vessel_network, poc_weld_radiograph_porosity, poc_wound_area_tracking
blob / select(2)
blob_select labels2d → labels2d — 特徴量が [vmin, vmax] に入る物体だけ残す(番号は 1 から振り直す)。 · 例: poc_particle_sizing, poc_pipe_wall_loss, poc_pv_thermal_survey, poc_solar_el_inspection, poc_weld_radiograph_porosity
blob_select_largest labels2d → labels2d — 面積の大きい順に count 個だけ残す(番号は面積の降順に振り直す)。 · 例: poc_am_thermal_to_ct, poc_gear_tooth_metrology, poc_solder_fillet_aoi, poc_wound_area_tracking
blob / split(4)
blob_count_interval mask → table — 重なった物体を数える。決まらないときは個数ではなく区間を返す(fail-closed)。 · 例: poc_dense_bubble_count
blob_distance mask → image2d — 前景の各画素からいちばん近い背景までの距離。単位は spacing 倍。 · 例: blob_split_tour, poc_bone_trabecular_thickness, poc_dense_bubble_count, poc_segmentation_gauntlet
blob_seeds image2d → labels2d — h-maxima の種。h は distance と同じ単位の絶対値。 · 例: blob_split_tour, poc_dense_bubble_count
blob_split labels2d × labels2d × image2d → labels2d — 種から高いところ順に領域を広げて、融合した塊を割る(分水嶺)。 · 例: blob_split_tour, poc_dense_bubble_count
dem(25 ops / 5 categories)
dem / geodesy(12)
dem_cell_size_webmercator 入力なし → measurement — Web メルカトルのタイルの地上分解能 [m/px]。緯度で変わる。 · 例: dem_geodesy_tour
dem_datum_shift_3param 入力なし → points — 測地成果(datum)の乗り換え —— 地心 3 パラメータの平行移動(points)。 · 例: poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_earth_curvature_drop 入力なし → measurement — 見通し計算の地球曲率落ち [m]。(1 - k) d^2 / (2 R)。 · 例: dem_geodesy_tour, poc_geodetic_height_frames
dem_ecef_to_geodetic points → points — ECEF → 測地座標。返りは (..., 3) の (緯度[度], 経度[度], 高さ[m])。 · 例: dem_geodesy_tour, poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_enu_from_geodetic 入力なし → points — 測地座標 → 基準点まわりの局所 ENU(東・北・上)[m] (points)。 · 例: poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_geocentric_grid depth → pointmap — DEM の各セルを地球中心から見た座標にする。 · 例: dem_geodesy_tour
dem_geodetic_from_enu points → points — 局所 ENU → 測地座標(:func:dem_enu_from_geodetic の逆)。points。 · 例: poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_geodetic_slope depth → image2d — 緯度経度の格子(等角度間隔)の DEM の傾斜。セル寸法が緯度で変わる。 · 例: dem_geodesy_tour
dem_geodetic_to_ecef 入力なし → points — 測地座標(緯度・経度・楕円体高)→ 地心直交座標 ECEF [m]。 · 例: dem_geodesy_tour, poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_geoid_height depth → signal — ジオイド高の格子を緯度・経度で双一次補間して N [m] を返す(signal)。 · 例: poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_height_frame_convert signal × signal → signal — 高さの基準を移す: 楕円体高 h ↔ 標高 H(H = h - N)。signal。 · 例: poc_geodetic_benchmarks_real, poc_geodetic_height_frames
dem_height_frame_residual signal × signal × signal → table — h - H - N の残差 —— 高さの取り違えを静かにさせない検出器(table)。 · 例: poc_geodetic_benchmarks_real
dem / hydrology(4)
dem_fill_sinks depth → depth — 窪地を埋めた DEM。Barnes, Lehman & Mulla (2014) の priority-flood。 · 例: poc_dem_terrain
dem_flow_accumulation depth → image2d — 集水セル数。各セルへ流れ込む上流セルの個数(自セルを 1 と数える)。 · 例: dem_terrain_analysis_tour, poc_dem_terrain
dem_flow_direction depth → labels — D8 流向。O’Callaghan & Mark (1984)。 · 例: dem_terrain_analysis_tour, poc_geodetic_height_frames
dem_stream_network depth → image2d — 集水量が閾値を超えたセルを河道とみなす二値マスク。 · 例: dem_terrain_analysis_tour
dem / shading(1)
dem_hillshade depth → image2d — 陰影起伏 [0,1]。azimuth_deg は光源の方位(北 0 度・東回り)。 · 例: poc_dem_terrain, poc_lidar_terrain_change, poc_stockpile_volume
dem / surface(5)
dem_aspect depth → image2d — 斜面方位 [度]。北 0 度・東回り。平坦なセルは :data:ASPECT_FLAT。 · 例: poc_dem_terrain, poc_geodetic_height_frames
dem_curvature depth → image2d — 曲率 [1/m]。kind は "profile"(断面) / "planform"(平面) / "total"。 · 例: poc_dem_terrain
dem_roughness depth → image2d — 地形起伏指数 TRI —— 8 近傍との標高差の二乗平均平方根 [m]。 · 例: dem_terrain_analysis_tour
dem_slope depth → image2d — 傾斜角。units は "degrees" / "radians" / "percent"。 · 例: dem_geodesy_tour, poc_crop_phenotyping, poc_dem_terrain, poc_geodetic_height_frames, poc_lidar_terrain_change, poc_multibeam_bathymetry, poc_stockpile_volume
dem_tpi depth → image2d — 地形位置指数 TPI —— 自セルと 8 近傍平均の差 [m]。正が尾根、負が谷。 · 例: dem_terrain_analysis_tour
dem / visibility(3)
dem_horizon_angle depth → image2d — 指定方位の地平線仰角 [度]。0 は水平、90 は真上が塞がれている状態。 · 例: dem_terrain_analysis_tour
dem_sky_view_factor depth → image2d — 天空率 [0,1]。空がどれだけ見えているか。 · 例: poc_dem_terrain
dem_viewshed depth → image2d — 1 点からの可視領域(1 = 見える)。視線が地形に遮られるかを判定する。 · 例: dem_terrain_analysis_tour, poc_stockpile_volume
conngraph(28 ops / 7 categories)
conngraph / activity(3)
graph_activation_latency matrix → labels — 各ノードが初めて「点いた」ステップ(0 始まり)の列 (n,)、整数。点かなかったノードは −1。 · 例: poc_malecns_activity_wave
graph_activity_spread matrix × points × labels → table — 活動がどこまで広がったかの時系列の表: 列 step / mean_distance / active_fraction / source_fraction。 · 例: poc_malecns_activity_wave, poc_microns_brain_wave
points_activity_video points × matrix → rgbvideo — 点群に活動を載せて回す色動画 (F, H, W, 3)、値 [0, 1]。F = T × substeps、H = size、W = size × aspect。 · 例: poc_connectome_motor_bottleneck, poc_em_branch_territory, poc_em_second_opinion, poc_eye_to_brain, poc_malecns_activity_wave, poc_microns_brain_wave
conngraph / circuit(1)
graph_conductance_states conn_graph × matrix → matrix — 配線 W をそのまま回路として回した膜電位の時系列 (T, n)(matrix、学習なし)。 · 例: poc_fly_optomotor_steering
conngraph / construct(3)
-
graph_binarize conn_graph → conn_graph — |
W |
> thresh の辺を 1.0、それ以外を 0.0 にした conn_graph(対角も同じ規則)。 · 例: gallery_conngraph_closed_forms |
graph_degree_preserving_shuffle conn_graph → conn_graph — 次数保存シャッフル(帰無モデル): 各ノードの入次数・出次数と重みの多重集合を保って辺を繋ぎ替える。 · 例: poc_larval_connectome_reservoir, poc_malecns_activity_wave, poc_microns_brain_wave
graph_from_synapses synapse_table → conn_graph — シナプス表 (m, 3) = (pre_id, post_id, count) を n×n の重みつき有向隣接行列にする。 · 例: poc_fly_optomotor_steering, poc_microns_brain_wave
conngraph / dimension(4)
graph_block_shuffle conn_graph × labels → conn_graph — 層(ラベル)のブロックごとに送り手を混ぜた対照の conn_graph: 各受け手が受ける重みの多重集合と 層間の総結線量は保ったまま、「誰から」だけを壊す。 · 例: poc_connectome_motor_bottleneck
graph_layer_propagate conn_graph × labels × matrix → matrix — 層 0 の状態 U (N, n_0) を、ブロック W[layer a → layer a+1] で前向きに一段ずつ通した全層の状態 (N, n)(matrix、列はノード順で層 0 の列は U そのもの)。 · 例: poc_connectome_motor_bottleneck
states_layer_dimension matrix × labels → table — 層ごとの実効次元の表: 列 layer / n / participation_ratio / ratio(= PR / n)。 · 例: poc_connectome_motor_bottleneck
states_participation_ratio matrix → measurement — 状態列 X (N, n) の実効次元 = participation ratio PR = (Σλ)² / Σλ²(λ は共分散の固有値、 Gao et al. 2017)。全列が独立で同じ分散なら n、1 本の方向に乗っていれば 1。 · 例: poc_connectome_motor_bottleneck
conngraph / reservoir(5)
reservoir_encode conn_graph × matrix → matrix — 静的入力の一括 reservoir 符号化(分類用): X の各行を零状態から steps 回回した最終状態 (N, n)。 · 例: poc_larval_connectome_reservoir
reservoir_from_graph conn_graph → conn_graph — W をスペクトル半径が rho になるように定数倍した conn_graph(echo state の前処理)。半径 0 は拒否。 · 例: poc_larval_connectome_reservoir, poc_malecns_activity_wave
reservoir_states conn_graph × matrix → matrix — reservoir の状態列: x_{t+1} = (1−leak) x_t + leak · f(Wᵀ x_t + W_in u_t)。返りは (T − washout, n)。 · 例: poc_malecns_activity_wave, poc_microns_brain_wave
ridge_predict matrix × matrix → matrix — 読み出し重みで予測 (T, k) = [X, 1] · Wout。Wout は ridge_readout の (d+1, k)。 · 例: poc_larval_connectome_reservoir
ridge_readout matrix × matrix → matrix — リッジ回帰の読み出し重み (d+1, k) = (X̃ᵀX̃ + αI)⁻¹ X̃ᵀY、X̃ = [X, 1] (バイアス列を付ける)。 · 例: poc_larval_connectome_reservoir
conngraph / stats(9)
graph_betweenness conn_graph → signal — 媒介中心性(Brandes 2001、二値有向、正規化なし)。ノードごとの長さ n の配列。 · 例: gallery_conngraph_closed_forms
graph_clustering_coefficient conn_graph → measurement — 平均局所クラスタ係数(向きを畳んだ二値グラフ、Watts–Strogatz)。次数 < 2 のノードは 0 と数える。 · 例: gallery_conngraph_closed_forms
graph_components conn_graph → labels — 弱連結成分のラベル(0 始まり、ノード番号順の初出で番号づけ)。長さ n の int64。 · 例: gallery_conngraph_closed_forms
graph_degree_table conn_graph → table — ノードごとの in_degree / out_degree(二値)と in_strength / out_strength(重み和)の表。 · 例: poc_larval_connectome_reservoir, poc_theorems_as_pictures
graph_laplacian_spectrum conn_graph → signal — 向きを畳んだ二値グラフの Laplacian L = D − A の固有値(昇順、長さ n)。 · 例: gallery_conngraph_closed_forms
graph_modularity conn_graph × labels → measurement — 有向・重みつきモジュラリティ Q(Leicht–Newman 2008)。 · 例: gallery_conngraph_closed_forms
graph_motif_count conn_graph → measurement — 3 点モチーフの個数(二値有向、対角は除く): reciprocal / ffl / cycle3。 · 例: gallery_conngraph_closed_forms
graph_rich_club conn_graph → measurement — rich club 係数 φ(k): 総次数 (in+out、二値) > k のノードが張る部分グラフの有向密度。 · 例: poc_worm_core_persists
graph_spectral_radius conn_graph → measurement — 重みつき隣接行列 W の固有値の最大絶対値(スペクトル半径)。 · 例: poc_larval_connectome_reservoir
conngraph / view(3)
graph_adjacency_image conn_graph → image2d — 隣接行列を [0, 1] の画像 (n, n) にする。order = none / degree(総次数の降順)/ component(成分順)。 · 例: gallery_conngraph_closed_forms
graph_edges_as_lines conn_graph × points → table — 辺を線分の表にする(Studio で点群に重ねる出口): 列 pre / post / x0 y0 z0 / x1 y1 z1 / weight。 · 例: gallery_conngraph_closed_forms
graph_layout_spectral conn_graph → points — スペクトル配置: 向きを畳んだ Laplacian の Fiedler ベクトル(第 2..dim+1 固有ベクトル)を座標にした点群 (n, 3)、各軸 [0, 1]。 · 例: gallery_conngraph_closed_forms
emproof(14 ops / 6 categories)
emproof / evaluate(1)
holdout_threshold signal × signal × signal × signal → table — 閾値を訓練側で選び、評価は別の側で測る(score が高いほど「疑わしい」)。 · 例: poc_em_second_opinion
emproof / inject(3)
seg_inject_merge labels2d → labels2d — 評価用に融合を仕込む: 隣接する大きなラベル対を n 組選び、片方の id をもう片方に書き換える。 · 例: poc_em_second_opinion, poc_em_split_merge_score
seg_inject_split labels2d → labels2d — 評価用に分断を仕込む: 大きなラベルを n 個選び、画素の中央値の行(axis="row")か 列("col")で 2 つに切って、片側に新しい id(既存最大 + 1, +2, …)を付ける。 · 例: poc_em_second_opinion, poc_em_split_merge_score
seg_label_changes labels2d × labels2d → table — 2 枚のラベル画像の差を融合と分断の対として返す(校正の前後、または仕込んだ誤りの答え合わせ)。 · 例: poc_em_second_opinion, poc_em_split_merge_score
emproof / response(1)
seg_membrane_response image2d → image2d — EM 断面の暗い線(細胞膜)の応答 [0, ∞)。ガウス平滑した Hessian の固有値 λ1 ≥ λ2 から max(λ1 − |λ2|, 0) (Steger の線検出の閉形式、σ² で尺度正規化)。 · 例: poc_em_second_opinion, poc_em_split_merge_score
emproof / score(3)
seg_contingency labels2d × labels2d → table — The contingency table of truth a against candidate b (sparse). · 例: gallery_mesh_seg_sun_gains
seg_rand labels2d × labels2d → table — Rand index, adjusted Rand index and the adapted Rand error (CREMI / SNEMI). · 例: poc_em_split_merge_score
seg_variation_of_information labels2d × labels2d → table — Variation of information between truth a and candidate b, in bits. · 例: poc_em_split_merge_score, poc_em_wiring_errors, poc_skeleton_run_length_vs_voi
emproof / suspect(2)
seg_boundary_membrane_gap labels2d × image2d → table — 分断の疑い: 隣接する 2 ラベルの境界画素のうち、膜応答が tau 未満の割合。隣接対ごとに 1 行。 · 例: poc_em_second_opinion
seg_membrane_chord_score labels2d × image2d → table — 融合の疑い: ラベルの内部を横切る膜の「弦」の長さ / ラベルの径。ラベル(連結成分)ごとに 1 行。 · 例: poc_em_second_opinion
emproof / wiring(4)
seg_synapse_nri labels2d × labels2d × table → table — Neural reconstruction integrity (Reilly et al. 2018) of candidate b against truth a. · 例: poc_em_wiring_errors
seg_synapse_partners labels2d × table → table — Read the wiring diagram a segmentation implies: which object each synapse connects. · 例: poc_em_wiring_errors
seg_wiring_exposure labels2d × table → table — How much wiring each object stakes on staying one piece — from synapse end counts alone. · 例: poc_em_wiring_errors
seg_wiring_variation labels2d × labels2d × table → table — How a candidate segmentation b corrupts the wiring diagram of truth a, in bits. · 例: poc_em_wiring_errors
videocube(6 ops / 4 categories)
videocube / cube(2)
video_cube_cut video → image2d — 立方体の断面 1 枚(image2d)。"xt" = 行 position のスリットスキャン (T, W)、"yt" = 列の (T, H)、 "xy" = 時刻 position のフレーム (H, W)。position は [0, 1] の割合(行・列・時刻の何割目か)。 · 例: poc_video_cube
video_spacetime_cube video → voxel — 動画 (T, H, W) を空間 × 時間の立方体 (T, H, W) float [0, 1] にする(voxel)。 · 例: poc_video_cube
videocube / export(1)
video_write_gif rgbvideo → text — フレーム列をアニメーション GIF に書く(text = 書いたパス)。使い回しの出口。 · 例: poc_video_cube
videocube / render(2)
video_cube_orbit video → rgbvideo — 立方体を回す色動画 (n_frames, size, size, 3) float [0, 1] (rgbvideo)。 · 例: poc_video_cube
vol_render_transfer voxel → rgb — 立方体を任意の視点から前から後ろへの α 合成で描く (size, size, 3) float [0, 1] (rgb)。 · 例: poc_print_layer_inspection, poc_video_cube
videocube / summary(1)
video_summary_keyframes video → indices — 代表フレームの添字 (k,) int64、昇順(indices)。 · 例: poc_video_cube
live4d(14 ops / 5 categories)
live4d / flow(4)
vol_flow_3d voxel × voxel → flow_dense — 2 つの体積の間の密な変位場 (3, Z, Y, X)(flow_dense、成分 dz, dy, dx [voxel])。 · 例: poc_live4d
volseq_pathline_orbit volseq → rgbvideo — volseq_pathline_render の軌跡の立体を回して見る (n_frames, size, size, 3)(rgbvideo)。 · 例: poc_live4d
volseq_pathline_render volseq → rgb — 粒子を流れに乗せて描いた軌跡の立体 (size, size, 3)(rgb)—— 動きを 1 枚の静止画で見せる。 · 例: poc_live4d
volseq_speed volseq → volseq — 体積時系列の隣り合うフレーム間の速さ |d| [voxel/frame] を (T − 1, Z, Y, X) で返す(volseq)。 · 例: gallery_live4d_volseq_truth
live4d / render(3)
focus_sweep_height_video volseq → video — 焦点掃引(各フレームが z の合焦スタック)の時系列から高さ場の動画 (T, Y, X) を起こす(video、 単位は z の枚数)。 · 例: poc_live4d
focus_sweep_surface_video volseq → rgbvideo — 焦点掃引(各フレームが z の合焦スタック)の時系列から陰影つきの高さ場の動画 (T, Y, X, 3) を 起こす(rgbvideo)。 · 例: poc_live4d
volseq_render_orbit volseq → rgbvideo — 体積時系列を時間を進めながら視点を回して描く (n_frames, size, size, 3)(rgbvideo)。 · 例: poc_live4d
live4d / series(2)
volseq_cut_video volseq → video — 体積時系列を 1 枚の断面で切った動画 (T, H, W)(video)。 · 例: gallery_live4d_volseq_truth
volseq_mip_video volseq → video — 体積時系列を軸 axis(1 = z, 2 = y, 3 = x)の最大値投影で動画 (T, H, W) に畳む(video)。 · 例: gallery_live4d_volseq_truth
live4d / synth(2)
volseq_synth_beating 入力なし → volseq — 既知の半径則で拍動する殻の体積時系列 (T, Z, Y, X)(volseq、値は [0, 1] + 雑音)。 · 例: poc_live4d
volseq_synth_dividing 入力なし → volseq — 既知の速さで二つに分かれる塊の体積時系列 (T, Z, Y, X)(volseq)。 · 例: poc_live4d
live4d / time(3)
video_interpolate_flow video → video — 動画 (T, H, W) を流れで補間して (T + (T − 1)(factor − 1), H, W) に(video、時間の超解像)。 · 例: gallery_live4d_volseq_truth
volseq_interpolate_flow volseq → volseq — 体積時系列 (T, Z, Y, X) を 3 次元の流れで補間して (T + (T − 1)(factor − 1), Z, Y, X) に(volseq)。 · 例: poc_live4d
volseq_magnify_motion volseq → volseq — 体積時系列の帯域内の微小な動きを alpha 倍にする(volseq、Eulerian の線形拡大の 3 次元版)。 · 例: poc_live4d
printpath(23 ops / 6 categories)
read_3mf text → mesh — 3MF(zip の中の 3D/3dmodel.model、3MF Core Specification)を三角形メッシュ mesh = (V, F) に読む。 · 例: poc_print_layer_inspection
write_3mf text × mesh → text — 三角形メッシュを 3MF(最小構成: [Content_Types].xml / _rels/.rels / 3D/3dmodel.model、単位 mm)に書く。返りはパス(text)。 · 例: poc_print_layer_inspection
printpath / gcode(5)
gcode_extrusion_volume table → measurement — 押し出したフィラメントの体積 [mm³] = Σe × π (d / 2)²(measurement)。重さは密度 × 体積(PLA ≈ 1.24 g/cm³)。 · 例: poc_print_layer_inspection
gcode_layer_image table → image2d — 1 層の経路を線幅つきのラスタ image2d(造形 1、背景 0、移動を描く場合 0.5、y 下向き = 行)に描く。 · 例: poc_print_layer_inspection
gcode_read text → table — G-code(RepRap / Marlin 系)を線分の表 table に読む: 列 x0 y0 z0 x1 y1 z1(mm)、e(その線分で 押し出したフィラメント長 mm、移動だけなら 0)、f(送り mm/min)、layer(層番号)。 · 例: poc_print_layer_inspection
gcode_time_estimate table → measurement — 所要時間の下限 [s] = Σ(線分の長さ / 送り)(加速度・ジャークを無視、measurement)。送り 0 の線分は数えない。 · 例: poc_one_stroke_epicycles, poc_print_layer_inspection
gcode_write table × text → text — 線分の表を G-code(G21 / G90 / M82、G1 の絶対座標と絶対 E)に書く。返りは書いたパス(text)。 · 例: poc_print_layer_inspection
printpath / inspect(1)
print_layer_defect_map image2d × image2d → image2d — 観測した層画像と期待の層画像(gcode_layer_image)を比べた符号つきの欠陥図 image2d: +1 = あるはずの所に無い(欠け・詰まり)、−1 = 無いはずの所にある(糸引き・はみ出し・spaghetti)、0 = 一致。 · 例: poc_print_layer_inspection
printpath / npr(6)
engrave_lines image2d → image2d — Copperplate engraving — parallel lines whose width carries the tone. · 例: poc_beats_fringes_and_screens
halftone_moire_period 入力なし → table — The beat between two halftone screens — period and direction, in closed form. · 例: poc_beats_fringes_and_screens, poc_moire_screen, poc_print_registration
halftone_screen image2d → image2d — A classic rotated halftone screen — dots whose area carries the tone. · 例: poc_beats_fringes_and_screens, poc_pixel_shift, poc_print_registration
hatch_field image2d → image2d — Cross-hatching that follows the picture — direction from the structure tensor. · 例: poc_beats_fringes_and_screens
mosaic_tiles_render image2d × pairs → image2d — Paint each Voronoi cell with the mean of the pixels it owns. · 例: poc_beats_fringes_and_screens
mosaic_tiles_sites image2d → pairs — Lloyd’s iteration on an image — the tile centres of a mosaic. · 例: poc_beats_fringes_and_screens
printpath / slice(3)
contours_to_gcode table → table — 輪郭(mesh_slice_contours の表)を周回する経路の表に(gcode_read と同じ列)。 · 例: poc_one_stroke_epicycles, poc_print_layer_inspection
mesh_slice_contours mesh → table — 三角形メッシュを平面 z で切った輪郭の表 table: 列 ring(輪の番号)、x、y(mm)。 · 例: itokawa_gravity_tour, poc_print_layer_inspection
mesh_slice_stack mesh → voxel — メッシュを layer_mm 刻みで切った層マスクの積み voxel (Z, Y, X)(0 / 1、Z は下から)。 · 例: poc_am_thermal_to_ct, poc_print_layer_inspection
printpath / stroke(6)
mst_length pairs → measurement — 最小全域木の長さ(Prim)。閉じた巡回路はこれより短くなれない(下界)。 · 例: poc_one_stroke_epicycles
stipple_energy image2d × pairs → measurement — 重みつき Lloyd のエネルギー Σ w(x) |x - c(x)|^2(単調減少の検査用)。 · 例: poc_beats_fringes_and_screens, poc_one_stroke_epicycles
stipple_points_from_image image2d → pairs — 濃淡を点の密度に写す(重みつき Lloyd = 重心ボロノイ)。→ pairs · 例: poc_one_stroke_epicycles
stroke_resample_closed pairs → pairs — 閉じた線を等弧長に打ち直す。→ pairs · 例: poc_one_stroke_epicycles
stroke_tone_error image2d × pairs → table — 線を引いた結果の濃淡が目標とどれだけ違うか。→ table · 例: poc_one_stroke_epicycles
stroke_tour_closed pairs → pairs — 点を 1 回ずつ通って戻る閉じた巡回路に並べ替える。→ pairs · 例: poc_one_stroke_epicycles
geocam(9 ops / 3 categories)
geocam / orientation(1)
camera_orientation_from_skyline signal × table → table — 写真のスカイライン(列ごとの行)と DEM のスカイラインから (yaw, pitch, roll) を決める → table。 · 例: poc_public_camera_heading
geocam / skyline(3)
dem_skyline depth → table — DEM の 1 点から見た全方位のスカイライン(方位ごとの地平線仰角)→ table。 · 例: poc_public_camera_heading
render_skyline_view table → image2d — スカイライン table と姿勢から、その向きのカメラが見る空のマスク(H, W)を描く → image2d(0/1)。 · 例: poc_public_camera_heading
skyline_extract image2d → signal — 写真から列ごとの空と地形の境界の行を動的計画法で 1 本抜く → signal (W,)。 · 例: poc_public_camera_heading
geocam / sun(5)
camera_orientation_from_sun keypoints × signal → table — 時刻つきの太陽の画素位置 ≥ 2 点 → カメラの (yaw, pitch, roll)(Wahba 問題の SVD 解 = Kabsch)。 · 例: poc_public_camera_heading
camera_orientation_from_sun_candidates keypoints × signal × signal → table — フレームごとに複数ある「明るい塊」の候補(太陽・白い車・標識・文字が混じる)から、時刻どおりに動く 1 本を RANSAC で選び、(yaw, pitch, roll) と焦点距離を同時に決める → table。固定カメラでは太陽だけが太陽の速さで動く ので、見た目で太陽を決めずに動きで決める(Fintraffic 天候カメラでは見た目の門が 24/24 誤検出だった、2026-09-21)。 · 例: poc_public_camera_heading_real
sun_bloom_fit image2d → table — 実写の太陽 = センサを飽和させるブルーム(円盤より大きい、露出で大きさが変わる、画像の縁や文字の帯で切れる)。 最大の飽和塊の縁に円を当てて中心を返す → table。重心は塊が切れると切れた側の反対へ偏る(実測 15 px)ので、 切れた縁(画像の外周と ignore_top_rows の帯に触れる画素)を捨てた残りの弧に代数的最小二乗(Kåsa 1976)で円を当てる。 · 例: gallery_mesh_seg_sun_gains
sun_pixel_position image2d → keypoints — 画像の中の太陽(センサを飽和させる円盤)の重心 → keypoints (1, 2) = (u, v)。 · 例: poc_public_camera_heading
sun_position signal → table — 緯度・経度・時刻(UNIX 秒、UTC)→ 太陽の方位・仰角 [度] (NOAA の太陽位置アルゴリズム、Meeus 1998 の低精度式)。 · 例: poc_public_camera_heading, poc_public_camera_heading_real
llmcore(10 ops / 4 categories)
llmcore / attend(4)
attention_grouped tokens × tokens × tokens → tokens — 頭を束ねる注意(GQA)→ tokens。n_kv_heads == n_heads で MHA、== 1 で MQA に厳密一致。 · 例: poc_attention_identities
attention_linear tokens × tokens × tokens → tokens — softmax を外した注意 → tokens。(QKᵀ)V == Q(KᵀV) —— 結合則そのもの。 · 例: poc_attention_identities
attention_softmax tokens × tokens × tokens → tokens — 一括の注意(参照実装)→ tokens。この族の答え合わせの基準。 · 例: poc_attention_identities
attention_tiled tokens × tokens × tokens → tokens — タイル + online softmax の注意(FlashAttention の芯)→ tokens。近似ではない。 · 例: poc_attention_identities
llmcore / decode(1)
kv_cache_decode tokens × tokens × tokens → tokens — 1 トークン分だけ進める推論(KV Cache)→ tokens (1, dv)。 · 例: poc_attention_identities
llmcore / prepare(2)
rms_norm tokens → tokens — RMS 正規化 → tokens。既定(eps=0, weight なし)では出力の RMS が厳密に 1。 · 例: poc_attention_identities
rope_rotate tokens → tokens — 回転による位置符号(RoPE)→ tokens。回転なのでノルムを保つ。 · 例: poc_attention_identities
llmcore / score(3)
attention_apply attnmap × tokens → tokens — 注意の重みで値を混ぜる → tokens。行和 1 なので出力は入力の凸結合。 · 例: poc_attention_identities
attention_scores tokens × tokens → attnmap — 生の注意スコア QKᵀ/√d → attnmap (T, S)。 · 例: poc_attention_identities
attention_weights attnmap → attnmap — 行ごとの softmax(マスクつき)→ attnmap。行和は 1、mask 位置は厳密に 0。 · 例: poc_attention_identities
segmentation(59 ops / 11 categories)
segmentation / classify(7)
class_2dim_sup image2d × image2d × mask → mask — 2 チャネル特徴空間で ref_region の分布に入る画素を分類(教師つき)(class_2dim_sup)。 · 例: halcon_segmentation_tour
class_2dim_unsup image2d × image2d → labels2d — 2 チャネル特徴空間を k-means で教師なし分類(class_2dim_unsup)。ラベル画像を返す。 · 例: halcon_segmentation_tour
class_ndim_norm images × table → mask — ND 特徴画像を学習済み正規分布クラスで分類(Mahalanobis 距離 < thresh)(class_ndim_norm)。 feature_images: (H,W,D) or D 枚の 2D。 · 例: halcon_segmentation_tour
classify_image_class_lut image2d × signal → labels2d — グレー LUT による画素分類(閾値/ラベル LUT)(classify_image_class_lut)。 · 例: halcon_segmentation_tour
fisher_lda_fit matrix × signal → table — 2 クラスの Fisher 線形判別を学習する(閉形式。反復なし)。 · 例: poc_weed_rice_ratio
fisher_lda_score table × matrix → table — fisher_lda_fit の学習済みの判別で特徴を採点する(score > 0 をクラス 1 とする)。 · 例: poc_weed_rice_ratio
learn_ndim_norm matrix → table — 特徴ベクトル群から正規分布クラス(平均・共分散)を学習(learn_ndim_norm)。 · 例: halcon_segmentation_tour
segmentation / compare(1)
check_difference image2d × image2d → mask — 基準画像との差が tol を超える画素を領域として返す(check_difference)。 · 例: halcon_segmentation_tour
segmentation / contour(10)
-
chan_vese_energy image2d × mask → table — Chan–Vese 2001 のエネルギー F = μ Length + ν Area(inside) + λ1 ∫_in |
I − c1 |
² + λ2 ∫_out |
I − c2 |
²(2 相)。 · 例: gallery_seg_measures |
chan_vese_evolve image2d × mask → table — Chan–Vese 2001 の 2 相のエネルギーを最小化する(既定は凸緩和の交互最小化、レベルセットの勾配降下も選べる)。 · 例: poc_active_contours
-
curvature_flow mask → table — 平均曲率流(曲線短縮流)のレベルセット版 φ_t = |
∇φ |
div(∇φ/ |
∇φ |
)(φ < 0 が内側、凸な所から縮む)。 · 例: poc_active_contours |
drle_evolve image2d × mask → table — 距離正則化レベルセット DRLSE(Li–Xu–Gui–Fox 2010)のエッジ版。再初期化しない。 · 例: poc_active_contours
-
edge_stop_g image2d → table — エッジ停止関数 g = 1 / (1 + |
∇(G_σ * I) |
² / k²)(Caselles–Kimmel–Sapiro 1997 の p = 2 の形)。 · 例: poc_active_contours |
gvf_field image2d → table — 勾配ベクトル流(Xu–Prince 1998): 辺の地図 f の勾配を、辺から離れた所へ滑らかに拡散した場 (u, v)。 · 例: poc_active_contours
level_set_reinit mask → table — φ(内側 φ < 0)を同じ零等高線の符号付き距離に直す。 · 例: poc_active_contours
morph_chan_vese image2d × mask → table — 形態学的 Chan–Vese(Márquez-Neila–Baumela–Álvarez 2014 の MorphACWE)。1 反復 = データ段 + 平滑段。 · 例: poc_active_contours
morph_geodesic_ac image2d × mask → table — 形態学的な測地的 active contour(Márquez-Neila ら 2014 の MorphGAC)。gimage = 縁で小さい画像(edge_stop_g の g)。 · 例: poc_active_contours
snake_evolve image2d × pairs → table — 離散 snake(Kass–Witkin–Terzopoulos 1988)の半陰的な更新 x_t = (A + γI)^(-1)(γ x_(t-1) − f_x)(式 (19)(20))。 · 例: poc_active_contours
segmentation / graph(12)
alpha_expansion image2d → table — 多ラベルの α-expansion(Boykov–Veksler–Zabih 2001): E(f) = Σ (I_p − μ_(f_p))² + λ Σ w_pq V(f_p, f_q)、V は計量。 · 例: poc_graph_hierarchy_segmentation
alpha_tree image2d → table — α-tree: 隣の差を重みにした格子の最小全域木(scipy の Kruskal)を作り、重み ≤ α の木の辺だけで α ごとの分割を出す。 · 例: poc_graph_hierarchy_segmentation
area_opening_attr image2d → table — 属性開放(Salembier ら 1998): 成分木の節のうち属性 < threshold を消し、各画素を「属性 ≥ 閾値の最も近い祖先」の値にする。 · 例: poc_graph_hierarchy_segmentation
graph_cut_binary image2d → table — 2 値の graph cut(Boykov–Jolly 2001): E = Σ_p D_p(x_p) + λ Σ w_pq [x_p ≠ x_q] を最大フロー / 最小カットで厳密に最小化。 · 例: poc_graph_hierarchy_segmentation
hierarchical_watershed image2d → table — dynamics による階層分水嶺: 地形 image(低い所が盆地)の最小全域森の辺に dynamics の saliency を付け、 saliency ≤ threshold の辺で結んだ成分を返す(n_regions を与えたら、その数になる最小の閾値を使う)。 · 例: poc_graph_hierarchy_segmentation
max_tree image2d → table — 成分木(max-tree): 上位集合 {f ≥ h} の連結成分の木を Union-Find で作る(画素を値の降順に処理)。 · 例: gallery_seg_measures
-
quasi_flat_zones image2d → table — α-準平坦領域(Soille 2008): |
f_p − f_q |
≤ α の隣接辺だけで結んだ連結成分。返す: labels(1..k)、n_zones。 · 例: poc_graph_hierarchy_segmentation |
quickshift image2d → table — quick shift(Vedaldi–Soatto 2008): 特徴 (y, x, ratio · I) で Parzen 密度 P_i = Σ_j exp(−D_ij²/(2σ²))(窓 3σ、σ = kernel_size)を見積もり、各画素を「密度が上の点のうち最も近い点」(半径 search_radius の窓の中)に繋ぎ、 長さ > max_dist の枝を切った木の成分を領域にする。 · 例: poc_graph_hierarchy_segmentation
snic_superpixels image2d → table — SNIC(Achanta–Süsstrunk 2017 の Algorithm 1): 格子の種から優先度つき待ち行列で育てる非反復の超画素。 · 例: poc_graph_hierarchy_segmentation, poc_weed_rice_ratio
-
statistical_region_merging image2d → table — 統計的領域併合 SRM(Nock–Nielsen 2004): 隣の画素の組を |
I_p − I_q |
の昇順に処理し、述語 P(R, R’) が真なら併合。 · 例: poc_graph_hierarchy_segmentation |
-
superpixel_quality labels2d × labels2d → table — 超画素の採点: 境界の再現率(segeval.seg_boundary_f の recall、許容 τ)、補正つき未分割誤差 CUSE = (1/N) Σ_k |
S_k − G_max(S_k) |
(Neubert–Protzel 2012、SNIC 論文の式 (2))、ASA = 1 − CUSE、Neubert–Protzel の未分割誤差 UE = (1/N) Σ_G Σ_(S∩G≠∅) min( |
S∩G |
, |
S − G |
)、超画素の数。真値の 0 も 1 つの領域として数える(背景も被覆の対象)。 · 例: poc_graph_hierarchy_segmentation |
ultrametric_contour_map image2d → table — dynamics の階層の ultrametric contour map(UCM): 隣り合う画素 p, q の値 = 「p と q が同じ領域になる最小の閾値」。 · 例: poc_graph_hierarchy_segmentation
segmentation / grow(2)
-
expand_gray image2d × mask → mask — seed から gray 類似( |
Δ |
<tol)で領域を膨張(expand_gray)。 · 例: halcon_segmentation_tour |
regiongrowing_n images → labels2d — 多チャネル特徴の類似性で画像全体を領域分割(regiongrowing_n)。ラベル画像を返す。 · 例: halcon_segmentation_tour
segmentation / plant(3)
cover_ratio_grade signal → table — 被度(面積の割合 0..1)を、宣言した境 edges で段階 0..len(edges) に分ける。 · 例: poc_weed_rice_ratio
plant_color_index rgbimage → table — 可視 3 バンドの植物の色指標(ExG・ExR・ExGR・CIVE・NGRDI・VEG)を画素ごとに計算する。 · 例: poc_leaf_disease_area, poc_weed_rice_ratio
superpixel_color_texture_features rgbimage × labels2d → table — ラベル画像の領域ごとに、色(植物の色指標・色度)と肌理(勾配・向きの揃い)の特徴 10 個を出す。 · 例: poc_weed_rice_ratio
segmentation / score(8)
seg_boundary_f labels2d × labels2d → table — 境界 F 値(許容距離 τ): 予測の境界画素のうち真の境界から τ 以内にあるものの割合 = precision、逆が recall。 · 例: poc_am_thermal_to_ct, poc_graph_hierarchy_segmentation, poc_sem_wafer_defect_edge_bias
seg_confusion_table labels2d × labels2d → table — ラベル対応の分割表(行 = 真、列 = 予測)と、最大重なりによる対応・対応の一意性の印。 · 例: gallery_seg_measures
seg_dice_jaccard labels2d × labels2d → table — Dice と Jaccard —— マスク(背景でない画素の和)で 1 組、per_label なら真のラベルごとに最大重なりの相手と。 · 例: poc_active_contours, poc_am_thermal_to_ct, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet, poc_sem_wafer_defect_edge_bias
seg_hausdorff labels2d × labels2d → table — 境界画素の集合の間の Hausdorff 距離 = max(max 予測→真, max 真→予測)と、その percentile 版(HD95 など)。 · 例: gallery_seg_measures
seg_mean_surface_distance labels2d × labels2d → table — 平均表面距離(ASSD): 両方向の境界画素の距離をまとめて平均 = (Σ 予測→真 + Σ 真→予測)/(n_p + n_t)。RMS も。 · 例: gallery_seg_measures
seg_object_counts_match labels2d × labels2d → table — 物体の個数の一致: 分裂・融合・欠落・偽・一致を、「主に重なる」辺の 2 部グラフの次数で数える。 · 例: poc_graph_hierarchy_segmentation
seg_score_card labels2d × labels2d → table — 全部の物差しを 1 枚に: Dice・Jaccard(マスク)、VI・split・merge、Rand・ARI(segcompare)、境界 F(τ)、 Hausdorff・HD95・ASSD(境界が無ければ NaN)、過分割・未分割、分裂・融合・欠落・偽・一致、個数。 · 例: poc_active_contours, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
seg_under_over_segmentation labels2d × labels2d → table — 過分割・未分割の数を、分割表の多数決の多重度で数える(Levine & Nazif 流: 領域の数で)。 · 例: poc_graph_hierarchy_segmentation
segmentation / threshold(4)
threshold_isodata image2d → table — isodata(Ridler–Calvard 1978): t ← (μ_≤t + μ_>t)/2 を 画素の値の上で 分割が変わらなくなるまで反復(初期値 = 平均)。 · 例: poc_graph_hierarchy_segmentation
threshold_kapur image2d → table — 最大エントロピー閾値(Kapur–Sahoo–Wong 1985): H(t) = −Σ_(i ≤ t) (p_i/P1) ln(p_i/P1) − Σ_(i > t) (p_i/P2) ln(p_i/P2) を最大にするビン t(両側とも確率が正のビンだけ)。返す: threshold = そのビンの上端、mask(ビンの番号 > t)、 bin、entropy(H、除いたビンは nan)。 · 例: poc_graph_hierarchy_segmentation
threshold_kittler image2d → table — 最小誤差閾値(Kittler–Illingworth 1986): 各ビン t で低い側(ビン ≤ t)と高い側に分け、 J(t) = 1 + 2(P1 ln σ1 + P2 ln σ2) − 2(P1 ln P1 + P2 ln P2) を最小にする(σ は各側のビンの中心の標準偏差。どちらかの側の σ が 0 のビンは除く)。返す: threshold = そのビンの上端(mask はビンの番号 > t で決める = 端の値も矛盾なし)、 mask、bin、criterion(J、除いたビンは nan)。 · 例: poc_graph_hierarchy_segmentation
threshold_triangle image2d → table — 三角法(Zack–Rogers–Latt 1977): 山頂 (b_p, h_p) と、裾の長い側の端のビン (b_e, 0) を結ぶ線から、間のビンの (b, h_b) までの符号つき垂直距離が最大のビンを閾値にする(線の下側を正)。返す: threshold(そのビンの中心)、 mask = image > threshold、bin、distance(各ビンの距離、範囲外は nan)。端点の高さ 0・裾の側の選び方は skimage / ImageJ と同じ規約(原典は要確認)。 · 例: poc_graph_hierarchy_segmentation
segmentation / watershed(1)
watersheds_marker image2d × labels2d → labels2d — マーカー制御 watershed 分割(watersheds_marker)。markers: int ラベル画像(0=未割当)。 · 例: halcon_segmentation_tour, poc_sem_tem_same_particle
segmentation / watershed3d(3)
distance_peaks voxel → labels — 前景距離変換の局所極大を min_distance NMS で間引いた int マーカ配列を返す。 · 例: watershed3d_tour
separate_touching voxel → labels — genuinely-new (B): 接触物体を 1 呼び出しで自動分離する常用ラッパ。 · 例: watershed3d_tour
watershed_vol voxel → labels — 距離変換シードの分水嶺で 3D 前景を物体ごとのラベルに分割する(公開 op の薄い合成)。 · 例: watershed3d_tour
segmentation / world(8)
lens_area 入力なし → scalar — 等しい半径 r の 2 円(中心間 d)の重なりの面積(閉形式)。d ≥ 2r なら 0。 · 例: gallery_seg_measures
voronoi_cells points → table — 矩形 [−0.5, W − 0.5] × [−0.5, H − 0.5] の中の種のボロノイ分割を多角形で返す(半平面の総当たり、O(n²))。 · 例: gallery_seg_measures
world_blobs_touching 入力なし → table — 重なり合う円(細胞・粒)の世界: 鎖状に置いた等しい半径の円、各円は前の円とだけ中心間 2r(1 − overlap) で重なる。 · 例: poc_active_contours, poc_dense_bubble_count, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
world_gradient_illumination 入力なし → table — 照明の勾配 + 雑音の上の暗い物体の世界(大域閾値が壊れ、局所閾値・フラットフィールドで切れる)。 · 例: poc_active_contours, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
world_grains_voronoi 入力なし → table — ボロノイ結晶粒の世界: 格子の升から n 個を選んで jitter だけ揺らした種、ラベル = 最も近い種の番号(1..n)。 · 例: poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
world_parts_with_shadow 入力なし → table — 工業部品(回転した矩形 + 円の穴)と、斜めの照明による影・面の明暗・ハイライトの世界。真値 = 部品(穴は背景、影は背景)。 · 例: poc_active_contours, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
world_texture_regions 入力なし → table — 平均が同じで分散・周期だけ違う 2〜4 領域の世界(閾値では切れない)。真値 = 領域ラベル(1..n、背景なし)。 · 例: poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
world_thin_structures 入力なし → table — 幅 1〜3 px の線(直線)とひび(折れ線)の世界。真値 = 中心線と幅。ラベル = 構造の番号(1..n、互いに離す)。 · 例: poc_active_contours, poc_graph_hierarchy_segmentation, poc_segmentation_gauntlet
References(アルゴリズムの一次情報・further reading)
各 op の原理はモジュール docstring にも一次文献名を明記。以下は主要技術族の外部参照。