eval_bspline_surface — 3D 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।

Parameters

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।

Returns

z : numpy.ndarray

grid=False पर x जैसी shape, grid=True पर (len(x), len(y))।

Raises

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, साहित्य)

• 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 करते हैं)

• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py

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

fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade

इसी category के (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.