Orfeo Toolbox  3.20
itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage > Class Template Reference

FEM Image registration filter. The image registration problem is modeled here with the finite element method. Image registration is, in general, an ill-posed problem. Thus, we use an optimization scheme where the optimization criterion is given by a regularized variational energy. The variational energy arises from modeling the image as a physical body on which external forces act. The body is allowed to deform so as to minimize the applied force. The resistance of the physical body to deformation, determined by the physics associated with the body, serves to regularize the solution. The forces applied to the body are, generally, highly non-linear and so the body is allowed to deform slowly and incrementally. The direction it deforms follows the gradient of the potential energy (the force) we define. The potential energies we may choose from are given by the itk image-to-image metrics. The choices and the associated direction of descent are : Mean Squares (minimize), Normalized Cross-Correlation (maximize) Mutual Information (maximize). Note that we have to set the direction (SetDescentDirection) when we choose a metric. The forces driving the problem may also be given by user-supplied landmarks. The corners of the image, in this example, are always pinned. This example is designed for 2D or 3D images. A rectilinear mesh is generated automatically given the correct element type (Quadrilateral or Hexahedral). Our specific Solver for this example uses trapezoidal time stepping. This is a method for solving a second-order PDE in time. The solution is penalized by the zeroth (mass matrix) and first derivatives (stiffness matrix) of the shape functions. There is an option to perform a line search on the energy after each iteration. Optimal parameter settings require experimentation. The following approach tends to work well : Choose the relative size of density to elasticity (e.g. Rho / E ~= 1.) such that the image deforms locally and slowly. This also affects the stability of the solution. Choose the time step to control the size of the deformation at each step. Choose enough iterations to allow the solution to converge (this may be automated). More...

`#include <itkFEMRegistrationFilter.h>`

Inheritance diagram for itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >:
Collaboration diagram for itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >:

class  FEMOF

## Public Types

typedef SmartPointer< const SelfConstPointer

typedef double CoordRepType

typedef DataObject::Pointer DataObjectPointer

typedef std::vector
< DataObjectPointer
DataObjectPointerArray

typedef
DataObjectPointerArray::size_type
DataObjectPointerArraySizeType

typedef
VectorLinearInterpolateImageFunction
< FieldType, CoordRepType
DefaultInterpolatorType

typedef
itk::VectorExpandImageFilter
< FieldType, FieldType
ExpanderType

typedef
ExpanderType::ExpandFactorsType
ExpandFactorsType

typedef
itk::ImageRegionIteratorWithIndex
< FieldType
FieldIterator

typedef itk::Image< VectorType,
itkGetStaticConstMacro(ImageDimension)>
FieldType

typedef TFixedImage FixedImageType

typedef
itk::RecursiveMultiResolutionPyramidImageFilter
< FixedImageType,
FixedImageType
FixedPyramidType

typedef double Float

typedef
itk::ImageRegionIteratorWithIndex
< FloatImageType
FloatImageIterator

typedef Image< float,
itkGetStaticConstMacro(ImageDimension) >
FloatImageType

typedef
itk::ImageRegionIteratorWithIndex
< FixedImageType
ImageIterator

typedef
< MovingImageType,
FixedImageType

typedef FixedImageType::SizeType ImageSizeType

typedef
itk::VectorIndexSelectionCastImageFilter
< FieldType, FloatImageType
IndexSelectCasterType

typedef
InputImageType::ConstPointer
InputImageConstPointer

typedef InputImageType::PixelType InputImagePixelType

typedef InputImageType::Pointer InputImagePointer

typedef InputImageType::RegionType InputImageRegionType

typedef TMovingImage InputImageType

typedef InterpolatorType::Pointer InterpolatorPointer

typedef
VectorInterpolateImageFunction
< FieldType, CoordRepType
InterpolatorType

typedef std::vector< typename
LandmarkArrayType

typedef LinearSystemWrapperItpack LinearSystemSolverType

typedef MaterialLinearElasticity MaterialType

typedef
PDEDeformableRegistrationFunction
< FixedImageType,
MovingImageType, FieldType
MetricBaseType

typedef MetricBaseType::Pointer MetricBaseTypePointer

typedef TMovingImage MovingImageType

typedef
Superclass::OutputImagePixelType
OutputImagePixelType

typedef OutputImageType::Pointer OutputImagePointer

typedef
Superclass::OutputImageRegionType
OutputImageRegionType

typedef TFixedImage OutputImageType

typedef FixedImageType::PixelType PixelType

typedef SmartPointer< SelfPointer

typedef FEMRegistrationFilter Self

enum  Sign {
positive = 1,
negative = -1
}

typedef SolverCrankNicolson SolverType

typedef ImageToImageFilter
< TMovingImage, TFixedImage >
Superclass

typedef itk::Vector< float,
itkGetStaticConstMacro(ImageDimension)>
VectorType

typedef itk::WarpImageFilter
< MovingImageType,
FixedImageType, FieldType
WarperType

## Public Member Functions

FEMRegistrationFilter ()

~FEMRegistrationFilter ()

virtual void AbortGenerateDataOff ()

virtual void AbortGenerateDataOn ()

unsigned long AddObserver (const EventObject &event, Command *)

unsigned long AddObserver (const EventObject &event, Command *) const

void ChooseMetric (float whichmetric)

void ComputeJacobian (float sign=1.0, FieldType *field=NULL, float smooth=0.0)

virtual ::itk::LightObject::Pointer CreateAnother (void) const

virtual void DebugOff () const

virtual void DebugOn () const

virtual void Delete ()

void DoLineSearch (unsigned int b)

void DoMultiRes (bool b)

void EmployRegridding (unsigned int b)

void EnforceDiffeomorphism (float thresh, SolverType &S, bool onlywriteimages)

virtual void EnlargeOutputRequestedRegion (DataObject *)

virtual const bool & GetAbortGenerateData ()

CommandGetCommand (unsigned long tag)

std::string GetConfigFileName ()

bool GetDebug () const

FieldTypeGetDeformationField ()

Float GetElasticity (unsigned int which=0)

std::string GetFixedFile ()

FixedImageTypeGetFixedImage ()

ImageSizeType GetImageSize ()

const InputImageTypeGetInput (void)

const InputImageTypeGetInput (unsigned int idx)

DataObjectPointerArrayGetInputs ()

virtual InterpolatorTypeGetInterpolator ()

FloatImageTypeGetJacobianImage ()

MetricBaseTypePointer GetMetric ()

std::string GetMovingFile ()

MovingImageTypeGetMovingImage ()

virtual unsigned long GetMTime () const

virtual const char * GetNameOfClass () const

DataObjectPointerArraySizeType GetNumberOfInputs () const

DataObjectPointerArraySizeType GetNumberOfOutputs () const

virtual const int & GetNumberOfThreads ()

virtual
DataObjectPointerArraySizeType
GetNumberOfValidRequiredInputs () const

MovingImageTypeGetOriginalMovingImage ()

OutputImageTypeGetOutput (void)

OutputImageTypeGetOutput (unsigned int idx)

DataObjectPointerArrayGetOutputs ()

virtual const float & GetProgress ()

virtual int GetReferenceCount () const

virtual const bool & GetReleaseDataBeforeUpdateFlag ()

virtual bool GetReleaseDataFlag () const

std::string GetResultsFileName ()

FixedImageTypeGetWarpedImage ()

unsigned int GetWidthOfMetricRegion (unsigned int which=0)

bool GetWriteDisplacements ()

virtual void GraftNthOutput (unsigned int idx, DataObject *output)

virtual void GraftOutput (DataObject *output)

bool HasObserver (const EventObject &event) const

void InvokeEvent (const EventObject &)

void InvokeEvent (const EventObject &) const

void IterativeSolve (SolverType &S)

virtual DataObjectPointer MakeOutput (unsigned int idx)

virtual void Modified () const

void MultiResSolve ()

virtual void PopBackInput ()

virtual void PopFrontInput ()

virtual void PrepareOutputs ()

void Print (std::ostream &os, Indent indent=0) const

void PrintVectorField (unsigned int modnum=1000)

virtual void PropagateRequestedRegion (DataObject *output)

virtual void PushBackInput (const InputImageType *image)

virtual void PushFrontInput (const InputImageType *image)

virtual void Register () const

virtual void ReleaseDataBeforeUpdateFlagOff ()

virtual void ReleaseDataBeforeUpdateFlagOn ()

void ReleaseDataFlagOff ()

void ReleaseDataFlagOn ()

void RemoveAllObservers ()

void RemoveObserver (unsigned long tag)

virtual void ResetPipeline ()

void RunRegistration (void)

virtual void SetAbortGenerateData (bool _arg)

void SetAlpha (Float a)

void SetConfigFileName (const char *f)

void SetDebug (bool debugFlag) const

void SetDeformationField (FieldType *F)

void SetDescentDirectionMaximize ()

void SetDescentDirectionMinimize ()

void SetDisplacementsFile (const char *r)

