00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef _itkDemonsRegistrationFilter_h_
00018
#define _itkDemonsRegistrationFilter_h_
00019
00020
#include "itkPDEDeformableRegistrationFilter.h"
00021
#include "itkDemonsRegistrationFunction.h"
00022
00023
namespace itk {
00024
00060
template<
class TFixedImage,
class TMovingImage,
class TDeformationField>
00061 class ITK_EXPORT DemonsRegistrationFilter :
00062
public PDEDeformableRegistrationFilter< TFixedImage, TMovingImage,
00063 TDeformationField>
00064 {
00065
public:
00067 typedef DemonsRegistrationFilter
Self;
00068
typedef PDEDeformableRegistrationFilter<
00069 TFixedImage, TMovingImage,TDeformationField>
Superclass;
00070 typedef SmartPointer<Self> Pointer;
00071 typedef SmartPointer<const Self> ConstPointer;
00072
00074
itkNewMacro(
Self);
00075
00077
itkTypeMacro( DemonsRegistrationFilter,
00078
PDEDeformableRegistrationFilter );
00079
00081 typedef typename Superclass::FixedImageType
FixedImageType;
00082 typedef typename Superclass::FixedImagePointer
FixedImagePointer;
00083
00085 typedef typename Superclass::MovingImageType
MovingImageType;
00086 typedef typename Superclass::MovingImagePointer
MovingImagePointer;
00087
00089
typedef typename Superclass::DeformationFieldType
00090 DeformationFieldType;
00091
typedef typename Superclass::DeformationFieldPointer
00092 DeformationFieldPointer;
00093
00095
typedef typename Superclass::FiniteDifferenceFunctionType
00096 FiniteDifferenceFunctionType;
00097
00099
typedef DemonsRegistrationFunction<
FixedImageType,
MovingImageType,
00100 DeformationFieldType>
DemonsRegistrationFunctionType;
00101
00102
protected:
00103 DemonsRegistrationFilter();
00104 ~DemonsRegistrationFilter() {}
00105 void PrintSelf(std::ostream& os,
Indent indent)
const
00106
{
Superclass::PrintSelf( os, indent ); }
00107
00109
virtual void InitializeIteration();
00110
00111
private:
00112 DemonsRegistrationFilter(
const Self&);
00113
void operator=(
const Self&);
00114
00115 };
00116
00117
00118 }
00119
00120
#ifndef ITK_MANUAL_INSTANTIATION
00121
#include "itkDemonsRegistrationFilter.txx"
00122
#endif
00123
00124
#endif