ITK
5.0.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 constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Types | |
using | ThreadRegionType = typename UpdateBufferType::RegionType |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Private Member Functions | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ApplyUpdateThreaderCallback (void *arg) |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | CalculateChangeThreaderCallback (void *arg) |
Private Attributes | |
UpdateBufferType::Pointer | m_UpdateBuffer |
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer< const Self > |
Definition at line 81 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::FiniteDifferenceFunctionType = typename Superclass::FiniteDifferenceFunctionType |
Definition at line 89 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::InputImageType = typename Superclass::InputImageType |
Convenient type alias
Definition at line 87 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::OutputImageType = typename Superclass::OutputImageType |
Definition at line 88 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::PixelType = typename Superclass::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.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer< Self > |
Definition at line 80 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Self = DenseFiniteDifferenceImageFilter |
Standard class type aliases
Definition at line 76 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::Superclass = FiniteDifferenceImageFilter< TInputImage, TOutputImage > |
Definition at line 78 of file itkDenseFiniteDifferenceImageFilter.h.
|
protected |
The type of region used for multithreading
Definition at line 149 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::TimeStepType = typename Superclass::TimeStepType |
The value type of a time step. Inherited from the superclass.
Definition at line 100 of file itkDenseFiniteDifferenceImageFilter.h.
using itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::UpdateBufferType = OutputImageType |
The container type for the update buffer.
Definition at line 103 of file itkDenseFiniteDifferenceImageFilter.h.
|
inlineprotected |
Definition at line 119 of file itkDenseFiniteDifferenceImageFilter.h.
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
This method allocates storage in m_UpdateBuffer. It is called from Superclass::GenerateData().
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
|
overrideprotected |
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.
|
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 >.
|
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 >.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::CurvatureRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TImageForceFunction >, itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::DiffeomorphicDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::FastSymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >, itk::PDEDeformableRegistrationFilter< 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.
|
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.
|
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 187 of file itkDenseFiniteDifferenceImageFilter.h.