void SetElasticity (Float i, unsigned int which=0)

void SetElement (Element::Pointer e)

void SetEnergyReductionFactor (Float i)

void SetFixedFile (const char *t)

void SetFixedImage (FixedImageType *T)

void SetGamma (Float r, unsigned int which=0)

virtual void SetInput (const InputImageType *image)

virtual void SetInput (unsigned int, const TMovingImage *image)

virtual void SetInterpolator (InterpolatorType *_arg)

void SetLandmarkFile (const char *l)

void SetLineSearchMaximumIterations (unsigned int f)

void SetMaterial (MaterialType::Pointer m)

void SetMaximumIterations (unsigned int i, unsigned int which)

void SetMaxLevel (unsigned int i)

void SetMeshPixelsPerElementAtEachResolution (unsigned int i, unsigned int which=0)

void SetMetric (MetricBaseTypePointer MP)

void SetMovingFile (const char *r)

void SetMovingImage (MovingImageType *R)

void SetNumberOfIntegrationPoints (unsigned int i, unsigned int which=0)

void SetNumLevels (unsigned int i)

virtual void SetProgress (float _arg)

virtual void SetReferenceCount (int)

virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)

virtual void SetReleaseDataFlag (bool flag)

void SetResultsFile (const char *r)

void SetResultsFileName (const char *f)

void SetRho (Float r, unsigned int which=0)

void SetTemp (Float i)

void SetTimeStep (Float i)

void SetWidthOfMetricRegion (unsigned int i, unsigned int which=0)

void SetWriteDisplacements (bool b)

virtual void UnRegister () const

virtual void Update ()

virtual void UpdateLargestPossibleRegion ()

virtual void UpdateOutputData (DataObject *output)

virtual void UpdateOutputInformation ()

void UpdateProgress (float amount)

void UseLandmarks (bool b)

void WarpImage (const MovingImageType *R)

int WriteDisplacementField (unsigned int index)

int WriteDisplacementFieldMultiComponent ()

void WriteWarpedImage (const char *fn)

## Static Public Member Functions

static void BreakOnError ()

static bool GetGlobalWarningDisplay ()

static void GlobalWarningDisplayOff ()

static void GlobalWarningDisplayOn ()

static Pointer New ()

static void SetGlobalWarningDisplay (bool flag)

## Static Public Attributes

static const unsigned int ImageDimension = FixedImageType::ImageDimension

static const unsigned int InputImageDimension

static const unsigned int OutputImageDimension

## Protected Types

typedef FieldType::Pointer FieldPointer

typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension)>
InputToOutputRegionCopierType

typedef int InternalReferenceCountType

typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension)>
OutputToInputRegionCopierType

## Protected Member Functions

virtual void AllocateOutputs ()

void ApplyImageLoads (SolverType &S, MovingImageType *i1, FixedImageType *i2)

void ApplyLoads (SolverType &S, ImageSizeType Isz, double *spacing=NULL)

virtual void CacheInputReleaseDataFlags ()

virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)

virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)

void CreateLinearSystemSolver ()

void CreateMesh (double ElementsPerSide, Solver &S, ImageSizeType sz)

Float EvaluateEnergy ()

Float EvaluateResidual (SolverType &mySolver, Float t)

FieldPointer ExpandVectorField (ExpandFactorsType *expandFactors, FieldType *f)

void FindBracketingTriplet (SolverType &mySolver, Float *a, Float *b, Float *c)

virtual void GenerateData ()

virtual void GenerateInputRequestedRegion ()

virtual void GenerateOutputInformation ()

virtual void GenerateOutputRequestedRegion (DataObject *output)

const DataObjectGetInput (unsigned int idx) const

FloatImageTypeGetMetricImage (FieldType *F)

virtual const unsigned int & GetNumberOfRequiredInputs ()

virtual const unsigned int & GetNumberOfRequiredOutputs ()

const DataObjectGetOutput (unsigned int idx) const

Float GoldenSection (SolverType &mySolver, Float tol=0.01, unsigned int MaxIters=25)

void InterpolateVectorField (SolverType &S)

virtual void PrintHeader (std::ostream &os, Indent indent) const

bool PrintObservers (std::ostream &os, Indent indent) const

void PrintSelf (std::ostream &os, Indent indent) const

virtual void PrintTrailer (std::ostream &os, Indent indent) const

virtual void PropagateResetPipeline ()

void PushBackInput (const DataObject *input)

void PushFrontInput (const DataObject *input)

virtual void ReleaseInputs ()

virtual void RemoveInput (DataObject *input)

virtual void RemoveOutput (DataObject *output)

virtual void RestoreInputReleaseDataFlags ()

void SampleVectorFieldAtNodes (SolverType &S)

virtual void SetNthInput (unsigned int num, DataObject *input)

virtual void SetNthOutput (unsigned int num, DataObject *output)

void SetNumberOfInputs (unsigned int num)

void SetNumberOfOutputs (unsigned int num)

virtual void SetNumberOfRequiredInputs (unsigned int _arg)

virtual void SetNumberOfRequiredOutputs (unsigned int _arg)

virtual int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)

## Protected Attributes

TimeStamp m_OutputInformationMTime

InternalReferenceCountType m_ReferenceCount

SimpleFastMutexLock m_ReferenceCountLock

bool m_Updating

## Private Member Functions

FEMRegistrationFilter (const Self &)

void InitializeField ()

void operator= (const Self &)

## Private Attributes

Float m_Alpha

std::string m_ConfigFileName

ImageSizeType m_CurrentImageScaling

unsigned int m_CurrentLevel

FixedImageType::SizeType m_CurrentLevelImageSize

Sign m_DescentDirection

std::string m_DisplacementsFileName

unsigned int m_DoLineSearchOnImageEnergy

bool m_DoMultiRes

Float m_Dt

vnl_vector< Floatm_E

Element::Pointer m_Element

unsigned int m_EmployRegridding

Float m_Energy

Float m_EnergyReductionFactor

FieldType::Pointer m_Field

FieldType::RegionType m_FieldRegion

FieldType::SizeType m_FieldSize

unsigned int m_FileCount

std::string m_FixedFileName

FixedImageType::Pointer m_FixedImage

FloatImageType::Pointer m_FloatImage

ImageSizeType m_FullImageSize

vnl_vector< Floatm_Gamma

ImageSizeType m_ImageOrigin

ImageSizeType m_ImageScaling

InterpolatorPointer m_Interpolator

LandmarkArrayType m_LandmarkArray

std::string m_LandmarkFileName

unsigned int m_LineSearchMaximumIterations

MaterialType::Pointer m_Material

vnl_vector< unsigned int > m_Maxiters

unsigned int m_MaxLevel

std::string m_MeshFileName

unsigned int m_MeshLevels

vnl_vector< unsigned int > m_MeshPixelsPerElementAtEachResolution

unsigned int m_MeshStep

MetricBaseTypePointer m_Metric

vnl_vector< unsigned int > m_MetricWidth

Float m_MinE

Float m_MinJacobian

std::string m_MovingFileName

MovingImageType::Pointer m_MovingImage

vnl_vector< unsigned int > m_NumberOfIntegrationPoints

unsigned int m_NumLevels

MovingImageType::Pointer m_OriginalMovingImage

std::string m_ResultsFileName

vnl_vector< Floatm_Rho

Float m_Temp

FieldType::Pointer m_TotalField

unsigned int m_TotalIterations

bool m_UseLandmarks

bool m_UseMassMatrix

FixedImageType::Pointer m_WarpedImage

WarperType::Pointer m_Warper

unsigned int m_WhichMetric

FixedImageType::IndexType m_Windex

FixedImageType::RegionType m_Wregion

bool m_WriteDisplacementField

## Detailed Description

### template<class TMovingImage, class TFixedImage> class itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >

FEM Image registration filter. The image registration problem is modeled here with the finite element method. Image registration is, in general, an ill-posed problem. Thus, we use an optimization scheme where the optimization criterion is given by a regularized variational energy. The variational energy arises from modeling the image as a physical body on which external forces act. The body is allowed to deform so as to minimize the applied force. The resistance of the physical body to deformation, determined by the physics associated with the body, serves to regularize the solution. The forces applied to the body are, generally, highly non-linear and so the body is allowed to deform slowly and incrementally. The direction it deforms follows the gradient of the potential energy (the force) we define. The potential energies we may choose from are given by the itk image-to-image metrics. The choices and the associated direction of descent are : Mean Squares (minimize), Normalized Cross-Correlation (maximize) Mutual Information (maximize). Note that we have to set the direction (SetDescentDirection) when we choose a metric. The forces driving the problem may also be given by user-supplied landmarks. The corners of the image, in this example, are always pinned. This example is designed for 2D or 3D images. A rectilinear mesh is generated automatically given the correct element type (Quadrilateral or Hexahedral). Our specific Solver for this example uses trapezoidal time stepping. This is a method for solving a second-order PDE in time. The solution is penalized by the zeroth (mass matrix) and first derivatives (stiffness matrix) of the shape functions. There is an option to perform a line search on the energy after each iteration. Optimal parameter settings require experimentation. The following approach tends to work well : Choose the relative size of density to elasticity (e.g. Rho / E ~= 1.) such that the image deforms locally and slowly. This also affects the stability of the solution. Choose the time step to control the size of the deformation at each step. Choose enough iterations to allow the solution to converge (this may be automated).

