Developer documentation
Version 3.0.3-105-gd3941f44
types.h
Go to the documentation of this file.
1
/* Copyright (c) 2008-2022 the MRtrix3 contributors.
2
*
3
* This Source Code Form is subject to the terms of the Mozilla Public
4
* License, v. 2.0. If a copy of the MPL was not distributed with this
5
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
*
7
* Covered Software is provided under this License on an "as is"
8
* basis, without warranty of any kind, either expressed, implied, or
9
* statutory, including, without limitation, warranties that the
10
* Covered Software is free of defects, merchantable, fit for a
11
* particular purpose or non-infringing.
12
* See the Mozilla Public License v. 2.0 for more details.
13
*
14
* For more details, see http://www.mrtrix.org/.
15
*/
16
17
#ifndef __dwi_tractography_tracking_types_h__
18
#define __dwi_tractography_tracking_types_h__
19
20
21
#include "image.h"
22
#include "
interp/linear.h
"
23
#include "
interp/masked.h
"
24
25
26
27
namespace
MR
28
{
29
namespace
DWI
30
{
31
namespace
Tractography
32
{
33
namespace
Tracking
34
{
35
36
37
38
enum
term_t
{
CONTINUE
,
ENTER_CGM
,
CALIBRATOR
,
EXIT_IMAGE
,
ENTER_CSF
,
MODEL
,
HIGH_CURVATURE
,
LENGTH_EXCEED
,
TERM_IN_SGM
,
EXIT_SGM
,
EXIT_MASK
,
ENTER_EXCLUDE
,
TRAVERSE_ALL_INCLUDE
};
39
#define TERMINATION_REASON_COUNT 13
40
41
// This lookup table specifies whether or not the most recent position should be added to the end of the streamline,
42
// based on what mechanism caused the termination
43
const
uint8_t
term_add_to_tck
[
TERMINATION_REASON_COUNT
] = { 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1 };
44
45
enum
reject_t
{
INVALID_SEED
,
NO_PROPAGATION_FROM_SEED
,
TRACK_TOO_SHORT
,
TRACK_TOO_LONG
,
ENTER_EXCLUDE_REGION
,
MISSED_INCLUDE_REGION
,
ACT_POOR_TERMINATION
,
ACT_FAILED_WM_REQUIREMENT
};
46
#define REJECTION_REASON_COUNT 8
47
48
49
50
template
<
class
ImageType>
51
class
Interpolator
{
MEMALIGN
(
Interpolator<ImageType>
)
52
public
:
53
using
type =
Interp::Masked<Interp::Linear<ImageType>
>;
54
};
55
56
57
58
}
59
}
60
}
61
}
62
63
#endif
64
MR::DWI::Tractography::Tracking::Interpolator
Definition:
types.h:51
MR::Interp::Masked
Implicit masking for interpolator class.
Definition:
masked.h:43
linear.h
masked.h
MR::DWI::Tractography::Tracking::term_t
term_t
Definition:
types.h:38
MR::DWI::Tractography::Tracking::TERM_IN_SGM
@ TERM_IN_SGM
Definition:
types.h:38
MR::DWI::Tractography::Tracking::HIGH_CURVATURE
@ HIGH_CURVATURE
Definition:
types.h:38
MR::DWI::Tractography::Tracking::ENTER_CGM
@ ENTER_CGM
Definition:
types.h:38
MR::DWI::Tractography::Tracking::TRAVERSE_ALL_INCLUDE
@ TRAVERSE_ALL_INCLUDE
Definition:
types.h:38
MR::DWI::Tractography::Tracking::CALIBRATOR
@ CALIBRATOR
Definition:
types.h:38
MR::DWI::Tractography::Tracking::EXIT_SGM
@ EXIT_SGM
Definition:
types.h:38
MR::DWI::Tractography::Tracking::LENGTH_EXCEED
@ LENGTH_EXCEED
Definition:
types.h:38
MR::DWI::Tractography::Tracking::EXIT_IMAGE
@ EXIT_IMAGE
Definition:
types.h:38
MR::DWI::Tractography::Tracking::ENTER_EXCLUDE
@ ENTER_EXCLUDE
Definition:
types.h:38
MR::DWI::Tractography::Tracking::EXIT_MASK
@ EXIT_MASK
Definition:
types.h:38
MR::DWI::Tractography::Tracking::CONTINUE
@ CONTINUE
Definition:
types.h:38
MR::DWI::Tractography::Tracking::ENTER_CSF
@ ENTER_CSF
Definition:
types.h:38
MR::DWI::Tractography::Tracking::MODEL
@ MODEL
Definition:
types.h:38
MR::DWI::Tractography::Tracking::reject_t
reject_t
Definition:
types.h:45
MR::DWI::Tractography::Tracking::TRACK_TOO_SHORT
@ TRACK_TOO_SHORT
Definition:
types.h:45
MR::DWI::Tractography::Tracking::INVALID_SEED
@ INVALID_SEED
Definition:
types.h:45
MR::DWI::Tractography::Tracking::ENTER_EXCLUDE_REGION
@ ENTER_EXCLUDE_REGION
Definition:
types.h:45
MR::DWI::Tractography::Tracking::MISSED_INCLUDE_REGION
@ MISSED_INCLUDE_REGION
Definition:
types.h:45
MR::DWI::Tractography::Tracking::ACT_FAILED_WM_REQUIREMENT
@ ACT_FAILED_WM_REQUIREMENT
Definition:
types.h:45
MR::DWI::Tractography::Tracking::NO_PROPAGATION_FROM_SEED
@ NO_PROPAGATION_FROM_SEED
Definition:
types.h:45
MR::DWI::Tractography::Tracking::ACT_POOR_TERMINATION
@ ACT_POOR_TERMINATION
Definition:
types.h:45
MR::DWI::Tractography::Tracking::TRACK_TOO_LONG
@ TRACK_TOO_LONG
Definition:
types.h:45
MR::DWI::Tractography::Tracking::term_add_to_tck
const uint8_t term_add_to_tck[13]
Definition:
types.h:43
MR
Definition:
base.h:24
TERMINATION_REASON_COUNT
#define TERMINATION_REASON_COUNT
Definition:
types.h:39
MEMALIGN
#define MEMALIGN(...)
Definition:
types.h:185
src
dwi
tractography
tracking
types.h
Generated on Mon Jul 4 2022 08:00:06 for MRtrix by
1.9.3