ITK  5.2.0
Insight Toolkit
itkCollidingFrontsImageFilter.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 itkCollidingFrontsImageFilter_h
19 #define itkCollidingFrontsImageFilter_h
20 
22 #include "itkImageToImageFilter.h"
23 
24 namespace itk
25 {
60 template <typename TInputImage, typename TOutputImage>
61 class ITK_TEMPLATE_EXPORT CollidingFrontsImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
62 {
63 public:
64  ITK_DISALLOW_COPY_AND_MOVE(CollidingFrontsImageFilter);
65 
71 
73  itkNewMacro(Self);
74 
77 
80  using OutputPixelType = typename TOutputImage::PixelType;
81  using InputPixelType = typename TInputImage::PixelType;
83 
86  static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
87 
89  using InputImageType = TInputImage;
90  using SpeedImageType = TInputImage;
91  using InputImagePointer = typename InputImageType::Pointer;
92  using OutputImageType = TOutputImage;
93  using LevelSetImageType = TOutputImage;
94  using OutputImagePointer = typename OutputImageType::Pointer;
95 
97  using OutputImageRegionType = typename Superclass::OutputImageRegionType;
98 
102 
110 
113  void
115  {
116  m_SeedPoints1 = points;
117  this->Modified();
118  }
120 
122  NodeContainerPointer
124  {
125  return m_SeedPoints1;
126  }
127 
130  void
132  {
133  m_SeedPoints2 = points;
134  this->Modified();
135  }
137 
139  NodeContainerPointer
141  {
142  return m_SeedPoints2;
143  }
144 
145  itkSetMacro(NegativeEpsilon, double);
146  itkGetConstMacro(NegativeEpsilon, double);
147 
148  itkSetMacro(ApplyConnectivity, bool);
149  itkGetConstMacro(ApplyConnectivity, bool);
150  itkBooleanMacro(ApplyConnectivity);
151 
152  itkSetMacro(StopOnTargets, bool);
153  itkGetConstMacro(StopOnTargets, bool);
154  itkBooleanMacro(StopOnTargets);
155 
156 #ifdef ITK_USE_CONCEPT_CHECKING
157  // Begin concept checking
158  itkConceptMacro(InputHasNumericTraitsCheck, (Concept::HasNumericTraits<InputPixelType>));
159  // End concept checking
160 #endif
161 
162 protected:
164  ~CollidingFrontsImageFilter() override = default;
165 
166  void
167  GenerateData() override;
168 
169  void
170  PrintSelf(std::ostream &, Indent) const override;
171 
172 private:
175 
178 
180 };
181 } // end namespace itk
182 
183 #ifndef ITK_MANUAL_INSTANTIATION
184 # include "itkCollidingFrontsImageFilter.hxx"
185 #endif
186 
187 #endif
itk::CollidingFrontsImageFilter::SetSeedPoints2
void SetSeedPoints2(NodeContainer *points)
Definition: itkCollidingFrontsImageFilter.h:131
itk::Concept::HasNumericTraits
Definition: itkConceptChecking.h:714
itk::ImageSource::OutputImagePointer
typename OutputImageType::Pointer OutputImagePointer
Definition: itkImageSource.h:91
itk::CollidingFrontsImageFilter::PixelType
typename FastMarchingUpwindGradientImageFilterType::PixelType PixelType
Definition: itkCollidingFrontsImageFilter.h:104
itk::FastMarchingUpwindGradientImageFilter::NodeType
typename Superclass::NodeType NodeType
Definition: itkFastMarchingUpwindGradientImageFilter.h:87
itk::SmartPointer< Self >
itk::CollidingFrontsImageFilter::IndexType
typename FastMarchingUpwindGradientImageFilterType::IndexType IndexType
Definition: itkCollidingFrontsImageFilter.h:109
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::CollidingFrontsImageFilter::SetSeedPoints1
void SetSeedPoints1(NodeContainer *points)
Definition: itkCollidingFrontsImageFilter.h:114
itk::FastMarchingUpwindGradientImageFilter
Generates the upwind gradient field of fast marching arrival times.
Definition: itkFastMarchingUpwindGradientImageFilter.h:61
itk::CollidingFrontsImageFilter::m_StopOnTargets
bool m_StopOnTargets
Definition: itkCollidingFrontsImageFilter.h:176
itk::CollidingFrontsImageFilter::GetSeedPoints1
NodeContainerPointer GetSeedPoints1()
Definition: itkCollidingFrontsImageFilter.h:123
itk::CollidingFrontsImageFilter::GradientImageType
typename FastMarchingUpwindGradientImageFilterType::GradientImageType GradientImageType
Definition: itkCollidingFrontsImageFilter.h:108
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::ImageToImageFilter
Base class for filters that take an image as input and produce an image as output.
Definition: itkImageToImageFilter.h:108
itk::ImageSource
Base class for all process objects that output image data.
Definition: itkImageSource.h:67
itk::CollidingFrontsImageFilter::NodeContainerPointer
typename FastMarchingUpwindGradientImageFilterType::NodeContainerPointer NodeContainerPointer
Definition: itkCollidingFrontsImageFilter.h:107
itk::ImageToImageFilter::InputImagePointer
typename InputImageType::Pointer InputImagePointer
Definition: itkImageToImageFilter.h:130
itk::FastMarchingUpwindGradientImageFilter::PixelType
typename Superclass::PixelType PixelType
Definition: itkFastMarchingUpwindGradientImageFilter.h:85
itk::CollidingFrontsImageFilter::m_NegativeEpsilon
double m_NegativeEpsilon
Definition: itkCollidingFrontsImageFilter.h:179
itk::ImageToImageFilter::InputImageType
TInputImage InputImageType
Definition: itkImageToImageFilter.h:129
itk::CollidingFrontsImageFilter::NodeType
typename FastMarchingUpwindGradientImageFilterType::NodeType NodeType
Definition: itkCollidingFrontsImageFilter.h:105
itkImageToImageFilter.h
itk::NumericTraits
Define additional traits for native types such as int or float.
Definition: itkNumericTraits.h:58
itk::CollidingFrontsImageFilter::RealType
typename NumericTraits< InputPixelType >::RealType RealType
Definition: itkCollidingFrontsImageFilter.h:82
itk::ImageSource::OutputImageRegionType
typename OutputImageType::RegionType OutputImageRegionType
Definition: itkImageSource.h:92
itk::CollidingFrontsImageFilter::m_SeedPoints1
NodeContainerPointer m_SeedPoints1
Definition: itkCollidingFrontsImageFilter.h:173
itk::CollidingFrontsImageFilter::LevelSetImageType
TOutputImage LevelSetImageType
Definition: itkCollidingFrontsImageFilter.h:93
itkConceptMacro
#define itkConceptMacro(name, concept)
Definition: itkConceptChecking.h:65
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::CollidingFrontsImageFilter::m_ApplyConnectivity
bool m_ApplyConnectivity
Definition: itkCollidingFrontsImageFilter.h:177
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition: itkProcessObject.h:138
itk::CollidingFrontsImageFilter
Selects a region of space where two independent fronts run towards each other.
Definition: itkCollidingFrontsImageFilter.h:61
itkFastMarchingUpwindGradientImageFilter.h
itk::Image
Templated n-dimensional image class.
Definition: itkImage.h:86
itk::CollidingFrontsImageFilter::m_SeedPoints2
NodeContainerPointer m_SeedPoints2
Definition: itkCollidingFrontsImageFilter.h:174
itk::CollidingFrontsImageFilter::InputPixelType
typename TInputImage::PixelType InputPixelType
Definition: itkCollidingFrontsImageFilter.h:81
itk::CollidingFrontsImageFilter::SpeedImageType
TInputImage SpeedImageType
Definition: itkCollidingFrontsImageFilter.h:90
itk::FastMarchingUpwindGradientImageFilter::NodeContainer
typename Superclass::NodeContainer NodeContainer
Definition: itkFastMarchingUpwindGradientImageFilter.h:88
itk::CollidingFrontsImageFilter::GetSeedPoints2
NodeContainerPointer GetSeedPoints2()
Definition: itkCollidingFrontsImageFilter.h:140
itk::CollidingFrontsImageFilter::NodeContainer
typename FastMarchingUpwindGradientImageFilterType::NodeContainer NodeContainer
Definition: itkCollidingFrontsImageFilter.h:106
itk::CollidingFrontsImageFilter::OutputPixelType
typename TOutputImage::PixelType OutputPixelType
Definition: itkCollidingFrontsImageFilter.h:80
itk::FastMarchingUpwindGradientImageFilter::NodeContainerPointer
typename Superclass::NodeContainerPointer NodeContainerPointer
Definition: itkFastMarchingUpwindGradientImageFilter.h:89
itk::ImageSource::OutputImageType
TOutputImage OutputImageType
Definition: itkImageSource.h:90