Reading images is up to the user. Either set the images using SetMoving/FixedImage or see the ReadImages function.

Note
This code works for only 2 or 3 dimensions b/c we do not have > 3D elements.
TODO : Keep the full field around (if using re-gridding). Introduce compensation for kinematic non-linearity in time (if using Eulerian frame).

Definition at line 106 of file itkFEMRegistrationFilter.h.

## Member Typedef Documentation

template<class TMovingImage, class TFixedImage>
 typedef SmartPointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ConstPointer

Definition at line 112 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef double itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::CoordRepType

Typedef support for the interpolation function

Definition at line 152 of file itkFEMRegistrationFilter.h.

 typedef DataObject::Pointer itk::ImageSource< TFixedImage >::DataObjectPointer
inherited

Smart Pointer type to a DataObject.

Definition at line 62 of file itkImageSource.h.

 typedef std::vector itk::ProcessObject::DataObjectPointerArray
inherited

STL Array of SmartPointers to DataObjects

Definition at line 103 of file itkProcessObject.h.

 typedef DataObjectPointerArray::size_type itk::ProcessObject::DataObjectPointerArraySizeType
inherited

Size type of an std::vector

Definition at line 112 of file itkProcessObject.h.

template<class TMovingImage, class TFixedImage>
 typedef VectorLinearInterpolateImageFunction itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::DefaultInterpolatorType

Definition at line 157 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::VectorExpandImageFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ExpanderType

Definition at line 163 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef ExpanderType::ExpandFactorsType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ExpandFactorsType

Definition at line 167 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::ImageRegionIteratorWithIndex itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FieldIterator

Definition at line 147 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef FieldType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FieldPointer
protected

Re-size the vector field (smaller to larger).

Definition at line 530 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::Image itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FieldType

Definition at line 141 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef TFixedImage itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FixedImageType

Definition at line 121 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::RecursiveMultiResolutionPyramidImageFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FixedPyramidType

Definition at line 170 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef double itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::Float

Definition at line 133 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::ImageRegionIteratorWithIndex itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FloatImageIterator

Definition at line 146 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef Image< float, itkGetStaticConstMacro(ImageDimension) > itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FloatImageType

Definition at line 129 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::ImageRegionIteratorWithIndex itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ImageIterator

Definition at line 145 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>

Instantiate the load class with the correct image type.

Definition at line 179 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef FixedImageType::SizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ImageSizeType

Definition at line 123 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::VectorIndexSelectionCastImageFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::IndexSelectCasterType

Definition at line 149 of file itkFEMRegistrationFilter.h.

 typedef InputImageType::ConstPointer itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImageConstPointer
inherited

Definition at line 84 of file itkImageToImageFilter.h.

 typedef InputImageType::PixelType itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImagePixelType
inherited

Definition at line 86 of file itkImageToImageFilter.h.

 typedef InputImageType::Pointer itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImagePointer
inherited

Definition at line 83 of file itkImageToImageFilter.h.

 typedef InputImageType::RegionType itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImageRegionType
inherited

Definition at line 85 of file itkImageToImageFilter.h.

 typedef TMovingImage itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImageType
inherited

Some convenient typedefs.

Definition at line 82 of file itkImageToImageFilter.h.

 typedef ImageToImageFilterDetail::ImageRegionCopier itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputToOutputRegionCopierType
protectedinherited

Typedef for the region copier function object that converts an input region to an output region.

Definition at line 161 of file itkImageToImageFilter.h.

 typedef int itk::LightObject::InternalReferenceCountType
protectedinherited

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 137 of file itkLightObject.h.

template<class TMovingImage, class TFixedImage>
 typedef InterpolatorType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::InterpolatorPointer

Definition at line 155 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef VectorInterpolateImageFunction itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::InterpolatorType

Definition at line 154 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef std::vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::LandmarkArrayType

Definition at line 137 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef LinearSystemWrapperItpack itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::LinearSystemSolverType

Definition at line 130 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>

Definition at line 134 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef MaterialLinearElasticity itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MaterialType

Definition at line 144 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef PDEDeformableRegistrationFunction itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MetricBaseType

Definition at line 181 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef MetricBaseType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MetricBaseTypePointer

Definition at line 183 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef TMovingImage itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MovingImageType

Definition at line 118 of file itkFEMRegistrationFilter.h.

 typedef Superclass::OutputImagePixelType itk::ImageToImageFilter< TMovingImage , TFixedImage >::OutputImagePixelType
inherited

Definition at line 79 of file itkImageToImageFilter.h.

 typedef OutputImageType::Pointer itk::ImageSource< TFixedImage >::OutputImagePointer
inherited

Definition at line 69 of file itkImageSource.h.

 typedef Superclass::OutputImageRegionType itk::ImageToImageFilter< TMovingImage , TFixedImage >::OutputImageRegionType
inherited

Superclass typedefs.

Definition at line 75 of file itkImageToImageFilter.h.

 typedef TFixedImage itk::ImageSource< TFixedImage >::OutputImageType
inherited

Some convenient typedefs.

Definition at line 65 of file itkImageSource.h.

 typedef ImageToImageFilterDetail::ImageRegionCopier itk::ImageToImageFilter< TMovingImage , TFixedImage >::OutputToInputRegionCopierType
protectedinherited

Typedef for the region copier function object that converts an output region to an input region.

Definition at line 166 of file itkImageToImageFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef FixedImageType::PixelType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::PixelType

Definition at line 122 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef SmartPointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::Pointer

Definition at line 111 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef FEMRegistrationFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::Self

Definition at line 109 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef SolverCrankNicolson itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SolverType

Definition at line 131 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef ImageToImageFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::Superclass

Definition at line 110 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::Vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::VectorType

Definition at line 139 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 typedef itk::WarpImageFilter itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WarperType

Definition at line 143 of file itkFEMRegistrationFilter.h.

## Member Enumeration Documentation

template<class TMovingImage, class TFixedImage>
Enumerator
positive
negative

Definition at line 132 of file itkFEMRegistrationFilter.h.

## Constructor & Destructor Documentation

template<class TMovingImage , class TFixedImage >
 itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FEMRegistrationFilter ( )

de/constructor

Definition at line 55 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::~FEMRegistrationFilter ( )

Definition at line 49 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage, class TFixedImage>
 itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FEMRegistrationFilter ( const Self & )
private

## Member Function Documentation

 virtual void itk::ProcessObject::AbortGenerateDataOff ( )
virtualinherited
 virtual void itk::ProcessObject::AbortGenerateDataOn ( )
virtualinherited

Turn on and off the AbortGenerateData flag.

 void itk::ProcessObject::AddInput ( DataObject * input )
protectedvirtualinherited

Adds an input to the first null position in the input list. Expands the list memory if necessary

Definition at line 144 of file itkProcessObject.cxx.

 unsigned long itk::Object::AddObserver ( const EventObject & event, Command * cmd )
inherited

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

Definition at line 389 of file itkObject.cxx.

 unsigned long itk::Object::AddObserver ( const EventObject & event, Command * cmd ) const
inherited

Definition at line 401 of file itkObject.cxx.

 void itk::ProcessObject::AddOutput ( DataObject * output )
protectedvirtualinherited

Adds an output to the first null position in the output list. Expands the list memory if necessary

Definition at line 390 of file itkProcessObject.cxx.

References itk::DataObject::ConnectSource().

 virtual void itk::ImageSource< TFixedImage >::AfterThreadedGenerateData ( void )
inlineprotectedvirtualinherited

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Definition at line 264 of file itkImageSource.h.

 virtual void itk::ImageSource< TFixedImage >::AllocateOutputs ( )
protectedvirtualinherited

The GenerateData method normally allocates the buffers for all of the outputs of a filter. Some filters may want to override this default behavior. For example, a filter may have multiple outputs with varying resolution. Or a filter may want to process data in place by grafting its input to its output.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ApplyImageLoads ( SolverType & S, MovingImageType * i1, FixedImageType * i2 )
protected

The image loads are entered into the solver.

Definition at line 721 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ApplyLoads ( SolverType & S, ImageSizeType Isz, double * spacing = `NULL` )
protected

The non-image loads are entered into the solver.

Definition at line 749 of file itkFEMRegistrationFilter.txx.

 virtual void itk::ImageSource< TFixedImage >::BeforeThreadedGenerateData ( void )
inlineprotectedvirtualinherited

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Definition at line 252 of file itkImageSource.h.

 void itk::LightObject::BreakOnError ( )
