ITK
4.4.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 | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TParentImageFilter | CPUSuperclass |
enum | FilterStateType { UNINITIALIZED = 0, INITIALIZED = 1 } |
typedef GPUFiniteDifferenceFunction < TOutputImage > ::DifferenceFunctionType | FiniteDifferenceFunctionType |
typedef GPUInPlaceImageFilter < TInputImage, TOutputImage, TParentImageFilter > | GPUSuperclass |
typedef TInputImage | InputImageType |
typedef TInputImage::PixelType | InputPixelType |
typedef NumericTraits < InputPixelType >::ValueType | InputPixelValueType |
typedef FiniteDifferenceFunctionType::NeighborhoodScalesType | NeighborhoodScalesType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef NumericTraits < OutputPixelType >::ValueType | OutputPixelValueType |
typedef OutputPixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef FiniteDifferenceFunctionType::RadiusType | RadiusType |
typedef GPUFiniteDifferenceImageFilter | Self |
typedef FiniteDifferenceFunctionType::TimeStepType | TimeStepType |
Public Types inherited from itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TParentImageFilter | CPUSuperclass |
typedef GPUImageToImageFilter < TInputImage, TOutputImage, TParentImageFilter > | GPUSuperclass |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef GPUSuperclass::OutputImagePixelType | OutputImagePixelType |
typedef GPUSuperclass::OutputImagePointer | OutputImagePointer |
typedef GPUSuperclass::OutputImageRegionType | OutputImageRegionType |
typedef GPUSuperclass::OutputImageType | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef GPUInPlaceImageFilter | Self |
Public Types inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef GPUImageToImageFilter | Self |
typedef TParentImageFilter | Superclass |
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 Attributes | |
TimeProbe | m_ApplyUpdateTime |
TimeProbe | m_ComputeUpdateTime |
TimeProbe | m_InitTime |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
double | m_RMSChange |
TimeProbe | m_SmoothFieldTime |
Private Member Functions | |
GPUFiniteDifferenceImageFilter (const Self &) | |
void | InitializeFunctionCoefficients () |
void | operator= (const Self &) |
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 76 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 75 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 74 of file itkGPUFiniteDifferenceImageFilter.h.
enum itk::GPUFiniteDifferenceImageFilter::FilterStateType |
Enumerator | |
---|---|
UNINITIALIZED | |
INITIALIZED |
Definition at line 90 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
|
protected |
|
private |
|
protectedpure virtual |
This method allocates a temporary update container in the subclass.
Implemented in itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >, and itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.
|
protectedpure 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 >.
|
protectedvirtual |
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
|
virtual |
This method returns a pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
|
virtual |
Methods to get timers
|
virtual |
Require the filter to be manually reinitialized (by calling SetStateToUninitialized()
|
virtual |
Set/Get the maximum error allowed in the solution. This may not be defined for all solvers and its meaning may change with the application.
|
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 |
Set/Get the root mean squared change of the previous iteration. May not be used by all solvers.
|
virtual |
Methods to get timers
|
virtual |
Set/Get the state of the filter.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOff.
|
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 >.
|
protectedvirtual |
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 >.
|
protectedvirtual |
This method returns true when the current iterative solution of the equation has met the criteria to stop solving. Defined by a subclass.
|
inlineprotectedvirtual |
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 218 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.
|
inlineprotectedvirtual |
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 227 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Require the filter to be manually reinitialized (by calling SetStateToUninitialized()
|
virtual |
Require the filter to be manually reinitialized (by calling SetStateToUninitialized()
|
private |
|
inlineprotectedvirtual |
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 249 of file itkGPUFiniteDifferenceImageFilter.h.
|
protectedvirtual |
|
protectedvirtual |
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.
|
virtual |
This method sets the pointer to a FiniteDifferenceFunction object that will be used by the filter to calculate updates at image pixels.
|
protectedvirtual |
Set the number of elapsed iterations of the filter.
|
virtual |
Require the filter to be manually reinitialized (by calling SetStateToUninitialized()
|
virtual |
Set/Get the maximum error allowed in the solution. This may not be defined for all solvers and its meaning may change with the application.
|
virtual |
Set/Get the root mean squared change of the previous iteration. May not be used by all solvers.
|
virtual |
Set/Get the state of the filter.
|
inline |
Set the state of the filter to INITIALIZED
Definition at line 112 of file itkGPUFiniteDifferenceImageFilter.h.
|
inline |
Set the state of the filter to UNINITIALIZED
Definition at line 118 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOff.
|
inlineprotectedvirtual |
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 209 of file itkGPUFiniteDifferenceImageFilter.h.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOff.
|
virtual |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOff.
|
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 271 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 271 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
The function that will be used in calculating updates for each pixel.
Definition at line 284 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Timers for statistics
Definition at line 271 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 253 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 268 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 267 of file itkGPUFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 271 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
State that the filter is in, i.e. UNINITIALIZED or INITIALIZED
Definition at line 291 of file itkGPUFiniteDifferenceImageFilter.h.
|
private |
Control whether derivatives use spacing of the input image in its calculation.
Definition at line 288 of file itkGPUFiniteDifferenceImageFilter.h.