Volume Cartographer 2.28.0
CubicSpline.hpp
Go to the documentation of this file.
1#pragma once
2
5#include <vector>
6
8
10{
11
22{
23public:
25 CubicSpline() = default;
27 CubicSpline(const std::vector<double>& x, const std::vector<double>& y);
29 explicit CubicSpline(const std::vector<Voxel>& vs);
31 ~CubicSpline() = default;
32
34 CubicSpline(const CubicSpline&) = default;
35
37 auto operator=(const CubicSpline&) -> CubicSpline& = default;
38
42 auto operator()(double t) const -> Pixel;
43
44private:
46 std::vector<double> aX_, bX_, cX_, dX_;
48 std::vector<double> aY_, bY_, cY_, dY_;
50 std::vector<double> rangeXY_;
52 std::vector<double> subsegLens_;
54 std::vector<double> cumuLens_;
55};
56
57} // namespace volcart::segmentation
std::vector< double > cumuLens_
Definition: CubicSpline.hpp:54
CubicSpline(const std::vector< Voxel > &vs)
CubicSpline(const CubicSpline &)=default
CubicSpline(const std::vector< double > &x, const std::vector< double > &y)
std::vector< double > rangeXY_
Definition: CubicSpline.hpp:50
std::vector< double > subsegLens_
Definition: CubicSpline.hpp:52
auto operator=(const CubicSpline &) -> CubicSpline &=default
auto operator()(double t) const -> Pixel
Spline evaluation at t-space value t in [0, 1]
Segmentation algorithms and utilities library