staticinherited

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

Definition at line 149 of file itkLightObject.cxx.

 void itk::ProcessObject::CacheInputReleaseDataFlags ( )
protectedvirtualinherited

Cache the state of any ReleaseDataFlag's on the inputs. While the filter is executing, we need to set the ReleaseDataFlag's on the inputs to false in case the current filter is implemented using a mini-pipeline (which will try to release the inputs). After the filter finishes, we restore the state of the ReleaseDataFlag's before the call to ReleaseInputs().

Definition at line 1050 of file itkProcessObject.cxx.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::CallCopyInputRegionToOutputRegion ( OutputImageRegionType & destRegion, const InputImageRegionType & srcRegion )
protectedvirtualinherited

This function calls the actual region copier to do the mapping from input image space to output image space. It uses a Function object used for dispatching to various routines to copy an input region (start index and size) to an output region. For most filters, this is a trivial copy because most filters require the input dimension to match the output dimension. However, some filters like itk::UnaryFunctorImageFilter can support output images of a higher dimension that the input.

This function object is used by the default implementation of GenerateOutputInformation(). It can also be used in routines like ThreadedGenerateData() where a filter may need to map an input region to an output region.

The default copier uses a "dispatch pattern" to call one of three overloaded functions depending on whether the input and output images are the same dimension, the input is a higher dimension that the output, or the input is of a lower dimension than the output. The use of an overloaded function is required for proper compilation of the various cases.

For the latter two cases, trivial implementations are used. If the input image is a higher dimension than the output, the first portion of the input region is copied to the output region. If the input region is a lower dimension than the output, the input region information is copied into the first portion of the output region and the rest of the output region is set to zero.

If a filter needs a different default behavior, it can override this method.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::CallCopyOutputRegionToInputRegion ( InputImageRegionType & destRegion, const OutputImageRegionType & srcRegion )
protectedvirtualinherited

This function calls the actual region copier to do the mapping from output image space to input image space. It uses a Function object used for dispatching to various routines to copy an output region (start index and size) to an input region. For most filters, this is a trivial copy because most filters require the input dimension to match the output dimension. However, some filters like itk::ExtractImageFilter can support output images of a lower dimension that the input.

This function object can be used by GenerateOutputInformation() to copy the input LargestPossibleRegion to the output LargestPossibleRegion and can also be used in GenerateData or ThreadedGenerateData() where a filter may need to map an output region to an input region.

The default copier uses a "dispatch pattern" to call one of three overloaded functions depending on whether the input and output images are the same dimension, the input is a higher dimension that the output, or the input is of a lower dimension than the output. The use of an overloaded function is required for proper compilation of the various cases.

For the latter two cases, trivial implementations are used. If the input image is a higher dimension than the output, the output region information is copied into the first portion of the input region and the rest of the input region is set to zero. If the input region is a lower dimension than the output, the first portion of the output region is copied to the input region.

If a filter needs a different default behavior, it can override this method. The ExtractImageFilter overrides this function object so that if the input image is a higher dimension than the output image, the filter can control "where" in the input image the output subimage is extracted (as opposed to mapping to first few dimensions of the input).

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ChooseMetric ( float whichmetric )

Choose the metric by parameter : 0= mean squares, 1=cross correlation, 2=pattern intensity, 3 = mutual information.

Definition at line 211 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ComputeJacobian ( float sign = `1.0`, FieldType * field = `NULL`, float smooth = `0.0` )

Compute the jacobian of the current deformation field.

Definition at line 1251 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage, class TFixedImage>
 virtual::itk::LightObject::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::CreateAnother ( void ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::CreateLinearSystemSolver ( )
protected

Builds the itpack linear system wrapper with appropriate parameters. Currently undefined

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::CreateMesh ( double ElementsPerSide, Solver & S, ImageSizeType sz )
protected

This function generates a regular mesh of ElementsPerSide^D size

Definition at line 632 of file itkFEMRegistrationFilter.txx.

 void itk::Object::DebugOff ( ) const
virtualinherited

Turn debugging output off.

Definition at line 253 of file itkObject.cxx.

 void itk::Object::DebugOn ( ) const
virtualinherited

Turn debugging output on.

Definition at line 242 of file itkObject.cxx.

 void itk::LightObject::Delete ( )
virtualinherited

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.

Definition at line 88 of file itkLightObject.cxx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::DoLineSearch ( unsigned int b )
inline

Finds the minimum energy between the current and next solution by linear search.

Definition at line 415 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::DoMultiRes ( bool b )
inline

Sets the use of multi-resolution strategy. The control file always uses multi-res.

Definition at line 421 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::EmployRegridding ( unsigned int b )
inline

Sets the use of multi-resolution strategy. The control file always uses multi-res.

Definition at line 427 of file itkFEMRegistrationFilter.h.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::EnforceDiffeomorphism ( float thresh, SolverType & S, bool onlywriteimages )

We check the jacobian of the current deformation field. If it is < threshold, we begin diffeomorphism enforcement: 1) Warp the moving image. 2) Set the vector field to zero. 3) Set the warped moving image as the new moving image, resizing if necessary.

Definition at line 1375 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::EvaluateEnergy ( )
protected

Evaluates the image similarity energy by calling the image metric

template<class TMovingImage , class TFixedImage >
 Element::Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::EvaluateResidual ( SolverType & mySolver, Float t )
protected

Definition at line 1919 of file itkFEMRegistrationFilter.txx.

References itk::fem::Solver::el.

template<class TMovingImage , class TFixedImage >
 FEMRegistrationFilter< TMovingImage, TFixedImage >::FieldPointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ExpandVectorField ( ExpandFactorsType * expandFactors, FieldType * f )
protected

Definition at line 1660 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FindBracketingTriplet ( SolverType & mySolver, Float * a, Float * b, Float * c )
protected

Definition at line 1936 of file itkFEMRegistrationFilter.txx.

 virtual void itk::ImageSource< TFixedImage >::GenerateData ( void )
protectedvirtualinherited

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

Reimplemented from itk::ProcessObject.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::GenerateInputRequestedRegion ( void )
protectedvirtualinherited

What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.

This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.

ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ProcessObject.

 void itk::ProcessObject::GenerateOutputRequestedRegion ( DataObject * output )
protectedvirtualinherited

Given one output whose requested region has been set, how should the requested regions for the remaining outputs of the process object be set? By default, all the outputs are set to the same requested region. If a filter needs to produce different requested regions for each output, for instance an image processing filter producing several outputs at different resolutions, then that filter may override this method and set the requested regions appropriatedly.

Note that a filter producing multiple outputs of different types is required to override this method. The default implementation can only correctly handle multiple outputs of the same type.

By default we set all the output requested regions to be the same.

Definition at line 846 of file itkProcessObject.cxx.

 virtual const bool& itk::ProcessObject::GetAbortGenerateData ( )
virtualinherited

Get the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

 Command * itk::Object::GetCommand ( unsigned long tag )
inherited

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

Definition at line 414 of file itkObject.cxx.

References itk::Object::GetCommand(), and NULL.

Referenced by itk::Object::GetCommand().

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetConfigFileName ( )
inline

Definition at line 454 of file itkFEMRegistrationFilter.h.

 bool itk::Object::GetDebug ( ) const
inherited

Get the value of the debug flag.

Definition at line 264 of file itkObject.cxx.

Referenced by otb::ogr::ImageReference< double >::GetDebug().

template<class TMovingImage, class TFixedImage>
 FieldType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetDeformationField ( void )
inline

Outputs the FE deformation field interpolated over the entire image domain.

Definition at line 259 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetElasticity ( unsigned int which = `0` )
inline

Gets the stiffness Matrix weight.

Definition at line 384 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetFixedFile ( )
inline

Definition at line 229 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetFixedImage ( void )
inline

Definition at line 243 of file itkFEMRegistrationFilter.h.

 bool itk::Object::GetGlobalWarningDisplay ( )
staticinherited

Get the value of the global debug output control flag.

Definition at line 381 of file itkObject.cxx.

template<class TMovingImage, class TFixedImage>
 ImageSizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetImageSize ( )
inline

Definition at line 456 of file itkFEMRegistrationFilter.h.

 const InputImageType* itk::ImageToImageFilter< TMovingImage , TFixedImage >::GetInput ( void )
inherited
 const InputImageType* itk::ImageToImageFilter< TMovingImage , TFixedImage >::GetInput ( unsigned int idx )
inherited
 const DataObject * itk::ProcessObject::GetInput ( unsigned int idx ) const
protectedinherited

Definition at line 482 of file itkProcessObject.cxx.

References NULL.

 DataObjectPointerArray& itk::ProcessObject::GetInputs ( )
inlineinherited

Return an array with all the inputs of this process object. This is useful for tracing back in the pipeline to construct graphs etc.

Definition at line 108 of file itkProcessObject.h.

