17#ifndef __dwi_tractography_resampling_arc_h__
18#define __dwi_tractography_resampling_arc_h__
26 namespace Tractography {
27 namespace Resampling {
35 using point_type = Eigen::Vector3f;
37 enum class state_t { BEFORE_START, AFTER_START, BEFORE_END, AFTER_END };
42 Plane (
const point_type& pos,
const point_type& dir) :
48 value_type dist (
const point_type& pos)
const {
return n.dot (pos) - d; }
57 Arc (
const size_t n,
const point_type& s,
const point_type&
e) :
68 Arc (
const size_t n,
const point_type& s,
const point_type& w,
const point_type&
e) :
80 bool valid()
const override {
return nsamples; }
83 const size_t nsamples;
86 mutable size_t idx_start, idx_end;
87 mutable point_type start_dir, mid_dir, end_dir;
bool operator()(const Streamline<> &, Streamline<> &) const override
Arc(const size_t n, const point_type &s, const point_type &w, const point_type &e)
Arc(const size_t n, const point_type &s, const point_type &e)
bool valid() const override
typename Streamline<>::point_type point_type