17#ifndef __dwi_tractography_connectome_tck2nodes_h__
18#define __dwi_tractography_connectome_tck2nodes_h__
33namespace Tractography {
59 return std::make_pair (node_one, node_two);
70 bool provides_pair()
const {
return pair; }
79 throw Exception (
"Calling empty virtual function Tck2nodes_base::select_node()");
83 throw Exception (
"Calling empty virtual function Tck2nodes_base::select_nodes()");
89 using Eigen::Array<int,3,1>::Array;
90 bool operator< (
const Eigen::Array<int,3,1>& that)
const {
91 return ((*
this)[2] == that[2]) ? (((*this)[1] == that[1]) ? ((*
this)[0] < that[0]) : ((*
this)[1] < that[1])) : ((*this)[2] < that[2]);
132 initialise_search ();
137 radial_search (that.radial_search),
138 max_dist (that.max_dist),
139 max_add_dist (that.max_add_dist) { }
146 void initialise_search ();
171 max_dist (that.max_dist) { }
196 max_dist (that.max_dist),
197 angle_limit (that.angle_limit) { }
virtual node_t select_node(const Tractography::Streamline<> &tck, Image< node_t > &v, const bool end) const
const Image< node_t > nodes
virtual void select_nodes(const Streamline<> &tck, Image< node_t > &v, vector< node_t > &out) const
std::shared_ptr< Transform > transform
friend class Tck2nodes_visitation
default_type spacing(size_t axis) const
constexpr T pow2(const T &v)
std::pair< node_t, node_t > NodePair
MR::Connectome::node_t node_t
PointType::Scalar length(const vector< PointType > &tck)
double default_type
the default type used throughout MRtrix