compute_fpfh — 3D feature_register op

• Data kinds: points × normals → descriptor

• Call: import fullseye as fs; fs.ledger.compute_fpfh(points, normals, k=60, n_bins=11) (implementation को सीधे call करना हो तो import feat_fpfh; feat_fpfh.compute_fpfh(points, normals, k=60, n_bins=11), registry से लेना हो तो ops3d.get("compute_fpfh"))

उपयोग

FPFH descriptor (N, 3*n_bins) की गणना करता है (Rusu 2009)।

1) SPFH: हर point p और उसके k neighbour points के जोड़े के लिए (α,φ,θ) निकालकर हर feature को n_bins bins में histogram बनाया जाता है।

2) FPFH(p) = SPFH(p) + (1/k)Σ_j (1/d_pj) SPFH(j): neighbour SPFH को distance weights से जोड़ा जाता है।

3 sub-histograms को अलग-अलग L1 normalise करके जोड़ा जाता है (default 33 dimensions)। angular features rigid-body invariant हैं।

Arguments: points (N,3), normals (N,3), k (FPFH neighbours की संख्या), n_bins (प्रति 1 feature bins की संख्या)।

Returns: (N, 3*n_bins) का descriptor matrix। Raises ValueError: points/normals (N,3) न हों, rows की संख्या मेल न खाए, मान non-finite हों, या N<4 हो (क्योंकि k-NN को k>=3 चाहिए)।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blas_threads_and_memory — Matrix decompositions धीमे क्यों हैं — BLAS threads, caches, memory layout

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• fpfh_correspondence — py -3.11 examples_3d/fpfh_correspondence.py

वे अगले ops जिनसे type जुड़ता है (descriptor को input के रूप में लेते हैं)

fuse_to_voxel · shape_distance

इसी category के (feature_register)

harris3d_keypoints · iss_keypoints · shot_descriptor · register_spin · register_fpfh · register_shot


*Provenance: feat_fpfh.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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