Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::OclDataSetFilter Class Reference

The OclDataSetFilter is the topmost class for all filter which take DataSets as input. More...

#include <mitkOclDataSetFilter.h>

Inheritance diagram for mitk::OclDataSetFilter:
Collaboration diagram for mitk::OclDataSetFilter:

Public Member Functions

void SetInput (mitk::OclDataSet::Pointer DataSet)
 SetInput SetInput Set the input DataSet (as mitk::OclDataSet). More...
 
void SetInput (void *DataSet, unsigned int size, unsigned int BpE)
 SetInput Set the input DataSet (as a pointer to the data). More...
 
void SetInput (mitk::Image::Pointer image)
 SetInput Set the input DataSet (as mitk::Image). More...
 
- Public Member Functions inherited from mitk::OclFilter
void AddSourceFile (const char *filename)
 Add a source file from the resource files to the OpenCL shader file list. Multiple files can be added to the list. More...
 
void SetCompilerFlags (const char *flags)
 Set specific compilerflags to compile the CL source. Default is set to nullptr; example: "-cl-fast-relaxed-math -cl-mad-enable -cl-strict-aliasing". More...
 
virtual bool IsInitialized ()
 Returns true if the initialization was successfull. More...
 
virtual unsigned long GetDeviceMemory ()
 Returns the amount of global memory of the used device in bytes. More...
 
virtual ~OclFilter ()
 Destructor. More...
 

Protected Member Functions

 OclDataSetFilter ()
 
virtual ~OclDataSetFilter ()
 
- Protected Member Functions inherited from mitk::OclFilter
 OclFilter ()
 Constructor. More...
 
 OclFilter (const char *filename)
 Constructor ( overloaded ) More...
 
void SetWorkingSize (unsigned int locx, unsigned int dimx, unsigned int locy=1, unsigned int dimy=1, unsigned int locz=1, unsigned int dimz=1)
 Set the working size for the following OpenCL kernel call. More...
 
bool ExecuteKernel (cl_kernel kernel, unsigned int workSizeDim)
 Execute the given kernel on the OpenCL Index-Space defined by the local and global work sizes. More...
 
bool ExecuteKernelChunks (cl_kernel kernel, unsigned int workSizeDim, size_t *chunksDim)
 Execute the given kernel on the OpenCL Index-Space defined by the local and global work sizes, but divide it into chunks of dimension chunksDim. More...
 
bool ExecuteKernelChunksInBatches (cl_kernel kernel, unsigned int workSizeDim, size_t *chunksDim, size_t batchSize, int waitTimems)
 Execute the given kernel on the OpenCL Index-Space defined by the local and global work sizes, but divide it into chunks of dimension chunksDim and wait between batches of batchSize chunks a time of waitTimems milliseconds. More...
 
bool Initialize ()
 Initialize all necessary parts of the filter. More...
 
void CompileSource ()
 Compile the program source. More...
 
void SetSourcePreambel (const char *preambel)
 Add some source code on the beginning of the loaded source. More...
 
virtual us::ModuleGetModule ()=0
 Get the Module of the filter. Needs to be implemented by every subclass. The filter will load the OpenCL sourcefiles from this module context. More...
 
void LoadSourceFiles (CStringList &SourceCodeList, ClSizeList &SourceCodeSizeList)
 Helper functions that load sourcefiles from the module context in the Initialize function. More...
 

Protected Attributes

mitk::OclDataSet::Pointer m_Input
 
unsigned int m_CurrentSize
 
- Protected Attributes inherited from mitk::OclFilter
const char * m_ClCompilerFlags
 String that contains the compiler flags. More...
 
cl_program m_ClProgram
 The compiled OpenCL program. More...
 
cl_command_queue m_CommandQue
 Command queue for the filter. More...
 
std::string m_FilterID
 Unique ID of the filter, needs to be specified in the constructor of the derived class. More...
 
const char * m_Preambel
 source preambel for e.g. #define commands to be inserted into the OpenCL source More...
 
CStringList m_ClFiles
 List of sourcefiles that will be compiled for this filter. More...
 
bool m_Initialized
 status of the filter More...
 
size_t m_LocalWorkSize [3]
 The local work size fo the filter. More...
 
size_t m_GlobalWorkSize [3]
 The global work size of the filter. More...
 

Additional Inherited Members

- Protected Types inherited from mitk::OclFilter
typedef std::vector< const char * > CStringList
 
typedef std::vector< size_t > ClSizeList
 

Detailed Description

The OclDataSetFilter is the topmost class for all filter which take DataSets as input.

The input DataSet can be intialized via an oclDataSet or a pointer to the data This makes it possible to create a filter pipeline of GPU-based filters and to bind this part into the CPU (ITK) filter pipeline.

Definition at line 34 of file mitkOclDataSetFilter.h.

Constructor & Destructor Documentation

◆ OclDataSetFilter()

mitk::OclDataSetFilter::OclDataSetFilter ( )
protected

◆ ~OclDataSetFilter()

virtual mitk::OclDataSetFilter::~OclDataSetFilter ( )
protectedvirtual

Member Function Documentation

◆ SetInput() [1/3]

void mitk::OclDataSetFilter::SetInput ( mitk::Image::Pointer  image)

SetInput Set the input DataSet (as mitk::Image).

Parameters
imageThe DataSet in mitk::OclDataSet.

◆ SetInput() [2/3]

void mitk::OclDataSetFilter::SetInput ( mitk::OclDataSet::Pointer  DataSet)

SetInput SetInput Set the input DataSet (as mitk::OclDataSet).

Parameters
DataSetThe DataSet in mitk::OclDataSet.

◆ SetInput() [3/3]

void mitk::OclDataSetFilter::SetInput ( void *  DataSet,
unsigned int  size,
unsigned int  BpE 
)

SetInput Set the input DataSet (as a pointer to the data).

Parameters
DataSetThe DataSet in mitk::OclDataSet.
size
BpE

Member Data Documentation

◆ m_CurrentSize

unsigned int mitk::OclDataSetFilter::m_CurrentSize
protected

Definition at line 64 of file mitkOclDataSetFilter.h.

◆ m_Input

mitk::OclDataSet::Pointer mitk::OclDataSetFilter::m_Input
protected

The input DataSet

Definition at line 63 of file mitkOclDataSetFilter.h.


The documentation for this class was generated from the following file: