Open Source Spectrometer Python Scripts
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 |
光谱仪 Python
这个仓库提供开源光谱仪项目脚本,旨在让实践者、学生和公民科学家能使用他们的光谱仪收集数据,并享受愉快的学习体验。尽情探索!
开源光谱仪项目包括一个网络摄像头、简单的激光切割部件、电池盒以及合适的LED照明组件。该光谱仪通过USB连接到计算机,用户可以运行此仓库提供的脚本来运行实验并进行测量。仓库中的两个主要组件是 analyse.py 和 calibrate.py。analyse.py 脚本用于绘制用网络摄像头光谱仪测量得到的吸收光谱。calibrate.py 对于希望了解科学测量机制并理解如何评估数据质量的高级用户很有用。
开放科学与背景
科学定义上应该是开放和可重复的,因此实验结果应可供任何人验证。不幸的是,这在今天并不总是如此。为了能够验证实验,所有使用的组件都应该是公开可访问的,包括科学仪器的软件和硬件。我们的光谱仪项目遵循这一理念,通过让用户接触到科学实验中设备的所有层次,他们可以深入理解科学测量的过程,从业者也能批判性地理解特定仪器的局限性。
交流
光谱仪社区仍然很小,但与Pocket Science Lab团队有所重叠。为了与不同的社区成员保持联系,我们开始继续使用PSLab的Gitter频道。一旦项目更加成熟,我们将设立专用频道。请加入我们:
功能与实现状态
| 特性 | 描述 | 状态 |
|---|---|---|
| USB 连接 | 使用兼容的光谱仪通过 USB 从电脑传输数据 | ✅ 已完成 |
| 生成 PNG 图像 | 在 spectralworkbench.org 上运行软件,使用样本 | ✅ 已完成 |
| 校准 | 使用 calibrate.py 校准并在 analyse.py 中报告 |
✅ 已完成 |
| 浏览器内执行脚本 | 通过 repl.it 在浏览器中执行脚本 | ✅ 已完成 |
| 本地执行脚本 | 无需互联网,在本地计算机上执行脚本 | ❌ 未完成 |
| 本地生成 PNG 图像 | 从收集的数据生成 PNG 图像,不依赖互联网服务 | ❌ 未完成 |
使用的服务
- 我们使用 repl.it 来在浏览器中运行Python脚本 repl.it/@DIYanalytics/analysepy,以方便非程序员使用光谱仪。
- 脚本从spectralworkbench.org 的Web服务获取实验数据,并绘制分析图。
如何使用 analyse.py 进行实验和收集数据
- 通过USB将光谱仪连接到您的计算机。
- 将液体样本转移到比色皿(光谱学液体容器)中,然后将其放入光谱仪中。对于叶绿素A和B,您可能需要自行提取和分离。
- 使用上述提到的光谱工作台上的网络摄像头光谱仪进行测量。
- 在
referenceFile槽中插入参考文件名,用逗号分隔所有样品文件名。 - 在下方输入所需的图表标题和图例标题。
- 查看测量结果和脚本,并将生成的图表与文献中找到的叶绿素A和B的吸收光谱进行比较(在线搜索叶绿素的吸收)。
如何使用 calibrate.py 校准设备
校准光谱仪意味着将原本表示像素的值转换为波长,这是光谱仪的目的。为了创建像素和波长之间的相关性,使用汞灯泡(紧凑型荧光灯CFL)。由于其尖锐的发射峰,我们可以为某些像素分配特定的波长值,并推断其他所有值。
作为参考,您可以查看维基百科上的荧光照明光谱峰值图像 在这里 。
使用 calibrate.py 的步骤:
- 运行
calibrate.py,使用紧凑型荧光灯(CFL)产生的文件。 - 使用放大镜,记录在哪个像素位置对应参考图谱中的峰。
- 至少取3个关联点,但越多越好。
- 打开主脚本,在相应的槽中按升序插入(替换)之前记录的像素和波长。
贡献
该项目由 Alessandro Volpato 启动。我们欢迎新的贡献者和来自世界各地用户的反馈。谢谢!
许可证
该项目根据Apache v2.0许可协议发布。