space_carving op• Data kinds: images → voxel
• Call: import fullseye as fs; fs.ledger.carve(silhouettes: 'Sequence[np.ndarray]', Ks: 'Sequence[np.ndarray]', Rs: 'Sequence[np.ndarray]', ts: 'Sequence[np.ndarray]', bounds: 'Bounds', res: 'int') -> 'np.ndarray' (implementation को सीधे call करना हो तो import visualhull; visualhull.carve(silhouettes: 'Sequence[np.ndarray]', Ks: 'Sequence[np.ndarray]', Rs: 'Sequence[np.ndarray]', ts: 'Sequence[np.ndarray]', bounds: 'Bounds', res: 'int') -> 'np.ndarray', registry से लेना हो तो ops3d.get("carve"))
bounds को res^3 voxels में discretise करता है और वे voxels रखता है जो सभी silhouettes के अंदर project होते हैं (space carving)।
हर voxel centre को X_cam = R_m X + t_m से सभी cameras m में project करता है, और केवल वे voxels keep करता है जो depth>0, image के अंदर, और silhouettes[m] में foreground, इन सभी शर्तों को पूरा करते हैं (view cones का intersection)। silhouettes/cameras लंबाई M की lists हैं।
silhouettes : list of (H, W) bool array हर camera का foreground mask (M)।
Ks, Rs, ts : list हर camera के intrinsic parameters, rotation और translation (हर एक M)।
bounds : ((xmin,xmax),(ymin,ymax),(zmin,zmax)) carve किया जाने वाला box क्षेत्र।
res : int हर axis पर voxel divisions की संख्या (कुल voxels = res^3)।
(res, res, res) bool ndarray occupied voxels। indexing='ij' में axes (x, y, z) हैं।
vox[i,j,k] का centre (xmin+(i+.5)dx, ymin+(j+.5)dy, zmin+(k+.5)dz) है।
• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)
• 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 के स्रोत।
• space_carving — py -3.11 examples_3d/space_carving.py
voxel को input के रूप में लेते हैं)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
space_carving)visual_hull · synthesize_silhouette · carve_look_at
*Provenance: visualhull.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.