コード例 #1
0
        /// <summary>
        /// 三次样条曲线插值(使用数据点数量)
        /// </summary>
        /// <param name="specDatas">第一行为X数据,后面几行为Y数据</param>
        /// <param name="specRows">数据的行数</param>
        /// <param name="specCols">数据的列数</param>
        /// <param name="firstX">起始波数</param>
        /// <param name="lastX">结束波数</param>
        /// <param name="dataCount">数据点数量</param>
        /// <returns>返回处理后的数据, 第一行是X轴,其余行为Y轴</returns>
        public static List <double[]> SplineCubicInterpolation(double[] specDatas, int specRows, int specCols, double firstX, double lastX, int dataCount)
        {
            try
            {
                double[] newDatas = SplineCubicInterpolation(specDatas, specRows, specCols, firstX, lastX, dataCount, true);
                if (newDatas == null)
                {
                    return(null);
                }

                return(CommonMethod.SplitSpectrumDatas <double>(newDatas, specRows));
            }
            catch (Exception ex)
            {
                ErrorString = ex.Message;
                return(null);
            }
        }
コード例 #2
0
        /// <summary>
        /// 光谱基线校正
        /// </summary>
        /// <param name="xyDataList">第一项是X,后面是Y</param>
        /// <param name="method">基线校正方法.</param>
        /// <returns></returns>
        public static List <double[]> BaselineCorrect(List <double[]> xyDataList, BaseLineMethod method)
        {
            if (xyDataList.Count < 2)
            {
                ErrorString = "Invalid parameters";
                return(null);
            }

            var xyDatas = CommonMethod.CombineSpectrumDatas(xyDataList);

            if (xyDatas == null)
            {
                ErrorString = CommonMethod.ErrorString;
                return(null);
            }

            if (BaselineCorrect(xyDatas, xyDataList.Count, xyDataList[0].Length, method) == false)
            {
                return(null);
            }

            return(CommonMethod.SplitSpectrumDatas(xyDatas, xyDataList.Count));
        }