Orfeo Toolbox  3.16
itkVectorConfidenceConnectedImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkVectorConfidenceConnectedImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-25 12:28:11 $
7  Version: $Revision: 1.6 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkVectorConfidenceConnectedImageFilter_h
18 #define __itkVectorConfidenceConnectedImageFilter_h
19 
20 #include "itkImage.h"
21 #include "itkImageToImageFilter.h"
23 
24 namespace itk {
25 
57 template <class TInputImage, class TOutputImage>
59  public ImageToImageFilter<TInputImage,TOutputImage>
60 {
61 public:
67 
69  itkNewMacro(Self);
70 
74 
75  typedef TInputImage InputImageType;
76  typedef typename InputImageType::Pointer InputImagePointer;
77  typedef typename InputImageType::RegionType InputImageRegionType;
78  typedef typename InputImageType::PixelType InputImagePixelType;
79  typedef typename InputImageType::IndexType IndexType;
80  typedef typename InputImageType::SizeType SizeType;
81 
82  typedef TOutputImage OutputImageType;
83  typedef typename OutputImageType::Pointer OutputImagePointer;
84  typedef typename OutputImageType::RegionType OutputImageRegionType;
85  typedef typename OutputImageType::PixelType OutputImagePixelType;
86 
87  typedef std::vector< IndexType > SeedsContainerType;
88 
92 
95 
96 
98 
99  void PrintSelf ( std::ostream& os, Indent indent ) const;
100 
102  void SetSeed(const IndexType & seed)
103  {
104  m_Seeds.clear();
105  this->AddSeed( seed );
106  }
107 
109  void AddSeed(const IndexType & seed)
110  {
111  m_Seeds.push_back( seed );
112  this->Modified();
113  }
114 
117  itkSetMacro(Multiplier, double);
118  itkGetConstMacro(Multiplier, double);
119 
121  itkSetMacro(NumberOfIterations, unsigned int);
122  itkGetConstMacro(NumberOfIterations, unsigned int);
123 
125  itkSetMacro(ReplaceValue, OutputImagePixelType);
126  itkGetConstMacro(ReplaceValue, OutputImagePixelType);
127 
130  itkSetMacro( InitialNeighborhoodRadius, unsigned int );
131  itkGetConstReferenceMacro( InitialNeighborhoodRadius, unsigned int );
132 
134  const MeanVectorType & GetMean() const;
135 
137  const CovarianceMatrixType & GetCovariance() const;
138 
139 #ifdef ITK_USE_CONCEPT_CHECKING
140 
141  itkConceptMacro(OutputEqualityComparableCheck,
143  itkConceptMacro(InputHasNumericTraitsCheck,
145  itkConceptMacro(OutputOStreamWritableCheck,
148 #endif
149 
150 protected:
152 
153 
154  // Override since the filter needs all the data for the algorithm
155  void GenerateInputRequestedRegion();
156 
157  // Override since the filter produces the entire dataset
158  void EnlargeOutputRequestedRegion(DataObject *output);
159 
160  void GenerateData();
161 
162 private:
163  VectorConfidenceConnectedImageFilter(const Self&); //purposely not implemented
164  void operator=(const Self&); //purposely not implemented
165 
167  double m_Multiplier;
168  unsigned int m_NumberOfIterations;
171 
173 
174 };
175 
176 
177 } // end namespace itk
178 
179 #ifndef ITK_MANUAL_INSTANTIATION
181 #endif
182 
183 #endif

Generated at Sun Feb 3 2013 00:11:34 for Orfeo Toolbox with doxygen 1.8.1.1