ITK  4.8.0
Insight Segmentation and Registration Toolkit
itkWeightedSumFeatureAggregator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkWeightedSumFeatureAggregator.h
5  Language: C++
6  Date: $Date$
7  Version: $Revision$
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 __itkWeightedSumFeatureAggregator_h
18 #define __itkWeightedSumFeatureAggregator_h
19 
20 #include "itkFeatureAggregator.h"
21 
22 namespace itk
23 {
24 
43 template <unsigned int NDimension>
44 class ITK_EXPORT WeightedSumFeatureAggregator : public FeatureAggregator<NDimension>
45 {
46 public:
52 
54  itkNewMacro(Self);
55 
58 
60  itkStaticConstMacro(Dimension, unsigned int, NDimension);
61 
64  void virtual AddWeight( double weight );
65 
67  typedef typename Superclass::OutputPixelType OutputPixelType;
68  typedef typename Superclass::OutputImageType OutputImageType;
69  typedef typename Superclass::OutputImageSpatialObjectType OutputImageSpatialObjectType;
70 
71 protected:
74  void PrintSelf(std::ostream& os, Indent indent) const;
75 
76 
77 private:
78  WeightedSumFeatureAggregator(const Self&); //purposely not implemented
79  void operator=(const Self&); //purposely not implemented
80 
81  void ConsolidateFeatures();
82 
83  typedef std::vector< double > WeightsArrayType;
84 
86 
87 };
88 
89 } // end namespace itk
90 
91 #ifndef ITK_MANUAL_INSTANTIATION
92 # include "itkWeightedSumFeatureAggregator.hxx"
93 #endif
94 
95 #endif
Light weight base class for most itk classes.
Superclass::OutputImageSpatialObjectType OutputImageSpatialObjectType
FeatureAggregator< NDimension > Superclass
Class for combining multiple features into a single one.
Class for combining multiple features into a single one by computing a pixel-wise weighted sum that i...
Control indentation during Print() invocation.
Definition: itkIndent.h:49