Definition at line 119 of file mainTiming.cpp. References Impala::Util::Database::GetInstance(), Impala::Core::Array::MakeGaussIIR1d(), Impala::Core::Array::ReadRaw(), Impala::Core::Array::RecConvKernelSeparated(), Impala::Core::Array::RGB2Intensity(), Impala::Util::TimePlot::SaveData(), Impala::Util::TimePlot::Start(), and Impala::Util::TimePlot::Stop(). Referenced by DoRecConvSep(). 00120 { 00121 Array2dVec3UInt8* srcData = 0; 00122 ReadRaw(srcData, srcName, &Util::Database::GetInstance()); 00123 int borderSize = 22; 00124 Array2dScalarReal64* rData; 00125 rData = ArrayClone<Array2dScalarReal64>(srcData, borderSize, borderSize); 00126 RGB2Intensity(rData, srcData); 00127 delete srcData; 00128 00129 int f, g, i; 00130 const int numFunc = 1; 00131 const int numGauss = 5; 00132 Array2dScalarReal64* gauss[numGauss]; 00133 gauss[0] = MakeGaussIIR1d(5.0, 0, 1); // size == 3 00134 gauss[1] = MakeGaussIIR1d(5.0, 0, 2); // size == 5 00135 gauss[2] = MakeGaussIIR1d(5.0, 0, 3); // size == 7 00136 gauss[3] = MakeGaussIIR1d(5.0, 0, 4); // size == 9 00137 gauss[4] = MakeGaussIIR1d(5.0, 0, 5); // size == 11 00138 int gaussSize[numGauss]; 00139 for (i=0 ; i<numGauss ; i++) 00140 gaussSize[i] = gauss[i]->CW(); 00141 int nrSplitTimes = 4; 00142 TimePlot plotter(numFunc, numGauss, gaussSize, nrSplitTimes, runCount); 00143 00144 Array2dScalarReal64* res = ArrayClone<Array2dScalarReal64>(rData); 00145 00146 /* 00147 std::vector<Array2dScalarReal64*> resList; 00148 for (g=0 ; g<numGauss ; g++ ) { 00149 Array2dScalarReal64* r = 0; 00150 r = RecConvKernelSeparated(r, rData, gauss[g], gauss[g]); 00151 resList.push_back(r); 00152 } 00153 String fName = srcName + "_g"; 00154 // MSVC requires explicit use of template type (internal compiler error) 00155 WriteRawList<Array2dScalarReal64>(resList, fName, true); 00156 return; 00157 */ 00158 00159 for (i=0 ; i<runCount ; i++) 00160 { 00161 for (g=0 ; g<numGauss ; g++) 00162 { 00163 for (f=0 ; f<numFunc ; f++) 00164 { 00165 plotter.Start(f, g, i); 00166 RecConvKernelSeparated(res, rData, gauss[g], gauss[g], &plotter); 00167 plotter.Stop(); 00168 } 00169 } 00170 } 00171 00172 String* funcName = new String[numFunc]; 00173 funcName[0] = "only variation"; 00174 00175 String baseName = srcName.substr(0, srcName.find('.')); 00176 plotter.SaveData(machineName, String("recconvsep"), baseName, funcName); 00177 00178 delete [] funcName; 00179 delete rData; 00180 delete res; 00181 }
Here is the call graph for this function: ![]()
|