freeform op• Data kinds: bspline_surface × image2d × image2d → image2d
• Call: import fullseye as fs; fs.ledger.eval_bspline_surface(tck, x, y, grid=False) (implementation को सीधे call करना हो तो import bspline_surf; bspline_surf.eval_bspline_surface(tck, x, y, grid=False), registry से लेना हो तो ops3d.get("eval_bspline_surface"))
fit की गई surface tck को evaluate करता है (bisplev)। scattered points (default) या grid, 2 modes।
tck : list
fit_bspline_surface से लौटा [tx, ty, c, kx, ky]।
x, y : array_like
grid=False (default): समान shape के scattered/corresponding points। हर (x[i], y[i]) पर evaluate करके
input जैसी ही shape का z लौटाता है (measurement = हर sample position पर surface की ऊँचाई)।
grid=True: x, y को बढ़ते क्रम वाले 1-dimensional axes मानकर tensor grid
(len(x), len(y)) पर evaluate करता है (घने visualisation और resampling के लिए)।
grid : bool
evaluation mode। surface residual जैसी point-wise तुलना के लिए False।
z : numpy.ndarray
grid=False पर x जैसी shape, grid=True पर (len(x), len(y))।
ValueError
जब tck surface model ([tx,ty,c,kx,ky]) न हो (curve tck / polynomial dict सहित),
या x, y की shape मेल न खाए या ख़ाली हो।
अतिरिक्त:
• grid=True पर x, y को भीतर बढ़ते क्रम में sort करके bisplev बुलाया जाता है, और परिणाम input के क्रम में वापस लौटाया जाता है। इसलिए out[i, j] हमेशा (x[i], y[j]) का मान होता है, axes को घटते क्रम में देने पर भी कुछ नहीं बिगड़ता।
• grid=False हर point पर bisplev बुलाने वाला Python loop है, इसलिए points की संख्या के अनुपात में धीमा है। बहुत सारे points का evaluation हो सके तो grid=True से करें।
• knot range (fit में इस्तेमाल x, y की range) के बाहर extrapolation होता है, और उन मानों की गारंटी नहीं।
• return value float64 है। grid=False पर x जैसी shape (scalar देने पर 0-dimensional array)।
• आम प्रयोग: fit_bspline_surface → यह op (resampling, visualisation)। residual evaluation में surface_residual इसे भीतर से बुलाता है।
• 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 के स्रोत।
• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py
image2d को input के रूप में लेते हैं)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
freeform)fit_bspline_surface · surface_residual · fit_bspline_curve · eval_bspline_curve
*Provenance: bspline_surf.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.