ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkCollidingFrontsImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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:
62  public ImageToImageFilter< TInputImage, TOutputImage >
63 {
64 public:
65  ITK_DISALLOW_COPY_AND_ASSIGN(CollidingFrontsImageFilter);
66 
72 
74  itkNewMacro(Self);
75 
78 
81  using OutputPixelType = typename TOutputImage::PixelType;
82  using InputPixelType = typename TInputImage::PixelType;
84 
87  static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
88 
90  using InputImageType = TInputImage;
91  using SpeedImageType = TInputImage;
92  using InputImagePointer = typename InputImageType::Pointer;
93  using OutputImageType = TOutputImage;
94  using LevelSetImageType = TOutputImage;
95  using OutputImagePointer = typename OutputImageType::Pointer;
96 
98  using OutputImageRegionType = typename Superclass::OutputImageRegionType;
99 
103 
111 
115  {
116  m_SeedPoints1 = points;
117  this->Modified();
118  }
120 
123  { return m_SeedPoints1; }
124 
128  {
129  m_SeedPoints2 = points;
130  this->Modified();
131  }
133 
136  { return m_SeedPoints2; }
137 
138  itkSetMacro(NegativeEpsilon, double);
139  itkGetConstMacro(NegativeEpsilon, double);
140 
141  itkSetMacro(ApplyConnectivity, bool);
142  itkGetConstMacro(ApplyConnectivity, bool);
143  itkBooleanMacro(ApplyConnectivity);
144 
145  itkSetMacro(StopOnTargets, bool);
146  itkGetConstMacro(StopOnTargets, bool);
147  itkBooleanMacro(StopOnTargets);
148 
149 #ifdef ITK_USE_CONCEPT_CHECKING
150  // Begin concept checking
151  itkConceptMacro( InputHasNumericTraitsCheck,
153  // End concept checking
154 #endif
155 
156 protected:
158  ~CollidingFrontsImageFilter() override = default;
159 
160  void GenerateData() override;
161 
162  void PrintSelf(std::ostream &, Indent) const override;
163 
164 private:
167 
170 
172 };
173 } // end namespace itk
174 
175 #ifndef ITK_MANUAL_INSTANTIATION
176 #include "itkCollidingFrontsImageFilter.hxx"
177 #endif
178 
179 #endif
typename OutputImageType::Pointer OutputImagePointer
typename NumericTraits< InputPixelType >::RealType RealType
typename TOutputImage::PixelType OutputPixelType
Define numeric traits for std::vector.
typename Superclass::NodeContainerPointer NodeContainerPointer
typename FastMarchingUpwindGradientImageFilterType::NodeType NodeType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
typename FastMarchingUpwindGradientImageFilterType::IndexType IndexType
Base class for all process objects that output image data.
typename InputImageType::Pointer InputImagePointer
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename FastMarchingUpwindGradientImageFilterType::GradientImageType GradientImageType
Generates the upwind gradient field of fast marching arrival times.
typename FastMarchingUpwindGradientImageFilterType::NodeContainerPointer NodeContainerPointer
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
typename FastMarchingUpwindGradientImageFilterType::PixelType PixelType
typename FastMarchingUpwindGradientImageFilterType::NodeContainer NodeContainer
typename TInputImage::PixelType InputPixelType
#define itkConceptMacro(name, concept)
Selects a region of space where two independent fronts run towards each other.
Templated n-dimensional image class.
Definition: itkImage.h:75