void ProcessFile(int dataColumn) { try { var words = FileIOLib.CSVFileParser.ParseFile(Filename); _rowCount = words.GetLength(0); _colCount = words.GetLength(1); if (_rowCount == 0 || _colCount == 0 || _headerRowCount >= _rowCount) { throw new Exception("File does not contain data."); } if (dataColumn > _colCount - 1) { throw new Exception("No data in specified column. Likely incorrect probe count or type."); } InputUnits = MeasurementUnit.GetMeasurementUnit(words); if (InputUnits == null) { InputUnits = new MeasurementUnit(LengthUnit.MICRON); } data.AddRange(ExtractProbeData(words, dataColumn)); double scalingFactor = OutputUnits.ConversionFactor / InputUnits.ConversionFactor; ScaleData(scalingFactor); } catch (Exception) { throw; } }