template<typename TInputImage, typename TOutputImage, typename TParentImageFilter = DenseFiniteDifferenceImageFilter<TInputImage, TOutputImage>>
class itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >
This is the GPU version of DenseFiniteDifferenceImageFilter class. Currently only single-threaded, single GPU version is implemented. See documentation for FiniteDifferenceImageFilter for an overview of the iterative finite difference algorithm:
- \(u_{\mathbf{i}}^{n+1}=u^n_{\mathbf{i}}+\Delta u^n_{\mathbf{i}}\Delta t\)
- This class defines an update buffer for \( \Delta \) and the methods GPUCalculateChange() and GPUApplyUpdate(), which are GPU version of CalculateChange() and ApplyUpdate().
Use m_UpdateBuffer defined in CPU superclass (DenseFiniteDifferenceImageFilter).
- How to use this class
- This filter can be used as a base class for GPU implementation of DenseFiniteDifferenceImageFilter.
Definition at line 55 of file itkGPUDenseFiniteDifferenceImageFilter.h.
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CPUSuperclass = TParentImageFilter |
|
using | FiniteDifferenceFunctionType = typename GPUSuperclass::FiniteDifferenceFunctionType |
|
using | GPUSuperclass = GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter > |
|
using | InputImageType = typename GPUSuperclass::InputImageType |
|
using | OutputImageType = typename GPUSuperclass::OutputImageType |
|
using | PixelType = typename GPUSuperclass::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = GPUDenseFiniteDifferenceImageFilter |
|
using | TimeStepType = typename GPUSuperclass::TimeStepType |
|
using | UpdateBufferType = OutputImageType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CPUSuperclass = DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > |
|
using | FiniteDifferenceFunctionType = typename GPUFiniteDifferenceFunction< TOutputImage >::DifferenceFunctionType |
|
using | GPUSuperclass = GPUInPlaceImageFilter< TInputImage, TOutputImage, DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > > |
|
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 |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CPUSuperclass = DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > |
|
using | GPUSuperclass = GPUImageToImageFilter< TInputImage, TOutputImage, DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > > |
|
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 |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = DataObject::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 | Pointer = SmartPointer< Self > |
|
using | Self = GPUImageToImageFilter |
|
using | Superclass = DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = DenseFiniteDifferenceImageFilter |
|
using | Superclass = FiniteDifferenceImageFilter< TInputImage, TOutputImage > |
|
using | UpdateBufferType = OutputImageType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FiniteDifferenceFunctionType = FiniteDifferenceFunction< TOutputImage > |
|
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 = FiniteDifferenceImageFilter |
|
using | Superclass = InPlaceImageFilter< TInputImage, TOutputImage > |
|
using | TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageConstPointer = typename InputImageType::ConstPointer |
|
using | InputImagePixelType = typename InputImageType::PixelType |
|
using | InputImagePointer = typename InputImageType::Pointer |
|
using | InputImageRegionType = typename InputImageType::RegionType |
|
using | InputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = InPlaceImageFilter |
|
using | Superclass = ImageToImageFilter< TInputImage, TOutputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageConstPointer = typename InputImageType::ConstPointer |
|
using | InputImagePixelType = typename InputImageType::PixelType |
|
using | InputImagePointer = typename InputImageType::Pointer |
|
using | InputImageRegionType = typename InputImageType::RegionType |
|
using | InputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageToImageFilter |
|
using | Superclass = ImageSource< TOutputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
|
using | OutputImagePixelType = typename OutputImageType::PixelType |
|
using | OutputImagePointer = typename OutputImageType::Pointer |
|
using | OutputImageRegionType = typename OutputImageType::RegionType |
|
using | OutputImageType = TOutputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageSource |
|
using | Superclass = ProcessObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
|
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
|
using | MultiThreaderType = MultiThreaderBase |
|
using | NameArray = std::vector< DataObjectIdentifierType > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ProcessObject |
|
using | Superclass = Object |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = Object |
|
using | Superclass = LightObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = LightObject |
|
|
void | AllocateUpdateBuffer () override |
|
void | ApplyUpdate (const TimeStepType &dt) override |
|
void | CopyInputToOutput () override |
|
UpdateBufferType * | GetUpdateBuffer () override |
|
void | GPUApplyUpdate (const TimeStepType &dt) override |
|
TimeStepType | GPUCalculateChange () override |
|
| GPUDenseFiniteDifferenceImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~GPUDenseFiniteDifferenceImageFilter () override=default |
|
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 |
|
TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const BooleanStdVectorType &valid) const override |
|
bool | ThreadedHalt (void *) override |
|
| ~GPUFiniteDifferenceImageFilter () override |
|
void | AllocateOutputs () override |
|
| GPUInPlaceImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~GPUInPlaceImageFilter () override |
|
void | ReleaseInputs () override |
|
virtual void | GPUGenerateData () |
|
| GPUImageToImageFilter () |
|
void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) override |
|
void | GraftOutput (DataObject *output) override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~GPUImageToImageFilter () override |
|
void | AllocateUpdateBuffer () override |
|
void | ApplyUpdate (const TimeStepType &dt) override |
|
TimeStepType | CalculateChange () override |
|
void | CopyInputToOutput () override |
|
| DenseFiniteDifferenceImageFilter () |
|
virtual UpdateBufferType * | GetUpdateBuffer () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | ThreadedApplyUpdate (const TimeStepType &dt, const ThreadRegionType ®ionToProcess, ThreadIdType threadId) |
|
virtual TimeStepType | ThreadedCalculateChange (const ThreadRegionType ®ionToProcess, ThreadIdType threadId) |
|
| ~DenseFiniteDifferenceImageFilter () override=default |
|
virtual void | AllocateUpdateBuffer ()=0 |
|
virtual void | ApplyUpdate (const TimeStepType &dt)=0 |
|
virtual TimeStepType | CalculateChange ()=0 |
|
virtual void | CopyInputToOutput ()=0 |
|
| FiniteDifferenceImageFilter () |
|
void | GenerateData () override |
|
void | GenerateInputRequestedRegion () override |
|
virtual bool | Halt () |
|
virtual void | Initialize () |
|
virtual void | InitializeIteration () |
|
virtual void | PostProcessOutput () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const BooleanStdVectorType &valid) const |
|
virtual void | SetElapsedIterations (IdentifierType _arg) |
|
virtual bool | ThreadedHalt (void *) |
|
| ~FiniteDifferenceImageFilter () override=default |
|
virtual bool | GetRunningInPlace () const |
|
| InPlaceImageFilter ()=default |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | ReleaseInputs () override |
|
| ~InPlaceImageFilter () override=default |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
void | GenerateInputRequestedRegion () override |
|
| ImageToImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | VerifyInputInformation () const override |
|
| ~ImageToImageFilter () override=default |
|
virtual void | PushBackInput (const DataObject *input) |
|
virtual void | PushFrontInput (const DataObject *input) |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | AllocateOutputs () |
|
virtual void | BeforeThreadedGenerateData () |
|
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
|
void | GenerateData () override |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
| ImageSource () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
|
| ~ImageSource () override=default |
|
virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
|
virtual void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) |
|
virtual bool | GetDynamicMultiThreading () const |
|
virtual void | SetDynamicMultiThreading (bool _arg) |
|
virtual void | DynamicMultiThreadingOn () |
|
virtual void | AddInput (DataObject *input) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
virtual void | AddOutput (DataObject *output) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
virtual void | CacheInputReleaseDataFlags () |
|
virtual void | GenerateData () |
|
virtual void | GenerateInputRequestedRegion () |
|
virtual void | GenerateOutputInformation () |
|
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
|
DataObject * | GetInput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
|
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
|
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
|
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
|
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
|
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
|
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
|
virtual void | PopBackInput () |
|
virtual void | PopFrontInput () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ProcessObject () |
|
virtual void | PropagateResetPipeline () |
|
virtual void | PushBackInput (const DataObject *input) |
|
virtual void | PushFrontInput (const DataObject *input) |
|
virtual void | ReleaseInputs () |
|
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
|
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
|
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
|
virtual void | RestoreInputReleaseDataFlags () |
|
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
|
virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
|
virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
|
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
|
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
|
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
|
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
|
virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
|
virtual void | SetPrimaryInput (DataObject *object) |
|
virtual void | SetPrimaryOutput (DataObject *object) |
|
void | SetRequiredInputNames (const NameArray &) |
|
virtual void | VerifyInputInformation () const |
|
virtual void | VerifyPreconditions () const |
|
| ~ProcessObject () override |
|
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
|
DataObject * | GetPrimaryInput () |
|
const DataObject * | GetPrimaryInput () const |
|
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryInputName () const |
|
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
|
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryOutputName () const |
|
DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
|
const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
|
DataObject * | GetPrimaryOutput () |
|
const DataObject * | GetPrimaryOutput () const |
|
virtual bool | GetThreaderUpdateProgress () const |
|
virtual void | ThreaderUpdateProgressOn () |
|
virtual void | SetThreaderUpdateProgress (bool arg) |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
| ~Object () override |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|