当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
8 Star 73 Fork 16

root / 光谱预处理方法
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
WTFPL

算法列表

  • 标准正态变换 SNV
  • 多元散射校正 MSC
  • Savitzky-Golay平滑滤波函数 SG
  • 滑动平均滤波 move_avg
  • 一阶差分 D1
  • 二阶差分 D2
  • 小波变换 wave
  • 均值中心化 mean_centralization
  • 标准化 standardlize
  • 最大最小归一化 max_min_normalization
  • 矢量归一化 vector_normalization

感谢 @panxy0826的开源,本Tool 部分搬运修改于该作者

快速使用

0. WARNING

如果您编程能力较弱 对python理解不足 不建议参考使用本项目代码 本项目代码未经大量测试 无法保证通用性。如果您对本项目进行了结构性更改,请一定通知我进行同步更改。

1. 导入数据

# 导入 pandas 读取数据
import pandas as pd
import numpy as np

# 读取数据
data = pd.read_csv("./data/peach_spectra_brix.csv")

# m * n 
print("数据矩阵 data.shape:",data.shape)

# 50个样本, 600个 波段 第一列是 桃子糖度值 需要分离开
X = data.values[:,1:] 

2. 数据绘制

from pretreatment import Pretreatment as pre
p = pre()

# 该方法为快速示例 而编写 
# 测试用例 图片名 波段起始点 波段间距
p.PlotSpectrum(X, '演示', 0, 5).show()
## 为保证数据可以正确绘制 请将 矩阵转化为 numpy.ndarray 格式
type(X)
image-20211018212653707

3. 数据预处理

多元散射校正 MSC

msc = p.msc(X)
p.PlotSpectrum(msc, 'msc', 0, 5).show()
image-20211018212754142

标准正态变换 SNV

snv = p.snv(X)
p.PlotSpectrum(snv, 'snv', 0, 5).show()
image-20211018212821032

Savitzky-Golay平滑滤波函数 SG

# 此处参数为参考 具体 后续 详述
sg = p.SG(X, 4*5+1,2*3,2)
p.PlotSpectrum(sg, 'sg', 0, 5).show
image-20211018212847272

滑动平均滤波 move_avg

move_avg = p.move_avg(X)
p.PlotSpectrum(move_avg, 'move_avg', 0, 5).show
image-20211018212913863

一阶差分 D1

D1 = p.D1(X)
p.PlotSpectrum(D1, 'D1', 0, 5).show
image-20211018212939808

二阶差分 D2

D2 = p.D2(X)
p.PlotSpectrum(D2, 'D2', 0, 5).show
image-20211018212958282

小波变换 wave

wave = p.wave(X)
p.PlotSpectrum(wave, 'wave', 0, 5).show
image-20211018213018343

均值中心化 mean_centralization

mean_centralization = p.mean_centralization(X)
p.PlotSpectrum(mean_centralization, 'mean_centralization', 0, 5).show
image-20211018213038106

标准化 standardlize

standardlize = p.standardlize(X)
p.PlotSpectrum(standardlize, 'standardlize', 0, 5).show
image-20211018213059006

最大最小归一化 max_min_normalization

max_min_normalization = p.max_min_normalization(X)
p.PlotSpectrum(max_min_normalization, 'max_min_normalization', 0, 5).show
image-20211018213117138

矢量归一化 vector_normalization

vector_normalization = p.vector_normalization(X)
p.PlotSpectrum(vector_normalization, 'vector_normalization', 0, 5).show
image-20211018213156529

注意事项

先将如何使用写出,具体原理后续会补上

示例数据来源:nirpyresearch.com

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO.

简介

标准正态变换; 多元散射校正; Savitzky-Golay 平滑滤波函数; 滑动平均滤波; 一阶差分; 二阶差分 ; 小波变换 ; 均值中心化; 标准化 ; 最大最小归一化 ; 矢量归一化 展开 收起
Python 等 2 种语言
WTFPL
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/aBugsLife/spectral-pretreatment-method.git
git@gitee.com:aBugsLife/spectral-pretreatment-method.git
aBugsLife
spectral-pretreatment-method
光谱预处理方法
master

搜索帮助