extent_signature — 3D shape_descriptor op

• Data kinds: points → descriptor

• Call: import fullseye as fs; fs.ledger.extent_signature(points) -> 'np.ndarray' (implementation को सीधे call करना हो तो import descriptors3d; descriptors3d.extent_signature(points) -> 'np.ndarray', registry से लेना हो तो ops3d.get("extent_signature"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

PCA principal axes (covariance के eigenvectors) की दिशा में फैलाव का अनुपात लौटाता है।

covariance matrix के eigenvalues rotation से नहीं बदलते। यहाँ eigenvalues के square root (= हर principal axis की दिशा में standard deviation, लंबाई की dimension वाला) घटते क्रम में रखकर योग 1 पर normalise किए जाते हैं और (3,) vector बनता है। इससे absolute scale हट जाता है और यह rotation, translation और scale से अपरिवर्तित "आकार की पतली-लंबाई" का सूचकांक बनता है।

• isotropic आकार (गोला, घन) → 3 components लगभग बराबर [~0.33, ~0.33, ~0.33]

• पतली लंबी छड़ → 1 component उभरा हुआ [~0.9, ~0.05, ~0.05]

Parameters

points : array_like, shape (N, 3)

point cloud। N >= 3 ज़रूरी है (covariance को सार्थक रूप में बनाने के लिए)।

Returns

np.ndarray, shape (3,)

घटते क्रम में और योग 1 पर normalised extent vector।

संदर्भ (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 करते हैं)

• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py

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

fuse_to_voxel · shape_distance

इसी category के (shape_descriptor)

d2_distribution · a3_distribution · describe · shape_distance


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

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