python基线计算法_光谱的去基线处理

光谱的基线处理

对于使用enlighten读取的光谱的数据来说,读取的数据是含有基线的,而人们所需要的只是需要的峰部分,而人们大多数是使用的OMNIC或者ORIGIN进行手动去基线处理方法,这样处理可能会有一定的小误差,如果能够进行使用软件进行自动去基线处理不仅极大地节省了人力,也加快了处理基线的时间,本文提供了一个使用python处理的一个自动去基线的方法。

准备工作

使用此次编写的python文件需要安装部分库,

BaselineRemoval==0.0.4

cycler==0.10.0

joblib==0.16.0

kiwisolver==1.2.0

matplotlib==3.3.0

numpy==1.19.1

pandas==1.1.0

Pillow==7.2.0

pyparsing==2.4.7

python-dateutil==2.8.1

pytz==2020.1

scikit-learn==0.23.2

scipy==1.5.2

six==1.15.0

sklearn==0.0

threadpoolctl==2.1.0

这些库使用这些指定的版本,我尝试着用最新的不可以。下载安装这些库的时候会很慢,简易镜像下载使用。

这里是镜像链接

(建议将上面那些弄到一个txt文本之中,这样可以省事儿,然后直接调用镜像下载)

安装完库之后接下来就可以进行去基线啦!

进行写py文件

# -*- coding: utf-8 -*-

# @Author: TD21forever

# @Date: 2020-07-28 12:21:13

# @Last Modified by: TD21forever

# @Last Modified time: 2020-07-28 13:32:42

from BaselineRemoval import BaselineRemoval

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

#read from csv to get original data

file = pd.read_csv('./data.csv')

X_ = file["X"]

Y_ = file["Y"]

print(X_)

#to_list

polynomial_degree=5

X = X_.to_list()

Y = Y_.to_list()

#Method one Modpoly

baseObj = BaselineRemoval(Y,polynomial_degree)

Y_Modpoly_output=baseObj.ModPoly()

data = pd.DataFrame()

data["X"] = X

data["Y"] = Y_Modpoly_output

data.to_csv('ModPoly.csv')

# # Visualize

plt.plot(X_,Y_,color='black',linewidth=2.0)

plt.plot(X_,Y_Modpoly_output,color='red',linewidth=2.0,linestyle='--')

plt.legend(["original","Modpoly"])

plt.title("Modpoly")

plt.savefig("./Modpoly.png")

#Method two IModPoly

baseObj=BaselineRemoval(Y,polynomial_degree)

Y_IModPoly_output=baseObj.IModPoly()

data = pd.DataFrame()

data["X"] = X

data["Y"] = Y_IModPoly_output

data.to_csv('IModPoly.csv')

# Visualize

plt.plot(X_,Y_,color='black',linewidth=2.0)

plt.plot(X_,Y_IModPoly_output,color='red',linewidth=2.0,linestyle='--')

plt.legend(["original","IModPloy"])

plt.title("IModPloy")

plt.savefig("./IModPloy.png")

保存好之后就可以进行去基线处理喽,文件的介绍应该看得懂吧

结果

插入链接与图片

运行成功的图片:

处理后的结果图片就如下图显示啦,

是不是很简单,你可以自己去尝试下啦。

结束

作为我的处女作就写到这里就准备结束啦,并不知道怎么进行书写哈哈格式比较混乱,但是程序啥的都是可以正常使用的十分简单的操作的,祝各位学习愉快!

原文链接:https://blog.csdn.net/qq_38634299/article/details/107913512

你可能感兴趣的:(python基线计算法)