CudaMathOps.H
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef CUDAMATHOPS_H_DEFINED
00041 #define CUDAMATHOPS_H_DEFINED
00042
00043 #include "CUDA/CudaImage.H"
00044 #include "CUDA/cudadefs.h"
00045 #include "Image/Point2D.H"
00046
00047 void cudaGetMin(const CudaImage<float>& src, CudaImage<float>& minim, CudaImage<float> *buf=0);
00048 void cudaGetMax(const CudaImage<float>& src, CudaImage<float>& maxim, CudaImage<float> *buf=0);
00049 void cudaGetAvg(const CudaImage<float>& src, CudaImage<float>& avgim, CudaImage<float> *buf=0);
00050 void cudaGetMinMax(const CudaImage<float>& src, CudaImage<float>& minim, CudaImage<float>& maxim, CudaImage<float> *buf=0);
00051 void cudaGetMinMaxAvg(const CudaImage<float>& src, CudaImage<float>& minim, CudaImage<float>& maxim, CudaImage<float>& avgim, CudaImage<float> *buf=0);
00052 template <class T> T cudaGetScalar(const CudaImage<T>& src);
00053 void cudaInplaceNormalize(CudaImage<float>& dst, const float nmin, const float nmax);
00054 void cudaInplaceClamp(CudaImage<float>& dst, const float cmin, const float cmax);
00055 void cudaInplaceRectify(CudaImage<float>& dst);
00056 void cudaClear(CudaImage<float>& dst, const float val);
00057 void cudaAbs(CudaImage<float>& src);
00058 void cudaInplaceAddScalar(CudaImage<float>& dst, const CudaImage<float>& offset);
00059 void cudaInplaceSubtractScalar(CudaImage<float>& dst, const CudaImage<float>& offset);
00060 void cudaInplaceMultiplyScalar(CudaImage<float>& dst, const CudaImage<float>& offset);
00061 void cudaInplaceDivideScalar(CudaImage<float>& dst, const CudaImage<float>& offset);
00062 void cudaInplaceAddImages(CudaImage<float>& im1, const CudaImage<float>& im2);
00063 void cudaInplaceSubtractImages(CudaImage<float>& im1, const CudaImage<float>& im2);
00064 void cudaInplaceMultiplyImages(CudaImage<float>& im1, const CudaImage<float>& im2);
00065 void cudaInplaceDivideImages(CudaImage<float>& im1, const CudaImage<float>& im2);
00066 CudaImage<float> cudaGetAvg(const CudaImage<float>& src);
00067 CudaImage<float> cudaGetSum(const CudaImage<float>& src);
00068 CudaImage<float> cudaSquared(const CudaImage<float>& src);
00069 CudaImage<float> cudaSqrt(const CudaImage<float>& src);
00070 CudaImage<float> cudaAddImages(const CudaImage<float>& im1, const CudaImage<float>& im2);
00071 CudaImage<float> cudaSubtractImages(const CudaImage<float>& im1, const CudaImage<float>& im2);
00072 CudaImage<float> cudaMultiplyImages(const CudaImage<float>& im1, const CudaImage<float>& im2);
00073 CudaImage<float> cudaDivideImages(const CudaImage<float>& im1, const CudaImage<float>& im2);
00074 CudaImage<float> cudaTakeMax(const CudaImage<float>& im1, const CudaImage<float>& im2);
00075 CudaImage<float> cudaQuadEnergy(const CudaImage<float>& real, const CudaImage<float>& imag);
00076 void cudaInplaceAttenuateBorders(CudaImage<float>& a, int size);
00077 void cudaFindMin(const CudaImage<float>& src, Point2D<int>& p, float& val);
00078 void cudaFindMax(const CudaImage<float>& src, Point2D<int>& p, float& val);
00079 #endif