public Dictionary <string, string> GetTuneData(int nSegmentNumber = 0)
        {
            Dictionary <string, string> returnDict = null;

            _rawConnection.GetNumTuneData(ref nSegmentNumber);

            // only return dictionary from last segment
            for (var index = 0; index < nSegmentNumber; index++)
            {
                returnDict = new Dictionary <string, string>();
                var    tuneLabelCount = 0;
                object objLabels      = null;
                object objValues      = null;

                string msg;
                try
                {
                    _rawConnection.GetTuneData(index, ref objLabels, ref objValues, ref tuneLabelCount);
                }
                catch (Exception ex)
                {
                    // Exception getting TuneData
                    msg            = "Warning: Exception calling mXRawFile.GetTuneData for Index " + index + ": " + ex.Message;
                    tuneLabelCount = 0;
                }

                // cast to arrays
                objLabels = (string[])objLabels;
                objValues = (string[])objValues;
            }
            return(returnDict);
        }