ITK
5.0.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.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | CPUSuperclass = TParentImageFilter |
enum | FilterStateType { UNINITIALIZED = 0, INITIALIZED = 1 } |
using | FiniteDifferenceFunctionType = typename GPUFiniteDifferenceFunction< TOutputImage >::DifferenceFunctionType |
using | GPUSuperclass = GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > |
using | InputImageType = TInputImage |
using | InputPixelType = typename TInputImage::PixelType |
using | InputPixelValueType = typename NumericTraits< InputPixelType >::ValueType |
using | NeighborhoodScalesType = typename FiniteDifferenceFunctionType::NeighborhoodScalesType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | OutputPixelValueType = typename NumericTraits< OutputPixelType >::ValueType |
using | PixelType = OutputPixelType |
using | Pointer = SmartPointer< Self > |
using | RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
using | Self = GPUFiniteDifferenceImageFilter |
using | TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
Public Types inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
using | ConstPointer = SmartPointer< const Self > |
using | CPUSuperclass = TParentImageFilter |
using | GPUSuperclass = GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OutputImagePixelType = typename GPUSuperclass::OutputImagePixelType |
using | OutputImagePointer = typename GPUSuperclass::OutputImagePointer |
using | OutputImageRegionType = typename GPUSuperclass::OutputImageRegionType |
using | OutputImageType = typename GPUSuperclass::OutputImageType |
using | Pointer = SmartPointer< Self > |
using | Self = GPUInPlaceImageFilter |
Public Types inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = typename Superclass::DataObjectIdentifierType |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OutputImagePixelType = typename Superclass::OutputImagePixelType |
using | OutputImageRegionType = typename Superclass::OutputImageRegionType |
using | Pointer = SmartPointer< Self > |
using | Self = GPUImageToImageFilter |
using | Superclass = TParentImageFilter |
Public Member Functions | |
const FiniteDifferenceFunctionType::Pointer & | GetDifferenceFunction () const override |
virtual const char * | GetNameOfClass () const |
void | SetStateToInitialized () |
void | SetStateToUninitialized () |
void | SetDifferenceFunction (FiniteDifferenceFunctionType *differenceFunction) override |
virtual void | SetState (FilterStateType _arg) |
virtual const FilterStateType & | GetState () const |
virtual const TimeProbe & | GetInitTime () const |
virtual const TimeProbe & | GetComputeUpdateTime () const |
virtual const TimeProbe & | GetApplyUpdateTime () const |
virtual const TimeProbe & | GetSmoothFieldTime () const |
Public Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void | GenerateData () override |
virtual bool | GetGPUEnabled () const |
virtual void | GPUEnabledOff () |
virtual void | GPUEnabledOn () |
virtual void | GraftOutput (typename itk::GPUTraits< TOutputImage >::Type *output) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, typename itk::GPUTraits< TOutputImage >::Type *output) |
virtual void | SetGPUEnabled (bool _arg) |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Member Functions | |
void | AllocateUpdateBuffer () override=0 |
void | CopyInputToOutput () override=0 |
void | GenerateInputRequestedRegion () override |
virtual void | GPUApplyUpdate (const TimeStepType &dt)=0 |
virtual TimeStepType | GPUCalculateChange ()=0 |
GPUFiniteDifferenceImageFilter () | |
void | GPUGenerateData () override |
bool | Halt () override |
void | Initialize () override |
void | InitializeIteration () override |
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 |
bool | ThreadedHalt (void *) override |
~GPUFiniteDifferenceImageFilter () override | |
Protected Member Functions inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
void | AllocateOutputs () override |
GPUInPlaceImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~GPUInPlaceImageFilter () override | |
void | ReleaseInputs () override |
Protected Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
GPUImageToImageFilter () | |
void | GraftOutput (DataObject *output) override |
void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~GPUImageToImageFilter () override | |
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 | |
void | InitializeFunctionCoefficients () |
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 () |
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ConstPointer = SmartPointer< const Self > |
Definition at line 48 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::CPUSuperclass = TParentImageFilter |
Definition at line 46 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 72 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUSuperclass = GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > |
Definition at line 45 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageType = TInputImage |
Input and output image types.
Definition at line 54 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelType = typename TInputImage::PixelType |
Definition at line 62 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputPixelValueType = typename NumericTraits< InputPixelType >::ValueType |
Definition at line 67 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::NeighborhoodScalesType = typename FiniteDifferenceFunctionType::NeighborhoodScalesType |
Definition at line 75 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageType = TOutputImage |
Definition at line 55 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 61 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 66 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::PixelType = OutputPixelType |
Definition at line 63 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Pointer = SmartPointer< Self > |
Definition at line 47 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::RadiusType = typename FiniteDifferenceFunctionType::RadiusType |
Definition at line 74 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Self = GPUFiniteDifferenceImageFilter |
Standard class type aliases.
Definition at line 44 of file itkGPUFiniteDifferenceImageFilter.h.
using itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
Definition at line 73 of file itkGPUFiniteDifferenceImageFilter.h.
enum itk::GPUFiniteDifferenceImageFilter::FilterStateType |
Enumerator | |
---|---|
UNINITIALIZED | |
INITIALIZED |
Definition at line 99 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
|
overrideprotected |
|
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 >.
|
overrideprotected |
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.
|
virtual |
Methods to get timers
|
virtual |
Methods to get timers
|
inlineoverride |
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 80 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 >.
|
overrideprotected |
This method returns true when the current iterative solution of the equation has met the criteria to stop solving. Defined by a subclass.
|
inlineoverrideprotected |
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.
Definition at line 200 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.
|
inlineoverrideprotected |
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.
Definition at line 209 of file itkGPUFiniteDifferenceImageFilter.h.
|
inlineoverrideprotected |
This method is called after the solution has been generated to allow subclasses to apply some further processing to the output.
Definition at line 231 of file itkGPUFiniteDifferenceImageFilter.h.
|
overrideprotected |
|
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.
|
inlineoverride |
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 88 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Set/Get the state of the filter.
|
inline |
Set the state of the filter to INITIALIZED
Definition at line 102 of file itkGPUFiniteDifferenceImageFilter.h.
|
inline |
Set the state of the filter to UNINITIALIZED
Definition at line 108 of file itkGPUFiniteDifferenceImageFilter.h.
|
inlineoverrideprotected |
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.
Definition at line 191 of file itkGPUFiniteDifferenceImageFilter.h.
|
static |
Dimensionality of input and output data is assumed to be the same.
Definition at line 58 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 250 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 250 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
The function that will be used in calculating updates for each pixel.
Definition at line 260 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Timers for statistics
Definition at line 250 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 244 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 247 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 246 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 250 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 267 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 264 of file itkGPUFiniteDifferenceImageFilter.h.