17#ifndef __dwi_tractography_tracking_shared_h__
18#define __dwi_tractography_tracking_shared_h__
43 namespace Tractography
61 Eigen::Vector3f init_dir;
62 size_t max_num_tracks, max_num_seeds;
63 size_t min_num_points_preds, max_num_points_preds;
64 size_t min_num_points_postds, max_num_points_postds;
65 float min_dist, max_dist;
67 float max_angle_1o, max_angle_ho, cos_max_angle_1o, cos_max_angle_ho;
68 float step_size, min_radius, threshold, init_threshold;
69 size_t max_seed_attempts;
70 bool unidirectional, rk4, stop_on_all_include, implicit_max_num_seeds;
74 bool is_act()
const {
return bool (act_shared_additions); }
82 void set_step_and_angle (
const float stepsize,
const float angle,
bool is_higher_order);
83 void set_num_points();
84 void set_num_points (
const float angle_minradius_preds,
const float max_step_postds);
85 void set_cutoff (
float cutoff);
90 virtual float internal_step_size()
const {
return step_size; }
93 void add_termination (
const term_t i)
const { terminations[i].fetch_add (1, std::memory_order_relaxed); }
94 void add_rejection (
const reject_t i)
const { rejections[i] .fetch_add (1, std::memory_order_relaxed); }
97#ifdef DEBUG_TERMINATIONS
98 void add_termination (
const term_t i,
const Eigen::Vector3f& p)
const;
106 std::unique_ptr<ACT::ACT_Shared_additions> act_shared_additions;
108#ifdef DEBUG_TERMINATIONS
default_type spacing(size_t axis) const
#define TERMINATION_REASON_COUNT
#define REJECTION_REASON_COUNT