Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType > Class Template Reference

This filter provides the fit of the kurtosis (non-IVIM) signal to the data. More...

#include <itkDiffusionKurtosisReconstructionImageFilter.h>

Inheritance diagram for itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >:
Collaboration diagram for itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >:

Classes

struct  KurtosisSnapshot
 Struct describing a result (and the data) of a Kurtosis model fit. More...
 

Public Types

typedef DiffusionKurtosisReconstructionImageFilter Self
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef ImageToImageFilter< VectorImage< TInputPixelType, 3 >, Image< TOutputPixelType, 3 > > Superclass
 
typedef TOutputPixelType OutputPixelType
 
typedef TInputPixelType InputPixelType
 
typedef Superclass::InputImageType InputImageType
 
typedef Image< OutputPixelType, 3 > OutputImageType
 
typedef itk::Image< short, 3 > MaskImageType
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef mitk::DiffusionPropertyHelper::GradientDirectionsContainerType GradientDirectionContainerType
 
typedef itk::VectorImage< float, 3 > VectorImageType
 
typedef itk::Image< itk::Vector< double, 3 >, 3 > InitialFitImageType
 

Public Member Functions

Pointer Clone () const
 
virtual const char * GetClassName () const
 
void SetInitialSolution (const vnl_vector< double > &x0)
 
void SetOmitUnweightedValue (bool flag)
 
KurtosisSnapshot GetSnapshot (const itk::VariableLengthVector< TInputPixelType > &input, vnl_vector< double > bvalues, KurtosisFitConfiguration kf_conf)
 
KurtosisSnapshot GetSnapshot (const itk::VariableLengthVector< TInputPixelType > &input, GradientDirectionContainerType::Pointer, float bvalue, KurtosisFitConfiguration kf_conf)
 
KurtosisSnapshot GetCurrentSnapshot (bool omit_bzero)
 
void SetReferenceBValue (double bvalue)
 
void SetGradientDirections (GradientDirectionContainerType::Pointer gradients)
 
void SetMapOutputRegion (OutputImageRegionType region)
 
void SetImageMask (MaskImageType::Pointer mask)
 
void SetSmoothingSigma (double sigma)
 
void SetUseSmoothingPriorToFitting (bool flag)
 
void SetBoundariesForKurtosis (double lower, double upper)
 
void SetMaximalBValueUsedForFitting (double max_bvalue)
 
void SetFittingScale (FitScale scale)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 DiffusionKurtosisReconstructionImageFilter ()
 
virtual ~DiffusionKurtosisReconstructionImageFilter ()
 
void GenerateOutputInformation () override
 
void AfterThreadedGenerateData () override
 
void BeforeThreadedGenerateData () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 

Protected Attributes

double m_ReferenceBValue
 
vnl_vector< double > m_BValues
 
vnl_vector< double > m_InitialPosition
 
bool m_OmitBZero
 
OutputImageRegionType m_MapOutputRegion
 
MaskImageType::Pointer m_MaskImage
 
InputImageType::Pointer m_ProcessedInputImage
 
bool m_ApplyPriorSmoothing
 
double m_SmoothingSigma
 
bool m_UseKBounds
 
vnl_vector_fixed< double, 2 > m_KurtosisBounds
 
double m_MaxFitBValue
 
FitScale m_ScaleForFitting
 

Detailed Description

template<class TInputPixelType, class TOutputPixelType>
class itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >

This filter provides the fit of the kurtosis (non-IVIM) signal to the data.

It has two main modes of operation, either as an image filter to compute the D and K maps, i.e. fitting the values to each voxel or a computation on a single voxel or a voxel group (with mask) can be triggered by

See also
GetSnapshot, GetCurrentSnapshot methods.

Definition at line 246 of file itkDiffusionKurtosisReconstructionImageFilter.h.

Member Typedef Documentation

template<class TInputPixelType , class TOutputPixelType >
typedef SmartPointer<const Self> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::ConstPointer
template<class TInputPixelType , class TOutputPixelType >
typedef mitk::DiffusionPropertyHelper::GradientDirectionsContainerType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GradientDirectionContainerType

Holds each magnetic field gradient used to acquire one DWImage

Definition at line 306 of file itkDiffusionKurtosisReconstructionImageFilter.h.

template<class TInputPixelType , class TOutputPixelType >
typedef itk::Image<itk::Vector<double, 3>, 3> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::InitialFitImageType
template<class TInputPixelType , class TOutputPixelType >
typedef Superclass::InputImageType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::InputImageType
template<class TInputPixelType , class TOutputPixelType >
typedef TInputPixelType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::InputPixelType
template<class TInputPixelType , class TOutputPixelType >
typedef itk::Image< short , 3> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::MaskImageType
template<class TInputPixelType , class TOutputPixelType >
typedef Superclass::OutputImageRegionType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::OutputImageRegionType
template<class TInputPixelType , class TOutputPixelType >
typedef Image< OutputPixelType, 3 > itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::OutputImageType
template<class TInputPixelType , class TOutputPixelType >
typedef TOutputPixelType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::OutputPixelType
template<class TInputPixelType , class TOutputPixelType >
typedef SmartPointer<Self> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::Pointer
template<class TInputPixelType , class TOutputPixelType >
typedef DiffusionKurtosisReconstructionImageFilter itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::Self
template<class TInputPixelType , class TOutputPixelType >
typedef ImageToImageFilter< VectorImage< TInputPixelType, 3>, Image< TOutputPixelType,3 > > itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::Superclass
template<class TInputPixelType , class TOutputPixelType >
typedef itk::VectorImage<float,3> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::VectorImageType

