Volume Cartographer 2.27.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
volcart::segmentation::Spline< Scalar, Degree > Class Template Reference

Simple spline wrapper around Eigen::Spline. More...

#include <vc/segmentation/lrps/Spline.hpp>

Inheritance diagram for volcart::segmentation::Spline< Scalar, Degree >:
[legend]

Public Types

using ScalarVector = std::vector< Scalar >
 
using SplineType = Eigen::Spline< Scalar, 2 >
 

Public Member Functions

 Spline (const ScalarVector &xs, const ScalarVector &ys)
 Construct a spline by fitting to a set of points. More...
 
Pixel operator() (Scalar t) const
 Spline evaluation at t-space value t in [0, 1] More...
 

Private Member Functions

Eigen::MatrixXd make_wide_matrix_ (const ScalarVector &xs, const ScalarVector &ys)
 Combine X and Y values into an npoints_ x 2 matrix. More...
 

Private Attributes

std::size_t npoints_
 
SplineType spline_
 

Detailed Description

template<typename Scalar = double, int Degree = 3>
class volcart::segmentation::Spline< Scalar, Degree >

Simple spline wrapper around Eigen::Spline.

Definition at line 22 of file Spline.hpp.

Member Typedef Documentation

◆ ScalarVector

template<typename Scalar = double, int Degree = 3>
using volcart::segmentation::Spline< Scalar, Degree >::ScalarVector = std::vector<Scalar>

Definition at line 25 of file Spline.hpp.

◆ SplineType

template<typename Scalar = double, int Degree = 3>
using volcart::segmentation::Spline< Scalar, Degree >::SplineType = Eigen::Spline<Scalar, 2>

Definition at line 26 of file Spline.hpp.

Constructor & Destructor Documentation

◆ Spline()

template<typename Scalar = double, int Degree = 3>
volcart::segmentation::Spline< Scalar, Degree >::Spline ( const ScalarVector &  xs,
const ScalarVector &  ys 
)
inline

Construct a spline by fitting to a set of points.

Parameters
xsVector of X values
ysVector of Y values

Definition at line 36 of file Spline.hpp.

Member Function Documentation

◆ make_wide_matrix_()

template<typename Scalar = double, int Degree = 3>
Eigen::MatrixXd volcart::segmentation::Spline< Scalar, Degree >::make_wide_matrix_ ( const ScalarVector &  xs,
const ScalarVector &  ys 
)
inlineprivate

Combine X and Y values into an npoints_ x 2 matrix.

Definition at line 62 of file Spline.hpp.

◆ operator()()

template<typename Scalar = double, int Degree = 3>
Pixel volcart::segmentation::Spline< Scalar, Degree >::operator() ( Scalar  t) const
inline

Spline evaluation at t-space value t in [0, 1]

Definition at line 46 of file Spline.hpp.

Member Data Documentation

◆ npoints_

template<typename Scalar = double, int Degree = 3>
std::size_t volcart::segmentation::Spline< Scalar, Degree >::npoints_
private

Number of points on the spline

Definition at line 55 of file Spline.hpp.

◆ spline_

template<typename Scalar = double, int Degree = 3>
SplineType volcart::segmentation::Spline< Scalar, Degree >::spline_
private

Definition at line 57 of file Spline.hpp.


The documentation for this class was generated from the following file: