protected override void Algorithm(ref Cl3DModel p_Model) { string name = p_Model.ModelFileFolder + p_Model.ModelFileName + m_sFilePostFix+ ".crr"; List<KeyValuePair<string,Cl3DModel.Cl3DModelPointIterator>> specPoints = p_Model.GetAllSpecificPoints(); using (TextWriter tw = new StreamWriter(name, false)) { tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ Przemyslaw Szeptycki LIRIS 2008"); tw.WriteLine("@ Automatic Model Specific Points Coordinates"); tw.WriteLine("@ Model name: " + p_Model.ModelFileName); tw.WriteLine("@----------------------------------------"); foreach(KeyValuePair<string,Cl3DModel.Cl3DModelPointIterator> point in specPoints) { string line = point.Key + " X: " + point.Value.X.ToString(System.Globalization.CultureInfo.InvariantCulture) + " Y: " + point.Value.Y.ToString(System.Globalization.CultureInfo.InvariantCulture) + " Z: " + point.Value.Z.ToString(System.Globalization.CultureInfo.InvariantCulture); tw.WriteLine(line); } tw.Close(); } }
protected override void Algorithm(ref Cl3DModel p_Model) { string name = p_Model.ModelFileFolder + p_Model.ModelFileName + m_sFilePostFix+ ".cor"; List<KeyValuePair<string,Cl3DModel.Cl3DModelPointIterator>> specPoints = p_Model.GetAllSpecificPoints(); using (TextWriter tw = new StreamWriter(name, false)) { tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ 3DModelsPreprocessing"); tw.WriteLine("@ Przemyslaw Szeptycki LIRIS 2008"); tw.WriteLine("@ Manual landmarks fo:"); tw.WriteLine("@ Model name: " + p_Model.ModelFileName); tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ Model landmarked by: 3DModelsPreprocessing_application"); tw.WriteLine("@ File Version 1.1 generated: " + DateTime.Now.ToString()); foreach(KeyValuePair<string,Cl3DModel.Cl3DModelPointIterator> point in specPoints) { string line = point.Key; line += " X: " + point.Value.X.ToString(System.Globalization.CultureInfo.InvariantCulture) + " Y: " + point.Value.Y.ToString(System.Globalization.CultureInfo.InvariantCulture) + " Z: " + point.Value.Z.ToString(System.Globalization.CultureInfo.InvariantCulture); tw.WriteLine(line); } tw.Close(); } }
protected override void Algorithm(ref Cl3DModel p_Model) { string name = p_Model.ModelFileFolder + p_Model.ModelFileName + m_sFilePostFix; if (m_bBinaryMode) { p_Model.SaveModel(name); } else { name += ".model"; Cl3DModel.Cl3DModelPointIterator iter = p_Model.GetIterator(); if (!iter.IsValid()) throw new Exception("Iterator in the model is not valid"); using (TextWriter tw = new StreamWriter(name, false)) { tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ Przemyslaw Szeptycki LIRIS 2008"); tw.WriteLine("@ Face model"); tw.WriteLine("@ Model name: " + p_Model.ModelFileName); tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ PointID X Y Z (TextureX TextureY) (Neighbors PointID)"); do { string line = iter.PointID.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + iter.X.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + iter.Y.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + iter.Z.ToString(System.Globalization.CultureInfo.InvariantCulture) + " ( " + iter.RangeImageX.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + iter.RangeImageY.ToString(System.Globalization.CultureInfo.InvariantCulture) + " ) ( "; List<Cl3DModel.Cl3DModelPointIterator> neighbors = iter.GetListOfNeighbors(); foreach (Cl3DModel.Cl3DModelPointIterator neighbor in neighbors) line += neighbor.PointID.ToString(System.Globalization.CultureInfo.InvariantCulture) + " "; line += ")"; tw.WriteLine(line); } while (iter.MoveToNext()); int nop = p_Model.GetAllSpecificPoints().Count; if(nop != 0) { tw.WriteLine("Landmark points (ptID): "+nop.ToString()); foreach (KeyValuePair<string, Cl3DModel.Cl3DModelPointIterator> specificPoint in p_Model.GetAllSpecificPoints()) { tw.WriteLine(specificPoint.Key + " " + specificPoint.Value.PointID.ToString()); } } tw.Close(); } } }
protected override void Algorithm(ref Cl3DModel p_Model) { string name = p_Model.ModelFileFolder + p_Model.ModelFileName + m_sFilePostFix; if (!OnlyIDs) { name += ".pts"; List<KeyValuePair<string, Cl3DModel.Cl3DModelPointIterator>> specPoints = p_Model.GetAllSpecificPoints(); using (TextWriter tw = new StreamWriter(name, false)) { tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ Przemyslaw Szeptycki LIRIS 2009"); tw.WriteLine("@ [email protected]"); tw.WriteLine("@ Model Specific Points Coordinates"); tw.WriteLine("@ ID = ID + 1 the same like in M file"); tw.WriteLine("@ Model name: " + p_Model.ModelFileName); tw.WriteLine("@----------------------------------------"); tw.WriteLine("@ Name Id X Y Z"); foreach (KeyValuePair<string, Cl3DModel.Cl3DModelPointIterator> point in specPoints) { uint ID = point.Value.PointID + 1; // in the M file all IDs starts from 1 and in our case from 0 string line = point.Key + " " + ID.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + point.Value.X.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + point.Value.Y.ToString(System.Globalization.CultureInfo.InvariantCulture) + " " + point.Value.Z.ToString(System.Globalization.CultureInfo.InvariantCulture); tw.WriteLine(line); } tw.Close(); } } else { List<Cl3DModel.Cl3DModelPointIterator> PointsToSave = new List<Cl3DModel.Cl3DModelPointIterator>(); PointsToSave.Add(p_Model.GetSpecificPoint(Cl3DModel.eSpecificPoints.NoseTip)); PointsToSave.Add(p_Model.GetSpecificPoint(Cl3DModel.eSpecificPoints.LeftEyeRightCorner)); PointsToSave.Add(p_Model.GetSpecificPoint(Cl3DModel.eSpecificPoints.RightEyeLeftCorner)); string nameID = name + ".ptsID"; using (TextWriter tw = new StreamWriter(nameID, false)) { tw.WriteLine(PointsToSave.Count.ToString()); foreach (Cl3DModel.Cl3DModelPointIterator point in PointsToSave) { uint ID = point.PointID + 1; tw.WriteLine(ID.ToString()); } tw.Close(); } } }
protected override void Algorithm(ref Cl3DModel p_Model) { Cl3DModel.Cl3DModelPointIterator iter = p_Model.GetIterator(); List<KeyValuePair<string, Cl3DModel.Cl3DModelPointIterator>> list = p_Model.GetAllSpecificPoints(); foreach (KeyValuePair<string, Cl3DModel.Cl3DModelPointIterator> point in list) { List<Cl3DModel.Cl3DModelPointIterator> NeighborhoodList = null; ClTools.GetNeighborhoodWithEuclideanDistanceCheckNeighborhood(out NeighborhoodList, point.Value, 2.0f); foreach (Cl3DModel.Cl3DModelPointIterator ppoint in NeighborhoodList) ppoint.Color = Color.Red; } }