wave_nodal_lines — MATH wave op

• Data kinds: matrix → mask

• Call: import fullseye as fs; fs.ledger.wave_nodal_lines(field, tol=0.0) (implementation को सीधे call करना हो तो import mathops; mathops.wave_nodal_lines(field, tol=0.0), registry से लेना हो तो opsmath.get("wave_nodal_lines"))

उपयोग

जहाँ signed field का sign बदलता है — nodal set, mask के रूप में।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

A pixel is marked when it differs in sign from its right or lower neighbour (or is within *tol* of zero). That is the discrete version of "the sand collects where the plate does not move".

★Why this earns its place: the count is predictable. A plain (m, n) rectangular mode has m-1 interior nodal lines in one direction and n-1 in the other, so the mask can be graded against integers rather than by eye.

Returns a mask.

Raises ValueError: not a 2-D array; non-finite values; negative *tol*.

पूरी family का input contract (fail-closed)

mathops के सभी ops गणना से पहले input की जाँच करते हैं (कुछ भी चुपचाप पास नहीं होता):

• complex input से ValueError — float64 में ज़बरदस्ती बदलने पर imaginary part चुपचाप छूट जाता है (numpy केवल ComplexWarning देता है और "सही दिखने वाला पर गलत" real number लौटाता है)। .real/.imag/abs() स्पष्ट रूप से लिखें, या complex data संभालने वाले complexops का उपयोग करें।

• masked array (masked elements वाला) से ValueError — mask हटाकर नीचे के raw values इस्तेमाल करने वाला implicit conversion अस्वीकार है। भरना है या हटाना है, यह स्पष्ट रूप से बताएँ।

• हर input पर NaN/Inf से ValueError (गिनती बताकर अस्वीकार — क्योंकि यह पूरे परिणाम में फैल जाता है)।

• Shape सख़्त है: 1-D और 2-D को implicit रूप से promote या broadcast नहीं किया जाता (vector slot में matrix या matrix slot में vector देने पर ValueError; reshape स्पष्ट रूप से करें)।

• Size की सीमा: matrix लेने वाले ops और stat_histogram के bins, mathops.MAX_ELEMENTS (2^26 ≈ 6.7 करोड़ elements) से अधिक होने पर ValueError देते हैं।

उपयोग की विस्तृत guide

• math_metrology family guide

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

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

• poc_beats_fringes_and_screens — py -3.11 examples/poc_beats_fringes_and_screens.py

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

—

इसी category के (wave)

wave_membrane_mode · wave_mode_frequencies · wave_two_slit · wave_fringe_period · wave_grating_orders


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

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