18#ifndef sitkCollidingFrontsImageFilter_h
19#define sitkCollidingFrontsImageFilter_h
69 SITK_RETURN_SELF_TYPE_HEADER
SetSeedPoints1 ( std::vector< std::vector<unsigned int> > SeedPoints1 ) { this->
m_SeedPoints1 = std::move(SeedPoints1);
return *
this; }
84 SITK_RETURN_SELF_TYPE_HEADER
SetSeedPoints2 ( std::vector< std::vector<unsigned int> > SeedPoints2 ) { this->
m_SeedPoints2 = std::move(SeedPoints2);
return *
this; }
129 std::string
GetName()
const {
return std::string (
"CollidingFrontsImageFilter"); }
152 std::vector< std::vector<unsigned int> >
m_SeedPoints1{std::vector< std::vector<unsigned int > >()};
154 std::vector< std::vector<unsigned int> >
m_SeedPoints2{std::vector< std::vector<unsigned int > >()};
175 SITKBasicFilters_EXPORT Image CollidingFronts (
const Image& image1, std::vector< std::vector<unsigned int> > seedPoints1 = std::vector< std::vector<unsigned int > >(), std::vector< std::vector<unsigned int> > seedPoints2 = std::vector< std::vector<unsigned int > >(),
bool applyConnectivity =
true,
double negativeEpsilon = -1e-6,
bool stopOnTargets =
false );
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & StopOnTargetsOff()
std::vector< std::vector< unsigned int > > m_SeedPoints1
CollidingFrontsImageFilter()
Self & ClearSeedPoints1()
Remove all SeedPoints1 points.
Image(Self::*)(const Image &image1) MemberFunctionType
std::vector< std::vector< unsigned int > > GetSeedPoints2() const
Self & SetNegativeEpsilon(double NegativeEpsilon)
std::vector< std::vector< unsigned int > > GetSeedPoints1() const
Self & AddSeedPoint2(std::vector< unsigned int > point)
Add SeedPoints2 point.
Self & AddSeedPoint1(std::vector< unsigned int > point)
Add SeedPoints1 point.
Image Execute(const Image &image1)
bool GetApplyConnectivity() const
CollidingFrontsImageFilter Self
std::string GetName() const
Self & ApplyConnectivityOn()
Self & SetSeedPoints2(std::vector< std::vector< unsigned int > > SeedPoints2)
BasicPixelIDTypeList PixelIDTypeList
Self & SetApplyConnectivity(bool ApplyConnectivity)
virtual ~CollidingFrontsImageFilter()
double GetNegativeEpsilon() const
std::vector< std::vector< unsigned int > > m_SeedPoints2
Self & SetStopOnTargets(bool StopOnTargets)
Image ExecuteInternal(const Image &image1)
Self & ClearSeedPoints2()
Remove all SeedPoints2 points.
bool GetStopOnTargets() const
Self & ApplyConnectivityOff()
Self & SetSeedPoints1(std::vector< std::vector< unsigned int > > SeedPoints1)
std::string ToString() const
The Image class for SimpleITK.
Image CollidingFronts(const Image &image1, std::vector< std::vector< unsigned int > > seedPoints1=std::vector< std::vector< unsigned int > >(), std::vector< std::vector< unsigned int > > seedPoints2=std::vector< std::vector< unsigned int > >(), bool applyConnectivity=true, double negativeEpsilon=-1e-6, bool stopOnTargets=false)
Selects a region of space where two independent fronts run towards each other.
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