public void FitTopCircle()
    {
        boundary2 = IExtension.GetBoundary(img);
        topCircle = SolveTopCircle();
        m_renderEngine.DrawPoints(topCircle.CirclePoints, Color.yellow);
        //List<Vector2> circle2d = m_projector.GetProjectionPoints_2D(topCircle.CirclePoints);
        //Image<Bgr, byte> blobimg = new Image<Bgr, byte>(this.img.Width, this.img.Height);

        //foreach (Vector2 p in circle2d)
        //{
        //    int i = (int)p.y;
        //    int j = (int)p.x;
        //    blobimg[i, j] = new Bgr(255, 255, 255);
        //}

        //blobimg.Save("C:/Users/Dell/Desktop/blob.jpg");
        //foreach (Vector2 p in boundary2)
        //{
        //    int i = (int)p.y;
        //    int j = (int)p.x;
        //    blobimg[i, j] = new Bgr(0, 0, 255);
        //}
        //blobimg.Save("C:/Users/Dell/Desktop/blob2.jpg");


        Optimize();
        ReOptimize();
        //topCircle.Save(imgPath);
    }