template<class TMovingImage, class TFixedImage>
 virtual InterpolatorType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetInterpolator ( )
virtual

Get a pointer to the interpolator function.

template<class TMovingImage, class TFixedImage>
 FloatImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetJacobianImage ( )
inline

Get the image that gives the jacobian of the deformation field.

Definition at line 254 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
protectedvirtual

inherited
Returns

Definition at line 543 of file itkObject.cxx.

References NULL.

template<class TMovingImage, class TFixedImage>
 MetricBaseTypePointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetMetric ( )
inline

Set/Get the Metric.

Definition at line 459 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FloatImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetMetricImage ( FieldType * F )
protected

Calculates the metric over the domain given the vector field.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetMovingFile ( )
inline

Definition at line 221 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 MovingImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetMovingImage ( void )
inline

Definition at line 240 of file itkFEMRegistrationFilter.h.

inlineinherited

Return the multithreader used by this class.

Definition at line 280 of file itkProcessObject.h.

template<class TMovingImage, class TFixedImage>
 virtual const char* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from itk::ImageToImageFilter< TMovingImage, TFixedImage >.

 DataObjectPointerArraySizeType itk::ProcessObject::GetNumberOfInputs ( ) const
inlineinherited

Get the size of the input vector. This is merely the size of the input vector, not the number of inputs that have valid DataObject's assigned. Use GetNumberOfValidRequiredInputs() to determine how many inputs are non-null.

Definition at line 118 of file itkProcessObject.h.

 DataObjectPointerArraySizeType itk::ProcessObject::GetNumberOfOutputs ( ) const
inlineinherited

Definition at line 135 of file itkProcessObject.h.

 virtual const unsigned int& itk::ProcessObject::GetNumberOfRequiredInputs ( )
protectedvirtualinherited
 virtual const unsigned int& itk::ProcessObject::GetNumberOfRequiredOutputs ( )
protectedvirtualinherited
 virtual const int& itk::ProcessObject::GetNumberOfThreads ( )
virtualinherited
 ProcessObject::DataObjectPointerArraySizeType itk::ProcessObject::GetNumberOfValidRequiredInputs ( ) const
virtualinherited

Get the number of valid inputs. This is the number of non-null entries in the input vector in the first NumberOfRequiredInputs slots. This method is used to determine whether the necessary required inputs have been set. Subclasses of ProcessObject may override this implementation if the required inputs are not the first slots in input vector.

Get the number of specified inputs

Definition at line 112 of file itkProcessObject.cxx.

template<class TMovingImage, class TFixedImage>
 MovingImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetOriginalMovingImage ( )
inline

Definition at line 241 of file itkFEMRegistrationFilter.h.

 OutputImageType* itk::ImageSource< TFixedImage >::GetOutput ( void )
inherited

Get the output data of this process object. The output of this function is not valid until an appropriate Update() method has been called, either explicitly or implicitly. Both the filter itself and the data object have Update() methods, and both methods update the data. Here are three ways to use GetOutput() and make sure the data is valid. In these examples, image is a pointer to some Image object, and the particular ProcessObjects involved are filters. The same examples apply to non-image (e.g. Mesh) data as well.

anotherFilter->SetInput( someFilter->GetOutput() );
anotherFilter->Update();

In this situation, someFilter and anotherFilter are said to constitute a pipeline.

image = someFilter->GetOutput();
image->Update();
someFilter->Update();
image = someFilter->GetOutput();

(In the above example, the two lines of code can be in either order.)

Note that Update() is not called automatically except within a pipeline as in the first example. When streaming (using a StreamingImageFilter) is activated, it may be more efficient to use a pipeline than to call Update() once for each filter in turn.

For an image, the data generated is for the requested Region, which can be set using ImageBase::SetRequestedRegion(). By default, the largest possible region is requested.

For Filters which have multiple outputs of different types, the GetOutput() method assumes the output is of OutputImageType. For the GetOutput(unsigned int) method, a dynamic_cast is performed incase the filter has outputs of different types or image types. Derived classes should have names get methods for these outputs.

 OutputImageType* itk::ImageSource< TFixedImage >::GetOutput ( unsigned int idx )
inherited
 const DataObject * itk::ProcessObject::GetOutput ( unsigned int idx ) const
protectedinherited

Definition at line 454 of file itkProcessObject.cxx.

References NULL.

 DataObjectPointerArray& itk::ProcessObject::GetOutputs ( )
inlineinherited

Return an array with all the outputs of this process object. This is useful for tracing forward in the pipeline to contruct graphs etc.

Definition at line 133 of file itkProcessObject.h.

 virtual const float& itk::ProcessObject::GetProgress ( )
virtualinherited

Get the execution progress of a process object. The progress is a floating number in [0,1] with 0 meaning no progress and 1 meaning the filter has completed execution.

 virtual int itk::LightObject::GetReferenceCount ( ) const
inlinevirtualinherited

Gets the reference count on this object.

Definition at line 105 of file itkLightObject.h.

 virtual const bool& itk::ProcessObject::GetReleaseDataBeforeUpdateFlag ( )
virtualinherited
 bool itk::ProcessObject::GetReleaseDataFlag ( ) const
virtualinherited

Definition at line 512 of file itkProcessObject.cxx.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetResultsFileName ( )
inline

Definition at line 304 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType* itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetWarpedImage ( )
inline

Get the reference image warped to the target image. Must first apply the warp using WarpImage()

Definition at line 248 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetWidthOfMetricRegion ( unsigned int which = `0` )
inline

Definition at line 343 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GetWriteDisplacements ( )
inline

Sets the boolean for writing the displacement field to a file.

Definition at line 445 of file itkFEMRegistrationFilter.h.

 static void itk::Object::GlobalWarningDisplayOff ( )
inlinestaticinherited

Definition at line 100 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

 static void itk::Object::GlobalWarningDisplayOn ( )
inlinestaticinherited

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

template<class TMovingImage , class TFixedImage >
 Element::Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::GoldenSection ( SolverType & mySolver, Float tol = `0.01`, unsigned int MaxIters = `25` )
protected

Finds the optimum value between the last two solutions and sets the current solution to that value. Uses Evaluate Residual;

Definition at line 2025 of file itkFEMRegistrationFilter.txx.

 virtual void itk::ImageSource< TFixedImage >::GraftNthOutput ( unsigned int idx, DataObject * output )
virtualinherited

Graft the specified data object onto this ProcessObject's idx'th output. This is similar to the GraftOutput method except it allows you to specify which output is affected. The specified index must be a valid output number (less than ProcessObject::GetNumberOfOutputs()). See the GraftOutput for general usage information.

 virtual void itk::ImageSource< TFixedImage >::GraftOutput ( DataObject * output )
virtualinherited

Graft the specified DataObject onto this ProcessObject's output. This method grabs a handle to the specified DataObject's bulk data to used as its output's own bulk data. It also copies the region ivars (RequestedRegion, BufferedRegion, LargestPossibleRegion) and meta-data (Spacing, Origin) from the specified data object into this filter's output data object. Most importantly, however, it leaves the Source ivar untouched so the original pipeline routing is intact. This method is used when a process object is implemented using a mini-pipeline which is defined in its GenerateData() method. The usage is:

// setup the mini-pipeline to process the input to this filter
firstFilterInMiniPipeline->SetInput( this->GetInput() );
// setup the mini-pipeline to calculate the correct regions
// and write to the appropriate bulk data block
lastFilterInMiniPipeline->GraftOutput( this->GetOutput() );
// execute the mini-pipeline
lastFilterInMiniPipeline->Update();
// graft the mini-pipeline output back onto this filter's output.
// this is needed to get the appropriate regions passed back.
this->GraftOutput( lastFilterInMiniPipeline->GetOutput() );

For proper pipeline execution, a filter using a mini-pipeline must implement the GenerateInputRequestedRegion(), GenerateOutputRequestedRegion(), GenerateOutputInformation() and EnlargeOutputRequestedRegion() methods as necessary to reflect how the mini-pipeline will execute (in other words, the outer filter's pipeline mechanism must be consistent with what the mini-pipeline will do).

 bool itk::Object::HasObserver ( const EventObject & event ) const
inherited

Return true if an observer is registered for this event.

Definition at line 467 of file itkObject.cxx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::InitializeField ( )
private

Definition at line 1071 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::InterpolateVectorField ( SolverType & S )
protected

Interpolates the vector field over the domain. Our convention is to always keep the vector field at the scale of the original images.

Definition at line 1102 of file itkFEMRegistrationFilter.txx.

 void itk::Object::InvokeEvent ( const EventObject & event )
inherited

Call Execute on all the Commands observing this event id.

Definition at line 446 of file itkObject.cxx.

 void itk::Object::InvokeEvent ( const EventObject & event ) const
inherited

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

Definition at line 457 of file itkObject.cxx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::IterativeSolve ( SolverType & S )

The solution loop

Definition at line 933 of file itkFEMRegistrationFilter.txx.

 virtual DataObjectPointer itk::ImageSource< TFixedImage >::MakeOutput ( unsigned int idx )
virtualinherited

Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a SmartPointer to a DataObject. If a subclass of ImageSource has multiple outputs of different types, then that class must provide an implementation of MakeOutput().

Reimplemented from itk::ProcessObject.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MultiResSolve ( )
template<class TMovingImage, class TFixedImage>
 static Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::New ( )
static

Method for creation through the object factory.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::operator= ( const Self & )
private
 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PopBackInput ( )
virtualinherited

Model a stack on the input list by providing a pop back

Reimplemented from itk::ProcessObject.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PopFrontInput ( )
virtualinherited

Reimplemented from itk::ProcessObject.

 void itk::ProcessObject::PrepareOutputs ( )
virtualinherited

An opportunity to deallocate a ProcessObject's bulk data storage. Some filters may wish to reuse existing bulk data storage to avoid unnecessary deallocation/allocation sequences. The default implementation calls Initialize() on each output. DataObject::Initialize() frees its bulk data by default.

Definition at line 864 of file itkProcessObject.cxx.

 void itk::LightObject::Print ( std::ostream & os, Indent indent = `0` ) const
inherited

Cause the object to print itself out.

Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).

