public static void summarize(string guid) { string resultDir = DirectoryConstants.defaultTempDirectory + guid + "\\"; string outputFile = resultDir + "resultSummary.txt"; if (File.Exists(outputFile)) { File.Delete(outputFile); } List<string> files = Directory.GetFiles(resultDir).ToList(); SortedDictionary<double, SortedDictionary<double, SortedDictionary<double, SortedDictionary<double, string>>>> results = new SortedDictionary<double, SortedDictionary<double, SortedDictionary<double, SortedDictionary<double, string>>>>(); foreach(string file in files) { string filename = URIUtilities.filenameFromDirectoryNoExtension(file); string[] fields = filename.Split('_'); double min = Convert.ToDouble(fields[1]); double max = Convert.ToDouble(fields[3]); double dev = Convert.ToDouble(fields[5]); double ratio = Convert.ToDouble(fields[7]); string content = File.ReadAllText(file).Replace("\n", String.Empty); if (!results.ContainsKey(min)) { results.Add(min, new SortedDictionary<double, SortedDictionary<double, SortedDictionary<double, string>>>()); } if (!results[min].ContainsKey(max)) { results[min].Add(max, new SortedDictionary<double, SortedDictionary<double, string>>()); } if (!results[min][max].ContainsKey(dev)) { results[min][max].Add(dev, new SortedDictionary<double, string>()); } if (!results[min][max][dev].ContainsKey(ratio)) { results[min][max][dev].Add(ratio, filename + " " + content); } } List<string> contents = new List<string>(); foreach( double m in results.Keys) { foreach (double n in results[m].Keys) { foreach (double d in results[m][n].Keys) { foreach (double r in results[m][n][d].Keys) { contents.Add(results[m][n][d][r]); } } } } File.WriteAllLines(outputFile, contents.ToArray()); }
public static void LoadAnnotations() { string folder = @"C:\research\dataset\PascalVOC\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationImages\"; string annofolder = @"C:\research\dataset\PascalVOC\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\Annotations\"; SortedDictionary <string, SortedDictionary <string, int> > corr = new SortedDictionary <string, SortedDictionary <string, int> >(); string[] files = Directory.GetFiles(folder); foreach (string file in files) { string filename = URIUtilities.filenameFromDirectoryNoExtension(file); string annofile = annofolder + filename + ".xml"; XElement anno = XElement.Load(annofile); List <string> names = (from el in anno.Descendants("name") select(string) el).ToList <string>(); names.Sort(); for (int i = 0; i < names.Count; i++) { for (int j = 0; j < i; j++) { string name1 = names[i]; string name2 = names[j]; if (!corr.ContainsKey(name1)) { corr.Add(name1, new SortedDictionary <string, int>()); } if (!corr[name1].ContainsKey(name2)) { corr[name1].Add(name2, 0); } corr[name1][name2]++; } } } foreach (string k in corr.Keys) { string line = k + " "; foreach (string v in corr.Keys) { if (corr[k].ContainsKey(v)) { line += corr[k][v] + " "; } else { line += "0 "; } } Console.WriteLine(line); } }