Loading...
Searching...
No Matches
itkOpenCLKernelToImageBridge.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
//
// \author Denis P. Shamonin and Marius Staring. Division of Image Processing,
// Department of Radiology, Leiden, The Netherlands
//
// \note This work was funded by the Netherlands Organisation for
// Scientific Research (NWO NRG-2010.02 and NWO 639.021.124).
//
#ifndef itkOpenCLKernelToImageBridge_h
#define itkOpenCLKernelToImageBridge_h
#include "itkGPUImage.h"
#include "itkGPUDataManager.h"
#include "itkOpenCLKernel.h"
namespace itk
{
template <typename TImage>
class ITK_TEMPLATE_EXPORT OpenCLKernelToImageBridge
{
public:
using Self = OpenCLKernelToImageBridge;
using ImageType = TImage;
using ImagePointer = typename ImageType::ConstPointer;
using ImageRegionType = typename ImageType::RegionType;
using ImagePixelType = typename ImageType::PixelType;
itkStaticConstMacro(ImageDimension, unsigned int, TImage::ImageDimension);
virtual const char *
GetNameOfClass() const
{
return "OpenCLKernelToImageBridge";
}
static void
SetImageDataManager(OpenCLKernel & kernel,
const cl_uint argumentIndex,
const typename GPUDataManager::Pointer imageDataManager,
const bool updateCPU);
static void
SetImage(OpenCLKernel & kernel,
const cl_uint argumentIndex,
const typename ImageType::Pointer & image,
const bool updateCPU);
static void
SetImageMetaData(OpenCLKernel & kernel,
const cl_uint argumentIndex,
const typename ImageType::Pointer & image,
typename GPUDataManager::Pointer & imageMetaDataManager);
static void
SetDirection(OpenCLKernel & kernel, const cl_uint argumentIndex, const typename ImageType::DirectionType & direction);
static void
SetSize(OpenCLKernel & kernel, const cl_uint argumentIndex, const typename ImageType::SizeType & size);
static void
SetOrigin(OpenCLKernel & kernel, const cl_uint argumentIndex, const typename ImageType::PointType & origin);
protected:
OpenCLKernelToImageBridge();
virtual ~OpenCLKernelToImageBridge() {}
private:
OpenCLKernelToImageBridge(const Self & other); // purposely not
// implemented
const Self &
operator=(const Self &); // purposely not
// implemented
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkOpenCLKernelToImageBridge.hxx"
#endif
#endif /* itkOpenCLKernelToImageBridge_h */
itk::GPUDataManager::Pointer
SmartPointer< Self > Pointer
Definition itkGPUDataManager.h:74
itk::OpenCLKernelToImageBridge::itkStaticConstMacro
itkStaticConstMacro(ImageDimension, unsigned int, TImage::ImageDimension)
itk::OpenCLKernelToImageBridge::SetDirection
static void SetDirection(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename ImageType::DirectionType &direction)
itk::OpenCLKernelToImageBridge::~OpenCLKernelToImageBridge
virtual ~OpenCLKernelToImageBridge()
Definition itkOpenCLKernelToImageBridge.h:93
itk::OpenCLKernelToImageBridge::OpenCLKernelToImageBridge
OpenCLKernelToImageBridge()
itk::OpenCLKernelToImageBridge::ImageType
TImage ImageType
Definition itkOpenCLKernelToImageBridge.h:49
itk::OpenCLKernelToImageBridge::OpenCLKernelToImageBridge
OpenCLKernelToImageBridge(const Self &other)
itk::OpenCLKernelToImageBridge::ImagePointer
typename ImageType::ConstPointer ImagePointer
Definition itkOpenCLKernelToImageBridge.h:50
itk::OpenCLKernelToImageBridge::SetImage
static void SetImage(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename ImageType::Pointer &image, const bool updateCPU)
itk::OpenCLKernelToImageBridge::operator=
const Self & operator=(const Self &)
itk::OpenCLKernelToImageBridge::SetImageMetaData
static void SetImageMetaData(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename ImageType::Pointer &image, typename GPUDataManager::Pointer &imageMetaDataManager)
itk::OpenCLKernelToImageBridge::Self
OpenCLKernelToImageBridge Self
Definition itkOpenCLKernelToImageBridge.h:46
itk::OpenCLKernelToImageBridge::ImageRegionType
typename ImageType::RegionType ImageRegionType
Definition itkOpenCLKernelToImageBridge.h:51
itk::OpenCLKernelToImageBridge::GetNameOfClass
virtual const char * GetNameOfClass() const
Definition itkOpenCLKernelToImageBridge.h:59
itk::OpenCLKernelToImageBridge::SetSize
static void SetSize(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename ImageType::SizeType &size)
itk::OpenCLKernelToImageBridge::ImagePixelType
typename ImageType::PixelType ImagePixelType
Definition itkOpenCLKernelToImageBridge.h:52
itk::OpenCLKernelToImageBridge::SetOrigin
static void SetOrigin(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename ImageType::PointType &origin)
itk::OpenCLKernelToImageBridge::SetImageDataManager
static void SetImageDataManager(OpenCLKernel &kernel, const cl_uint argumentIndex, const typename GPUDataManager::Pointer imageDataManager, const bool updateCPU)
itk::OpenCLKernel
The OpenCLKernel class represents an executable entry point function in an OpenCL program.
Definition itkOpenCLKernel.h:136
itkGPUDataManager.h
itkGPUImage.h
itkOpenCLKernel.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |