Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkVectorConfidenceConnectedImageFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkVectorConfidenceConnectedImageFilter.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:28:59 $ 00007 Version: $Revision: 1.3 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkVectorConfidenceConnectedImageFilter_h 00018 #define __itkVectorConfidenceConnectedImageFilter_h 00019 00020 #include "itkImage.h" 00021 #include "itkImageToImageFilter.h" 00022 #include "itkMahalanobisDistanceThresholdImageFunction.h" 00023 00024 namespace itk{ 00025 00057 template <class TInputImage, class TOutputImage> 00058 class ITK_EXPORT VectorConfidenceConnectedImageFilter: 00059 public ImageToImageFilter<TInputImage,TOutputImage> 00060 { 00061 public: 00063 typedef VectorConfidenceConnectedImageFilter Self; 00064 typedef ImageToImageFilter<TInputImage,TOutputImage> Superclass; 00065 typedef SmartPointer<Self> Pointer; 00066 typedef SmartPointer<const Self> ConstPointer; 00067 00069 itkNewMacro(Self); 00070 00072 itkTypeMacro(VectorConfidenceConnectedImageFilter, 00073 ImageToImageFilter); 00074 00075 typedef TInputImage InputImageType; 00076 typedef typename InputImageType::Pointer InputImagePointer; 00077 typedef typename InputImageType::RegionType InputImageRegionType; 00078 typedef typename InputImageType::PixelType InputImagePixelType; 00079 typedef typename InputImageType::IndexType IndexType; 00080 typedef typename InputImageType::SizeType SizeType; 00081 00082 typedef TOutputImage OutputImageType; 00083 typedef typename OutputImageType::Pointer OutputImagePointer; 00084 typedef typename OutputImageType::RegionType OutputImageRegionType; 00085 typedef typename OutputImageType::PixelType OutputImagePixelType; 00086 00087 typedef std::vector< IndexType > SeedsContainerType; 00088 00089 typedef MahalanobisDistanceThresholdImageFunction< 00090 InputImageType > 00091 DistanceThresholdFunctionType; 00092 00093 typedef typename DistanceThresholdFunctionType::CovarianceMatrixType CovarianceMatrixType; 00094 typedef typename DistanceThresholdFunctionType::MeanVectorType MeanVectorType; 00095 00096 00097 typedef typename DistanceThresholdFunctionType::Pointer DistanceThresholdFunctionPointer; 00098 00099 void PrintSelf ( std::ostream& os, Indent indent ) const; 00100 00102 void SetSeed(const IndexType & seed) 00103 { 00104 m_Seeds.clear(); 00105 this->AddSeed( seed ); 00106 }; 00107 00108 00110 void AddSeed(const IndexType & seed) 00111 { 00112 m_Seeds.push_back( seed ); 00113 this->Modified(); 00114 }; 00115 00118 itkSetMacro(Multiplier, double); 00119 itkGetMacro(Multiplier, double); 00120 00122 itkSetMacro(NumberOfIterations, unsigned int); 00123 itkGetMacro(NumberOfIterations, unsigned int); 00124 00126 itkSetMacro(ReplaceValue, OutputImagePixelType); 00127 itkGetMacro(ReplaceValue, OutputImagePixelType); 00128 00131 itkSetMacro( InitialNeighborhoodRadius, unsigned int ); 00132 itkGetConstReferenceMacro( InitialNeighborhoodRadius, unsigned int ); 00133 00135 const MeanVectorType & GetMean() const; 00136 00138 const CovarianceMatrixType & GetCovariance() const; 00139 00140 00141 protected: 00142 VectorConfidenceConnectedImageFilter(); 00143 00144 00145 // Override since the filter needs all the data for the algorithm 00146 void GenerateInputRequestedRegion(); 00147 00148 // Override since the filter produces the entire dataset 00149 void EnlargeOutputRequestedRegion(DataObject *output); 00150 00151 void GenerateData(); 00152 00153 private: 00154 VectorConfidenceConnectedImageFilter(const Self&); //purposely not implemented 00155 void operator=(const Self&); //purposely not implemented 00156 00157 SeedsContainerType m_Seeds; 00158 double m_Multiplier; 00159 unsigned int m_NumberOfIterations; 00160 OutputImagePixelType m_ReplaceValue; 00161 unsigned int m_InitialNeighborhoodRadius; 00162 00163 DistanceThresholdFunctionPointer m_ThresholdFunction; 00164 00165 }; 00166 00167 00168 } // end namespace itk 00169 00170 #ifndef ITK_MANUAL_INSTANTIATION 00171 #include "itkVectorConfidenceConnectedImageFilter.txx" 00172 #endif 00173 00174 #endif

Generated at Sun Apr 1 02:46:14 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000