Definition at line 135 of file itkLightObject.cxx.

References itk::Indent::GetNextIndent().

Referenced by itk::operator<<().

 void itk::LightObject::PrintHeader ( std::ostream & os, Indent indent ) const
protectedvirtualinherited

Define a default print header for all objects.

Definition at line 320 of file itkLightObject.cxx.

 bool itk::Object::PrintObservers ( std::ostream & os, Indent indent ) const
protectedinherited

Definition at line 478 of file itkObject.cxx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::PrintSelf ( std::ostream & os, Indent indent ) const
protectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Chaining method to print an object's instance variables, as well as its superclasses.

Reimplemented from itk::ImageToImageFilter< TMovingImage, TFixedImage >.

Definition at line 2086 of file itkFEMRegistrationFilter.txx.

 void itk::LightObject::PrintTrailer ( std::ostream & os, Indent indent ) const
protectedvirtualinherited

Define a default print trailer for all objects.

Definition at line 331 of file itkLightObject.cxx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::PrintVectorField ( unsigned int modnum = `1000` )

Definition at line 1737 of file itkFEMRegistrationFilter.txx.

 void itk::ProcessObject::PropagateRequestedRegion ( DataObject * output )
virtualinherited

Send the requested region information back up the pipeline (to the filters that preceed this one).

check flag to avoid executing forever if there is a loop

Give the subclass a chance to indicate that it will provide more data then required for the output. This can happen, for example, when a source can only produce the whole output. Although this is being called for a specific output, the source may need to enlarge all outputs.

Give the subclass a chance to define how to set the requested regions for each of its outputs, given this output's requested region. The default implementation is to make all the output requested regions the same. A subclass may need to override this method if each output is a different resolution.

Give the subclass a chance to request a larger requested region on the inputs. This is necessary when, for example, a filter requires more data at the "internal" boundaries to produce the boundary values - such as an image filter that derives a new pixel value by applying some operation to a neighborhood of surrounding original values.

Now that we know the input requested region, propagate this through all the inputs.

Definition at line 766 of file itkProcessObject.cxx.

 void itk::ProcessObject::PropagateResetPipeline ( )
protectedvirtualinherited

Called to allocate the input array. Copies old inputs. Propagate a call to ResetPipeline() up the pipeline. Called only from DataObject.

Propagate the ResetPipeline call

Definition at line 631 of file itkProcessObject.cxx.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PushBackInput ( const InputImageType * image )
virtualinherited

Push/Pop the input of this process object. These methods allow a filter to model its input vector as a queue or stack. These routines may not be appropriate for all filters, especially filters with different types of inputs. These routines follow the semantics of STL.

The routines are useful for applications that need to process "rolling" sets of images. For instance, if an application has 10 images and they need to run a filter on images 1, 2, 3, 4, then run the filter on images 2, 3, 4, 5, then run the filter on images 3, 4, 5, 6, the application can accomplish this by popping an input off the front of the input list and push a new image onto the back of input list. Again, this only makes sense for filters that single type of input.

Other uses are also possible. For a single input filter, pushing and popping inputs allow the application to temporarily replace an input to a filter.

 void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PushBackInput ( const DataObject * input )
inlineprotectedvirtualinherited

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ProcessObject.

Definition at line 248 of file itkImageToImageFilter.h.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PushFrontInput ( const InputImageType * image )
virtualinherited
 void itk::ImageToImageFilter< TMovingImage , TFixedImage >::PushFrontInput ( const DataObject * input )
inlineprotectedvirtualinherited

Reimplemented from itk::ProcessObject.

Definition at line 250 of file itkImageToImageFilter.h.

template<class TMovingImage , class TFixedImage >
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ReadConfigFile ( const char * fname )

Read the configuration file to set up the example parameters

Definition at line 332 of file itkFEMRegistrationFilter.txx.

References itk::fem::FEMLightObject::SkipWhiteSpace().

 void itk::Object::Register ( ) const
virtualinherited

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

Definition at line 309 of file itkObject.cxx.

Referenced by itk::ObjectFactoryBase::RegisterFactory().

 virtual void itk::ProcessObject::ReleaseDataBeforeUpdateFlagOff ( )
virtualinherited
 virtual void itk::ProcessObject::ReleaseDataBeforeUpdateFlagOn ( )
virtualinherited
 void itk::ProcessObject::ReleaseDataFlagOff ( )
inlineinherited

Definition at line 256 of file itkProcessObject.h.

 void itk::ProcessObject::ReleaseDataFlagOn ( )
inlineinherited

Definition at line 255 of file itkProcessObject.h.

 void itk::ProcessObject::ReleaseInputs ( )
protectedvirtualinherited

A filter may need to release its input's bulk data after it has finished calculating a new output. The filter may need to release the inputs because the user has turned on the ReleaseDataFlag or it may need to release the inputs because the filter is an "in place" filter and it has overwritten its input with its output data. The implementation here simply checks the ReleaseDataFlag of the inputs. InPlaceImageFilter overrides this method so release the input it has overwritten.

InPlaceImageFilter::ReleaseInputs()

Definition at line 886 of file itkProcessObject.cxx.

 void itk::Object::RemoveAllObservers ( )
inherited

Remove all observers .

Definition at line 435 of file itkObject.cxx.

 void itk::ProcessObject::RemoveInput ( DataObject * input )
protectedvirtualinherited

Remove an input.

Removes the first occurence of the given OutputObject from the inputs to this ProcessObject. If it's the last object on the list, shortens the list.

Definition at line 173 of file itkProcessObject.cxx.

 void itk::Object::RemoveObserver ( unsigned long tag )
inherited

Remove the observer with this tag value.

Definition at line 425 of file itkObject.cxx.

 void itk::ProcessObject::RemoveOutput ( DataObject * output )
protectedvirtualinherited

Definition at line 294 of file itkProcessObject.cxx.

 void itk::ProcessObject::ResetPipeline ( )
virtualinherited

Reset the pipeline. If an exception is thrown during an Update(), the pipeline may be in an inconsistent state. This method clears the internal state of the pipeline so Update() can be called.

Definition at line 621 of file itkProcessObject.cxx.

 void itk::ProcessObject::RestoreInputReleaseDataFlags ( )
protectedvirtualinherited

Restore the cached input ReleaseDataFlags.

Definition at line 1075 of file itkProcessObject.cxx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::RunRegistration ( void )
template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SampleVectorFieldAtNodes ( SolverType & S )
protected

This is used for changing between mesh resolutions.

Definition at line 1687 of file itkFEMRegistrationFilter.txx.

 virtual void itk::ProcessObject::SetAbortGenerateData ( bool _arg )
virtualinherited

Set the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetAlpha ( Float a )
inline

Set alpha for the trapezoidal rule (usually 1.0 in our experiments).

Definition at line 365 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetConfigFileName ( const char * f )
inline

Sets the file name for the FEM multi-resolution registration. One can also set the parameters in code.

Definition at line 452 of file itkFEMRegistrationFilter.h.

 void itk::Object::SetDebug ( bool debugFlag ) const
inherited

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 275 of file itkObject.cxx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetDeformationField ( FieldType * F )
inline

Sets the FE deformation field.

Definition at line 261 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetDescentDirectionMaximize ( )
inline

Tries to maximize energy

Definition at line 408 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetDescentDirectionMinimize ( )
inline

Tries to minimize energy

Definition at line 402 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetDisplacementsFile ( const char * r )
inline

Sets the filename for the vector field component images.

Definition at line 310 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetElasticity ( Float i, unsigned int which = `0` )
inline

Sets the stiffness Matrix weight.

Definition at line 378 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetElement ( Element::Pointer e )
inline

This function allows one to set the element and its material externally.

Definition at line 467 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetEnergyReductionFactor ( Float i )
inline

