ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkSparseFrequencyContainer2.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __itkSparseFrequencyContainer2_h
19 #define __itkSparseFrequencyContainer2_h
20 
21 #include <map>
22 #include "itkObjectFactory.h"
23 #include "itkObject.h"
24 #include "itkNumericTraits.h"
26 
27 namespace itk
28 {
29 namespace Statistics
30 {
41 {
42 public:
45  typedef Object Superclass;
48 
50  itkTypeMacro(SparseFrequencyContainer2, Object);
51  itkNewMacro(Self);
53 
56 
59 
62 
65 
68 
70  typedef std::map< InstanceIdentifier, AbsoluteFrequencyType > FrequencyContainerType;
71  typedef FrequencyContainerType::const_iterator
73 
75  void Initialize(SizeValueType length);
76 
79  void SetToZero();
80 
83  bool SetFrequency(const InstanceIdentifier id, const AbsoluteFrequencyType value);
84 
88  const AbsoluteFrequencyType value);
89 
93 
95  {
96  return m_TotalFrequency;
97  }
98 
99 protected:
102  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
103 
104 private:
105  SparseFrequencyContainer2(const Self &); //purposely not implemented
106  void operator=(const Self &); //purposely not implemented
107 
108  // Container of histogram
111 }; // end of class
112 } // end of namespace Statistics
113 } // end of namespace itk
114 
115 #endif
bool IncreaseFrequency(const InstanceIdentifier id, const AbsoluteFrequencyType value)
his class is a container for an histogram.
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
Light weight base class for most itk classes.
NumericTraits< AbsoluteFrequencyType >::RealType RelativeFrequencyType
MeasurementVectorTraits::AbsoluteFrequencyType AbsoluteFrequencyType
NumericTraits< RelativeFrequencyType >::AccumulateType TotalRelativeFrequencyType
MeasurementVectorTraits::RelativeFrequencyType RelativeFrequencyType
NumericTraits< AbsoluteFrequencyType >::AccumulateType TotalAbsoluteFrequencyType
unsigned long SizeValueType
Definition: itkIntTypes.h:143
MeasurementVectorTraits::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
bool SetFrequency(const InstanceIdentifier id, const AbsoluteFrequencyType value)
void Initialize(SizeValueType length)
FrequencyContainerType::const_iterator FrequencyContainerConstIterator
MeasurementVectorTraits::InstanceIdentifier InstanceIdentifier
std::map< InstanceIdentifier, AbsoluteFrequencyType > FrequencyContainerType
AbsoluteFrequencyType GetFrequency(const InstanceIdentifier id) const
MeasurementVectorTraits::TotalRelativeFrequencyType TotalRelativeFrequencyType
Control indentation during Print() invocation.
Definition: itkIndent.h:49
Base class for most ITK classes.
Definition: itkObject.h:57