ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkGPUFiniteDifferenceImageFilter.h>
Base class for GPU Finite Difference Image Filters.
Definition at line 37 of file itkGPUFiniteDifferenceImageFilter.h.
Static Public Attributes | |
static const unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Member Functions | |
virtual void | AllocateUpdateBuffer () override=0 |
virtual void | CopyInputToOutput () override=0 |
virtual void | GenerateInputRequestedRegion () override |
virtual void | GPUApplyUpdate (const TimeStepType &dt)=0 |
virtual TimeStepType | GPUCalculateChange ()=0 |
GPUFiniteDifferenceImageFilter () | |
virtual void | GPUGenerateData () override |
virtual bool | Halt () override |
virtual void | Initialize () override |
virtual void | InitializeIteration () override |
virtual void | PostProcessOutput () override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const std::vector< bool > &valid) const override |
virtual bool | ThreadedHalt (void *) override |
~GPUFiniteDifferenceImageFilter () | |
Protected Member Functions inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
virtual void | AllocateOutputs () override |
GPUInPlaceImageFilter () | |
virtual void | ReleaseInputs () override |
~GPUInPlaceImageFilter () | |
Protected Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
GPUImageToImageFilter () | |
~GPUImageToImageFilter () | |
Protected Attributes | |
TimeProbe | m_ApplyUpdateTime |
TimeProbe | m_ComputeUpdateTime |
TimeProbe | m_InitTime |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
double | m_RMSChange |
TimeProbe | m_SmoothFieldTime |
Protected Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
GPUKernelManager::Pointer | m_GPUKernelManager |
Private Member Functions | |
GPUFiniteDifferenceImageFilter (const Self &) ITK_DELETE_FUNCTION | |
void | InitializeFunctionCoefficients () |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
FiniteDifferenceFunctionType::Pointer | m_DifferenceFunction |
FilterStateType | m_State |
bool | m_UseImageSpacing |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
static Pointer | New () |
typedef SmartPointer< const Self > itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ConstPointer |
Definition at line 47 of file itkGPUFiniteDifferenceImageFilter.h.
typedef TParentImageFilter itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::CPUSuperclass |
Definition at line 45 of file itkGPUFiniteDifferenceImageFilter.h.
typedef GPUFiniteDifferenceFunction< TOutputImage >::DifferenceFunctionType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::FiniteDifferenceFunctionType |
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 71 of file itkGPUFiniteDifferenceImageFilter.h.
typedef GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUSuperclass |
Definition at line 44 of file itkGPUFiniteDifferenceImageFilter.h.
typedef TInputImage itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageType |
Input and output image types.
Definition at line 50 of file itkGPUFiniteDifferenceImageFilter.h.
typedef TInputImage::PixelType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelType |
Definition at line 61 of file itkGPUFiniteDifferenceImageFilter.h.
typedef NumericTraits< InputPixelType >::ValueType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelValueType |
Definition at line 66 of file itkGPUFiniteDifferenceImageFilter.h.
typedef FiniteDifferenceFunctionType::NeighborhoodScalesType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::NeighborhoodScalesType |
Definition at line 74 of file itkGPUFiniteDifferenceImageFilter.h.
typedef TOutputImage itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageType |
Definition at line 54 of file itkGPUFiniteDifferenceImageFilter.h.
typedef TOutputImage::PixelType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputPixelType |
The pixel type of the output image will be used in computations.
Definition at line 60 of file itkGPUFiniteDifferenceImageFilter.h.
typedef NumericTraits< OutputPixelType >::ValueType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputPixelValueType |
Extract value type in case the pixel is of vector type
Definition at line 65 of file itkGPUFiniteDifferenceImageFilter.h.
typedef OutputPixelType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::PixelType |
Definition at line 62 of file itkGPUFiniteDifferenceImageFilter.h.
typedef SmartPointer< Self > itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Pointer |
Definition at line 46 of file itkGPUFiniteDifferenceImageFilter.h.
typedef FiniteDifferenceFunctionType::RadiusType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::RadiusType |
Definition at line 73 of file itkGPUFiniteDifferenceImageFilter.h.
typedef GPUFiniteDifferenceImageFilter itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Self |
Standard class typedefs.
Definition at line 43 of file itkGPUFiniteDifferenceImageFilter.h.
typedef FiniteDifferenceFunctionType::TimeStepType itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::TimeStepType |
Definition at line 72 of file itkGPUFiniteDifferenceImageFilter.h.
enum itk::GPUFiniteDifferenceImageFilter::FilterStateType |
Enumerator | |
---|---|
UNINITIALIZED | |
INITIALIZED |
Definition at line 98 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
|
protected |
|
private |
|
overrideprotectedpure virtual |
This method allocates a temporary update container in the subclass.
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.
|
overrideprotectedpure virtual |
This method can be defined in subclasses as needed to copy the input to the output. See DenseFiniteDifferenceImageFilter for an implementation.
Implemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.
|
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 in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.
|
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.
Definition at line 79 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Methods to get timers
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
Reimplemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >, itk::GPUGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, TParentImageFilter >, and itk::GPUAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
|
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. |
|
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 >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.
|
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, TParentImageFilter >.
|
overrideprotectedvirtual |
This method returns true when the current iterative solution of the equation has met the criteria to stop solving. Defined by a subclass.
Referenced by itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::ThreadedHalt().
|
inlineoverrideprotectedvirtual |
This method is optionally defined by a subclass and is called before the loop of iterations of calculate_change & upate. It does the global initialization, i.e. in the SparseFieldLevelSetImageFilter, initialize the list of layers.
Reimplemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.
Definition at line 199 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 in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, and itk::GPUAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
Definition at line 208 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
|
inlineoverrideprotectedvirtual |
This method is called after the solution has been generated to allow subclasses to apply some further processing to the output.
Reimplemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.
Definition at line 230 of file itkGPUFiniteDifferenceImageFilter.h.
|
overrideprotectedvirtual |
|
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 "list" elements are valid |
The default is to return the minimum value in the list.
|
inlineoverridevirtual |
This method sets the pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
Definition at line 87 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
Referenced by itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::SetStateToInitialized(), and itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::SetStateToUninitialized().
|
inline |
Set the state of the filter to INITIALIZED
Definition at line 101 of file itkGPUFiniteDifferenceImageFilter.h.
|
inline |
Set the state of the filter to UNINITIALIZED
Definition at line 107 of file itkGPUFiniteDifferenceImageFilter.h.
|
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 MultiThreader::ThreadInfoStruct 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.
Definition at line 190 of file itkGPUFiniteDifferenceImageFilter.h.
|
static |
Dimensionality of input and output data is assumed to be the same.
Definition at line 57 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 249 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 249 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
The function that will be used in calculating updates for each pixel.
Definition at line 262 of file itkGPUFiniteDifferenceImageFilter.h.
Referenced by itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::GetDifferenceFunction(), itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::InitializeIteration(), and itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >::SetDifferenceFunction().
|
protected |
Timers for statistics
Definition at line 249 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
The maximum number of iterations this filter will run A counter for keeping track of the number of elapsed iterations during filtering. Indicates whether the filter automatically resets to UNINITIALIZED state after completing, or whether filter must be manually reset
Definition at line 243 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 246 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 245 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 249 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 269 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 266 of file itkGPUFiniteDifferenceImageFilter.h.