ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkGPUImage.h>
Templated n-dimensional image class for the GPU.
Derived from itk Image class to use with GPU image filters. This class manages both CPU and GPU memory implicitly, and can be used with non-GPU itk filters as well. Memory transfer between CPU and GPU is done automatically and implicitly.
Definition at line 40 of file itkGPUImage.h.
Public Member Functions | |
virtual void | Allocate (bool initialize=false) override |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void | DataHasBeenGenerated () override |
void | FillBuffer (const TPixel &value) |
TPixel * | GetBufferPointer () override |
const TPixel * | GetBufferPointer () const override |
int | GetCurrentCommandQueueID () |
virtual const GPUImageDataManager< GPUImage > * | GetDataManager () const |
GPUDataManager::Pointer | GetGPUDataManager () const |
virtual GPUImageDataManager < GPUImage > * | GetModifiableDataManager () |
virtual const char * | GetNameOfClass () const |
const TPixel & | GetPixel (const IndexType &index) const |
TPixel & | GetPixel (const IndexType &index) |
PixelContainer * | GetPixelContainer () |
const PixelContainer * | GetPixelContainer () const |
virtual void | Graft (const DataObject *data) override |
virtual void | Initialize () override |
const TPixel & | operator[] (const IndexType &index) const |
TPixel & | operator[] (const IndexType &index) |
void | SetCurrentCommandQueue (int queueid) |
void | SetPixel (const IndexType &index, const TPixel &value) |
void | SetPixelContainer (PixelContainer *container) |
void | UpdateBuffers () |
AccessorType | GetPixelAccessor (void) |
const AccessorType | GetPixelAccessor (void) const |
NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () |
const NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () const |
Public Member Functions inherited from itk::Image< TPixel, VImageDimension > | |
void | FillBuffer (const TPixel &value) |
NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () |
const NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () const |
virtual unsigned int | GetNumberOfComponentsPerPixel () const override |
const TPixel & | GetPixel (const IndexType &index) const |
TPixel & | GetPixel (const IndexType &index) |
AccessorType | GetPixelAccessor (void) |
const AccessorType | GetPixelAccessor (void) const |
PixelContainer * | GetPixelContainer () |
const PixelContainer * | GetPixelContainer () const |
TPixel & | operator[] (const IndexType &index) |
const TPixel & | operator[] (const IndexType &index) const |
void | SetPixel (const IndexType &index, const TPixel &value) |
void | SetPixelContainer (PixelContainer *container) |
Public Member Functions inherited from itk::ImageBase< VImageDimension > | |
OffsetValueType | ComputeOffset (const IndexType &ind) const |
virtual void | CopyInformation (const DataObject *data) override |
virtual const RegionType & | GetBufferedRegion () const |
virtual const DirectionType & | GetDirection () const |
virtual const DirectionType & | GetInverseDirection () const |
virtual const RegionType & | GetLargestPossibleRegion () const |
virtual const PointType & | GetOrigin () const |
virtual const RegionType & | GetRequestedRegion () const |
virtual const SpacingType & | GetSpacing () const |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
virtual void | SetBufferedRegion (const RegionType ®ion) |
virtual void | SetDirection (const DirectionType &direction) |
virtual void | SetLargestPossibleRegion (const RegionType ®ion) |
virtual void | SetRegions (const SizeType &size) |
virtual void | SetRequestedRegion (const RegionType ®ion) |
virtual void | SetRequestedRegion (const DataObject *data) override |
virtual void | SetRequestedRegionToLargestPossibleRegion () override |
template<typename TCoordRep > | |
void | TransformLocalVectorToPhysicalVector (const FixedArray< TCoordRep, VImageDimension > &inputGradient, FixedArray< TCoordRep, VImageDimension > &outputGradient) const |
template<typename TCoordRep , typename TIndexRep > | |
bool | TransformPhysicalPointToContinuousIndex (const Point< TCoordRep, VImageDimension > &point, ContinuousIndex< TIndexRep, VImageDimension > &index) const |
template<typename TCoordRep > | |
bool | TransformPhysicalPointToIndex (const Point< TCoordRep, VImageDimension > &point, IndexType &index) const |
template<typename TCoordRep > | |
void | TransformPhysicalVectorToLocalVector (const FixedArray< TCoordRep, VImageDimension > &inputGradient, FixedArray< TCoordRep, VImageDimension > &outputGradient) const |
virtual void | UpdateOutputData () override |
virtual void | UpdateOutputInformation () override |
virtual bool | VerifyRequestedRegion () override |
virtual void | SetOrigin (PointType _arg) |
virtual void | SetOrigin (const double origin[VImageDimension]) |
virtual void | SetOrigin (const float origin[VImageDimension]) |
virtual void | SetRegions (const RegionType ®ion) |
const OffsetValueType * | GetOffsetTable () const |
IndexType | ComputeIndex (OffsetValueType offset) const |
virtual void | SetSpacing (const SpacingType &spacing) |
virtual void | SetSpacing (const double spacing[VImageDimension]) |
virtual void | SetSpacing (const float spacing[VImageDimension]) |
template<typename TCoordRep , typename TIndexRep > | |
void | TransformContinuousIndexToPhysicalPoint (const ContinuousIndex< TIndexRep, VImageDimension > &index, Point< TCoordRep, VImageDimension > &point) const |
template<typename TCoordRep > | |
void | TransformIndexToPhysicalPoint (const IndexType &index, Point< TCoordRep, VImageDimension > &point) const |
virtual void | SetNumberOfComponentsPerPixel (unsigned int) |
Public Member Functions inherited from itk::DataObject | |
void | DisconnectPipeline () |
bool | GetDataReleased () const |
virtual const bool & | GetReleaseDataFlag () const |
SmartPointerForwardReference < ProcessObject > | GetSource () const |
DataObjectPointerArraySizeType | GetSourceOutputIndex () const |
const DataObjectIdentifierType & | GetSourceOutputName () const |
virtual ModifiedTimeType | GetUpdateMTime () const |
virtual void | PrepareForNewData () |
virtual void | PropagateRequestedRegion () |
void | ReleaseData () |
virtual void | ReleaseDataFlagOff () |
virtual void | ReleaseDataFlagOn () |
virtual void | ResetPipeline () |
void | SetReleaseDataFlag (bool flag) |
bool | ShouldIReleaseData () const |
virtual void | Update () |
void | SetPipelineMTime (ModifiedTimeType time) |
virtual const ModifiedTimeType & | GetPipelineMTime () const |
virtual void | SetRealTimeStamp (RealTimeStamp _arg) |
virtual const RealTimeStamp & | GetRealTimeStamp () const |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
virtual void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) override |
virtual void | UnRegister () const noexceptoverride |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Image< TPixel, VImageDimension > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageBase< VImageDimension > | |
static unsigned int | GetImageDimension () |
static Pointer | New () |
Static Public Member Functions inherited from itk::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static void | SetGlobalReleaseDataFlag (bool val) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = VImageDimension |
Static Public Attributes inherited from itk::ImageBase< VImageDimension > | |
static const ImageDimensionType | ImageDimension = VImageDimension |
Protected Member Functions | |
GPUImage () | |
virtual | ~GPUImage () |
Protected Member Functions inherited from itk::Image< TPixel, VImageDimension > | |
virtual void | ComputeIndexToPhysicalPointMatrices () override |
Image () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual | ~Image () |
Protected Member Functions inherited from itk::ImageBase< VImageDimension > | |
void | ComputeOffsetTable () |
ImageBase () | |
virtual void | InitializeBufferedRegion () |
~ImageBase () | |
OffsetValueType | FastComputeOffset (const IndexType &ind) const |
IndexType | FastComputeIndex (OffsetValueType offset) const |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
virtual void | PropagateResetPipeline () |
~DataObject () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
GPUImage (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
GPUImageDataManager< GPUImage > ::Pointer | m_DataManager |
Additional Inherited Members | |
Protected Attributes inherited from itk::ImageBase< VImageDimension > | |
DirectionType | m_Direction |
DirectionType | m_IndexToPhysicalPoint |
DirectionType | m_InverseDirection |
PointType | m_Origin |
DirectionType | m_PhysicalPointToIndex |
SpacingType | m_Spacing |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef DefaultPixelAccessorFunctor< Self > itk::GPUImage< TPixel, VImageDimension >::AccessorFunctorType |
Definition at line 70 of file itkGPUImage.h.
typedef Superclass::AccessorType itk::GPUImage< TPixel, VImageDimension >::AccessorType |
Definition at line 68 of file itkGPUImage.h.
typedef SmartPointer<const Self> itk::GPUImage< TPixel, VImageDimension >::ConstPointer |
Definition at line 46 of file itkGPUImage.h.
typedef WeakPointer<const Self> itk::GPUImage< TPixel, VImageDimension >::ConstWeakPointer |
Definition at line 47 of file itkGPUImage.h.
typedef Superclass::DirectionType itk::GPUImage< TPixel, VImageDimension >::DirectionType |
Definition at line 59 of file itkGPUImage.h.
typedef Superclass::IndexType itk::GPUImage< TPixel, VImageDimension >::IndexType |
Definition at line 63 of file itkGPUImage.h.
typedef Superclass::InternalPixelType itk::GPUImage< TPixel, VImageDimension >::InternalPixelType |
Definition at line 57 of file itkGPUImage.h.
typedef Superclass::IOPixelType itk::GPUImage< TPixel, VImageDimension >::IOPixelType |
Definition at line 58 of file itkGPUImage.h.
typedef NeighborhoodAccessorFunctor< Self > itk::GPUImage< TPixel, VImageDimension >::NeighborhoodAccessorFunctorType |
Definition at line 72 of file itkGPUImage.h.
typedef Superclass::OffsetType itk::GPUImage< TPixel, VImageDimension >::OffsetType |
Definition at line 64 of file itkGPUImage.h.
typedef Superclass::PixelContainer itk::GPUImage< TPixel, VImageDimension >::PixelContainer |
Definition at line 61 of file itkGPUImage.h.
typedef PixelContainer::ConstPointer itk::GPUImage< TPixel, VImageDimension >::PixelContainerConstPointer |
Definition at line 67 of file itkGPUImage.h.
typedef PixelContainer::Pointer itk::GPUImage< TPixel, VImageDimension >::PixelContainerPointer |
Definition at line 66 of file itkGPUImage.h.
typedef Superclass::PixelType itk::GPUImage< TPixel, VImageDimension >::PixelType |
Definition at line 55 of file itkGPUImage.h.
typedef SmartPointer<Self> itk::GPUImage< TPixel, VImageDimension >::Pointer |
Definition at line 45 of file itkGPUImage.h.
typedef Superclass::RegionType itk::GPUImage< TPixel, VImageDimension >::RegionType |
Definition at line 65 of file itkGPUImage.h.
typedef GPUImage itk::GPUImage< TPixel, VImageDimension >::Self |
Definition at line 43 of file itkGPUImage.h.
typedef Superclass::SizeType itk::GPUImage< TPixel, VImageDimension >::SizeType |
Definition at line 62 of file itkGPUImage.h.
typedef Superclass::SpacingType itk::GPUImage< TPixel, VImageDimension >::SpacingType |
Definition at line 60 of file itkGPUImage.h.
typedef Image<TPixel,VImageDimension> itk::GPUImage< TPixel, VImageDimension >::Superclass |
Definition at line 44 of file itkGPUImage.h.
typedef Superclass::ValueType itk::GPUImage< TPixel, VImageDimension >::ValueType |
Definition at line 56 of file itkGPUImage.h.
|
protected |
|
protectedvirtual |
|
private |
|
overridevirtual |
Allocate the image memory. The size of the image must already be set, e.g. by calling SetRegions().
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
inlineoverridevirtual |
Inform the pipeline mechanism that data has been generated. This method is called by ProcessObject::UpdateOutputData() once the process object has finished generating its data. This essentially marks the DataObject as being updated and ready for use.
Reimplemented from itk::DataObject.
Definition at line 173 of file itkGPUImage.h.
References itk::DataObject::DataHasBeenGenerated(), and itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
void itk::GPUImage< TPixel, VImageDimension >::FillBuffer | ( | const TPixel & | value | ) |
|
overridevirtual |
Return a pointer to the beginning of the buffer. This is used by the image iterator class.
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
overridevirtual |
Return a pointer to the beginning of the buffer. This is used by the image iterator class.
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
inline |
Definition at line 158 of file itkGPUImage.h.
References itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
virtual |
GPUDataManager::Pointer itk::GPUImage< TPixel, VImageDimension >::GetGPUDataManager | ( | ) | const |
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
inline |
Return the NeighborhoodAccessor functor
Definition at line 122 of file itkGPUImage.h.
References itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
inline |
Return the NeighborhoodAccessor functor
Definition at line 131 of file itkGPUImage.h.
References itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
const TPixel& itk::GPUImage< TPixel, VImageDimension >::GetPixel | ( | const IndexType & | index | ) | const |
TPixel& itk::GPUImage< TPixel, VImageDimension >::GetPixel | ( | const IndexType & | index | ) |
|
inline |
Return the Pixel Accessor object
Definition at line 106 of file itkGPUImage.h.
References itk::Image< TPixel, VImageDimension >::GetPixelAccessor(), and itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
inline |
Return the Pixel Accesor object
Definition at line 114 of file itkGPUImage.h.
References itk::Image< TPixel, VImageDimension >::GetPixelAccessor(), and itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
inline |
Return a pointer to the container.
Definition at line 142 of file itkGPUImage.h.
References itk::Image< TPixel, VImageDimension >::GetPixelContainer(), and itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
inline |
Definition at line 147 of file itkGPUImage.h.
References itk::Image< TPixel, VImageDimension >::GetPixelContainer(), and itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
|
overridevirtual |
Graft the data and information from one GPUImage to another.
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
overridevirtual |
Restore the data object to its initial state. This means releasing memory.
Reimplemented from itk::Image< TPixel, VImageDimension >.
|
static |
|
private |
const TPixel& itk::GPUImage< TPixel, VImageDimension >::operator[] | ( | const IndexType & | index | ) | const |
TPixel& itk::GPUImage< TPixel, VImageDimension >::operator[] | ( | const IndexType & | index | ) |
|
inline |
Definition at line 153 of file itkGPUImage.h.
References itk::GPUImage< TPixel, VImageDimension >::m_DataManager.
void itk::GPUImage< TPixel, VImageDimension >::SetPixel | ( | const IndexType & | index, |
const TPixel & | value | ||
) |
void itk::GPUImage< TPixel, VImageDimension >::SetPixelContainer | ( | PixelContainer * | container | ) |
void itk::GPUImage< TPixel, VImageDimension >::UpdateBuffers | ( | ) |
Explicit synchronize CPU/GPU buffers
|
static |
Definition at line 53 of file itkGPUImage.h.
|
private |
Definition at line 194 of file itkGPUImage.h.
Referenced by itk::GPUImage< TPixel, VImageDimension >::DataHasBeenGenerated(), itk::GPUImage< TPixel, VImageDimension >::GetCurrentCommandQueueID(), itk::GPUImage< TPixel, VImageDimension >::GetNeighborhoodAccessor(), itk::GPUImage< TPixel, VImageDimension >::GetPixelAccessor(), itk::GPUImage< TPixel, VImageDimension >::GetPixelContainer(), and itk::GPUImage< TPixel, VImageDimension >::SetCurrentCommandQueue().