Sets the energy below which we decide the solution has converged.

Definition at line 372 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetFixedFile ( const char * t )
inline
Deprecated:
This method doesn't have any effect

Definition at line 227 of file itkFEMRegistrationFilter.h.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetFixedImage ( FixedImageType * T )

Define the target (fixed) image.

Definition at line 192 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetGamma ( Float r, unsigned int which = `0` )
inline

Image similarity energy weight

Definition at line 396 of file itkFEMRegistrationFilter.h.

 void itk::Object::SetGlobalWarningDisplay ( bool val )
staticinherited

This is a global flag that controls whether any debug, warning or error messages are displayed.

Set the value of the global debug output control flag.

Definition at line 370 of file itkObject.cxx.

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::SetInput ( const InputImageType * image )
virtualinherited

Set/Get the image input of this process object.

 virtual void itk::ImageToImageFilter< TMovingImage , TFixedImage >::SetInput ( unsigned int, const TMovingImage * image )
virtualinherited

Connect one of the operands for pixel-wise addition

template<class TMovingImage, class TFixedImage>
 virtual void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetInterpolator ( InterpolatorType * _arg )
virtual

Set the interpolator function.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetLandmarkFile ( const char * l )
inline

These functions control the use of landmark constraints. Currently, landmarks must be read in from a file.

Definition at line 269 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetLineSearchMaximumIterations ( unsigned int f )
inline

This sets the line search's max iterations.

Definition at line 433 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMaterial ( MaterialType::Pointer m )
inline

This sets the pointer to the material.

Definition at line 470 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMaximumIterations ( unsigned int i, unsigned int which )
inline

Setting the maximum iterations stops the solution after i iterations regardless of energy.

Parameters
 i number of elements which determines the resolution of the solution process the call is applied to.

Definition at line 352 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMaxLevel ( unsigned int i )
inline

Definition at line 475 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMeshPixelsPerElementAtEachResolution ( unsigned int i, unsigned int which = `0` )
inline

The FEM filter can generate its own mesh for 2 or 3 dimensions, if none is provided. The mesh is generated for quadrilaterals in 2D and hexahedra in 3D. This function sets the number of elements generated along each dimension at the resolution designated by "which". E.g. to generate 10 pixels per element in each dimension in the 1st resolution, use SetMeshResolution(10,0);.

Definition at line 321 of file itkFEMRegistrationFilter.h.

inherited
Returns

Definition at line 554 of file itkObject.cxx.

References NULL.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMetric ( MetricBaseTypePointer MP )
inline

Definition at line 460 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMovingFile ( const char * r )
inline

One can set the reference file names to read images from files.

Deprecated:
This method currently doesn't have any effect.

Definition at line 216 of file itkFEMRegistrationFilter.h.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetMovingImage ( MovingImageType * R )

One can set the images directly to input images in an application Define the reference (moving) image.

Definition at line 182 of file itkFEMRegistrationFilter.txx.

 void itk::ProcessObject::SetNumberOfInputs ( unsigned int num )
protectedinherited

Called to allocate the input array. Copies old inputs.

Called by constructor to set up input array.

Definition at line 96 of file itkProcessObject.cxx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetNumberOfIntegrationPoints ( unsigned int i, unsigned int which = `0` )
inline

This determines the number of integration points to use at each resolution. These integration points are used to generate the force. The actual number used will be i^d, where d is the number of parameters in the elements local domain.

Definition at line 329 of file itkFEMRegistrationFilter.h.

 void itk::ProcessObject::SetNumberOfOutputs ( unsigned int num )
protectedinherited

Called to allocate the output array. Copies old outputs.

Called by constructor to set up output array.

Definition at line 424 of file itkProcessObject.cxx.

 virtual void itk::ProcessObject::SetNumberOfThreads ( int _arg )
virtualinherited
template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetNumLevels ( unsigned int i )
inline

Definition at line 474 of file itkFEMRegistrationFilter.h.

 virtual void itk::ProcessObject::SetProgress ( float _arg )
virtualinherited

Set the execution progress of a process object. The progress is a floating number in [0,1] with 0 meaning no progress and 1 meaning the filter has completed execution. The ProgressEvent is NOT invoked.

 void itk::Object::SetReferenceCount ( int ref )
virtualinherited

Sets the reference count (use with care)

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 347 of file itkObject.cxx.

 virtual void itk::ProcessObject::SetReleaseDataBeforeUpdateFlag ( bool _arg )
virtualinherited

Turn on/off the flags to control whether the bulk data belonging to the outputs of this ProcessObject are released/reallocated during an Update(). In limited memory scenarios, a user may want to force the elements of a pipeline to release any bulk data that is going to be regenerated anyway during an Update() in order to control peak memory allocation. Note that this flag is different from the ReleaseDataFlag. ReleaseDataFlag manages the deallocation of a ProcessObject's bulk output data once that data has been consumed by a downstream ProcessObject. The ReleaseDataBeforeUpdateFlag manages the deallocation/reallocation of bulk data during a pipeline update to control peak memory utilization. Default value is on.

 void itk::ProcessObject::SetReleaseDataFlag ( bool flag )
virtualinherited

Turn on/off the flags to control whether the bulk data belonging to the outputs of this ProcessObject are released after being used by a downstream ProcessObject. Default value is off. Another options for controlling memory utilization is the ReleaseDataBeforeUpdateFlag.

Definition at line 528 of file itkProcessObject.cxx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetResultsFile ( const char * r )
inline

The warped reference image will be written to this file name with the extension "11.img" appended to it. One can also output the image after every iteration, yielding result11.img, result12.img, etc. by uncommenting the code at the end of IterativeSolve.

Definition at line 294 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetResultsFileName ( const char * f )
inline

Definition at line 299 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetRho ( Float r, unsigned int which = `0` )
inline

Mass matrix weight

Definition at line 390 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetTemp ( Float i )
inline

Definition at line 477 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetTimeStep ( Float i )
inline

Setting the time step - usually 1.0. We prefer to use rho to control step sizes.

Definition at line 359 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetWidthOfMetricRegion ( unsigned int i, unsigned int which = `0` )
inline

The metric region allows one to compute the derivative (force) of the similarity metric using a region of size [i,i] in 2D [i,i,i] in 3D.

Parameters
 i number of elements which determines the region at a given resolution of the solution process.

Definition at line 339 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::SetWriteDisplacements ( bool b )
inline

Sets the boolean for writing the displacement field to a file.

Definition at line 439 of file itkFEMRegistrationFilter.h.

 virtual int itk::ImageSource< TFixedImage >::SplitRequestedRegion ( int i, int num, OutputImageRegionType & splitRegion )
protectedvirtualinherited

Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". This method is called "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the output RequestedRegion, i.e. return value is less than or equal to "num".

protectedvirtualinherited

GenerateData(), SplitRequestedRegion()
staticprotectedinherited

Static function used as a "callback" by the MultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGenerateData().

 void itk::Object::UnRegister ( ) const
virtualinherited

Decrease the reference count (release by another object).

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 324 of file itkObject.cxx.

Referenced by itk::Object::New(), and itk::ObjectFactoryBase::UnRegisterFactory().

 void itk::ProcessObject::Update ( void )
virtualinherited

Bring this filter up-to-date. Update() checks modified times against last execution times, and re-executes objects if necessary. A side effect of this method is that the whole pipeline may execute in order to bring this filter up-to-date. This method updates the currently prescribed requested region. If no requested region has been set on the output, then the requested region will be set to the largest possible region. Once the requested region is set, Update() will make sure the specified requested region is up-to-date. This is a confusing side effect to users who are just calling Update() on a filter. A first call to Update() will cause the largest possible region to be updated. A second call to Update() will update that same region. If a modification to the upstream pipeline cause a filter to have a different largest possible region, this second call to Update() will not cause the output requested region to be reset to the new largest possible region. Instead, the output requested region will be the same as the last time Update() was called. To have a filter always to produce its largest possible region, users should call UpdateLargestPossibleRegion() instead.

The following methods are used to coordinate the execution of the data processing pipeline.

Definition at line 611 of file itkProcessObject.cxx.

 void itk::ProcessObject::UpdateLargestPossibleRegion ( )
virtualinherited

Like Update(), but sets the output requested region to the largest possible region for the output. This is the method users should call if they want the entire dataset to be processed. If a user wants to update the same output region as a previous call to Update() or a previous call to UpdateLargestPossibleRegion(), then they should call the method Update().

Definition at line 1120 of file itkProcessObject.cxx.

 void itk::ProcessObject::UpdateOutputData ( DataObject * output )
virtualinherited

Actually generate new output

prevent chasing our tail

Prepare all the outputs. This may deallocate previous bulk data.

Propagate the update call - make sure everything we might rely on is up-to-date Must call PropagateRequestedRegion before UpdateOutputData if multiple inputs since they may lead back to the same data object.

