|
|
#define | IPSDK_IMPLEMENT_PROCESSING_ALGORITHM(libraryName, namespaceSeq, className, eMsgEnum, version) |
| | macro allowing to implement a processing algorithm
|
| |
| #define | IPSDK_START_ALGORITHM_FUNCTIONS_REGISTRATION(className) |
| | macro allowing to start registration for processing algorithm functions More...
|
| |
| #define | IPSDK_REGISTER_GENERIC_ALGORITHM_FUNCTION(dataTypeSeq, isSeq, functionEfficiency, functionName) |
| | macro allowing to register a generic (template) processing algorithm function More...
|
| |
| #define | IPSDK_REGISTER_SPECIFIC_ALGORITHM_FUNCTION(dataTypeSeq, isSeq, functionEfficiency, functionName) |
| | macro allowing to register a specific processing algorithm function More...
|
| |
| #define | IPSDK_END_ALGORITHM_FUNCTIONS_REGISTRATION() |
| | macro allowing to end registration for image processing functions More...
|
| |
| #define | IPSDK_IMPLEMENT_GPU_PROCESSING_ALGORITHM(libraryName, namespaceSeq, className, eMsgEnum, version) |
| | macro allowing to implement a processing algorithm More...
|
| |
|
#define | IPSDKCUDA_GET_IDENTIFIER_SEQ_VALUE_IBT(r, data, value) (ipsdk::image::ImageType2Buffer<ipsdk::image::eImageBufferType::value>::type) |
| |
| #define | IPSDKCUDA_CAST_FCT_PTR(ST) |
| |
| #define | IPSDKCUDA_REGISTER_FUNCTION(r, product) |
| |
| #define | IPSDKCUDA_REGISTER_GENERIC_GPU_ALGORITHM_FUNCTION(ST) |
| |
| #define | IPSDKCUDA_REGISTER_NOTYPE_GPU_ALGORITHM_FUNCTION() |
| |
| #define | IPSDKCUDA_START_GPU_FUNCTIONS_REGISTRATION(AlgoName) |
| |
| #define | IPSDKCUDA_END_GPU_FUNCTIONS_REGISTRATION() |
| |
|
#define | IPSDKCUDA_GENERATE_GPU_IMAGE_NAME(ImgName) BOOST_PP_CAT(img, ImgName) |
| | Generates the name of the variable storing the GPU image corresponding to ImgName.
|
| |
|
#define | IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME(ImgName) BOOST_PP_CAT(IPSDKCUDA_GENERATE_GPU_IMAGE_NAME(ImgName), Buf) |
| | Generates the name of the variable storing the GPU image buffer corresponding to ImgName by adding the suffix "Buf" to the gpu image variable name generated by IPSDKCUDA_GENERATE_GPU_IMAGE_NAME For instance, IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME(_pInSubGpuImg) yields img_pInSubGpuImgBuf.
|
| |
|
#define | IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME_COLL(imgName) BOOST_PP_CAT(p, IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME(imgName)) |
| | Generates the name of the array storing the GPU image buffers corresponding to ImgName by adding the suffix "p" to the gpu buffer image variable name generated by IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME For instance, IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME_COLL(_pInSubGpuImg) yields pimg_pInSubGpuImgBuf.
|
| |
| #define | IPSDKCUDA_EXTRACT_DATA_FROM_IMAGE_MACRO(r, data, elem) |
| | Macro allowing to extract the GPU image from the attribute indicated in the 3rd item of elem and also extract the corresponding buffer. The argument data is ignored and elem is a triplet. If the image is an input constant data, elem looks like (const, T, _pInImg), where T is the buffer data type (e.g. int). If the image is an output data, the first fiel of elem is empty : (, T, _pOutImg) As an example, the output of IPSDKCUDA_EXTRACT_DATA_FROM_IMAGE_MACRO(r, data, (const, TIn1, _pInSubGpuImg1)) is : const CudaImage& img_pInSubGpuImg1 = static_cast<const CudaImage&>(_pInSubGpuImg1->getImage()); const TIn1* img_pInSubGpuImg1Buf = ipsdk::image::tools::extractBufferData<TIn1>(img_pInSubGpuImg1, _deviceIdx);. More...
|
| |
| #define | IPSDKCUDA_EXTRACT_DATA_FROM_IMAGES(SI) |
| | This macro calls IPSDKCUDA_EXTRACT_DATA_FROM_IMAGE_MACRO for each item of the image attribute sequence SI to extract the image and their buffers and then extract the sizes along X, Y, Z, C and T from the first item of SI. More...
|
| |
|
#define | IPSDKCUDA_CHECK_INSITU(pImageAttr1, pImageAttr2) launcherInfo._bInSituProcess = pImageAttr1->getImage().containSameData(pImageAttr2->getImage()) |
| | This macro stores in launcherInfo._bInSituProcess the value true if the two input image attributes point to the same data.
|
| |
| #define | IPSDKCUDA_GET_BLOCK_SIZE_2D |
| | This macro calls stores in an already declared variable launcherInfo (of type LauncherInfo) the number of threads per blocks in both x and y directions. More...
|
| |
| #define | IPSDKCUDA_GET_BLOCK_SIZE_3D |
| | This macro calls stores in an already declared variable launcherInfo (of type LauncherInfo) the number of threads per blocks in each direction for a 3D process. More...
|
| |
|
#define | IPSDKCUDA_FREE_BUFFER_DATA_MACRO(r, data, elem) ipsdk::image::tools::freeBufferDataColl(IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME_COLL(elem)); |
| | Free the data contained by elem. elem is anGpuLvl3 image attributes and the T** data stored on the device is obtained thanks to the macro IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME_COLL.
|
| |
|
#define | IPSDKCUDA_FREE_BUFFER_DATA_COLL(SI) BOOST_PP_SEQ_FOR_EACH(IPSDKCUDA_FREE_BUFFER_DATA_MACRO, _, SI) |
| | Free the data contained all the images contained in the sequence images SI.
|
| |
| #define | IPSDKCUDA_LAUNCH_KERNEL(AlgoName, SeqArg) |
| | Macro calling the kernel launcher function. The called function is named AlgoName_knlLauncher and its first parameters must be launcherInfo. The other parameters are listed in SeqArg For image parameters, the parameter must be the image data buffer, accessible thanks to the macro IPSDKCUDA_GENERATE_IMAGE_BUFFER_NAME. The result of the function is tested to notify the calculation success or failure. More...
|
| |
| #define | IPSDKCUDA_LAUNCH_KERNEL_WITH_FILTERING_INFO(AlgoName, TIn, SeqArg) |
| | Macro calling the kernel launcher function with filtering parameters. The additional parameters, in comparison with the IPSDKCUDA_LAUNCH_KERNEL macro are : More...
|
| |
| #define | IPSDKCUDA_LAUNCH_KERNEL_WITH_SE_INFO(AlgoName, T, SeqArg) |
| | Macro calling the kernel launcher function with structuring element parameters. The additional parameters, in comparison with the IPSDKCUDA_LAUNCH_KERNEL macro are : More...
|
| |
| #define | IPSDKCUDA_EXTRACT_FILTERING_INFO_2D(pInKnlXY, vOffsetsX, vOffsetsY, vCoefs) |
| | Macro declaring and filling the FilteringKernelInfo data structure that will be passed to the Cuda Kernel for 2D filtering. More...
|
| |
| #define | IPSDKCUDA_EXTRACT_FILTERING_INFO_3D(pInKnlXYZ, vOffsetsX, vOffsetsY, vOffsetsZ, vCoefs) |
| | Macro declaring and filling the FilteringKernelInfo data structure that will be passed to the Cuda Kernel for 3D filtering. More...
|
| |
| #define | IPSDKCUDA_EXTRACT_SE_INFO_2D(pInSEXY, vOffsetsX, vOffsetsY) |
| | Macro declaring and filling the StructuringElementInfo data structure that will be passed to the Cuda Kernel for 2D filtering. More...
|
| |
| #define | IPSDKCUDA_EXTRACT_SE_INFO_3D(pInSEXYZ, vOffsetsX, vOffsetsY, vOffsetsZ) |
| | Macro declaring and filling the StructuringElementInfo data structure that will be passed to the Cuda Kernel for 3D filtering. More...
|
| |
Source part of macros set for processing algorithm class implementation.
- Author
- E. Noirfalise
- Date
- 2014/02/17
- Copyright
- 2014 Reactiv'IP, all right reserved.