Esempio n. 1
0
        public static int GetNMeasurements(XCelData header, XCelData row)
        {
            var defValue = 1;
            var read     = TryGetInt(header, row, "N", "Num Measurements", "Number of Measurements");

            return(read != int.MinValue ? read : defValue);
        }
Esempio n. 2
0
        public void GetEnergyTest()
        {
            var header = new XCelData("TEST", "Energy");
            var row    = new XCelData("TEST", "6X");

            Assert.AreEqual(Energy._6X, XCelRowParser.GetEnergy(header, row));
        }
Esempio n. 3
0
        public static int GetMU(XCelData header, XCelData row)
        {
            var defValue = 0;
            var read     = TryGetInt(header, row, "MU");

            return(read != int.MinValue ? read : defValue);
        }
Esempio n. 4
0
        public static int GetBias(XCelData header, XCelData row)
        {
            var defValue = 300;
            var read     = TryGetInt(header, row, "Bias", "Voltage");

            return(read != int.MinValue ? read : defValue);
        }
Esempio n. 5
0
        private static XCelData TrySetDouble(XCelData header, XCelData row, string measureHeader, double value)
        {
            var index = XCelRowParser.GetIgnoreCaseIndex(header, measureHeader);

            if (index != -1)
            {
                row[index] = value;
            }
            return(row);
        }
Esempio n. 6
0
 public static int GetIgnoreCaseIndex(XCelData header, params string[] possibilities)
 {
     foreach (var poss in possibilities)
     {
         var index = header.ToList().IndexOf(poss);
         if (index != -1)
         {
             return(index);
         }
     }
     //Not found
     return(-1);
 }
Esempio n. 7
0
        public static string TryGetString(XCelData header, XCelData row, params string[] possibleHeaders)
        {
            var    index = GetIgnoreCaseIndex(header, possibleHeaders);
            string ival  = string.Empty;

            if (index != -1)
            {
                var val = row[index];
                if (val is string)
                {
                    return(val);
                }
            }
            return(ival);
        }
        /// <summary>
        /// Converts to Cardan XCel format for processing
        /// </summary>
        /// <param name="ss"></param>
        /// <returns></returns>
        public static List <XCelData> ToXCelRows(this SfSpreadsheet ss)
        {
            List <XCelData> rows = new List <XCelData>();

            foreach (var r in ss.ActiveSheet.Rows)
            {
                var row = new XCelData();
                foreach (var c in r.Cells)
                {
                    row.Add(c.Value);
                }
                rows.Add(row);
            }
            return(rows);
        }
Esempio n. 9
0
        public static Energy GetEnergy(XCelData header, XCelData row)
        {
            var    index = GetIgnoreCaseIndex(header, "Energy");
            Energy en    = Energy.NONE;

            if (index != -1)
            {
                var val = row[index];
                if (val is string)
                {
                    var valAsString = (string)val;
                    if (Regex.IsMatch(valAsString, @"^\d+"))
                    {
                        valAsString = "_" + valAsString;
                    }
                    Enum.TryParse <Energy>(valAsString, out en);
                }
            }
            return(en);
        }
Esempio n. 10
0
        public static DoseRate GetDoseRate(XCelData header, XCelData row)
        {
            switch (TryGetInt(header, row, "Rate", "Dose Rate"))
            {
            case 100: return(DoseRate._100);

            case 200: return(DoseRate._200);

            case 300: return(DoseRate._300);

            case 400: return(DoseRate._400);

            case 500: return(DoseRate._500);

            case 600: return(DoseRate._600);

            case 1000: return(DoseRate._1000);

            default: return(DoseRate._600);
            }
        }
Esempio n. 11
0
        private static double TryGetDouble(XCelData header, XCelData row, params string[] possibleHeaders)
        {
            var    index = GetIgnoreCaseIndex(header, possibleHeaders);
            double dval  = double.NaN;

            if (index != -1)
            {
                var val = row[index];
                if (val is double)
                {
                    return((double)val);
                }
                if (val is int)
                {
                    return((double)val);
                }
                if (val is string)
                {
                    double.TryParse(val, out dval);
                }
            }
            return(dval);
        }
Esempio n. 12
0
        public static int TryGetInt(XCelData header, XCelData row, params string[] possibleHeaders)
        {
            var index = GetIgnoreCaseIndex(header, possibleHeaders);
            int ival  = int.MinValue;

            if (index != -1)
            {
                var val = row[index];
                if (val is int)
                {
                    return((int)val);
                }
                if (val is double)
                {
                    return((int)val);
                }
                if (val is string)
                {
                    int.TryParse(val, out ival);
                }
            }
            return(ival);
        }
Esempio n. 13
0
 public static double GetTime(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Time"));
 }
Esempio n. 14
0
 public static double GetY2(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Y2"));
 }
Esempio n. 15
0
 public static double GetMeasurementDepth(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Depth mm", "DepthMM", "Chamber Depth mm", "Chamber Depthmm"));
 }
Esempio n. 16
0
 public static string GetNotification(XCelData header, XCelData row)
 {
     return(TryGetString(header, row, new string[] { "Notification", "Alert" }));
 }
Esempio n. 17
0
 public static double GetCouchLng(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Couch Long", "Couch Longitudinal", "Long", "Longitudinal"));
 }
Esempio n. 18
0
 public static double GetGantryRot(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Gantry Rot", "Gantry Rotation", "Gantry Angle"));
 }
Esempio n. 19
0
 public static double GetCouchRot(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Couch Rot", "Couch Rotation", "Table Angle", "Table Rotation", "Table Rot"));
 }
Esempio n. 20
0
 public static double GetCouchVert(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Vert", "Couch Vert", "Couch Vertical", "Vertical"));
 }
Esempio n. 21
0
 public static double GetCollimatorRot(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Collimator", "Collimator Angle", "Coll"));
 }
Esempio n. 22
0
 public static double GetCouchLat(XCelData header, XCelData row)
 {
     return(TryGetDouble(header, row, "Couch Lat", "Couch Lateral", "Lat", "Lateral"));
 }
Esempio n. 23
0
 public static string GetAccessory(XCelData header, XCelData row)
 {
     return(TryGetString(header, row, "Acc", "Accessory"));
 }
Esempio n. 24
0
        public static List <double> ReadMeasurements(XCelData header, XCelData row)
        {
            var mheaders = Enumerable.Range(1, 5).Select(n => $"M{n}");

            return(mheaders.Select(h => TryGetDouble(header, row, h)).Where(n => !double.IsNaN(n) && n != 0.0).ToList());
        }