ITK  6.0.0
Insight Toolkit
itkCovarianceSampleFilter.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkCovarianceSampleFilter_h
19#define itkCovarianceSampleFilter_h
20
21#include "itkProcessObject.h"
22
25
26namespace itk
27{
28namespace Statistics
29{
52template <typename TSample>
53class ITK_TEMPLATE_EXPORT CovarianceSampleFilter : public ProcessObject
54{
55public:
56 ITK_DISALLOW_COPY_AND_MOVE(CovarianceSampleFilter);
57
63 using SampleType = TSample;
64
66 itkOverrideGetNameOfClassMacro(CovarianceSampleFilter);
67 itkNewMacro(Self);
71 using MeasurementVectorType = typename SampleType::MeasurementVectorType;
72
74 using MeasurementVectorSizeType = typename SampleType::MeasurementVectorSizeType;
75
77 using MeasurementType = typename SampleType::MeasurementType;
78
81
84
85
87 using Superclass::SetInput;
88 void
89 SetInput(const SampleType * sample);
90
92 const SampleType *
93 GetInput() const;
94
95
98
100 const MatrixType
102
106 const MatrixDecoratedType *
108
109
112 GetMean() const;
113
120
121
124
127
129 using Superclass::MakeOutput;
132
133protected:
135 ~CovarianceSampleFilter() override = default;
136 void
137 PrintSelf(std::ostream & os, Indent indent) const override;
138
139 void
140 GenerateData() override;
141}; // end of class
142} // end of namespace Statistics
143} // end of namespace itk
144
145#ifndef ITK_MANUAL_INSTANTIATION
146# include "itkCovarianceSampleFilter.hxx"
147#endif
148
149#endif
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
Decorates any "simple" data type (data types without smart pointers) with a DataObject API.
Calculates the covariance matrix of the target sample data.
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType index) override
Make a DataObject of the correct type to used as the specified output.
void PrintSelf(std::ostream &os, Indent indent) const override
typename SampleType::MeasurementVectorType MeasurementVectorType
typename NumericTraits< MeasurementVectorType >::RealType MeasurementVectorRealType
const MeasurementVectorDecoratedType * GetMeanOutput() const
MeasurementVectorSizeType GetMeasurementVectorSize() const
typename SampleType::MeasurementVectorSizeType MeasurementVectorSizeType
typename SampleType::MeasurementType MeasurementType
void SetInput(const SampleType *sample)
const SampleType * GetInput() const
typename NumericTraits< MeasurementType >::RealType MeasurementRealType
const MatrixDecoratedType * GetCovarianceMatrixOutput() const
const MeasurementVectorRealType GetMean() const
const MatrixType GetCovarianceMatrix() const
A templated class holding a M x N size Matrix.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:41