夜雨聆风学习资料网

ARTICLE · 1033592

我用AI做了3个科研工具:从“要是有这个功能就好了”到真正能用

我用AI做了3个科研工具:从“要是有这个功能就好了”到真正能用

最近借助 Codex,把科研和日常工作中反复遇到的几个“小痛点”,陆续做成了三个可以直接使用的轻量化桌面工具。【软件还在快速迭代中,欢迎反馈问题与建议】

它们分别面向 科研绘图、太阳物理数据分析和 PDF 阅读编辑

本文速览

① EPS Live Viewer

科研矢量图实时查看与轻量编辑工具

https://github.com/eternitylzt/EPSLiveViewer

适合 IDL、Python、MATLAB 等绘图工作流:程序重新生成 EPS 后自动刷新,还可以快速比较、调色、导出,甚至直接修改部分可识别文字。

② Solar Time–Distance Explorer

太阳图像交互式时距分析工具

https://github.com/eternitylzt/SolarTimeDistanceExplorer

直接打开 FITS / SAV,生成预览、视频,选帧在图像上画 Slit、生成 Time–Distance Diagram、测速度和加速度,也可进行 Region 时间演化分析。

③ AsterPDF

面向科研文档的本地 PDF 工作台

Read · Edit · Animate · Annotate · Extract

https://github.com/eternitylzt/AsterPDF

除了阅读和批注,更强调科研图片提取、PDF 对象轻量编辑以及 LaTeX 动态 PDF 内容播放


这三个项目目前都还在持续开发和快速迭代中。Bug、兼容性和交互细节也会不断修正,因此本文不固定具体版本号,建议直接从对应的 GitHub Releases 页面获取最新版本。


01|EPS Live Viewer

让科研绘图真正“改完就看”

做科研画图时,经常是:

改代码 → 运行 → 打开图片/转为PDF → 看效果 → 再修改。

EPS Live Viewer 最初就是为了解决这里最重复的一步:

当 IDL / Python / MATLAB 等程序重新生成 EPS 文件后,图片自动刷新。

代码和图片可以并排放着,一边改,一边看。

主要功能

• EPS / PS / PDF / PNG / JPG 查看• 文件更新后自动刷新(不需要任何操作,不需要单击,即可刷新)• 相邻图片快速切换双图并排比较• 多页浏览、缩放、旋转• 反色、颜色替换• PNG、PDF、EPS、PS 导出• 一组图片直接制作 MP4 / GIF• 中英文界面,支持 Windows / macOS / Linux

一个比较特别的功能:直接改 EPS / PS 文字

对于能够可靠识别的文字,可以直接修改内容、字体、字号、颜色等。

例如论文图已经画好,只是想改一个坐标轴标题、单位或者标注,不一定需要重新找到原始绘图代码再跑一遍。

它并不是 Illustrator 这样的完整矢量编辑器,更适合:

科研绘图完成后的快速查看、比较、调色和轻量修改。

下面展示软件首页和使用界面截图

颜色替换功能界面预览。截图来自EPS Live Viewer v3.1.0

GitHubhttps://github.com/eternitylzt/EPSLiveViewer

Releaseshttps://github.com/eternitylzt/EPSLiveViewer/releases


02|Solar Time–Distance Explorer

交互式制作太阳时距图

太阳物理研究中经常使用 Time–Distance Diagram(时距图) 来分析传播结构、喷流、波动和物质运动。

传统方法通常需要自己写程序完成:

读取数据 → 选路径 → 提取强度 → 生成 TD 图 → 测速度。

Solar Time–Distance Explorer 希望把其中大量重复的交互操作直接做进 GUI。

数据与浏览

• 单幅 FITS、FITS 时间序列、3D FITS Cube、IDL SAV• 自动读取真实观测时间,支持不规则 cadence• SunPy / WCS 的 Solar-X / Solar-Y 坐标• 常见 SSW map2fits 数据• AIA Level-1 数据• 时间序列播放与动画导出

核心:交互式 Slit + Time–Distance

可以直接在太阳图像上绘制:

Line / Polyline / Smooth Curve

并设置真实 Slit width,通过 Mean、Median、Sum、Maximum、Minimum 等方式进行统计,随后直接生成真实时间坐标的 Time–Distance Diagram。

