SimpleITK  
sitkCollidingFrontsImageFilter.h
Go to the documentation of this file.
1/*=========================================================================
2*
3* Copyright NumFOCUS
4*
5* Licensed under the Apache License, Version 2.0 (the "License");
6* you may not use this file except in compliance with the License.
7* You may obtain a copy of the License at
8*
9* http://www.apache.org/licenses/LICENSE-2.0.txt
10*
11* Unless required by applicable law or agreed to in writing, software
12* distributed under the License is distributed on an "AS IS" BASIS,
13* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14* See the License for the specific language governing permissions and
15* limitations under the License.
16*
17*=========================================================================*/
18#ifndef sitkCollidingFrontsImageFilter_h
19#define sitkCollidingFrontsImageFilter_h
20
21/*
22 * WARNING: DO NOT EDIT THIS FILE!
23 * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24 * Please look at sitkImageFilterTemplate.h.in to make changes.
25 */
26
27#include <memory>
28
29#include "sitkBasicFilters.h"
30#include "sitkImageFilter.h"
31
32namespace itk::simple {
33
52 public:
54
57
61
64\
65
69 SITK_RETURN_SELF_TYPE_HEADER SetSeedPoints1 ( std::vector< std::vector<unsigned int> > SeedPoints1 ) { this->m_SeedPoints1 = std::move(SeedPoints1); return *this; }
70
74 std::vector< std::vector< unsigned int > > GetSeedPoints1() const { return this->m_SeedPoints1; }
76 SITK_RETURN_SELF_TYPE_HEADER AddSeedPoint1( std::vector< unsigned int > point ) { this->m_SeedPoints1.push_back(std::move(point)); return *this;}
78 SITK_RETURN_SELF_TYPE_HEADER ClearSeedPoints1( ) { this->m_SeedPoints1.clear(); return *this;}
79\
80
84 SITK_RETURN_SELF_TYPE_HEADER SetSeedPoints2 ( std::vector< std::vector<unsigned int> > SeedPoints2 ) { this->m_SeedPoints2 = std::move(SeedPoints2); return *this; }
85
89 std::vector< std::vector< unsigned int > > GetSeedPoints2() const { return this->m_SeedPoints2; }
91 SITK_RETURN_SELF_TYPE_HEADER AddSeedPoint2( std::vector< unsigned int > point ) { this->m_SeedPoints2.push_back(std::move(point)); return *this;}
93 SITK_RETURN_SELF_TYPE_HEADER ClearSeedPoints2( ) { this->m_SeedPoints2.clear(); return *this;}
94\
95
98 SITK_RETURN_SELF_TYPE_HEADER SetApplyConnectivity ( bool ApplyConnectivity ) { this->m_ApplyConnectivity = ApplyConnectivity; return *this; }
99
101 SITK_RETURN_SELF_TYPE_HEADER ApplyConnectivityOn() { return this->SetApplyConnectivity(true); }
102 SITK_RETURN_SELF_TYPE_HEADER ApplyConnectivityOff() { return this->SetApplyConnectivity(false); }
103
106 bool GetApplyConnectivity() const { return this->m_ApplyConnectivity; }\
107
110 SITK_RETURN_SELF_TYPE_HEADER SetNegativeEpsilon ( double NegativeEpsilon ) { this->m_NegativeEpsilon = NegativeEpsilon; return *this; }
111
114 double GetNegativeEpsilon() const { return this->m_NegativeEpsilon; }\
115
118 SITK_RETURN_SELF_TYPE_HEADER SetStopOnTargets ( bool StopOnTargets ) { this->m_StopOnTargets = StopOnTargets; return *this; }
119
121 SITK_RETURN_SELF_TYPE_HEADER StopOnTargetsOn() { return this->SetStopOnTargets(true); }
122 SITK_RETURN_SELF_TYPE_HEADER StopOnTargetsOff() { return this->SetStopOnTargets(false); }
123
126 bool GetStopOnTargets() const { return this->m_StopOnTargets; }
127
129 std::string GetName() const { return std::string ("CollidingFrontsImageFilter"); }
130
132 std::string ToString() const;
133
134
136
137 Image Execute ( const Image& image1 );
138
139 private:
140
142
143 using MemberFunctionType = Image (Self::*)( const Image& image1 );
144 template <class TImageType> Image ExecuteInternal ( const Image& image1 );
145
146
148
149 std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
150
151
152 std::vector< std::vector<unsigned int> > m_SeedPoints1{std::vector< std::vector<unsigned int > >()};
153
154 std::vector< std::vector<unsigned int> > m_SeedPoints2{std::vector< std::vector<unsigned int > >()};
155
157
158 double m_NegativeEpsilon{-1e-6};
159
160 bool m_StopOnTargets{false};
161
162
163 };
164
174
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 );
176
178}
179#endif
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
std::vector< std::vector< unsigned int > > m_SeedPoints1
Self & ClearSeedPoints1()
Remove all SeedPoints1 points.
Image(Self::*)(const Image &image1) MemberFunctionType
std::vector< std::vector< unsigned int > > GetSeedPoints2() const
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)
Self & SetSeedPoints2(std::vector< std::vector< unsigned int > > SeedPoints2)
std::vector< std::vector< unsigned int > > m_SeedPoints2
Image ExecuteInternal(const Image &image1)
Self & ClearSeedPoints2()
Remove all SeedPoints2 points.
Self & SetSeedPoints1(std::vector< std::vector< unsigned int > > SeedPoints1)
The Image class for SimpleITK.
Definition sitkImage.h:77
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