void Analysis::filterData(PivData *pivData, FilterOptions filterOptions) { // Checking each filtering option and calling external filter functions (included from filters.h) if (filterOptions.snr()) snr(pivData,filterOptions); if (filterOptions.imageIntensity()) imageIntensity(pivData,filterOptions); if (filterOptions.globalRange()) globalRange(pivData,filterOptions); if (filterOptions.globalStd()) globalStd(pivData,filterOptions); if (filterOptions.local()) localDetect(pivData,filterOptions); if (filterOptions.interpolate()) meanInterpolate(pivData, filterOptions); if (filterOptions.smoothing()) gaussianBlur(pivData, filterOptions); }
// A simple tester for testing operation of toggling characters via OpenCL int main(int argc, char *argv[]) { if (argc < 4) { std::cout << "Specify [CPU|GPU|ACC] <InputBMP> <OutputBMP> <theta_radians>\n"; return 1; } // Load source image from the given file BitmapImage srcImg; srcImg.load(argv[2]); // Create the OpenCL command queue for a given device ClCmdQueue queue(getDevType(argv[1])); // Create a kernel and functor using OpenCL kernel code from a file. cl::Kernel kernel = queue.loadKernel("batesokr_rotate.cl", "img_rotate"); cl::NDRange globalRange(srcImg.getWidth(), srcImg.getHeight()); cl::KernelFunctor vrotate(kernel, queue.getQueue(), cl::NullRange, globalRange, cl::NullRange); BitmapImage outImg = clRotate(queue, vrotate, srcImg, atof(argv[4])*(M_PI/180.0f)); outImg.write(argv[3]); return 0; }
void MgClKernel::run() { if(!environment()) return; if(!localRange()) return; if(!d_ptr->arguments.size()) return; if(!valid()) return; Q_EMIT runStarted(); cl::KernelFunctor functor = d_ptr->kernel.bind( d_ptr->environment->d_ptr->commandQueue, createRange(offsetRange()), createRange(localRange()), createRange(globalRange()) ); switch (d_ptr->arguments.size()) { case 1: functor(); break; case 2: functor(); break; case 3: functor(); break; case 4: functor(); break; case 5: functor(); break; case 6: functor(); break; case 7: functor(); break; case 8: functor(); break; case 9: functor(); break; case 10: functor(); break; case 11: functor(); break; case 12: functor(); break; case 13: functor(); break; case 14: functor(); break; case 15: functor(); break; default: break; } Q_EMIT runFinished(); }