ITK
4.8.0
Insight Segmentation and Registration Toolkit
|
#include <itkDenseFiniteDifferenceImageFilter.h>
This filter implements a layer of the finite difference solver hierarchy that performs ``dense'' iteration, ie. iteration over all pixels in the input and output at each change calculation and update step. Dense iteration is in contrast to a ``sparse'' iteration over a subset of the pixels. See documentation for FiniteDifferenceImageFilter for an overview of the iterative finite difference algorithm:
Definition at line 69 of file itkDenseFiniteDifferenceImageFilter.h.
Classes | |
struct | DenseFDThreadStruct |
Static Public Attributes | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Types | |
typedef UpdateBufferType::RegionType | ThreadRegionType |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Private Member Functions | |
DenseFiniteDifferenceImageFilter (const Self &) | |
void | operator= (const Self &) |
Static Private Member Functions | |
static ITK_THREAD_RETURN_TYPE | ApplyUpdateThreaderCallback (void *arg) |
static ITK_THREAD_RETURN_TYPE | CalculateChangeThreaderCallback (void *arg) |
Private Attributes | |
UpdateBufferType::Pointer | m_UpdateBuffer |
typedef SmartPointer< const Self > itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 80 of file itkDenseFiniteDifferenceImageFilter.h.
typedef Superclass::FiniteDifferenceFunctionType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::FiniteDifferenceFunctionType |
Definition at line 89 of file itkDenseFiniteDifferenceImageFilter.h.
typedef Superclass::InputImageType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::InputImageType |
Convenient typedefs
Definition at line 83 of file itkDenseFiniteDifferenceImageFilter.h.
typedef Superclass::OutputImageType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 87 of file itkDenseFiniteDifferenceImageFilter.h.
typedef Superclass::PixelType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::PixelType |
The pixel type of the output image will be used in computations. Inherited from the superclass.
Definition at line 97 of file itkDenseFiniteDifferenceImageFilter.h.
typedef SmartPointer< Self > itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 79 of file itkDenseFiniteDifferenceImageFilter.h.
typedef DenseFiniteDifferenceImageFilter itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs
Definition at line 75 of file itkDenseFiniteDifferenceImageFilter.h.
typedef FiniteDifferenceImageFilter< TInputImage, TOutputImage > itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 77 of file itkDenseFiniteDifferenceImageFilter.h.
|
protected |
The type of region used for multithreading
Definition at line 149 of file itkDenseFiniteDifferenceImageFilter.h.
typedef Superclass::TimeStepType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::TimeStepType |
The value type of a time step. Inherited from the superclass.
Definition at line 100 of file itkDenseFiniteDifferenceImageFilter.h.
typedef OutputImageType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::UpdateBufferType |
The container type for the update buffer.
Definition at line 103 of file itkDenseFiniteDifferenceImageFilter.h.
|
inlineprotected |
Definition at line 119 of file itkDenseFiniteDifferenceImageFilter.h.
|
inlineprotected |
Definition at line 121 of file itkDenseFiniteDifferenceImageFilter.h.
|
private |
|
overrideprotectedvirtual |
This method allocates storage in m_UpdateBuffer. It is called from Superclass::GenerateData().
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::DiffeomorphicDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, and itk::FastSymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
overrideprotectedvirtual |
This method applies changes from the m_UpdateBuffer to the output using the ThreadedApplyUpdate() method and a multithreading mechanism. "dt" is the time step to use for the update of each pixel.
Reimplemented in itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::CurvatureRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TImageForceFunction >, itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, and itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
staticprivate |
This callback method uses ImageSource::SplitRequestedRegion to acquire an output region that it passes to ThreadedApplyUpdate for processing.
|
overrideprotectedvirtual |
This method populates an update buffer with changes for each pixel in the output using the ThreadedCalculateChange() method and a multithreading mechanism. Returns value is a time step to be used for the update.
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
staticprivate |
This callback method uses SplitUpdateContainer to acquire a region which it then passes to ThreadedCalculateChange for processing.
|
overrideprotectedvirtual |
A simple method to copy the data from the input to the output. ( Supports "read-only" image adaptors in the case where the input image type converts to a different output image type. )
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, and itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::CurvatureRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TImageForceFunction >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::DiffeomorphicDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::FastSymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.
|
inlineprotectedvirtual |
Method to allow subclasses to get direct access to the update buffer
Definition at line 136 of file itkDenseFiniteDifferenceImageFilter.h.
|
private |
|
overrideprotectedvirtual |
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.
Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, and itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >.
|
protectedvirtual |
Does the actual work of updating the output from the UpdateContainer over an output region supplied by the multithreading mechanism.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
Does the actual work of calculating change over a region supplied by the multithreading mechanism.
itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::MultiplyOperator< PixelType, double > | ) |
This class requires OutputTimesDoubleCheck in the form of ( Concept::MultiplyOperator< PixelType, double > )
itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::AdditiveOperators< PixelType > | ) |
This class requires OutputAdditiveOperatorsCheck in the form of ( Concept::AdditiveOperators< PixelType > )
itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::AdditiveAndAssignOperators< PixelType > | ) |
This class requires OutputAdditiveAndAssignOperatorsCheck in the form of ( Concept::AdditiveAndAssignOperators< PixelType > )
itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::Convertible< typename TInputImage::PixelType, PixelType > | ) |
This class requires InputConvertibleToOutputCheck in the form of ( Concept::Convertible< typename TInputImage::PixelType, PixelType > )
|
static |
Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.
Definition at line 93 of file itkDenseFiniteDifferenceImageFilter.h.
|
private |
The buffer that holds the updates for an iteration of the algorithm.
Definition at line 190 of file itkDenseFiniteDifferenceImageFilter.h.
Referenced by itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField >::DenseFiniteDifferenceImageFilter(), and itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField >::GetUpdateBuffer().