Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

package and class name #1

Closed
sixpearls opened this Issue Apr 12, 2019 · 5 comments

Comments

Projects
None yet
2 participants
@sixpearls
Copy link
Owner

sixpearls commented Apr 12, 2019

what's the best name for this package and the main class?

NDSplines
NdSplines
SplineND
ndsplines
NDBSplines
ndbsplines
interpnd

etc.

@ixjlyons

This comment has been minimized.

Copy link
Collaborator

ixjlyons commented Apr 14, 2019

For the main class, in the SciPy codebase I see both:

  • Nd: NdPPoly
  • ND: NDInterpolatorBase, LinearNDInterpolator, NearestNDInterpolator

I personally find NDSpline or NDBSpline the most appealing, but I don't really have strong rationale. For the sake of specificity, maybe NDBSpline makes the most sense.

I'd say that unless more features will be added, going with the all lowercase name of the main class as the package name makes sense. I like interpnd, but that might be a bit too general.

@sixpearls

This comment has been minimized.

Copy link
Owner Author

sixpearls commented Apr 15, 2019

What do you think of [B]SplineNDInterpolator ? I can't tell how much that family of names is supposed to be user facing. I think NdPPoly is designed to be user facing which would be NdBSpline. But the [Method]NDInterpolator is at the same level in the documentation as NdPPoly so we should have flexibility.

I think BSplineNDInterpolator might be my favorite for the class: it is specific, follows CamelCase, and doesn't clump all the capital letters in an aesthetically unappealing way.

ndbspline probably makes a better package name, though.

Using B-Splines, we actually can capture both "linear" and "nearest-neighbor" interpolation, which are the two main methods of scipy.interpolate.interpn, so it would also make sense to use a more general name for the class or package.

@ixjlyons

This comment has been minimized.

Copy link
Collaborator

ixjlyons commented Apr 16, 2019

BSplineNDInterpolator sounds good to me 👍

After some thought and a bit of reading, I'm actually back to ndspline (or ndsplines for minimal effort). ndbspline isn't quite as nice to read and type, and the fact that the package implements spline interpolation via B-splines doesn't necessarily have to be highlighted in the name.

interpnd is still good with me. The only kind of interpolation I've come across that isn't polynomial or spline-based (or a degenerate case like linear or nearest neighbor) is sinc interpolation, but that's kind of its own thing and probably not the first thing that comes to mind.

@sixpearls

This comment has been minimized.

Copy link
Owner Author

sixpearls commented Apr 18, 2019

Closed by 9f4bc03 .

@sixpearls sixpearls closed this Apr 18, 2019

@sixpearls

This comment has been minimized.

Copy link
Owner Author

sixpearls commented Apr 18, 2019

And obviously #8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.