NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage > Class Template Reference

Calculate the boundary shift integral. More...

Inheritance diagram for itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >:
Inheritance graph
[legend]
Collaboration diagram for itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >:
Collaboration graph
[legend]

Public Types

typedef
BoundaryShiftIntegralCalculator 
Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImage::Pointer TInputImagePointer
 
typedef TInputMask::Pointer TInputMaskPointer
 
typedef itk::Image< int, 3 > IntImageType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual double GetBoundaryShiftIntegral ()
 
virtual void SetBaselineImage (TInputImagePointer _arg)
 
virtual void SetBaselineMask (TInputMaskPointer _arg)
 
virtual void SetRepeatImage (TInputImagePointer _arg)
 
virtual void SetRepeatMask (TInputMaskPointer _arg)
 
virtual void SetNumberOfErosion (unsigned int _arg)
 
virtual void SetNumberOfDilation (unsigned int _arg)
 
virtual void SetNumberOfSubROIDilation (unsigned int _arg)
 
virtual void SetSubROIMask (TInputMaskPointer _arg)
 
virtual void SetUpperCutoffValue (double _arg)
 
virtual void SetLowerCutoffValue (double _arg)
 
virtual void SetBaselineIntensityNormalisationFactor (double _arg)
 
virtual void SetRepeatIntensityNormalisationFactor (double _arg)
 
virtual void SetPaddingValue (typename TInputMask::PixelType _arg)
 
virtual TInputMaskPointer GetBSIMask ()
 
virtual void SetBSIMask (TInputMaskPointer _arg)
 
virtual TOutputImage::Pointer GetBSIMap ()
 
virtual TInputImagePointer GetBSIMapSIENAStyle ()
 
virtual TInputImagePointer GetXORMap ()
 
virtual void SetProbabilisticBSI (unsigned int _arg)
 
virtual void Compute (void)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 

Static Public Member Functions

static Pointer New ()
 
static void PerformLinearRegression (const std::vector< double > &x, const std::vector< double > &y, double *slope, double *intercept)
 

Protected Member Functions

 BoundaryShiftIntegralCalculator ()
 
virtual ~BoundaryShiftIntegralCalculator ()
 
virtual void ComputeBSIMask (void)
 
virtual void ComputeGBSIMask (void)
 
virtual void ComputeLedigMask (void)
 
virtual void IntegrateOverBSIMask (void) throw (ExceptionObject)
 
void ComputeErodedIntersectMask (void)
 
void ComputeDilatedUnionMask (void)
 
void ComputePORandPANDMask (void)
 
void ComputePORandPANDMaskLedig (void)
 

Protected Attributes

double m_BoundaryShiftIntegral
 
TInputImagePointer m_BaselineImage
 
TInputMaskPointer m_BaselineMask
 
TInputImagePointer m_RepeatImage
 
TInputMaskPointer m_RepeatMask
 
unsigned int m_NumberOfSubROIDilation
 
TInputMaskPointer m_SubROIMask
 
unsigned int m_NumberOfErosion
 
IntImageType::Pointer m_ErodedIntersectMask
 
unsigned int m_NumberOfDilation
 
IntImageType::Pointer m_DilatedUnionMask
 
TInputMask::PixelType m_PaddingValue
 
TInputMaskPointer m_BSIMask
 
double m_UpperCutoffValue
 
double m_LowerCutoffValue
 
double m_BaselineIntensityNormalisationFactor
 
double m_RepeatIntensityNormalisationFactor
 
TOutputImage::Pointer m_BSIMap
 
TInputImagePointer m_BSIMapSIENAStyle
 
TInputImagePointer m_XORMap
 
unsigned int m_ProbabilisticBSI
 
IntImageType::Pointer m_BaselineMaskInt
 
IntImageType::Pointer m_RepeatMaskInt
 
IntImageType::Pointer m_PORMaskInt
 
IntImageType::Pointer m_PANDMaskInt
 
TInputMaskPointer m_POR
 
TInputMaskPointer m_PAND
 

