private void GetCorrugationWaveOneChannel(int channelID, string sFile, string citFileNew, int fs, double thresh_tii, int len_win, InvalidDataProcessing.CalculateCorrugationClass calculateCorrugation)
        {
            var header = citHelper.GetDataInfoHead(sFile);

            int bytesneed = header.iChannelNumber * 2 * 16000000;

            long startPos = citHelper.GetSamplePointStartOffset(header.iChannelNumber, channelID);

            long citFileLength = citHelper.GetFileLength(sFile);

            int count = Convert.ToInt32((citFileLength - startPos) / bytesneed);

            string channelName = citHelper.GetChannelNameEn(channelID, citFileNew);

            string excelPath = this.textBoxFileDirectory.Text + "\\" + channelName + "Info.csv";

            if (!File.Exists(excelPath))
            {
                MessageBox.Show("路径下不存在" + excelPath + "该文件,请提取波磨信息后再进行提取波磨波形", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            List <CorrugationInfoModel> listModels = calculateCorrugation.GetCorrugationInfoList(excelPath);

            string citFileWave = sFile.Substring(0, sFile.Length - 4) + "corrugationWave.cit";

            CreateWaveCitHeader(citFileWave, header);

            for (int i = 0; i < count; i++)
            {
                long endPos = startPos + bytesneed;

                var data_miles = citHelper.GetMilesData(sFile, startPos, endPos);
                var data_speed = citHelper.GetSingleChannelData(sFile, 3, startPos, endPos);

                //轴箱左垂
                var channelData = citHelper.GetSingleChannelData(sFile, channelID, startPos, endPos);

                //提取波磨波形
                MWNumericArray bmWaveArray = calculateCorrugation.GetCorrugationWaveProcess(listModels, data_miles, data_speed, channelData, fs, thresh_tii, len_win);

                List <double[]> listResult = calculateCorrugation.GetCorrugationWave(bmWaveArray);

                CreateCitData(citFileWave, listResult);

                startPos = endPos;
            }
        }
        private void GetCorrugationWaveAllDataOneChannel(int channelID, string sFile, string citFileNew, int fs, double thresh_tii, int len_win, InvalidDataProcessing.CalculateCorrugationClass calculateCorrugation)
        {
            string channelName = citHelper.GetChannelNameEn(channelID, citFileNew);

            string excelPath = this.textBoxFileDirectory.Text + "\\" + channelName + "Info.csv";
            List <CorrugationInfoModel> listModels = calculateCorrugation.GetCorrugationInfoList(excelPath);

            var data_miles = citHelper.GetMilesData(sFile);
            var data_speed = citHelper.GetSingleChannelData(sFile, 3);

            //轴箱左垂
            var channelData = citHelper.GetSingleChannelData(sFile, channelID);
            //提取波磨波形
            MWNumericArray bmWaveArray = calculateCorrugation.GetCorrugationWaveProcess(listModels, data_miles, data_speed, channelData, fs, thresh_tii, len_win);
            //波磨波形结果
            List <double[]> listResult = calculateCorrugation.GetCorrugationWave(bmWaveArray);
        }