1 /* =======================================================================
2 * @author: Leonardo Florez-Valencia
3 * @email: florez-l@javeriana.edu.co
4 * =======================================================================
7 #ifndef __ivq__ITK__ImageStatisticsFromSeeds__h__
8 #define __ivq__ITK__ImageStatisticsFromSeeds__h__
11 #include <itkObject.h>
19 template< class _TImage >
20 class ImageStatisticsFromSeeds
24 typedef itk::Object Superclass;
25 typedef ImageStatisticsFromSeeds Self;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
29 typedef _TImage TImage;
30 typedef typename TImage::IndexType TIndex;
32 typedef typename TIndex::LexicographicCompare TIndexCompare;
33 typedef std::set< TIndex, TIndexCompare > TIndices;
37 itkTypeMacro( ivq::ITK::ImageStatisticsFromSeeds, itk::Object );
39 itkGetConstObjectMacro( Image, TImage );
40 itkGetConstMacro( Indices, TIndices );
41 itkGetConstMacro( Mean, double );
42 itkGetConstMacro( Deviation, double );
43 itkGetConstMacro( Radius, unsigned int );
45 itkSetConstObjectMacro( Image, TImage );
46 itkSetMacro( Radius, unsigned int );
49 unsigned int GetNumberOfIndices( ) const;
51 void AddIndex( const TIndex& i );
52 void RemoveIndex( const TIndex& i );
56 ImageStatisticsFromSeeds( );
57 virtual ~ImageStatisticsFromSeeds( );
60 // Purposely not implemented
61 ImageStatisticsFromSeeds( Self& other );
62 Self& operator=( Self& other );
65 typename TImage::ConstPointer m_Image;
69 unsigned int m_Radius;
76 #ifndef ITK_MANUAL_INSTANTIATION
77 # include <ivq/ITK/ImageStatisticsFromSeeds.hxx>
78 #endif // ITK_MANUAL_INSTANTIATION
80 #endif // __ivq__ITK__ImageStatisticsFromSeeds__h__