Definition at line 154 of file TrecFeature.h. References Impala::Core::Array::ColorSpace(), Impala::Core::Array::E, MyRestrict(), Impala::Core::Array::Element::OOO, Impala::Core::Array::ProjectRange(), Impala::Core::Array::RecGauss(), and Impala::Core::Array::Element::RGB. 00155 { 00156 Array2dVec3Real64* imO = 0; 00157 ColorSpace(imO, im, Element::RGB, Element::OOO); 00158 00159 const int nrScales = 3; 00160 double scales[nrScales] = {1.0, 2.0, 3.5}; 00161 //double scales[nrScales] = {2.0, 4.0, 8.0}; 00162 00163 std::vector<Array2dScalarReal64*> imList; 00164 Array2dScalarReal64* ch = 0; 00165 Array2dScalarReal64* res = 0; 00166 Array2dScalarReal64* E = 0; 00167 Array2dScalarReal64* Ex = 0; 00168 Array2dScalarReal64* Ey = 0; 00169 Array2dScalarReal64* El = 0; 00170 Array2dScalarReal64* Elx = 0; 00171 Array2dScalarReal64* Ely = 0; 00172 Array2dScalarReal64* Ell = 0; 00173 Array2dScalarReal64* Ellx = 0; 00174 Array2dScalarReal64* Elly = 0; 00175 //for all scales 00176 for (int i=0 ; i<nrScales ; i++) 00177 { 00178 E = 0; 00179 El = 0; 00180 Ell = 0; 00181 00182 ProjectRange(ch, imO, 1); 00183 RecGauss(E, ch, scales[i], scales[i], 0, 0, precision); 00184 RecGauss(Ex, ch, scales[i], scales[i], 1, 0, precision); 00185 RecGauss(Ey, ch, scales[i], scales[i], 0, 1, precision); 00186 00187 ProjectRange(ch, imO, 2); 00188 RecGauss(El, ch, scales[i], scales[i], 0, 0, precision); 00189 RecGauss(Elx, ch, scales[i], scales[i], 1, 0, precision); 00190 RecGauss(Ely, ch, scales[i], scales[i], 0, 1, precision); 00191 00192 ProjectRange(ch, imO, 3); 00193 RecGauss(Ell, ch, scales[i], scales[i], 0, 0, precision); 00194 RecGauss(Ellx, ch, scales[i], scales[i], 1, 0, precision); 00195 RecGauss(Elly, ch, scales[i], scales[i], 0, 1, precision); 00196 00197 M9N4poConFeat<Array2dScalarReal64, Array2dScalarReal64> 00198 mnpoConFeat(scales[i]); 00199 std::vector<Array2dScalarReal64*> fList; 00200 fList = Pattern::PatM9N4PixOp<Array2dScalarReal64> 00201 (E, Ex, Ey, El, Elx, Ely, Ell, Ellx, Elly, mnpoConFeat); 00202 if (border != 0) 00203 { 00204 MyRestrict(E, border); 00205 MyRestrict(El, border); 00206 MyRestrict(Ell, border); 00207 MyRestrict(fList[0], border); 00208 MyRestrict(fList[1], border); 00209 MyRestrict(fList[2], border); 00210 MyRestrict(fList[3], border); 00211 } 00212 00213 imList.push_back(E); 00214 imList.push_back(El); 00215 imList.push_back(Ell); 00216 imList.push_back(fList[0]); // Cl 00217 imList.push_back(fList[1]); // Cll 00218 imList.push_back(fList[2]); // Clw 00219 imList.push_back(fList[3]); // Cllw 00220 } 00221 delete imO; 00222 delete ch; 00223 delete res; 00224 //delete E; 00225 delete Ex; 00226 delete Ey; 00227 //delete El; 00228 delete Elx; 00229 delete Ely; 00230 //delete Ell; 00231 delete Ellx; 00232 delete Elly; 00233 return imList; 00234 }
Here is the call graph for this function:
|