Detailed Description

template<class TInputImage, class TInputMask, class TOutputImage>
class itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >

Calculate the boundary shift integral.

See the following paper for details: Freeborough PA and Fox NC, The boundary shift integral: an accurate and robust measure of cerebral volume changes from registered repeat MRI, IEEE Trans Med Imaging. 1997 Oct;16(5):623-9.

Member Typedef Documentation

template<class TInputImage , class TInputMask , class TOutputImage >
typedef SmartPointer<const Self> itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ConstPointer
template<class TInputImage , class TInputMask , class TOutputImage >
typedef itk::Image<int, 3> itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::IntImageType
template<class TInputImage , class TInputMask , class TOutputImage >
typedef SmartPointer<Self> itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::Pointer
template<class TInputImage , class TInputMask , class TOutputImage >
typedef BoundaryShiftIntegralCalculator itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::Self

House keeping for the object factory.

template<class TInputImage , class TInputMask , class TOutputImage >
typedef Object itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::Superclass
template<class TInputImage , class TInputMask , class TOutputImage >
typedef TInputImage::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::TInputImagePointer

Typedef the TInputImage::Pointer.

template<class TInputImage , class TInputMask , class TOutputImage >
typedef TInputMask::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::TInputMaskPointer

Constructor & Destructor Documentation

template<class TInputImage , class TInputMask , class TOutputImage >
itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::BoundaryShiftIntegralCalculator ( )
protected
template<class TInputImage , class TInputMask , class TOutputImage >
virtual itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::~BoundaryShiftIntegralCalculator ( )
protectedvirtual

Member Function Documentation

template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::Compute ( void  )
virtual

Compute the BSI.

template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputeBSIMask ( void  )
protectedvirtual

Compute the mask that is used for the BSI integration.

template<class TInputImage , class TInputMask , class TOutputImage >
void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputeDilatedUnionMask ( void  )
protected

Compute the dilated union mask by

  1. union the input baseline and repeat masks.
  2. dilate the union.
template<class TInputImage , class TInputMask , class TOutputImage >
void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputeErodedIntersectMask ( void  )
protected

Compute the eroded intersect mask by

  1. intesect the input baseline and repeat masks.
  2. erode the intersection.
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputeGBSIMask ( void  )
protectedvirtual

Compute the mask that is used for the PBSI integration.

template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputeLedigMask ( void  )
protectedvirtual

Compute the mask that is used for the PBSI Ledig integration.

template<class TInputImage , class TInputMask , class TOutputImage >
void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputePORandPANDMask ( void  )
protected
template<class TInputImage , class TInputMask , class TOutputImage >
void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::ComputePORandPANDMaskLedig ( void  )
protected
template<class TInputImage , class TInputMask , class TOutputImage >
virtual double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetBoundaryShiftIntegral ( )
virtual

Macros for setting the input images and masks.

template<class TInputImage , class TInputMask , class TOutputImage >
virtual TOutputImage::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetBSIMap ( )
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetBSIMapSIENAStyle ( )
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetBSIMask ( )
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual const char* itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetClassName ( ) const
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::GetXORMap ( )
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::IntegrateOverBSIMask ( void  )
throw (ExceptionObject
)
protectedvirtual

Compute the BSI value by integrating the over the BSI mask.

Exceptions
ExceptionObjectif the lower cut off vakye is not smaller than the

Reimplemented in itk::DoubleWindowBoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >.

template<class TInputImage , class TInputMask , class TOutputImage >
static Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::New ( )
static

Method for creation through the object factory.

template<class TInputImage , class TInputMask , class TOutputImage >
static void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::PerformLinearRegression ( const std::vector< double > &  x,
const std::vector< double > &  y,
double *  slope,
double *  intercept 
)
inlinestatic

Calculate the simple linear regression between x and y.

