ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalRegistrationElasticRegularizer.h>
This class performs linear elastic regularization of a vector field.
This class implements linear elastic regularization as described in Modersitzki. "Numerical methods for image registration". OUP Oxford, 2003..
We compute with using an FFT based method. Please note that for given Lame constants and you have to set and (see Eq.(2) in VariationalRegistrationFilter).
Definition at line 58 of file itkVariationalRegistrationElasticRegularizer.h.
Classes | |
struct | ElasticFFTThreadStruct |
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DisplacementFieldConstPointer | DisplacementFieldConstPointer |
typedef Superclass::DisplacementFieldPointer | DisplacementFieldPointer |
typedef Superclass::DisplacementFieldType | DisplacementFieldType |
typedef fftw::Proxy< RealTypeFFT > | FFTWProxyType |
typedef DisplacementFieldType::SizeType::SizeValueType | OffsetValueType |
typedef Superclass::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef double | RealTypeFFT |
typedef VariationalRegistrationElasticRegularizer | Self |
typedef VariationalRegistrationRegularizer < TDisplacementField > | Superclass |
typedef Superclass::ValueType | ValueType |
Public Types inherited from itk::VariationalRegistrationRegularizer< TDisplacementField > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DisplacementFieldType::ConstPointer | DisplacementFieldConstPointer |
typedef DisplacementFieldType::Pointer | DisplacementFieldPointer |
typedef TDisplacementField | DisplacementFieldType |
typedef DisplacementFieldType::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef VariationalRegistrationRegularizer | Self |
typedef InPlaceImageFilter < TDisplacementField, TDisplacementField > | Superclass |
typedef NumericTraits < PixelType >::ValueType | ValueType |
Public Types inherited from itk::InPlaceImageFilter< TDisplacementField, TDisplacementField > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TDisplacementField | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImagePointer | OutputImagePointer |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef Superclass::OutputImageType | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef InPlaceImageFilter | Self |
typedef ImageToImageFilter < TDisplacementField, TDisplacementField > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TDisplacementField | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource < TDisplacementField > | Superclass |
Public Types inherited from itk::ImageSource< TDisplacementField > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TDisplacementField | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::VariationalRegistrationRegularizer< TDisplacementField > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TDisplacementField::ImageDimension |
Static Public Attributes inherited from itk::VariationalRegistrationRegularizer< TDisplacementField > | |
static const unsigned int | ImageDimension = TDisplacementField::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TDisplacementField > | |
static const unsigned int | OutputImageDimension |
Private Member Functions | |
void | operator= (const Self &) |
VariationalRegistrationElasticRegularizer (const Self &) | |
Static Private Member Functions | |
static ITK_THREAD_RETURN_TYPE | SolveElasticLESThreaderCallback (void *vargs) |
Private Attributes | |
OffsetValueType | m_ComplexOffsetTable [ImageDimension] |
DisplacementFieldType::SizeType | m_ComplexSize |
ValueType | m_Lambda |
double * | m_MatrixCos [ImageDimension] |
double * | m_MatrixSin [ImageDimension] |
ValueType | m_Mu |
DisplacementFieldType::SizeType | m_Size |
DisplacementFieldType::SpacingType | m_Spacing |
OffsetValueType | m_TotalComplexSize |
OffsetValueType | m_TotalSize |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TDisplacementField > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::ConstPointer |
Definition at line 67 of file itkVariationalRegistrationElasticRegularizer.h.
typedef Superclass::DisplacementFieldConstPointer itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::DisplacementFieldConstPointer |
Definition at line 81 of file itkVariationalRegistrationElasticRegularizer.h.
typedef Superclass::DisplacementFieldPointer itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::DisplacementFieldPointer |
Definition at line 80 of file itkVariationalRegistrationElasticRegularizer.h.
typedef Superclass::DisplacementFieldType itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::DisplacementFieldType |
Deformation field types, inherited from Superclass.
Definition at line 79 of file itkVariationalRegistrationElasticRegularizer.h.
typedef fftw::Proxy<RealTypeFFT> itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::FFTWProxyType |
Definition at line 100 of file itkVariationalRegistrationElasticRegularizer.h.
typedef DisplacementFieldType::SizeType::SizeValueType itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::OffsetValueType |
Definition at line 85 of file itkVariationalRegistrationElasticRegularizer.h.
typedef Superclass::PixelType itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::PixelType |
Definition at line 82 of file itkVariationalRegistrationElasticRegularizer.h.
typedef SmartPointer< Self > itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::Pointer |
Definition at line 66 of file itkVariationalRegistrationElasticRegularizer.h.
typedef double itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::RealTypeFFT |
Types for FFTW proxy
Definition at line 91 of file itkVariationalRegistrationElasticRegularizer.h.
typedef VariationalRegistrationElasticRegularizer itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::Self |
Standard class typedefs
Definition at line 63 of file itkVariationalRegistrationElasticRegularizer.h.
typedef VariationalRegistrationRegularizer< TDisplacementField > itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::Superclass |
Definition at line 65 of file itkVariationalRegistrationElasticRegularizer.h.
typedef Superclass::ValueType itk::VariationalRegistrationElasticRegularizer< TDisplacementField >::ValueType |
Definition at line 83 of file itkVariationalRegistrationElasticRegularizer.h.
|
protected |
|
inlineprotected |
Definition at line 116 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
|
protected |
Calculate the index in the complex image for a given offset.
|
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.
|
protectedvirtual |
Delete all data allocated during Initialize()
|
protectedvirtual |
Execute regularization. This method is multi-threaded but does not use ThreadedGenerateData().
Reimplemented from itk::ImageSource< TDisplacementField >.
|
virtual |
Get the regularization weight lambda.
|
virtual |
Get the regularization weight mu.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::VariationalRegistrationRegularizer< TDisplacementField >.
|
protectedvirtual |
Method for initialization. Buffer images are allocated and the matrices calculated in this method.
Reimplemented from itk::VariationalRegistrationRegularizer< TDisplacementField >.
|
protectedvirtual |
Initialize FFTW plans and multi-threading, allocate arrays for FFT
|
protectedvirtual |
Precompute sine and cosine values for solving the LES
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Print information about the filter.
Reimplemented from itk::VariationalRegistrationRegularizer< TDisplacementField >.
|
protectedvirtual |
Regularize the deformation field. This is called by GenerateData().
|
virtual |
Set the regularization weight lambda.
|
virtual |
Set the regularization weight mu.
|
protectedvirtual |
solve the LES after forward FFTs (before backward FFTs)
|
staticprivate |
|
protectedvirtual |
solve the LES after forward FFTs (and before backward FFTs). Multithreaded method.
|
static |
Dimensionality of input and output data is assumed to be the same.
Definition at line 76 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Definition at line 176 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
The size of the complex buffer.
Definition at line 171 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Weight of the regularization term.
Definition at line 156 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
FFT matrix
Definition at line 179 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Definition at line 180 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Weight of the regularization term.
Definition at line 159 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
The size of the displacement field.
Definition at line 165 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
The spacing of the displacement field.
Definition at line 162 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Number of pixels of the complex buffer.
Definition at line 174 of file itkVariationalRegistrationElasticRegularizer.h.
|
private |
Number of pixels of the displacement field.
Definition at line 168 of file itkVariationalRegistrationElasticRegularizer.h.