Foam::SymmetricSquareMatrix<Type> Foam::inv ( const SymmetricSquareMatrix<Type>& matrix ) { SymmetricSquareMatrix<Type> matrixTmp(matrix); LUDecompose(matrixTmp); return invDecomposed(matrixTmp); }
// ###################################################################### void TaskRelevanceMapTigs2::getGistPCAMatrix() { FILE* itsFile = fopen(itsGistPCAMatrixName.getVal().c_str(), "rb"); if(itsFile == 0) PLFATAL("Can not open GistPCAMatrix for read PCA"); int gistDims = 0; if(fread(&gistDims, sizeof(int), 1, itsFile) != 1) LFATAL("fread failed"); Image<float> matrixTmp(gistDims, itsGistPCADims.getVal(), NO_INIT); size_t sz = itsGistPCADims.getVal()*gistDims; if(fread(matrixTmp.beginw(), sizeof(float), sz, itsFile) != sz) LFATAL("fread failed"); itsGistPCAMatrix = transpose(matrixTmp); fclose(itsFile); }
// ###################################################################### void TaskRelevanceMapTigs::getTigsMatrix() { FILE* itsFile = fopen(itsTigsMatrixName.getVal().c_str(), "rb"); if(itsFile == 0) PLFATAL("Can not open TigsMatrix for read Tigs coefficients"); int w,h; if(fread(&h, sizeof(int), 1, itsFile) != 1) LFATAL("fread failed"); if(fread(&w, sizeof(int), 1, itsFile) != 1) LFATAL("fread failed"); Image<float> matrixTmp(h, w, NO_INIT); // keep in mind that the definition of Image is Image(width, height) if(fread(matrixTmp.beginw(), sizeof(float), w*h, itsFile) != size_t(w*h)) LFATAL("fread failed"); itsTigsMatrix = transpose(matrixTmp); fclose(itsFile); }
// ###################################################################### void TaskRelevanceMapGistClassify:: getPCAMatrix() { FILE* itsFile = fopen(itsPCAMatrixName.getVal().c_str(), "rb"); ASSERT(itsFile != 0); int gistDims = 0; if(fread(&gistDims, sizeof(int), 1, itsFile) != 1) LFATAL("fread failed"); Image<float> matrixTmp(gistDims, itsPCADims.getVal(), NO_INIT); size_t sz = itsPCADims.getVal()*gistDims; if(fread(matrixTmp.beginw(), sizeof(float), sz, itsFile) != sz) LFATAL("fread failed"); itsPCAMatrix = transpose(matrixTmp); LDEBUG("itsPCAMatrix first 5 num: %f, %f, %f, %f, %f", itsPCAMatrix.getVal(0,0), itsPCAMatrix.getVal(1,0), itsPCAMatrix.getVal(2,0), itsPCAMatrix.getVal(3,0), itsPCAMatrix.getVal(4,0)); fclose(itsFile); }