00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkStatisticsUniqueLabelMapFilter.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009-08-07 13:57:19 $ 00007 Version: $Revision: 1.1 $ 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 __itkStatisticsUniqueLabelMapFilter_h 00018 #define __itkStatisticsUniqueLabelMapFilter_h 00019 00020 #include "itkShapeUniqueLabelMapFilter.h" 00021 #include "itkStatisticsLabelObject.h" 00022 00023 namespace itk { 00035 template<class TImage> 00036 class ITK_EXPORT StatisticsUniqueLabelMapFilter : 00037 public ShapeUniqueLabelMapFilter<TImage> 00038 { 00039 public: 00041 typedef StatisticsUniqueLabelMapFilter Self; 00042 typedef ShapeUniqueLabelMapFilter<TImage> Superclass; 00043 typedef SmartPointer<Self> Pointer; 00044 typedef SmartPointer<const Self> ConstPointer; 00045 00047 typedef TImage ImageType; 00048 typedef typename ImageType::Pointer ImagePointer; 00049 typedef typename ImageType::ConstPointer ImageConstPointer; 00050 typedef typename ImageType::PixelType PixelType; 00051 typedef typename ImageType::IndexType IndexType; 00052 typedef typename ImageType::LabelObjectType LabelObjectType; 00053 00054 typedef typename LabelObjectType::AttributeType AttributeType; 00055 00057 itkStaticConstMacro(ImageDimension, unsigned int, 00058 TImage::ImageDimension); 00059 00061 itkNewMacro(Self); 00062 00064 itkTypeMacro(StatisticsUniqueLabelMapFilter, 00065 ShapeUniqueLabelMapFilter); 00066 00067 #ifdef ITK_USE_CONCEPT_CHECKING 00068 00069 /* itkConceptMacro(InputEqualityComparableCheck, 00070 (Concept::EqualityComparable<InputImagePixelType>)); 00071 itkConceptMacro(IntConvertibleToInputCheck, 00072 (Concept::Convertible<int, InputImagePixelType>)); 00073 itkConceptMacro(InputOStreamWritableCheck, 00074 (Concept::OStreamWritable<InputImagePixelType>));*/ 00075 00077 #endif 00078 00079 00080 protected: 00081 StatisticsUniqueLabelMapFilter(); 00082 ~StatisticsUniqueLabelMapFilter() {}; 00083 00084 void GenerateData(); 00085 00086 private: 00087 StatisticsUniqueLabelMapFilter(const Self&); //purposely not implemented 00088 void operator=(const Self&); //purposely not implemented 00089 00090 }; // end of class 00091 00092 } // end namespace itk 00093 00094 #ifndef ITK_MANUAL_INSTANTIATION 00095 #include "itkStatisticsUniqueLabelMapFilter.txx" 00096 #endif 00097 00098 #endif 00099