Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes

mitk::LandmarkWarping Class Reference

#include <mitkLandmarkWarping.h>

List of all members.

Classes

class  Observer

Public Types

typedef float VectorComponentType
typedef itk::Vector
< VectorComponentType,
Dimension
VectorType
typedef itk::Image< VectorType,
Dimension
DeformationFieldType
typedef unsigned char PixelType
typedef itk::Image< PixelType,
Dimension
FixedImageType
typedef itk::Image< PixelType,
Dimension
MovingImageType
typedef
itk::DeformationFieldSource
< DeformationFieldType
DeformationSourceType
typedef
DeformationSourceType::LandmarkContainerPointer 
LandmarkContainerPointer
typedef
DeformationSourceType::LandmarkContainer 
LandmarkContainerType
typedef
DeformationSourceType::LandmarkPointType 
LandmarkPointType
typedef itk::WarpImageFilter
< MovingImageType,
MovingImageType,
DeformationFieldType
FilterType

Public Member Functions

 LandmarkWarping ()
 ~LandmarkWarping ()
void SetFixedImage (FixedImageType::Pointer fi)
void SetMovingImage (MovingImageType::Pointer mi)
void SetLandmarks (LandmarkContainerType::Pointer source, LandmarkContainerType::Pointer target)
MovingImageType::Pointer Register ()
LandmarkContainerType::Pointer GetTransformedTargetLandmarks ()

Public Attributes

FixedImageType::Pointer m_FixedImage
MovingImageType::Pointer m_MovingImage
DeformationSourceType::Pointer m_Deformer
DeformationSourceType::Pointer m_LandmarkDeformer
LandmarkWarping::LandmarkContainerType::Pointer m_TargetLandmarks
LandmarkWarping::LandmarkContainerType::Pointer m_SourceLandmarks
FilterType::Pointer m_Warper
DeformationFieldType::ConstPointer m_DeformationField
DeformationFieldType::ConstPointer m_InverseDeformationField

Static Public Attributes

static const unsigned int Dimension = 3

Protected Attributes

Observer::Pointer m_Observer

Detailed Description

Definition at line 28 of file mitkLandmarkWarping.h.


Member Typedef Documentation

Definition at line 40 of file mitkLandmarkWarping.h.

Definition at line 46 of file mitkLandmarkWarping.h.

Definition at line 50 of file mitkLandmarkWarping.h.

Definition at line 44 of file mitkLandmarkWarping.h.

typedef DeformationSourceType::LandmarkContainerPointer mitk::LandmarkWarping::LandmarkContainerPointer

Definition at line 47 of file mitkLandmarkWarping.h.

typedef DeformationSourceType::LandmarkContainer mitk::LandmarkWarping::LandmarkContainerType

Definition at line 48 of file mitkLandmarkWarping.h.

typedef DeformationSourceType::LandmarkPointType mitk::LandmarkWarping::LandmarkPointType

Definition at line 49 of file mitkLandmarkWarping.h.

Definition at line 45 of file mitkLandmarkWarping.h.

typedef unsigned char mitk::LandmarkWarping::PixelType

Definition at line 43 of file mitkLandmarkWarping.h.

Definition at line 36 of file mitkLandmarkWarping.h.

Definition at line 38 of file mitkLandmarkWarping.h.


Constructor & Destructor Documentation

mitk::LandmarkWarping::LandmarkWarping (  )

Definition at line 20 of file mitkLandmarkWarping.cpp.

References m_Deformer, and m_LandmarkDeformer.

{
  m_Deformer = DeformationSourceType::New();
  m_LandmarkDeformer = DeformationSourceType::New();
}
mitk::LandmarkWarping::~LandmarkWarping (  )

Definition at line 26 of file mitkLandmarkWarping.cpp.

{
}

Member Function Documentation

mitk::LandmarkWarping::LandmarkContainerType::Pointer mitk::LandmarkWarping::GetTransformedTargetLandmarks (  )

Definition at line 113 of file mitkLandmarkWarping.cpp.

Referenced by QmitkPointBasedRegistrationView::calculateLandmarkWarping().

{
  LandmarkContainerType::Pointer landmarks = LandmarkContainerType::New();
  LandmarkWarping::LandmarkPointType transformedTargetPoint;

  for(unsigned int pointId=0; pointId<m_TargetLandmarks->Size();++pointId)
  {
    LandmarkWarping::LandmarkPointType targetPoint=m_TargetLandmarks->GetElement(pointId);
    transformedTargetPoint  = m_LandmarkDeformer->GetKernelTransform()->TransformPoint(targetPoint);
    landmarks->InsertElement(pointId, transformedTargetPoint );
  }
  return landmarks;
}
mitk::LandmarkWarping::MovingImageType::Pointer mitk::LandmarkWarping::Register (  )

Definition at line 56 of file mitkLandmarkWarping.cpp.

References mitk::ProgressBar::AddStepsToDo(), and mitk::ProgressBar::GetInstance().

Referenced by QmitkPointBasedRegistrationView::calculateLandmarkWarping().

