ITK
6.0.0
Insight Toolkit
|
#include <itkGPUFiniteDifferenceImageFilter.h>
Base class for GPU Finite Difference Image Filters.
Definition at line 40 of file itkGPUFiniteDifferenceImageFilter.h.
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, FiniteDifferenceImageFilter< TInputImage, TOutputImage > > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, FiniteDifferenceImageFilter< TInputImage, TOutputImage > > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
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 |
static constexpr unsigned int | OutputImageDimension |
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 Attributes | |
TimeProbe | m_ApplyUpdateTime |
TimeProbe | m_ComputeUpdateTime |
TimeProbe | m_InitTime |
TimeProbe | m_SmoothFieldTime {} |
Protected Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, FiniteDifferenceImageFilter< TInputImage, TOutputImage > > | |
GPUKernelManager::Pointer | m_GPUKernelManager |
Protected Attributes inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage > | |
IdentifierType | m_ElapsedIterations {} |
bool | m_IsInitialized {} |
bool | m_ManualReinitialization {} |
double | m_MaximumRMSError {} |
IdentifierType | m_NumberOfIterations {} |
double | m_RMSChange {} |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Private Member Functions | |
void | InitializeFunctionCoefficients () |
Private Attributes | |
FiniteDifferenceFunctionType::Pointer | m_DifferenceFunction {} |
GPUFiniteDifferenceFilterEnum | m_State {} |
bool | m_UseImageSpacing {} |
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ConstPointer = SmartPointer<const Self> |
Definition at line 51 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::CPUSuperclass = TParentImageFilter |
Definition at line 49 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::FiniteDifferenceFunctionType = typename GPUFiniteDifferenceFunction<TOutputImage>::DifferenceFunctionType |
The value type of the time step. This is distinct from PixelType because PixelType may often be a vector value, while the TimeStep is a scalar value.
Definition at line 75 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUSuperclass = GPUInPlaceImageFilter<TInputImage, TOutputImage, TParentImageFilter> |
Definition at line 48 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageType = TInputImage |
Input and output image types.
Definition at line 57 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelType = typename TInputImage::PixelType |
Definition at line 65 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelValueType = typename NumericTraits<InputPixelType>::ValueType |
Definition at line 70 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::NeighborhoodScalesType = typename FiniteDifferenceFunctionType::NeighborhoodScalesType |
Definition at line 78 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageType = TOutputImage |
Definition at line 58 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputPixelType = typename TOutputImage::PixelType |
The pixel type of the output image will be used in computations.
Definition at line 64 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputPixelValueType = typename NumericTraits<OutputPixelType>::ValueType |
Extract value type in case the pixel is of vector type
Definition at line 69 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::PixelType = OutputPixelType |
Definition at line 66 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Pointer = SmartPointer<Self> |
Definition at line 50 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
Definition at line 77 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Self = GPUFiniteDifferenceImageFilter |
Standard class type aliases.
Definition at line 47 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
Definition at line 76 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
|
overrideprotected |
|
overrideprotectedpure virtual |
This method allocates a temporary update container in the subclass.
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, AnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
|
overrideprotectedpure virtual |
This method can be defined in subclasses as needed to copy the input to the output. See DenseFiniteDifferenceImageFilter for an implementation.
Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, AnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >, itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, and itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
|
overrideprotectedvirtual |
FiniteDifferenceImageFilter needs a larger input requested region than the output requested region. As such, we need to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
|
virtual |
Methods to get timers
|
virtual |
Methods to get timers
|
inlineoverridevirtual |
This method returns a pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 84 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Methods to get timers
|
overridevirtual |
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::GPUAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, and itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
|
virtual |
Methods to get timers
|
virtual |
Set/Get the state of the filter.
|
protectedpure virtual |
This method is defined by a subclass to apply changes to the output from an update buffer and a time step value "dt".
dt | Time step value. |
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, AnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
|
protectedpure virtual |
This method is defined by a subclass to populate an update buffer with changes for the pixels in the output. It returns a time step value to be used for the update.
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, AnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
|
overrideprotectedvirtual |
This is the default, high-level algorithm for calculating finite difference solutions. It calls virtual methods in its subclasses to implement the major steps of the algorithm.
Reimplemented from itk::GPUImageToImageFilter< TInputImage, TOutputImage, FiniteDifferenceImageFilter< TInputImage, TOutputImage > >.
|
overrideprotectedvirtual |
This method returns true when the current iterative solution of the equation has met the criteria to stop solving. Defined by a subclass.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
|
inlineoverrideprotectedvirtual |
This method is optionally defined by a subclass and is called before the loop of iterations of calculate_change & update. It does the global initialization, i.e. in the SparseFieldLevelSetImageFilter, initialize the list of layers.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 223 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
Initialize the values of the Function coefficients. This function will also take care of checking whether the image spacing should be taken into account or not.
|
inlineoverrideprotectedvirtual |
This method is optionally defined by a subclass and is called immediately prior to each iterative CalculateChange-ApplyUpdate cycle. It can be used to set global variables needed for the next iteration (ie. average gradient magnitude of the image in anisotropic diffusion functions), or otherwise prepare for the next iteration.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::GPUAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >, and itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > >.
Definition at line 233 of file itkGPUFiniteDifferenceImageFilter.h.
|
inlineoverrideprotectedvirtual |
This method is called after the solution has been generated to allow subclasses to apply some further processing to the output.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 256 of file itkGPUFiniteDifferenceImageFilter.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::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
|
overrideprotectedvirtual |
Virtual method for resolving a single time step from a set of time steps returned from processing threads.
timeStepList | The set of time changes compiled from all the threaded calls to ThreadedGenerateData. |
valid | The set of flags indicating which of "timeStepList" elements are valid. |
The default is to return the minimum value in the list.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
|
inlineoverridevirtual |
This method sets the pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 93 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
inline |
Set the state of the filter to INITIALIZED
Definition at line 114 of file itkGPUFiniteDifferenceImageFilter.h.
References itk::INITIALIZED.
|
inline |
Set the state of the filter to UNINITIALIZED
Definition at line 121 of file itkGPUFiniteDifferenceImageFilter.h.
References itk::UNINITIALIZED.
|
inlineoverrideprotectedvirtual |
This method is similar to Halt(), and its default implementation in this class is simply to call Halt(). However, this method takes as a parameter a void pointer to the MultiThreaderBase::WorkUnitInfo structure. If you override this method instead of overriding Halt, you will be able to get the current thread ID and handle the Halt method accordingly. This is useful if you are doing a lot of processing in Halt that you don't want parallelized. Notice that ThreadedHalt is only called by the multithreaded filters, so you still should implement Halt, just in case a non-threaded filter is used.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 212 of file itkGPUFiniteDifferenceImageFilter.h.
|
staticconstexpr |
Dimensionality of input and output data is assumed to be the same.
Definition at line 61 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 260 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 260 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
The function that will be used in calculating updates for each pixel.
Definition at line 270 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Timers for statistics
Definition at line 260 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 260 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 277 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 274 of file itkGPUFiniteDifferenceImageFilter.h.