예제 #1
0
        public void GetEnergyTest()
        {
            var header = new XCelData("TEST", "Energy");
            var row    = new XCelData("TEST", "6X");

            Assert.AreEqual(Energy._6X, XCelRowParser.GetEnergy(header, row));
        }
예제 #2
0
        /// <summary>
        /// Parses the spreadsheet to pull Autodrive jobs
        /// </summary>
        /// <param name="ss"></param>
        /// <returns></returns>
        public static List <ExcelJob> GetExcelJobs(this SfSpreadsheet ss)
        {
            var             rows = ss.ToXCelRows();
            List <ExcelJob> jobs = new List <ExcelJob>();

            foreach (var row in rows.Skip(1).Where(r => r[0] != null && !((string)r[0]).StartsWith("//")).ToList())
            {
                var state  = new MachineState();
                var index  = rows.IndexOf(row);
                var header = rows[0];
                state.Accessory     = XCelRowParser.GetAccessory(header, row);
                state.CollimatorRot = XCelRowParser.GetCollimatorRot(header, row);
                state.CouchLat      = XCelRowParser.GetCouchLat(header, row);
                state.CouchVert     = XCelRowParser.GetCouchVert(header, row);
                state.CouchLng      = XCelRowParser.GetCouchLng(header, row);
                state.CouchRot      = XCelRowParser.GetCouchRot(header, row);
                state.DoseRate      = XCelRowParser.GetDoseRate(header, row);
                state.Energy        = XCelRowParser.GetEnergy(header, row);
                state.GantryRot     = XCelRowParser.GetGantryRot(header, row);
                state.MU            = XCelRowParser.GetMU(header, row);
                state.Time          = XCelRowParser.GetTime(header, row);
                state.X1            = XCelRowParser.GetX1(header, row);
                state.X2            = XCelRowParser.GetX2(header, row);
                state.Y1            = XCelRowParser.GetY1(header, row);
                state.Y2            = XCelRowParser.GetY2(header, row);
                var excelJob = new ExcelJob(state, index);
                excelJob.Bias         = XCelRowParser.GetBias(header, row);
                excelJob.Notification = XCelRowParser.GetNotification(header, row);
                foreach (var measurement in XCelRowParser.ReadMeasurements(header, row))
                {
                    excelJob.AddMeasurement(measurement);
                }
                excelJob.DepthOfMeasurentMM          = XCelRowParser.GetMeasurementDepth(header, row);
                excelJob.NumberOfMeasurementsDesired = XCelRowParser.GetNMeasurements(header, row);
                jobs.Add(excelJob);
            }
            return(jobs);
        }