Cache the state of any ReleaseDataFlag's on the inputs. While the filter is executing, we need to set the ReleaseDataFlag's on the inputs to false in case the current filter is implemented using a mini-pipeline (which will try to release the inputs). After the filter finishes, we restore the state of the ReleaseDataFlag's before the call to ReleaseInputs().

Tell all Observers that the filter is starting

GenerateData this object - we have not aborted yet, and our progress before we start to execute is 0.0.

Count the number of required inputs which have been assigned

If we ended due to aborting, push the progress up to 1.0 (since it probably didn't end there)

Notify end event observers

Now we have to mark the data as up to date.

Restore the state of any input ReleaseDataFlags

Release any inputs if marked for release

Reimplemented in itk::StreamingImageFilter< TInputImage, TOutputImage >.

Definition at line 908 of file itkProcessObject.cxx.

 void itk::ProcessObject::UpdateOutputInformation ( void )
virtualinherited

Update the information decribing the output data. This method transverses up the pipeline gathering modified time information. On the way back down the pipeline, this method calls GenerateOutputInformation() to set any necessary information about the output data objects. For instance, a filter that shrinks an image will need to provide an implementation for GenerateOutputInformation() that changes the spacing of the pixels. Such filters should call their superclass' implementation of GenerateOutputInformation prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.

Watch out for loops in the pipeline

Since we are in a loop, we will want to update. But if we don't modify this filter, then we will not execute because our OutputInformationMTime will be more recent than the MTime of our output.

We now wish to set the PipelineMTime of each output DataObject to the largest of this ProcessObject's MTime, all input DataObject's PipelineMTime, and all input's MTime. We begin with the MTime of this ProcessObject.

Loop through the inputs

Propagate the UpdateOutputInformation call

What is the PipelineMTime of this input? Compare this against our current computation to find the largest one.

Pipeline MTime of the input does not include the MTime of the data object itself. Factor these mtimes into the next PipelineMTime

Call GenerateOutputInformation for subclass specific information. Since UpdateOutputInformation propagates all the way up the pipeline, we need to be careful here to call GenerateOutputInformation only if necessary. Otherwise, we may cause this source to be modified which will cause it to execute again on the next update.

Keep track of the last time GenerateOutputInformation() was called

Definition at line 664 of file itkProcessObject.cxx.

Referenced by itk::VTKImageExportBase::UpdateInformationCallback().

 void itk::ProcessObject::UpdateProgress ( float amount )
inherited

Update the progress of the process object.

Sets the Progress ivar to amount and invokes any observers for the ProgressEvent. The parameter amount should be in [0,1] and is the cumulative (not incremental) progress.

Update the progress of the process object. If a ProgressMethod exists, execute it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).

Definition at line 500 of file itkProcessObject.cxx.

template<class TMovingImage, class TFixedImage>
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::UseLandmarks ( bool b )
inline

This determines if the landmark file will be read

Definition at line 275 of file itkFEMRegistrationFilter.h.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WarpImage ( const MovingImageType * R )

Applies the warp to the input image.

Definition at line 598 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteDisplacementField ( unsigned int index )

Writes the displacement field to a file.

Definition at line 568 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteDisplacementFieldMultiComponent ( )

Writes the displacement field to a file as a single volume with multiple components.

Definition at line 542 of file itkFEMRegistrationFilter.txx.

template<class TMovingImage , class TFixedImage >
 void itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteWarpedImage ( const char * fn )

Call this to write out images - a counter is attached to the file name so we can output a numbered sequence tracking the deformation.

Definition at line 1609 of file itkFEMRegistrationFilter.txx.

## Member Data Documentation

template<class TMovingImage, class TFixedImage>
 const unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ImageDimension = FixedImageType::ImageDimension
static

Dimensionality of input and output data is assumed to be the same.

Definition at line 127 of file itkFEMRegistrationFilter.h.

 const unsigned int itk::ImageToImageFilter< TMovingImage , TFixedImage >::InputImageDimension
staticinherited

ImageDimension constants

Definition at line 90 of file itkImageToImageFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Alpha
private

Definition at line 598 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_ConfigFileName
private

Definition at line 561 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 ImageSizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_CurrentImageScaling
private

Definition at line 615 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_CurrentLevel
private

Definition at line 581 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType::SizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_CurrentLevelImageSize
private

Definition at line 583 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Sign itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_DescentDirection
private

Definition at line 609 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_DisplacementsFileName
private

Definition at line 566 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_DoLineSearchOnImageEnergy
private

Definition at line 569 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_DoMultiRes
private

Definition at line 604 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Dt
private

Definition at line 591 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_E
private

Definition at line 592 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Element::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Element
private

Definition at line 638 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_EmployRegridding
private

Definition at line 608 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Energy
private

Definition at line 595 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_EnergyReductionFactor
private

Factor we want to reduce the energy by - determines convergence.

Definition at line 600 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FieldType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Field
private

Definition at line 618 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FieldType::RegionType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FieldRegion
private

Definition at line 616 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FieldType::SizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FieldSize
private

Definition at line 617 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FileCount
private

Definition at line 580 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FixedFileName
private

Definition at line 564 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FixedImage
private

Definition at line 635 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FloatImageType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FloatImage
private

Definition at line 628 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 ImageSizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_FullImageSize
private

Definition at line 611 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Gamma
private

Definition at line 594 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 ImageSizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_ImageOrigin
private

Definition at line 612 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 ImageSizeType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_ImageScaling
private

Gives the ratio of original image size to current image size - for dealing with multi-res.

Definition at line 614 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 InterpolatorPointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Interpolator
private

Definition at line 643 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 LandmarkArrayType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_LandmarkArray
private

Definition at line 642 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_LandmarkFileName
private

Definition at line 565 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_LineSearchMaximumIterations
private

Definition at line 570 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
private

Definition at line 621 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 MaterialType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Material
private

Definition at line 639 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Maxiters
private

Definition at line 574 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MaxLevel
private

Definition at line 577 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MeshFileName
private

Definition at line 567 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MeshLevels
private

Definition at line 578 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MeshPixelsPerElementAtEachResolution
private

Stores the number of pixels per element of the mesh for each resolution of the multi-resolution pyramid

Definition at line 589 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MeshStep
private

Definition at line 579 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 MetricBaseTypePointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Metric
private

Definition at line 640 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MetricWidth
private

Definition at line 573 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MinE
private

Definition at line 596 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MinJacobian
private

Definition at line 597 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MovingFileName
private

Definition at line 563 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 MovingImageType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_MovingImage
private

Definition at line 633 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_NumberOfIntegrationPoints
private

Definition at line 572 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_NumLevels
private

Definition at line 576 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 MovingImageType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_OriginalMovingImage
private

Definition at line 634 of file itkFEMRegistrationFilter.h.

 TimeStamp itk::ProcessObject::m_OutputInformationMTime
protectedinherited

Time when GenerateOutputInformation was last called.

Definition at line 421 of file itkProcessObject.h.

template<class TMovingImage, class TFixedImage>
private

Definition at line 606 of file itkFEMRegistrationFilter.h.

 InternalReferenceCountType itk::LightObject::m_ReferenceCount
mutableprotectedinherited

Number of uses of this object by other objects.

Definition at line 141 of file itkLightObject.h.

 SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock
mutableprotectedinherited

Mutex lock to protect modification to the reference count

Definition at line 144 of file itkLightObject.h.

template<class TMovingImage, class TFixedImage>
 std::string itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_ResultsFileName
private

Definition at line 562 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 vnl_vector itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Rho
private

Definition at line 593 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 Float itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Temp
private

Definition at line 601 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FieldType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_TotalField
private

Definition at line 620 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_TotalIterations
private

Definition at line 575 of file itkFEMRegistrationFilter.h.

 bool itk::ProcessObject::m_Updating
protectedinherited

These ivars are made protected so filters like itkStreamingImageFilter can access them directly. This flag indicates when the pipeline is executing. It prevents infinite recursion when pipelines have loops.

Definition at line 418 of file itkProcessObject.h.

template<class TMovingImage, class TFixedImage>
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_UseLandmarks
private

Definition at line 605 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_UseMassMatrix
private

Definition at line 607 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_WarpedImage
private

Definition at line 627 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 WarperType::Pointer itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Warper
private

Definition at line 624 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 unsigned int itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_WhichMetric
private

Definition at line 585 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType::IndexType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Windex
private

Definition at line 630 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 FixedImageType::RegionType itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_Wregion
private

Definition at line 629 of file itkFEMRegistrationFilter.h.

template<class TMovingImage, class TFixedImage>
 bool itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::m_WriteDisplacementField
private

Definition at line 603 of file itkFEMRegistrationFilter.h.

 const unsigned int itk::ImageToImageFilter< TMovingImage , TFixedImage >::OutputImageDimension
staticinherited

Definition at line 92 of file itkImageToImageFilter.h.

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

Generated at Sat Nov 9 2013 17:21:02 for Orfeo Toolbox with doxygen 1.8.3.1