18#ifndef sitkFastMarchingUpwindGradientImageFilter_h
19#define sitkFastMarchingUpwindGradientImageFilter_h
68 SITK_RETURN_SELF_TYPE_HEADER
SetTrialPoints ( std::vector< std::vector<unsigned int> > TrialPoints ) { this->
m_TrialPoints = std::move(TrialPoints);
return *
this; }
91 SITK_RETURN_SELF_TYPE_HEADER
SetTargetPoints ( std::vector< std::vector<unsigned int> > TargetPoints ) { this->
m_TargetPoints = std::move(TargetPoints);
return *
this; }
149 std::string
GetName()
const {
return std::string (
"FastMarchingUpwindGradientImageFilter"); }
172 std::vector< std::vector<unsigned int> >
m_TrialPoints{std::vector< std::vector<unsigned int > >()};
176 std::vector< std::vector<unsigned int> >
m_TargetPoints{std::vector< std::vector<unsigned int > >()};
202 SITKBasicFilters_EXPORT Image FastMarchingUpwindGradient (
const Image& image1, std::vector< std::vector<unsigned int> > trialPoints = std::vector< std::vector<unsigned int > >(),
unsigned int numberOfTargets = 0u, std::vector< std::vector<unsigned int> > targetPoints = std::vector< std::vector<unsigned int > >(),
double targetOffset = 1.0,
double normalizationFactor = 1.0, std::vector<double> initialTrialValues = std::vector<double>() );
std::string ToString() const
Self & SetInitialTrialValues(std::vector< double > InitialTrialValues)
Set the initial seed values for corresponding trial point.
BasicPixelIDTypeList PixelIDTypeList
std::vector< std::vector< unsigned int > > m_TargetPoints
unsigned int GetNumberOfTargets() const
Self & ClearTargetPoints()
Remove all TargetPoints points.
Self & SetTrialPoints(std::vector< std::vector< unsigned int > > TrialPoints)
virtual ~FastMarchingUpwindGradientImageFilter()
unsigned int m_NumberOfTargets
Image GetGradientImage() const
double GetTargetOffset() const
std::vector< std::vector< unsigned int > > GetTrialPoints() const
Image Execute(const Image &image1)
std::vector< std::vector< unsigned int > > m_TrialPoints
FastMarchingUpwindGradientImageFilter()
FastMarchingUpwindGradientImageFilter Self
Self & SetTargetOffset(double TargetOffset)
std::vector< std::vector< unsigned int > > GetTargetPoints() const
std::vector< double > m_InitialTrialValues
double m_NormalizationFactor
std::vector< double > GetInitialTrialValues() const
double GetNormalizationFactor() const
std::string GetName() const
Image ExecuteInternal(const Image &image1)
Self & SetNormalizationFactor(double NormalizationFactor)
Self & SetTargetPoints(std::vector< std::vector< unsigned int > > TargetPoints)
Self & ClearTrialPoints()
Remove all TrialPoints points.
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & AddTrialPoint(std::vector< unsigned int > point)
Add TrialPoints point.
double GetTargetValue() const
Self & SetNumberOfTargets(unsigned int NumberOfTargets)
Image(Self::*)(const Image &image1) MemberFunctionType
Self & AddTargetPoint(std::vector< unsigned int > point)
Add TargetPoints point.
The Image class for SimpleITK.
Image FastMarchingUpwindGradient(const Image &image1, std::vector< std::vector< unsigned int > > trialPoints=std::vector< std::vector< unsigned int > >(), unsigned int numberOfTargets=0u, std::vector< std::vector< unsigned int > > targetPoints=std::vector< std::vector< unsigned int > >(), double targetOffset=1.0, double normalizationFactor=1.0, std::vector< double > initialTrialValues=std::vector< double >())
Generates the upwind gradient field of fast marching arrival times.
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > > BasicPixelIDTypeList
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents
#define SITKBasicFilters_EXPORT