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

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

Definition at line 196 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().

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

Here is the call graph for this function:


Generated on Thu Jan 13 09:24:04 2011 for ImpalaSrc by  doxygen 1.5.1