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)); } } }
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; }