Esempio n. 1
0
        void ShowRaleiView(bool IsLeft, WriteableBitmap b)
        {
            if (b == null)
            {
                return;
            }
            RayleiResolution v = new RayleiResolution();

            ActionShow.CenterShow(Desktop, v);
            v.IsLeft = IsLeft;
            v.Test(b);
        }
Esempio n. 2
0
        void ShowRaleiView()
        {
            RayleiResolution v = new RayleiResolution();

            if (TestChart != null &&
                TestChart.ProcessInfor.ContainsKey("RayleiResolutionIsLeft") &&
                Convert.ToBoolean(TestChart.ProcessInfor["RayleiResolutionIsLeft"]))
            {
                v.IsLeft = true;
            }
            else
            {
                v.IsLeft = false;
            }
            ShowParameterView(v, "RayleiResolutionLArea");
        }
Esempio n. 3
0
        //ISO12233ExChart t=new ISO12233ExChart();
        //public void autoTest()
        //{
        //    //mark = new MarkProcess(ProcPhoto);
        //    if (ChartPhoto.getChart() == null) { return; }
        //    processbar.Value = 0;
        //    //ResultPanel.Children.Clear();

        //    Button li;
        //    t.setChart(ChartPhoto.getChart());
        //    //t.PhotoTestProc += new PhotoTestProcessHandler(t_PhotoTestProc);
        //    t.CorrectISO12233Chart();
        //    t.BeginAnalyse();
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 30;

        //    sw.Stop();
        //    sw.Start();

        //    long r = t.getLPResoveLines();
        //    //li = new Button();
        //    //li.Name = "ResolvingPower";
        //    buttonRayleiResolution.Content = "分辨率(中央):" + r.ToString() + " LW/PH";
        //    buttonRayleiResolution.SetValue(ToolTipService.ToolTipProperty, "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
        //    //li.Click += new RoutedEventHandler(RayleiResolution_Click);
        //    //ResultPanel.Children.Add(li);
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 50;

        //    r = t.getHEdgeResoveLines();
        //    //li = new Button();
        //    //li.Name = "HResolvingPower";
        //    buttonHMTF.Content = "分辨率(水平线):" + r.ToString() + " LW/PH";
        //    buttonHMTF.SetValue(ToolTipService.ToolTipProperty, "利用水平线条测试分辨率,接近相机的中心分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
        //    //li.Click += new RoutedEventHandler(HMTF_Click);
        //    //ResultPanel.Children.Add(li);
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 60;

        //    r = t.getVEdgeResoveLines();
        //    //li = new Button();
        //    //li.Name = "VResolvingPower";
        //    buttonVMTF.Content = "分辨率(垂直线):" + r.ToString() + " LW/PH";
        //    buttonVMTF.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试分辨率,接近相机的边沿分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
        //    //li.Click += new RoutedEventHandler(VMTF_Click);
        //    //ResultPanel.Children.Add(li);
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 70;

        //    //li = new Button();
        //    decimal d = t.getHDispersiveness();
        //    //li.Name = "HDispersiveness";
        //    buttonHDispersiveness.Content = "色散(水平线):" + d.ToString() + " pxl";
        //    buttonHDispersiveness.SetValue(ToolTipService.ToolTipProperty, "利用水平线条测试,接近中央色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0");
        //    //li.Click += new RoutedEventHandler(VDispersiveness_Click);
        //    //ResultPanel.Children.Add(li);
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 85;

        //    //li = new Button();
        //    d = t.getVDispersiveness();
        //    //li.Name = "VDispersiveness";
        //    buttonVDispersiveness.Content = "色散(垂直线):" + d.ToString() + " pxl";
        //    buttonVDispersiveness.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试,接近边沿色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0");
        //    //li.Click += new RoutedEventHandler(HDispersiveness_Click);
        //    //ResultPanel.Children.Add(li);
        //    //t.sendProcEvent(true, "");
        //    //processbar.Value = 100;

        //    sw.Stop();
        //    ResultPanel.SetValue(ToolTipService.ToolTipProperty, "测试共花费" + sw.Interval.Milliseconds.ToString() + "ms");

        //    IsTested = true;
        //    TestProject.TestHtml.Add(WriteHTML());
        //}
        //double PrcoStep = 100 / 6d;
        //void t_PhotoTestProc(object sender, PhotoTestProcessEventArgs e)
        //{
        //    processbar.Value = processbar.Value + PrcoStep;
        //    if (processbar.Value >= 99.5)
        //    {
        //        testHelper.CurrentChart.PhotoTestProc -= new PhotoTestProcessHandler(t_PhotoTestProc);
        //    }
        //}
        void RayleiResolution_Click(object sender, RoutedEventArgs e)
        {
            if (!CameraTestDesktop.CanAccess(Version.Professional))
            {
                return;
            }
            RayleiResolution pc = new RayleiResolution();

            CameraTestDesktop.getDesktopPanel().Children.Add(pc);
            if (ChartPhoto.IsSelect)
            {
                pc.IsLeft = true;
                pc.Test(ChartPhoto.getSelectArea());
            }
            else
            {
                if (testHelper.CurrentChart == null)
                {
                    SilverlightLFC.common.Environment.ShowMessage("没有选择测试照片做进一步测试");
                    return;
                }
                if (testHelper.CurrentChart.ProcessInfor.ContainsKey("RayleiResolutionIsLeft"))
                {
                    if (Convert.ToBoolean(testHelper.CurrentChart.ProcessInfor["RayleiResolutionIsLeft"]))
                    {
                        pc.IsLeft = true;
                        pc.Test(testHelper.CurrentChart.mp.SelectedArea["RayleiResolutionLArea"]);
                    }
                    else
                    {
                        pc.IsLeft = false;
                        pc.Test(testHelper.CurrentChart.mp.SelectedArea["RayleiResolutionRArea"]);
                    }
                }
            }
        }