template<class TInputImage , class TInputMask , class TOutputImage >
void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
override
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetBaselineImage ( TInputImagePointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetBaselineIntensityNormalisationFactor ( double  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetBaselineMask ( TInputMaskPointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetBSIMask ( TInputMaskPointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetLowerCutoffValue ( double  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetNumberOfDilation ( unsigned int  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetNumberOfErosion ( unsigned int  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetNumberOfSubROIDilation ( unsigned int  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetPaddingValue ( typename TInputMask::PixelType  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetProbabilisticBSI ( unsigned int  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetRepeatImage ( TInputImagePointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetRepeatIntensityNormalisationFactor ( double  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetRepeatMask ( TInputMaskPointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetSubROIMask ( TInputMaskPointer  _arg)
virtual
template<class TInputImage , class TInputMask , class TOutputImage >
virtual void itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::SetUpperCutoffValue ( double  _arg)
virtual

Member Data Documentation

template<class TInputImage , class TInputMask , class TOutputImage >
TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BaselineImage
protected

The input baseline image for BSI calculation.

template<class TInputImage , class TInputMask , class TOutputImage >
double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BaselineIntensityNormalisationFactor
protected

Baseline intensity normalisation factor - the basseline image intensity will be divided by this factor.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BaselineMask
protected

The input baseline mask for BSI calculation.

template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BaselineMaskInt
protected
template<class TInputImage , class TInputMask , class TOutputImage >
double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BoundaryShiftIntegral
protected

The boundary shift integral value.

template<class TInputImage , class TInputMask , class TOutputImage >
TOutputImage::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BSIMap
protected

A map of BSI values.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BSIMapSIENAStyle
protected

A map of BSI values in SIENA Style.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_BSIMask
protected

The BSI mask, with 0 and 1, which the integration will be done.

template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_DilatedUnionMask
protected

The binary dilated intersect mask, with 0 and 1, from the input baseline and repeat masks.

template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_ErodedIntersectMask
protected

The binary eroded intersect mask, with 0 and 1, from the input baseline and repeat masks.

template<class TInputImage , class TInputMask , class TOutputImage >
double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_LowerCutoffValue
protected

Lower cutoff value for the normalised intensity. Default: 0.75.

template<class TInputImage , class TInputMask , class TOutputImage >
unsigned int itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_NumberOfDilation
protected

The number of dilation applied to the union mask.

template<class TInputImage , class TInputMask , class TOutputImage >
unsigned int itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_NumberOfErosion
protected

The number of erosion applied to the intersect mask.

template<class TInputImage , class TInputMask , class TOutputImage >
unsigned int itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_NumberOfSubROIDilation
protected

The number of dilation applied to the sub ROI.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputMask::PixelType itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_PaddingValue
protected

The padding/background value in all the input masks.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_PAND
protected
template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_PANDMaskInt
protected
template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_POR
protected
template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_PORMaskInt
protected
template<class TInputImage , class TInputMask , class TOutputImage >
unsigned int itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_ProbabilisticBSI
protected

Compute probabilistic mask

template<class TInputImage , class TInputMask , class TOutputImage >
TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_RepeatImage
protected

The input repeat image for BSI calculation.

template<class TInputImage , class TInputMask , class TOutputImage >
double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_RepeatIntensityNormalisationFactor
protected

Repeat intensity normalisation factor - the repeat image intensity will be divided by this factor.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_RepeatMask
protected

The input repeat mask for BSI calculation.

template<class TInputImage , class TInputMask , class TOutputImage >
IntImageType::Pointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_RepeatMaskInt
protected
template<class TInputImage , class TInputMask , class TOutputImage >
TInputMaskPointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_SubROIMask
protected

Sub ROI used to apply to the boundary BSI mask before cal.

template<class TInputImage , class TInputMask , class TOutputImage >
double itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_UpperCutoffValue
protected

Upper cutoff value for the normalised intensity. Default: 0.25.

template<class TInputImage , class TInputMask , class TOutputImage >
TInputImagePointer itk::BoundaryShiftIntegralCalculator< TInputImage, TInputMask, TOutputImage >::m_XORMap
protected

A map of XOR values.


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