18#ifndef itkSymmetricEigenAnalysisImageFilter_h
19#define itkSymmetricEigenAnalysisImageFilter_h
23#include "ITKImageIntensityExport.h"
38#if !defined(ITK_LEGACY_REMOVE)
42template <
typename TInput,
typename TOutput>
59 TOutput eigenValues{};
78#if !defined(ITK_LEGACY_REMOVE)
82#if !defined(ITK_LEGACY_REMOVE)
129template <
unsigned int TMatrixDimension,
typename TInput,
typename TOutput>
159#if !defined(ITK_LEGACY_REMOVE)
163#if !defined(ITK_LEGACY_REMOVE)
192extern ITKImageIntensity_EXPORT std::ostream &
215template <
typename TInputImage,
typename TOutputImage>
220 Functor::SymmetricEigenAnalysisFunction<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
241#if !defined(ITK_LEGACY_REMOVE)
292#ifdef ITK_USE_CONCEPT_CHECKING
321template <
unsigned int TMatrixDimension,
typename TInputImage,
typename TOutputImage = TInputImage>
326 Functor::SymmetricEigenAnalysisFixedDimensionFunction<TMatrixDimension,
327 typename TInputImage::PixelType,
328 typename TOutputImage::PixelType>>
339 typename TInputImage::PixelType,
340 typename TOutputImage::PixelType>>;
382#ifdef ITK_USE_CONCEPT_CHECKING
typename TInput::RealValueType RealValueType
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(SymmetricEigenAnalysisFixedDimensionFunction)
unsigned int GetDimension() const
CalculatorType m_Calculator
bool operator==(const SymmetricEigenAnalysisFixedDimensionFunction &) const
void OrderEigenValuesBy(EigenValueOrderEnum order)
TOutput operator()(const TInput &x) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(SymmetricEigenAnalysisFunction)
bool operator==(const SymmetricEigenAnalysisFunction &) const
unsigned int GetDimension() const
CalculatorType m_Calculator
void OrderEigenValuesBy(EigenValueOrderEnum order)
EigenValueOrderEnum GetOrderEigenValuesBy() const
void SetDimension(unsigned int n)
TOutput operator()(const TInput &x) const
void SetOrderEigenValuesBy(EigenValueOrderEnum order)
typename TInput::RealValueType RealValueType
Base class for all process objects that output image data.
void PrintSelf(std::ostream &os, Indent indent) const override
Control indentation during Print() invocation.
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Computes the eigen-values of every input symmetric matrix pixel.
void PrintSelf(std::ostream &os, Indent indent) const override
unsigned int GetDimension() const
typename TOutputImage::PixelType OutputPixelType
~SymmetricEigenAnalysisFixedDimensionImageFilter() override=default
SymmetricEigenAnalysisFixedDimensionImageFilter()=default
typename InputPixelType::ValueType InputValueType
typename TInputImage::PixelType InputPixelType
void OrderEigenValuesBy(EigenValueOrderEnum order)
void SetOrderEigenValues(const bool b)
unsigned int ComputeEigenValues(const TMatrix &A, TVector &EigenValues) const
constexpr unsigned int GetDimension() const
void SetOrderEigenMagnitudes(const bool b)
Computes the eigen-values of every input symmetric matrix pixel.
typename InputPixelType::ValueType InputValueType
SymmetricEigenAnalysisImageFilter()
typename TInputImage::PixelType InputPixelType
void SetOrderEigenValuesBy(EigenValueOrderEnum order)
~SymmetricEigenAnalysisImageFilter() override=default
typename TOutputImage::PixelType OutputPixelType
void PrintSelf(std::ostream &os, Indent indent) const override
unsigned int GetDimension() const
void OrderEigenValuesBy(EigenValueOrderEnum order)
void SetDimension(unsigned int p)
EigenValueOrderEnum GetOrderEigenValuesBy() const
void SetOrderEigenMagnitudes(const bool b)
bool GetOrderEigenValues() const
void SetDimension(const unsigned int n)
unsigned int GetDimension() const
bool GetOrderEigenMagnitudes() const
void SetOrderEigenValues(const bool b)
unsigned int ComputeEigenValues(const TMatrix &A, TVector &D) const
Implements pixel-wise generic operation on one image.
TOutputImage OutputImageType
FunctorType & GetFunctor()
#define itkConceptMacro(name, concept)
ITKImageIntensity_EXPORT std::ostream & operator<<(std::ostream &out, const EigenValueOrderEnum value)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SymmetricEigenAnalysisEnums::EigenValueOrder EigenValueOrderEnum