field op• Data kinds: flow2d → image2d
• Call: import fullseye as fs; fs.ledger.piv_divergence(flow, spacing=1.0) (implementation को सीधे call करना हो तो import pivops; pivops.piv_divergence(flow, spacing=1.0), registry से लेना हो तो opspiv.get("piv_divergence"))
divergence d(dy)/dy + d(dx)/dx। incompressible हो तो 0 — स्वतंत्र cross-check के लिए उपयोगी।
Formula: gradient(flow[0], spacing, axis=0) + gradient(flow[1], spacing, axis=1) (numpy.gradient: अंदर central differences, grid के किनारों पर one-sided differences)। flow[0] row दिशा में displacement dy है, flow[1] column दिशा में displacement dx, x = column, y = row। Rows के नीचे की ओर होने पर भी divergence का sign axis orientation पर निर्भर नहीं करता (vorticity piv_vorticity के विपरीत, यह नहीं पलटता)। धनात्मक = source, ऋणात्मक = sink।
• flow: (2, h, w), components (dy, dx) [px/frame] (piv_cross_correlate / piv_multipass का return value)। जब तक h, w >= 2 न हो, इसका differentiation नहीं हो सकता, इसलिए ValueError (जब window इतनी बड़ी हो कि केवल 1 vector हो)। Finiteness जाँची नहीं जाती ―― piv_replace_outliers(method="nan") का NaN 2 पड़ोसी cells तक फैल जाता है।
• spacing: vector spacing [px], एक धनात्मक finite मान। info["step"] दें (default 1.0 पर छोड़ने से unit "1/vector spacing" बन जाती है)।
• Return value: (h, w) float64, unit 1/frame (जब spacing px में हो)। piv_to_velocity से m/s में बदले field और m में spacing के साथ, यह 1/s है।
2-D PIV में out-of-plane velocity component इसे non-zero बनाता है, इसलिए "incompressible, फिर भी divergence बड़ा" out-of-plane flow या outliers (piv_outlier_mask) का संकेत है। piv_velocity_gradient सभी 4 components लौटाता है।
• piv_displacement family guide
• 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 के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• piv_flow_from_particles — py -3.11 examples/piv_flow_from_particles.py
• poc_what_a_picture_cannot_check — py -3.11 examples/poc_what_a_picture_cannot_check.py
image2d को input के रूप में लेते हैं)piv_cross_correlate · piv_multipass · piv_deform_pass · strain_from_displacement · correlation_quality · speckle_quality
field)piv_vorticity · piv_flow_magnitude · piv_to_velocity · piv_velocity_gradient · piv_q_criterion · piv_swirling_strength · piv_strain_rate
*Provenance: pivops.py — PIV operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.