Ejemplo n.º 1
0
void ASMModel::saveToFile(ModelFile& file)
{
    ShapeModel::saveToFile(file);
    
    file.writeInt(localFeatureRad);
    file.writeInt(ns);
    
    int i,j;
    int rows, cols;
    file.writeInt(rows = iCovarG[0][0].rows);
    file.writeInt(cols = iCovarG[0][0].cols);
    for (i=0;i<=pyramidLevel;i++){
        for (j=0;j<nMarkPoints;j++){
            for (int ii=0;ii<rows;ii++)
                for (int jj=0;jj<cols;jj++)
                    file.writeReal(iCovarG[i][j](ii, jj));
        }
    }
    
    file.writeInt(rows = meanG[0][0].rows);
    file.writeInt(cols = meanG[0][0].cols);
    for (i=0;i<=pyramidLevel;i++){
        for (j=0;j<nMarkPoints;j++){
            for (int ii=0;ii<rows;ii++)
                for (int jj=0;jj<cols;jj++)
                    file.writeReal(meanG[i][j](ii, jj));
        }
    }
}
Ejemplo n.º 2
0
void ShapeModel::saveToFile(ModelFile &file)
{
    file.writeInt(pyramidLevel);
    file.writeInt(nMarkPoints);
    file.writeInt(nTrain);
    file.writeInt(nShapeParams);
    
    file.writeReal(searchYOffset);
    file.writeReal(searchXOffset);
    file.writeReal(searchWScale);
    file.writeReal(searchHScale);
    file.writeReal(searchStepAreaRatio);
    
    file.writeReal(searchScaleRatio);
    file.writeReal(searchInitXOffset);
    file.writeReal(searchInitYOffset);
    
    file.writePCA(pcaShape);
    for (int i=0;i<nMarkPoints*2;i++)
        file.writeReal(meanShape(i, 0));
    
    // Info for BTSM
    file.writeReal(sigma2);
    file.writePCA(pcaFullShape);
    
    shapeInfo.writeToFile(file);

    ////! Mean shape after aligning
    //ShapeVec meanShape;
}
Ejemplo n.º 3
0
void ShapeInfo::writeToFile(ModelFile &f) const {
    f.writeInt(nContours);
    for (int i=0;i<nContours+1;i++)
        f.writeInt(contourStartInd[i]);
    for (int i=0;i<nContours;i++)
        f.writeInt(contourIsClosed[i]);
    f.writeInt(pointInfo.size());
    for (size_t i=0;i<pointInfo.size();i++){
        f.writeInt(pointInfo[i].connectFrom);
        f.writeInt(pointInfo[i].connectTo);
        f.writeInt(pointInfo[i].type);
        f.writeInt(pointInfo[i].pathId);
    }
}