时距图上测量速度示例。截图来自版本v1.2.3

速度与运动分析

在 TD 图上直接选点即可测量速度,同时支持:

• 多段速度测量• 多点拟合• 加速度估计• 速度标记与样式编辑

Region 分析

除 Slit 外,还可以绘制:

Circle / Rotated Rectangle / Polygon

用于分析区域随时间的强度变化、强度分布直方图及其时间演化。

结果可导出为图片、视频以及 FITS / NPZ / CSV / TXT 等数值格式,也可以保存分析会话继续工作。

它更适合这样的工作流:

先快速浏览数据、选路径、试参数、量速度,再决定是否需要编写专门程序做更深入分析。

GitHubhttps://github.com/eternitylzt/SolarTimeDistanceExplorer

Releaseshttps://github.com/eternitylzt/SolarTimeDistanceExplorer/releases


03|AsterPDF

一个更偏科研场景的 PDF 工作台

AsterPDF 的定位是:

Read · Edit · Animate · Annotate · Extract

也就是:

阅读 · 编辑 · 动态内容 · 批注 · 提取

它并不是想做一个“大而全”的 Acrobat 替代品,而是优先解决科研文档中一些比较具体的需求。【对比体积巨大的Acrobat,AsterPDF整体仅有100 M左右】

阅读与常用 PDF 操作

包括:

• PDF 阅读、搜索、目录、书签• 多标签页,速览窗类似VScode• 高亮、批注等常用标记• 页面排序、旋转、裁剪、合并

下面是软件首页和打开文档的界面展示

搜索结果可在右侧速览窗中高亮显示对应位置
以上各截图来自AsterPDF v1.0.1

这些属于基础功能,真正比较有特点的是下面几个部分。

科研图片提取

可以:

• 导出高分辨率区域• 提取 PDF 中嵌入的原始分辨率图片• 裁剪 PDF 的一部分,同时保留其中的文字和矢量对象

最后这一点对于论文图尤其有用——得到的不是简单截图,而仍然可以是矢量 PDF。

PDF 内容轻量编辑

对于能够可靠识别的对象,可以进行:

• 修改文字• 移动、缩放、旋转图片和部分矢量对象• 删除、复制、粘贴对象• 在不同 PDF 之间复制对象• 插入矢量 PDF 图

适合对科研 PDF 做一些局部修改,而不是重新回到源文件编辑。

动态 PDF

AsterPDF 还支持播放部分:

• LaTeX animate 动画• PDF 内嵌视频 / 音频• 演示模式中的动态内容

整个 PDF 处理过程都在本地完成:

不需要账号,也不需要把文档上传到云端。

目前不做 OCR、PDF 转 Word、复杂段落重排等大型功能,更专注于科研阅读、图片提取和轻量编辑。

GitHubhttps://github.com/eternitylzt/AsterPDF

Releaseshttps://github.com/eternitylzt/AsterPDF/releases


为什么会做这些工具?

这三个软件其实都来自同一个出发点:

“这个操作我要做很多遍,要是有个工具就好了。”

EPS Live Viewer 来自反复修改科研绘图的需求;

Solar Time–Distance Explorer 来自太阳图像时间序列分析中大量重复的交互操作;

AsterPDF 则来自论文阅读、科研图片提取和 PDF 轻量修改。

过去遇到这些问题,我通常会写一段 IDL、Python 或 MATLAB 程序解决。

现在借助 AI 辅助开发,可以进一步把这些零散脚本变成有 GUI、有安装包、有版本管理、可以直接分享给其他人的软件。

我越来越觉得,AI 编程很有价值的一点并不一定是去开发“大型软件”,而是:

让每个人都能针对自己的专业领域,做一些过去因为太小众而没人专门开发的工具。

目前三个项目都还在持续更新。后续本人主页可能还会更新一些其它实用工具,感兴趣的可以关注一下~ 

https://github.com/eternitylzt

如果其中有正好能解决你问题的功能,欢迎试用;如果遇到 Bug、兼容性问题,或者有新的科研需求,也欢迎在公众号后台、邮箱或GitHub Issues 中反馈。

你在科研中,有没有哪个操作已经重复了无数次,一直觉得“要是有个小工具就好了”?

现在它可能真的值得被做出来。 

相关学习资料