protected void OnDisconnect(Exception Exception) { CallEventHandler(SocketIOEvent.DISCONNECT, new SocketIOException("Socket closed.", Exception).ToString()); AckManager.Dispose(); Reconstructor.Dispose(); }
public static void RunExperiment(string name, string folder, string prefix, string outputDirectory = "") { if (outputDirectory == String.Empty) { outputDirectory = Path.Combine(Drive.GetDriveRoot(), BenchmarkDirectory); //Environment.GetFolderPath(Environment.SpecialFolder.Desktop); } var drive = new Drive(folder, Drive.Reason.Read); var experiment = new Experiment(drive.Files(prefix).ToList(), UseOcr); var mixed = experiment.MixedOrder; var normal = experiment.CorrectOrder; var results = Reconstructor.NaiveKruskalAlgorithm(mixed); var difference = experiment.Diff(results); var resultImg = Path.Combine(outputDirectory, name + "_result.png"); Stitcher.ExportImage((Cluster)results.First().Root(), resultImg); var sb = new StringBuilder(); sb.AppendLine(name); sb.AppendLine(folder); sb.AppendLine(difference.ToString()); mixed.ForEach(shred => sb.Append(" " + shred.Id + ", ")); sb.AppendLine(); normal.ForEach(shred => sb.Append(" " + shred.Id + ", ")); sb.AppendLine(); results.ForEach(shred => sb.Append(" " + shred.Id + ", ")); sb.AppendLine(); Console.WriteLine(sb.ToString()); File.WriteAllText(Path.Combine(outputDirectory, name + ".txt"), sb.ToString()); }
public void NaiveKruskalArtificial() { Shred.BUFFER = 0; Shred.SAMPLE_SIZE = 4; var path = Path.Combine(Drive.GetDriveRoot(), Dir.ArtificialTestDirectory, Dir.NaiveKruskalHttpDocument); var shreds = Shred.Factory("image", path, false); var results = Reconstructor.NaiveKruskalAlgorithm(shreds); var checker = Helpers.BuildChecker(Path.Combine(path, Helpers.CheckFile)); shreds.ForEach(shred => Console.Write(" " + shred.Id + ", ")); Console.WriteLine(); results.ForEach(shred => Console.Write(" " + shred.Id + ", ")); Console.WriteLine(); var indicies = results.Select((t, pos) => new Tuple <int, Shred>(pos, t)).ToList(); var result = indicies.Select(pair => { var filename = Path.GetFileName(pair.Item2.Filepath); Assert.IsNotNull(filename); Assert.IsNotNull(checker[filename]); var expected = checker[filename]; var actual = pair.Item1; Console.WriteLine("Actual " + actual + " vs. " + expected + " | File: " + filename); return(actual.ToString(CultureInfo.InvariantCulture) == expected); }).ToList(); // var diff = Differ.DiffShredByOrder(results.Select(shred => shred.Id).ToList(), //Enumerable.Range(0, results.Count).Select(ii => (long)ii).ToList()); // Console.WriteLine("Difference : " + diff); ExportResult((Cluster)shreds.First().Root(), "../../visualizer/NaiveKruskalArtifical.png"); }
private void OnEtc(SocketIOPacket Packet) { if (Packet != null) { if (Reconstructor.ConstructeeTokenCount > 0) { SocketIOPacket ReconstructedPacket = Reconstructor.Reconstruct(Packet.RawData); if (Reconstructor.ConstructeeTokenCount == 0) { using (Reconstructor) { if (ReconstructedPacket.ID >= 0) { OnAck(ReconstructedPacket); } else { OnEvent(ReconstructedPacket); } } } } } }
/// <summary> /// Unity start. /// </summary> public void Start() { m_AllVoxels = new GameObject("AllVoxels"); m_Reconstructor = new Reconstructor(); m_Reconstructor.Start(); m_Reconstructor.GetSpatialHashing().SetSubVoxelPrefab(m_SubVoxelPrefab); m_Mesh = GetComponent <MeshFilter>().mesh; m_Mesh.Clear(); m_Confidences = new float[k_MaxPointCount]; }
public static void Reconstruct(string prefix, string dir, bool display) { Console.WriteLine("Loading Shreds"); var shreds = Shred.Factory(prefix, dir, false); Console.WriteLine("Comparing And Clusering"); var results = Reconstructor.NaiveKruskalAlgorithm(shreds); Console.WriteLine("Exporting Results"); NaiveKruskalTests.ExportResult((Cluster)results.First().Root(), Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "output.png"), Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "json.js")); }
public async Task <ActionResult <ApiText> > PostApiText([FromBody] ApiText apiText) { if (apiText.Text.Length > 10000) { apiText.Text = apiText.Text.Substring(0, 10000); } var reconstructor = new Reconstructor(Startup.BinaryFilePath, Startup.PositionTriePath); apiText.Text = reconstructor.Reconstruct(apiText.Text); return(CreatedAtAction(null, apiText)); }
public IActionResult Index(DiacriticsText model) { if (model.OriginalText.Length > 10000) { model.OriginalText = model.OriginalText.Substring(0, 10000); } var reconstructor = new Reconstructor(Startup.BinaryFilePath, Startup.PositionTriePath); model.ReconstructedText = reconstructor.Reconstruct(model.OriginalText); return(View(model)); }
public void NaiveKruskalAuthentic() { var path = Path.Combine(Drive.GetDriveRoot(), Dir.PdfRequiremnetTestDirectory, Dir.PdfRequiremnetTestFullOne); var shreds = Shred.Factory("image", path, false); var results = Reconstructor.NaiveKruskalAlgorithm(shreds); shreds.ForEach(shred => Console.Write(" " + shred.Id + ", ")); Console.WriteLine(); results.ForEach(shred => Console.Write(" " + shred.Id + ", ")); Console.WriteLine(); var diff = Differ.DiffShredByOrder(results.Select(shred => shred.Id).ToList(), Enumerable.Range(0, results.Count).Select(ii => (long)ii).ToList()); Console.WriteLine("Difference : " + diff); ExportResult((Cluster)results.First().Root(), "../../visualizer/NaiveKruskalAuthentic.png"); }
public void TestQueue() { var max = 1.00; var path = Path.Combine(Drive.GetDriveRoot(), Dir.PdfRequiremnetTestDirectory, Dir.PdfRequiremnetTestFullOne); var shreds = Shred.Factory("image", path, false); var queue = Reconstructor.BuildQueue(shreds); while (queue.Count > 0) { var next = queue.Dequeue().ChamferSimilarity; Assert.IsTrue(next <= max); Console.WriteLine(next); max = next; } }
private void OnBinaryPacket(SocketIOPacket Packet) { if (Packet != null && Reconstructor.ConstructeeTokenCount == 0) { Reconstructor.SetPacket(Packet); } else { throw new SocketIOException(string.Format ( "Unexpected binary data: {0}. Reconstructor: {1}.", Packet, Reconstructor.OriginalPacket )); } }
public string Reconstruct(string prefix, string dir, bool display) { StringBuilder sb = new StringBuilder(); WriteToLog("Loading Shreds"); var shreds = Shred.Factory(prefix, dir, false); WriteToLog("Comparing And Clusering"); var results = Reconstructor.NaiveKruskalAlgorithm(shreds); WriteToLog("Exporting Results"); string currentDir = Directory.GetCurrentDirectory(); NaiveKruskalTests.ExportResult((Cluster)results.First().Root(), Path.Combine(currentDir, "output.png"), Path.Combine(currentDir, "json.js")); WriteToLog("Export Complete"); return(sb.ToString()); }
public void NaiveKruskalPrimitive() { Shred.BUFFER = 0; Shred.SAMPLE_SIZE = 1; var folder = Path.Combine(Drive.GetDriveRoot(), Dir.NaiveKruskalTestDirectory); var paths = new List <string>(); paths.Add(Path.Combine(folder, NaiveThree)); paths.Add(Path.Combine(folder, NaiveSix)); paths.Add(Path.Combine(folder, NaiveTen)); foreach (var path in paths) { var shreds = Shred.Factory("Shred", path, false); var checker = Helpers.BuildChecker(Path.Combine(path, Helpers.CheckFile)); var results = Reconstructor.NaiveKruskalAlgorithm(shreds); var indicies = results.Select((t, pos) => new Tuple <int, Shred>(pos, t)).ToList(); Console.WriteLine(" ---- " + path + "----"); var result = indicies.Select(pair => { var filename = Path.GetFileName(pair.Item2.Filepath); Assert.IsNotNull(filename); Assert.IsNotNull(checker[filename]); var expected = checker[filename]; var actual = pair.Item1; Console.WriteLine("Actual " + actual + " vs. " + expected + " | File: " + filename); return(actual.ToString(CultureInfo.InvariantCulture) == expected); }).ToList(); Exporter.ExportJson(results.First().Root()); Console.WriteLine(); result.ForEach(Assert.IsTrue); } }