Constructor & Destructor Documentation

template<class TInputPixelType , class TOutputPixelType >
virtual itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::~DiffusionKurtosisReconstructionImageFilter ( )
inlineprotectedvirtual

Member Function Documentation

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::AfterThreadedGenerateData ( )
overrideprotected
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::BeforeThreadedGenerateData ( void  )
overrideprotected

Definition at line 170 of file itkDiffusionKurtosisReconstructionImageFilter.cxx.

References mitkThrow, and mitk::New().

template<class TInputPixelType , class TOutputPixelType >
Pointer itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::Clone ( ) const
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GenerateOutputInformation ( )
overrideprotected
template<class TInputPixelType , class TOutputPixelType >
virtual const char* itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GetClassName ( ) const
virtual

Runtime information support.

template<class TInputPixelType , class TOutputPixelType >
KurtosisSnapshot itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GetCurrentSnapshot ( bool  omit_bzero)

Returns the value of the current data presented to the filter.

If a mask is set, the voxels are first averaged before passed to the fitting procedure

template<class TInputPixelType , class TOutputPixelType >
itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::KurtosisSnapshot itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GetSnapshot ( const itk::VariableLengthVector< TInputPixelType > &  input,
vnl_vector< double >  bvalues,
KurtosisFitConfiguration  kf_conf 
)
template<class TInputPixelType , class TOutputPixelType >
itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::KurtosisSnapshot itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::GetSnapshot ( const itk::VariableLengthVector< TInputPixelType > &  input,
GradientDirectionContainerType::Pointer  gradients,
float  bvalue,
KurtosisFitConfiguration  kf_conf 
)

Trigger a single computation of the kurtosis values, first the bvalues vector is computed internally but then also stored into the returend snapshot

Definition at line 274 of file itkDiffusionKurtosisReconstructionImageFilter.cxx.

template<class TInputPixelType , class TOutputPixelType >
static Pointer itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::New ( )
static

Method for creation through the object factory.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetBoundariesForKurtosis ( double  lower,
double  upper 
)
inline
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetFittingScale ( FitScale  scale)
inline

Select the method used in fitting of the data

STRAIHT - fit the exponential signal equation S / S_0 = exp [ ... ] LOGARITHMIC - fit the logarithmic signal equation ln( S / S_0 ) = []

Definition at line 386 of file itkDiffusionKurtosisReconstructionImageFilter.h.

References itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_ScaleForFitting.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetGradientDirections ( GradientDirectionContainerType::Pointer  gradients)

Set the gradient directions

Definition at line 375 of file itkDiffusionKurtosisReconstructionImageFilter.cxx.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetImageMask ( MaskImageType::Pointer  mask)
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetInitialSolution ( const vnl_vector< double > &  x0)

Set the initial solution for fitting, make sure the length and the values correspond to the parameters x0 = ( S_0, ADC_0, AKC_0 ) when also the S_0 is estimated x0 = ( ADC_0, AKC_0 ) when the S_0 is used in fitting

Definition at line 407 of file itkDiffusionKurtosisReconstructionImageFilter.cxx.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetMapOutputRegion ( OutputImageRegionType  region)
inline
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetMaximalBValueUsedForFitting ( double  max_bvalue)
inline

Exclude measurements associated with b-values higher than max_bvalue from fitting

Definition at line 376 of file itkDiffusionKurtosisReconstructionImageFilter.h.

References itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_MaxFitBValue.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetOmitUnweightedValue ( bool  flag)
inline

Set whether the S_0 value is fitted or used in fitting

Definition at line 320 of file itkDiffusionKurtosisReconstructionImageFilter.h.

References itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_OmitBZero.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetReferenceBValue ( double  bvalue)
inline
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetSmoothingSigma ( double  sigma)
inline
template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::SetUseSmoothingPriorToFitting ( bool  flag)
inline

Activate/Deactivate the gaussian smoothing applied to the input prior to fitting ( default = off )

Definition at line 362 of file itkDiffusionKurtosisReconstructionImageFilter.h.

References itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_ApplyPriorSmoothing.

template<class TInputPixelType , class TOutputPixelType >
void itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotected

Member Data Documentation

template<class TInputPixelType , class TOutputPixelType >
vnl_vector<double> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_BValues
protected
template<class TInputPixelType , class TOutputPixelType >
vnl_vector<double> itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_InitialPosition
protected
template<class TInputPixelType , class TOutputPixelType >
OutputImageRegionType itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_MapOutputRegion
protected
template<class TInputPixelType , class TOutputPixelType >
MaskImageType::Pointer itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_MaskImage
protected
template<class TInputPixelType , class TOutputPixelType >
double itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_MaxFitBValue
protected
template<class TInputPixelType , class TOutputPixelType >
bool itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_OmitBZero
protected
template<class TInputPixelType , class TOutputPixelType >
InputImageType::Pointer itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_ProcessedInputImage
protected
template<class TInputPixelType , class TOutputPixelType >
double itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_ReferenceBValue
protected
template<class TInputPixelType , class TOutputPixelType >
FitScale itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_ScaleForFitting
protected
template<class TInputPixelType , class TOutputPixelType >
double itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_SmoothingSigma
protected
template<class TInputPixelType , class TOutputPixelType >
bool itk::DiffusionKurtosisReconstructionImageFilter< TInputPixelType, TOutputPixelType >::m_UseKBounds
protected

The documentation for this class was generated from the following files: