20 #ifndef MIRKT_ImageEdgeDistance_H 21 #define MIRKT_ImageEdgeDistance_H 23 #include "mirtk/SurfaceForce.h" 25 #include "mirtk/FastCubicBSplineInterpolateImageFunction.h" 75 mirtkPublicAttributeMacro(
double, Padding);
78 mirtkPublicAttributeMacro(
double, MinIntensity);
81 mirtkPublicAttributeMacro(
double, MaxIntensity);
84 mirtkPublicAttributeMacro(
double, MinGradient);
87 mirtkPublicAttributeMacro(
double, MaxGradient);
95 mirtkPublicAttributeMacro(
double, MinT1Gradient);
103 mirtkPublicAttributeMacro(
double, MaxT1Gradient);
106 mirtkPublicAttributeMacro(
double, MaxDistance);
112 mirtkPublicAttributeMacro(
double, DistanceThreshold);
115 mirtkPublicAttributeMacro(
int, MedianFilterRadius);
118 mirtkPublicAttributeMacro(
int, DistanceSmoothing);
121 mirtkPublicAttributeMacro(
double, StepLength);
124 mirtkPublicAggregateMacro(
const RealImage, T1WeightedImage);
127 mirtkPublicAggregateMacro(
const BinaryImage, WhiteMatterMask);
130 mirtkPublicAggregateMacro(
const BinaryImage, GreyMatterMask);
137 mirtkPublicAggregateMacro(
const RealImage, CorticalHullDistance);
140 mirtkPublicAggregateMacro(
const RealImage, VentriclesDistance);
145 mirtkPublicAggregateMacro(
const RealImage, CerebellumDistance);
148 mirtkPublicAttributeMacro(
double, WhiteMatterWindowWidth);
151 mirtkPublicAttributeMacro(
double, GreyMatterWindowWidth);
154 mirtkPublicAttributeMacro(
double, T1GreyMatterWindowWidth);
157 mirtkAttributeMacro(
double, GlobalWhiteMatterMean);
160 mirtkAttributeMacro(
double, GlobalWhiteMatterVariance);
163 mirtkAttributeMacro(
double, GlobalWhiteMatterThreshold);
166 mirtkAttributeMacro(
double, GlobalGreyMatterMean);
169 mirtkAttributeMacro(
double, GlobalGreyMatterVariance);
172 mirtkAttributeMacro(LocalStatsImage, LocalWhiteMatterMean);
175 mirtkAttributeMacro(LocalStatsImage, LocalWhiteMatterVariance);
178 mirtkAttributeMacro(LocalStatsImage, LocalGreyMatterMean);
181 mirtkAttributeMacro(LocalStatsImage, LocalGreyMatterVariance);
184 mirtkAttributeMacro(LocalStatsImage, LocalGreyMatterT1Mean);
187 mirtkAttributeMacro(LocalStatsImage, LocalGreyMatterT1Variance);
190 mirtkAttributeMacro(Array<int>, CorticalDeepGreyMatterBoundingBox);
193 mirtkAttributeMacro(SharedPtr<ContinuousImage>, T1WeightedImageFunction);
196 mirtkAttributeMacro(SharedPtr<ContinuousImage>, T2WeightedImageFunction);
248 virtual void Update(
bool =
true);
270 #endif // MIRKT_ImageEdgeDistance_H virtual bool SetWithoutPrefix(const char *, const char *)
Set parameter value from string.
virtual void Initialize()
Initialize external force once input and parameters have been set.
T2-weighted MRI WM/cGM edge at neonatal age.
virtual double Evaluate()
Evaluate external force term.
Attract points to strongest maxima.
GenericImage< float > LocalStatsImage
Type of image used to store local image statistics.
GenericImage< double > DiscreteImage
Type of discrete intensity image.
Attract points to closest extrema.
EdgeType
Enumeration of edge force modes based on directional derivative of image intensities.
T2-weighted MRI cGM/CSF edge at neonatal age.
ImageEdgeDistance & operator=(const ImageEdgeDistance &)
Assignment operator.
Attract points to closest minima.
Array< Pair< string, string > > ParameterList
Ordered list of parameter name/value pairs.
Attract points to strongest extrema.
virtual ParameterList Parameter() const
Get parameter key/value as string map.
ImageEdgeDistance(const char *="", double=1.0)
Constructor.
virtual void Update(bool=true)
Update moving input points and internal state of force term.
Attract points to strongest minima.
GenericFastCubicBSplineInterpolateImageFunction< DiscreteImage > ContinuousImage
Type of interpolated image / image interpolation function.
virtual void EvaluateGradient(double *, double, double)
Evaluate external force.
string ToString(const EnergyMeasure &value, int w, char c, bool left)
Convert energy measure enumeration value to string.
bool FromString(const char *str, EnergyMeasure &value)
Convert energy measure string to enumeration value.
Attract points to closest extrema of same sign.
virtual ~ImageEdgeDistance()
Destructor.
virtual ParameterList Parameter() const
Get parameter name/value pairs.
Attract points to closest maxima.