Skip to content

1412universe/inkhinge

Repository files navigation

inkhinge

inkhinge是一个专为光谱分析设计的下一代深度学习工具集,专注于光谱数据的处理、转换与整合,为光谱分析领域的深度学习应用提供高效的数据预处理支持。通过pip install inkhinge安装后,你可以便捷地处理Omnic SPA格式的光谱文件,实现批量转换与合并等功能。

安装

pip install inkhinge

使用方法

下面是read_to_csv功能的简单使用示例:

1. 单个SPA文件转换为CSV

from inkhinge.core import read_to_csv

# 将单个SPA文件转换为CSV
output_path = read_to_csv(
    input_path="sample.spa",
    output_path="output/sample.csv",
    precision=20  # 保留20位小数精度
)
print(f"转换完成,输出路径:{output_path}")

2. 批量转换目录中的SPA文件

from inkhinge.core import read_to_csv

# 批量转换目录中的SPA文件(包括子目录)
success_count = read_to_csv(
    input_path="spectral_data/",
    output_path="converted_csv/",
    recursive=True,  # 递归处理子目录
    overwrite=True,  # 覆盖已存在的文件
    precision=15
)
print(f"批量转换完成,成功转换{success_count}个文件")

3. 转换并合并为单个CSV文件

from inkhinge.core import read_to_csv

# 转换所有SPA文件并按顺序合并为单个CSV
read_to_csv(
    input_path="spectral_data/",
    output_path="converted_csv/",
    merge_output="merged_spectra.csv",  # 合并后的文件路径)
)
print("转换与合并完成,结果已保存至merged_spectra.csv")

函数文档

read_to_csv(input_path, output_path=None, background_path=None, overwrite=False, recursive=False, precision=20, merge_output=None)

读取Omnic SPA格式的光谱文件并转换为CSV格式,支持批量处理与文件合并。

参数:

  • input_path (str): 输入路径,可为单个SPA文件路径或包含SPA文件的目录路径。
  • output_path (str, 可选): 输出路径,可为单个CSV文件路径或保存CSV文件的目录路径。若未指定,默认与输入文件同目录并添加_converted后缀。
  • background_path (str, 可选): 背景文件(BG.spa)路径,用于对光谱数据进行背景校正(可选)。
  • overwrite (bool, 可选): 是否覆盖已存在的输出文件,默认为False(不覆盖)。
  • recursive (bool, 可选): 当input_path为目录时,是否递归处理子目录中的SPA文件,默认为False
  • precision (int, 可选): 输出数据保留的小数位数精度,默认为20位,确保以定点小数形式表示(非科学计数法)。
  • merge_output (str, 可选): 合并后的CSV文件路径。若指定,将按文件名顺序合并所有转换后的CSV文件,默认为None(不合并)。

返回:

  • input_path为单个文件:返回转换后的CSV文件路径。
  • input_path为目录:返回成功转换的文件数量(当merge_outputNone时)或转换后的文件路径列表(当merge_output指定时)。

功能特点

  1. 精准转换:采用高精度定点小数表示(默认20位),避免科学计数法,确保光谱数据精度无损。
  2. 批量处理:高效处理目录中的多个SPA文件,支持递归遍历子目录。
  3. 智能合并:按文件名顺序合并多个CSV文件,列名从0开始编号(如Kubelka-Munk_0Kubelka-Munk_1),便于后续深度学习模型训练。
  4. 类型适配:自动识别光谱数据类型(吸光度、透射率等),并生成对应的列名与单位。

贡献

如果你想为inkhinge工具集做出贡献,请遵循以下步骤:

  1. Fork这个仓库
  2. 创建你的特性分支 (git checkout -b feature/SpectralFeature)
  3. 提交你的更改 (git commit -m 'Add spectral preprocessing feature')
  4. 将更改推送到你的分支 (git push origin feature/SpectralFeature)
  5. 打开一个Pull Request

许可证

本项目采用MIT许可证 - 详情请见LICENSE文件。

About

The next-generation deep learning toolkit designed specifically for spectral analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages