Ejemplo n.º 1
0
        static Int16Triple RunMC(BitMap3d bmp, string type)
        {
            watch.Reset();
            watch.Start();
            MCProcessor mc   = new MCProcessor(bmp);
            Mesh        mesh = mc.GenerateSurface();

            watch.Stop();
            Console.WriteLine("MC Run time : " + watch.ElapsedMilliseconds + "ms," + "v: " + mesh.GetVertexCount() + " f:" + mesh.GetFaceCount());
            if (output)
            {
                PlyManager.Output(mesh, type + "_" + mesh.GetVertexCount() + "_" + mesh.GetFaceCount() + ".ply");
            }
            return(new Int16Triple(mesh.GetVertexCount(), mesh.GetFaceCount(), 0));
        }
Ejemplo n.º 2
0
        private static void TestMC()
        {
            TestParms parm = TestParms.CreateParmsForPhantom();
            BitMap3d  bmp  = new BitMap3d(parm.image.data, parm.image.width, parm.image.height, parm.image.depth);

            for (int i = 0; i < bmp.data.Length; i++)
            {
                if (bmp.data[i] >= parm.min && bmp.data[i] <= parm.max)
                {
                    bmp.data[i] = BitMap3d.WHITE;
                }
                else
                {
                    bmp.data[i] = BitMap3d.BLACK;
                }
            }
            MCProcessor mc = new MCProcessor(bmp);
            Mesh        m  = mc.GeneratorSurface();

            PlyManager.Output(m, "test5.ply");
        }
Ejemplo n.º 3
0
        private static void Test()
        {
            BitMap3d bmp = new BitMap3d(301, 324, 56, BitMap3d.BLACK);

            bmp.ReadRaw("D://VTKproj//lobster.raw");
            for (int i = 0; i < bmp.data.Length; i++)
            {
                if (bmp.data[i] >= 37 && bmp.data[i] <= 255)
                {
                    bmp.data[i] = BitMap3d.WHITE;
                }
                else
                {
                    bmp.data[i] = BitMap3d.BLACK;
                }
            }
            MCProcessor mc = new MCProcessor(bmp);
            Mesh        m  = mc.GeneratorSurface();

            Console.WriteLine(m.Vertices.Count);
            Console.WriteLine(m.Faces.Count);
            PlyManager.Output(m, "test2.ply");
        }