Foam::SymmetricSquareMatrix<Type> Foam::inv
(
    const SymmetricSquareMatrix<Type>& matrix
)
{
    SymmetricSquareMatrix<Type> matrixTmp(matrix);

    LUDecompose(matrixTmp);

    return invDecomposed(matrixTmp);
}
示例#2
0
// ######################################################################
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);
}
示例#3
0
// ######################################################################
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);
}
示例#4
0
// ######################################################################
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);
}