17#ifndef __dwi_tractography_streamline_h__
18#define __dwi_tractography_streamline_h__
30 namespace Tractography
40 static constexpr size_t invalid = std::numeric_limits<size_t>::max();
59 template <
typename ValueType =
float>
77 template <
typename ValueType =
float>
81 using point_type = Eigen::Matrix<ValueType,3,1>;
82 using value_type = ValueType;
88 weight (value_type (1.0)) { }
92 weight (value_type (1.0)) { }
100 weight (that.weight) {
113 weight = that.weight; that.weight = 0.0f;
125 float calc_length()
const;
126 float calc_length (
const float step_size)
const;
133 template <
typename Po
intType>
137 return std::numeric_limits<typename PointType::Scalar>::quiet_NaN();
138 typename PointType::Scalar
value =
typename PointType::Scalar(0);
139 for (
size_t i = 1; i != tck.size(); ++i)
140 value += (tck[i] - tck[i-1]).norm();
Array & operator=(const MR::Helper::ConstRow< ImageType > &row)
void set_index(const size_t i)
DataIndex & operator=(const DataIndex &i)
DataIndex(const size_t i)
DataIndex(const DataIndex &i)
static constexpr size_t invalid
bool operator<(const DataIndex &i) const
VectorType::Scalar value(const VectorType &coefs, typename VectorType::Scalar cos_elevation, typename VectorType::Scalar cos_azimuth, typename VectorType::Scalar sin_azimuth, int lmax)
typename Streamline<>::point_type point_type
PointType::Scalar length(const vector< PointType > &tck)
MR::default_type value_type