예제 #1
0
        private FragmentObject AddReportSting(String s)
        {
            FragmentObject.TrimatMarkEnum clr;
            //CircleData c_d;            
            string[] ss = s.Split(new Char[] { ',' });
            double zval;
            double z1val=0;
            double theta1;
            double theta2;
            double rad;
            FragmentObject fragmentMark = null;

            if (ss.Length >= 9)
            {
                if (ss[7].Trim() == "") ss[7] = "Not Specified";
                if (ss[8].Trim() == "") ss[8] = "Not Specified";
                if (ss[6].Trim() == "") ss[6] = "Not Specified";

                ObjectData ob = new ObjectData();

                ob.FragData = ss[0].Trim();
                ob.Theta1Data = ss[1].Trim();
                ob.Theta2Data = ss[2].Trim();
                ob.ZData = ss[3].Trim();
                ob.XData = ss[4].Trim();
                ob.YData = ss[5].Trim();
                ob.TypeData = ss[6].Trim();
                ob.ShapeData = ss[7].Trim();
                ob.SizeData = ss[8].Trim();

                if(ss.Length > 9)
                    ob.Z1Data = ss[9].Trim();

                TableStrinsCollection.Add(ob);
                //add circles collection.  will be used later ================
                {
                    zval = Convert.ToDouble(ss[3].Trim());

                    if (ss.Length > 9 && ss[9] != string.Empty)
                        z1val = Convert.ToDouble(ss[9].Trim());
                    theta1 = Convert.ToDouble(ss[1].Trim());
                    theta2 = Convert.ToDouble(ss[2].Trim());
                    switch (ss[6].Trim())
                    {
                        case "Metal":
                            clr = FragmentObject.TrimatMarkEnum.Metal;
                            break;
                        case "Organic":
                            clr = FragmentObject.TrimatMarkEnum.Organic;
                            break;
                        case "Inorganic":
                            clr = FragmentObject.TrimatMarkEnum.Inorganic;
                            break;
                        default:
                            clr = FragmentObject.TrimatMarkEnum.Unknown;
                            break;
                    }
                    switch (ss[8].Trim())
                    {
                        case "< 4 mm":
                            rad = 4;
                            break;
                        case "5mm-8mm":
                            rad = 8;
                            break;
                        case "9mm-12mm":
                            rad = 12;
                            break;
                        case "13mm-16mm":
                            rad = 16;
                            break;
                        case "17mm-20mm":
                            rad = 20;
                            break;
                        case ">20mm":
                            rad = 25;
                            break;
                        default:
                            rad = m_XrayImageDisplay.DefaultMarkRadiusSizeMillimeters;
                            break;
                    }

                    fragmentMark = new FragmentObject(new Point(), clr, rad, theta1, theta2, zval, z1val, FragmentObject.MarkTypeEnum.Mark);
                }
            }

            return fragmentMark;
        }
예제 #2
0
        public double AddData2Table1M(Point pt, double Imageheight)
        {
            try
            {                
                ObjectData od;
                double xPos;
                double theta1 = Conversion.ConvertY2Theta(pt.Y, Imageheight);
                xPos = Conversion.ConvertDegreesToRadians(theta1);
                int tcount = TableStrinsCollection.Count + 1;
                od = new ObjectData
                {
                    FragData = tcount.ToString(),
                    ShapeData = "Not Specified",
                    SizeData = "Not Specified",
                    TypeData = "Not Specified",
                    Theta1Data = Math.Round(theta1, 2).ToString(),
                    Theta2Data = "",
                    ZData = Math.Round(pt.X * Conversion.SamplingSpace, 0).ToString(),
                    XData = "",
                    YData = "",
                    Z1Data = ""
                };
                
                TableStrinsCollection.Add(od);

                DataTable.SelectedIndex = DataTable.Items.Count - 1;
                DataTable.ScrollIntoView(DataTable.SelectedItem);

                return xPos;

            }
            catch { }

            return 0;

        }