Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

之晓光学红外物理实验室

Knowptics Infrared Physics Lab

面向红外光学设计、热成像和教学的 MATLAB 开放物理基础库。

English · 快速开始 · 模型与公式 · 验证说明

发布状态:v0.1.0 本地验证基线。2026-07-13 在 Windows 11、MATLAB R2024b 上完成 110/110 测试,0 失败、0 未完成,语句/行覆盖率 87.05%。GitHub Actions 状态以实际工作流记录为准。

发射率与表观温度:人体与室内背景物理仿真

图中场景由项目自身的物理仿真生成,不包含第三方数据集像素。它用于说明温度、发射率和环境反射对红外成像的共同影响,不代表某一具体相机的辐射定标结果。

当前工具

  • 黑体辐射与温度:普朗克光谱辐亮度、光谱出射度、维恩峰值、Stefan–Boltzmann 总出射度及波段积分。
  • 发射率与表观温度:不透明灰体的自身发射与环境反射、表观黑体温度、辐射对比度,以及物理基准和合成真实场景。
  • 大气窗口与接收辐射:教学级 Beer–Lambert 透过率、目标直达辐射和路径大气辐射。

公共物理函数位于 src/+knowptics/+infrared/;GUI 位于 apps/InfraredPhysicsExplorer/。GUI 只负责单位边界、参数交互和可视化,不应复制物理公式。

三分钟快速运行

  1. 克隆仓库并进入目录:

    git clone https://github.com/XiaoShuinan/infrared-physics-lab.git
    cd infrared-physics-lab
  2. 在 MATLAB 中打开此目录,并执行:

    addpath("src");
    addpath("apps/InfraredPhysicsExplorer");
    app = KnowpticsInfraredPhysicsApp('Visible','on');
  3. 运行公开测试:

    addpath("tools");
    run_all_tests

也可运行 examples/ 中的脚本。完整说明见快速开始

MATLAB 版本和依赖

  • 开发与首版验证目标:MATLAB R2024b(Windows)。其他版本和平台的兼容性需要由 CI 或本地运行结果确认。
  • 物理内核仅依赖 MATLAB 基础数值功能。
  • GUI 使用 uifigure。多边形 ROI 功能需要 Image Processing Toolbox;缺少该工具箱时,核心计算和非 ROI 交互仍应可用。
  • 测试使用 matlab.unittest;UI 测试使用 matlab.uitest.TestCase

请勿把上述目标环境理解为已经完成的跨平台认证。实际状态见验证说明仓库构建报告

模型成熟度

模型 等级 当前边界
黑体辐射 L2 Validated Model 以解析关系和经典参考值验证;不包含真实光源非理想性
不透明灰体与表观温度 L1 Teaching Model 假设不透明、朗伯、灰体且波段内发射率给定
教学大气窗口 L1 Teaching Model Beer–Lambert 简化模型;不替代逐线或工程大气数据库

等级定义:L0 概念示意、L1 公式正确的理想教学模型、L2 经解析/文献/实验验证、L3 有工程验证及误差范围。详见模型成熟度

单位约定

内核统一使用 SI 单位和 K:波长 m、温度 K、距离 m、角度 rad、光谱辐亮度 W·m⁻²·sr⁻¹·m⁻¹、波段辐亮度 W·m⁻²·sr⁻¹、光谱出射度 W·m⁻²·m⁻¹、出射度 W·m⁻²。GUI 仅在边界显示 μm、°C、km 和 mrad。

光谱辐亮度、光谱出射度、辐照度及其波段积分量不得混用。朗伯黑体满足 M_λ = πB_λ。完整约定见物理量和单位

数值验证摘要

以下参考值已包含在 2026-07-13 的 R2024b 自动化验收中:

项目 参考/不变量 仓库状态
300 K 维恩峰值 约 9.66 μm 本地测试通过
300 K 总出射度 约 459 W·m⁻² 本地测试通过
朗伯关系 M_λ = πB_λ 本地测试通过
灰体端点 ε=1 为自身发射;ε=0 为环境反射 本地测试通过
大气端点 τ=1 为目标辐射;τ=0 为路径辐射 本地测试通过

测试、容差原则、输出位置和已知限制见验证说明。不得通过删除测试、放宽不合理精度或硬编码答案使测试通过。

本地完整命令为 matlab -batch "run_all_tests":110/110 通过,JUnit 中 0 failure、0 skipped,覆盖 3790/4354 个可执行行。运行产物位于忽略提交的 artifacts/

首版人工教学验收状态与第 02 页后续复核清单见人工教学体验验收;该人工复核不阻塞 v0.1.0

数据与图像

数据必须在 data/registry.yml 登记来源、许可证、是否允许再分发、辐射状态和预处理。首版不下载或提交大型第三方数据集。三种状态为:

  • Radiometric:有可追溯标定,可在其有效范围内输出物理量;
  • PhysicalSimulation:由声明的物理模型生成;
  • NonRadiometricVisualOnly:仅用于纹理、分割或视觉演示,禁止输出绝对温度或绝对辐亮度。

仓库不包含无许可证的第三方像素。详情见 data/LICENSES.mdTHIRD_PARTY_NOTICES.md

许可证、品牌和引用

  • MATLAB 源代码采用 Mozilla Public License 2.0。MPL-2.0 是文件级弱互惠许可证。
  • 本仓库原创文档、项目生成的教学图和登记为项目原创的合成数据采用 CC BY 4.0,除非相应文件另有说明。
  • “之晓光学”“Knowptics”、Logo、产品名称和品牌标识不随 MPL-2.0 或 CC BY 4.0 授权;参见 TRADEMARKS.md
  • 学术引用信息见 CITATION.cff。正式引用前仍需确认作者的中文法定姓名及规范转写;仓库不会擅自猜测。

商业边界

公共仓库提供基础物理模型、教学工具、示例和可复现的数值验证。经工程验证的大气/材料/探测器/镀膜数据库、复杂表面方向特性、Narcissus 与杂散辐射、NETD/MRTD/作用距离、批量报告、工程软件接口和技术支持属于未来商业软件边界。

开源与商业边界不改变 MPL-2.0 已授予的权利。详细说明见商业边界

参与贡献

提交前请阅读 CONTRIBUTING.mdAGENTS.md。任何核心公式变更必须先建立 Physics Validation Issue,明确公式、单位、假设、参考和数值验证。安全问题请按 SECURITY.md 私下报告。

About

Knowptics Infrared Physics Lab — open MATLAB models and interactive tools for infrared radiometry, thermal imaging, and education.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages