Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

void Impala::Samples::Timing::DoOneRecConvSepComlex ( String  machineName,
String  srcName,
int  runCount 
)

Definition at line 208 of file mainTiming.cpp.

References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::Util::Database::GetInstance(), Impala::Core::Array::MakeGaborIIR1d(), Impala::Core::Array::Norm2(), Impala::Core::Array::ReadRaw(), Impala::Core::Array::RecConvKernelSeparated(), Impala::Core::Array::RGB2Intensity(), Impala::Util::TimePlot::SaveData(), Impala::Core::Array::Set(), Impala::Util::TimePlot::Start(), and Impala::Util::TimePlot::Stop().

Referenced by DoRecConvSepComlex().

00209 {
00210     Array2dVec3UInt8* srcData = 0;
00211     ReadRaw(srcData, srcName, &Util::Database::GetInstance());
00212     int borderSize = 22;
00213     Array2dScalarReal64* rData;
00214     rData = ArrayClone<Array2dScalarReal64>(srcData, borderSize, borderSize);
00215     RGB2Intensity(rData, srcData);
00216     delete srcData;
00217     Array2dComplex64* comData = 0;
00218     Set(comData, rData);
00219 
00220     int f, g, i;
00221     const int numFunc = 2;
00222     const int numGabor = 1;
00223     Array2dComplex64* gabor;
00224     Complex64 leftBorder;
00225     Complex64 rightBorder;
00226     gabor = MakeGaborIIR1d(6.0, 1, leftBorder, rightBorder);
00227     int gaborSize = gabor->CW();
00228     int nrSplitTimes = 4;
00229     TimePlot plotter(numFunc, numGabor, &gaborSize, nrSplitTimes, runCount);
00230 
00231     Array2dComplex64* res = ArrayClone<Array2dComplex64>(comData);
00232 
00233     for (i=0 ; i<runCount ; i++)
00234     {
00235         for (g=0 ; g<numGabor ; g++)
00236         {
00237             for (f=0 ; f<numFunc ; f++)
00238             {
00239                 plotter.Start(f, g, i);
00240                 RecConvKernelSeparated(res, comData, gabor, gabor,
00241                                        leftBorder, rightBorder,
00242                                        leftBorder, rightBorder, &plotter);
00243                 if (f == 1)
00244                     Norm2(rData, res);
00245                 plotter.Stop();
00246             }
00247         }
00248     }
00249 
00250     String* funcName = new String[numFunc];
00251     funcName[0] = "recconvsepcomplex";
00252     funcName[1] = "recconvsepcomplex + norm";
00253 
00254     String baseName = srcName.substr(0, srcName.find('.'));
00255     plotter.SaveData(machineName, String("recconvsepcomplex"), baseName,
00256                      funcName);
00257 
00258     delete [] funcName;
00259     delete rData;
00260     delete comData;
00261     delete res;
00262 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:38:51 2010 for ImpalaSrc by  doxygen 1.5.1