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); }
public void GetEnergyTest() { var header = new XCelData("TEST", "Energy"); var row = new XCelData("TEST", "6X"); Assert.AreEqual(Energy._6X, XCelRowParser.GetEnergy(header, row)); }
public static int GetMU(XCelData header, XCelData row) { var defValue = 0; var read = TryGetInt(header, row, "MU"); return(read != int.MinValue ? read : defValue); }
public static int GetBias(XCelData header, XCelData row) { var defValue = 300; var read = TryGetInt(header, row, "Bias", "Voltage"); return(read != int.MinValue ? read : defValue); }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
public static double GetTime(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Time")); }
public static double GetY2(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Y2")); }
public static double GetMeasurementDepth(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Depth mm", "DepthMM", "Chamber Depth mm", "Chamber Depthmm")); }
public static string GetNotification(XCelData header, XCelData row) { return(TryGetString(header, row, new string[] { "Notification", "Alert" })); }
public static double GetCouchLng(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Couch Long", "Couch Longitudinal", "Long", "Longitudinal")); }
public static double GetGantryRot(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Gantry Rot", "Gantry Rotation", "Gantry Angle")); }
public static double GetCouchRot(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Couch Rot", "Couch Rotation", "Table Angle", "Table Rotation", "Table Rot")); }
public static double GetCouchVert(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Vert", "Couch Vert", "Couch Vertical", "Vertical")); }
public static double GetCollimatorRot(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Collimator", "Collimator Angle", "Coll")); }
public static double GetCouchLat(XCelData header, XCelData row) { return(TryGetDouble(header, row, "Couch Lat", "Couch Lateral", "Lat", "Lateral")); }
public static string GetAccessory(XCelData header, XCelData row) { return(TryGetString(header, row, "Acc", "Accessory")); }
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()); }