{
  try
  {
    m_Observer = Observer::New();
    unsigned long obs = m_Deformer->AddObserver(itk::ProgressEvent(), m_Observer);
    mitk::ProgressBar::GetInstance()->AddStepsToDo(120);
    m_Deformer->UpdateLargestPossibleRegion();
    m_Deformer->RemoveObserver(obs);
  }
  catch( itk::ExceptionObject & excp )
  {
    std::cerr << "Exception thrown " << std::endl;
    std::cerr << excp << std::endl;
    return NULL;
  }

  try
  {
    unsigned long obs2 = m_LandmarkDeformer->AddObserver(itk::ProgressEvent(), m_Observer);
    m_LandmarkDeformer->UpdateLargestPossibleRegion();
    m_LandmarkDeformer->RemoveObserver(obs2);
  }
  catch( itk::ExceptionObject & excp )
  {
    std::cerr << "Exception thrown " << std::endl;
    std::cerr << excp << std::endl;
    return NULL;
  }

  m_DeformationField = m_Deformer->GetOutput();
  m_InverseDeformationField = m_LandmarkDeformer->GetOutput();

  m_Warper = FilterType::New();

  typedef itk::LinearInterpolateImageFunction< 
                       MovingImageType, double >  InterpolatorType;

  InterpolatorType::Pointer interpolator = InterpolatorType::New();

  m_Warper->SetInterpolator( interpolator );


  m_Warper->SetOutputSpacing( m_DeformationField->GetSpacing() );
  m_Warper->SetOutputOrigin(  m_DeformationField->GetOrigin() );

  m_Warper->SetDeformationField( m_DeformationField );

  m_Warper->SetInput( m_MovingImage );

  unsigned long obs3 = m_Warper->AddObserver(itk::ProgressEvent(), m_Observer);
  m_Warper->UpdateLargestPossibleRegion();
  m_Warper->RemoveObserver(obs3);  

  return m_Warper->GetOutput();
}
void mitk::LandmarkWarping::SetFixedImage ( FixedImageType::Pointer  fi )

Definition at line 30 of file mitkLandmarkWarping.cpp.

Referenced by QmitkPointBasedRegistrationView::calculateLandmarkWarping().

{
  m_FixedImage = fixedImage;
  m_Deformer->SetOutputSpacing( m_FixedImage->GetSpacing() );
  m_Deformer->SetOutputOrigin(  m_FixedImage->GetOrigin() );
  m_Deformer->SetOutputRegion(  m_FixedImage->GetLargestPossibleRegion() );
}
void mitk::LandmarkWarping::SetLandmarks ( LandmarkContainerType::Pointer  source,
LandmarkContainerType::Pointer  target 
)

Definition at line 46 of file mitkLandmarkWarping.cpp.

Referenced by QmitkPointBasedRegistrationView::calculateLandmarkWarping().

{
  m_SourceLandmarks = source;
  m_TargetLandmarks = target;
  m_Deformer->SetSourceLandmarks( source );
  m_Deformer->SetTargetLandmarks( target );
  m_LandmarkDeformer->SetSourceLandmarks( target );
  m_LandmarkDeformer->SetTargetLandmarks( source );
}
void mitk::LandmarkWarping::SetMovingImage ( MovingImageType::Pointer  mi )

Definition at line 38 of file mitkLandmarkWarping.cpp.

Referenced by QmitkPointBasedRegistrationView::calculateLandmarkWarping().

{
  m_MovingImage = movingImage;
  m_LandmarkDeformer->SetOutputSpacing( m_MovingImage->GetSpacing() );
  m_LandmarkDeformer->SetOutputOrigin(  m_MovingImage->GetOrigin() );
  m_LandmarkDeformer->SetOutputRegion(  m_MovingImage->GetLargestPossibleRegion() );
}

Member Data Documentation

const unsigned int mitk::LandmarkWarping::Dimension = 3 [static]

Definition at line 35 of file mitkLandmarkWarping.h.

DeformationFieldType::ConstPointer mitk::LandmarkWarping::m_DeformationField

Definition at line 59 of file mitkLandmarkWarping.h.

DeformationSourceType::Pointer mitk::LandmarkWarping::m_Deformer

Definition at line 54 of file mitkLandmarkWarping.h.

Referenced by LandmarkWarping().

FixedImageType::Pointer mitk::LandmarkWarping::m_FixedImage

Definition at line 52 of file mitkLandmarkWarping.h.

DeformationFieldType::ConstPointer mitk::LandmarkWarping::m_InverseDeformationField

Definition at line 60 of file mitkLandmarkWarping.h.

DeformationSourceType::Pointer mitk::LandmarkWarping::m_LandmarkDeformer

Definition at line 55 of file mitkLandmarkWarping.h.

Referenced by LandmarkWarping().

MovingImageType::Pointer mitk::LandmarkWarping::m_MovingImage

Definition at line 53 of file mitkLandmarkWarping.h.

Definition at line 111 of file mitkLandmarkWarping.h.

LandmarkWarping::LandmarkContainerType::Pointer mitk::LandmarkWarping::m_SourceLandmarks

Definition at line 57 of file mitkLandmarkWarping.h.

LandmarkWarping::LandmarkContainerType::Pointer mitk::LandmarkWarping::m_TargetLandmarks

Definition at line 56 of file mitkLandmarkWarping.h.

FilterType::Pointer mitk::LandmarkWarping::m_Warper

Definition at line 58 of file mitkLandmarkWarping.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines