研一上学期没怎么做实验,寒假留实验室赶进度,面对每天生成的大量图片数据,脑袋灵光的我立马想到了利用程序来批处理,但奈何本人编程能力只有计算机二级水平,一时间不知如何编起

某日,邮箱红点一闪,点开一看,AI编程征文邀您参与,赶巧了这不,这就安排上

活动介绍

亲爱的开发者们,AI程序猿基地携手华为、字节跳动、阿里云、腾讯等科技巨头,隆重推出AI编程工具征文大赛!在AI技术的浪潮中,智能编程工具正以其卓越的代码自动补全、智能辅助、多语言支持和自动生成代码注释与文档等功能,革新着我们的开发流程,显著提升开发效率。

本次活动旨在推广AI编程工具在开发者领域的影响力,并收集优秀作品,汇聚对AI编程有热情的开发者。这是一个展示你的编程才华、分享你的技术见解的绝佳舞台。

AI辅助打造科研小工具的全流程
以MarsCode助力打造荧光图像分析批处理程序为例

一、明确实现功能
1、任务概况
在荧光分析实验中能得到一组按时间连续拍摄的荧光图像(我做的实验通常会得到30~60幅tif格式的图像数据),后续分析中以图像的灰度值作为荧光的光强值,需要计算出区域面积总光强、光强最值、平均荧光强度等数据

初步决定用excel表格来存储数据,所以本次实验中程序实现的主要功能如下:

2、任务步骤

 1) 预期计算的结果及其所需参数:

2) 对于单个图片,处理步骤如下:

读取图片→计算经过时间→得到灰度值数据并存在矩阵中→计算相关数据

3) 对于一组图片,其批处理主程序流程图如下:

二、AI辅助编程
1、MarsCode功能介绍

让MarsCode自己介绍一下自己吧

除此之外,MarsCode AI 还能理解自然语言描述,生成所需的代码,下面就让MarsCode帮助我的想法落地吧

2、功能实现

如何让AI写出自己想要的代码,最重要的当然是得有好的提问方式

在第一步中,我们明确了实现步骤,接下来,需要根据实现步骤将自己想实现的功能与程序结构更加具体化

总结下询问技巧:明确输入输出及实现过程(函数功能)

然后很快啊,唰的一下AI帮忙写好代码了

AI生成的主程序代码
AI生成的灰度值矩阵代码
AI生成的光强计算代码

三、试验程序效果

1、库函数安装

先把涉及的库都写进requirements.txt中,批量安装一下

2、运行程序

1) 运行程序后,输入地址与拍摄时间间隔

运行结果:

好吧,出了点小bug,问问AI咋回事:

2) 解决问题后重新运行

生成了想要的表格,感慨一下AI写代码的效率真是高啊~

四、AI辅助完善

既然结果出来了,那让我看看和专业荧光分析软件相差多不多

怎么值相差那么大,我这边最值才个位数

查阅各种资料分析了一下,原因应该是我的程序用的是8位的数据,而专业的软件用的是16位数据

既然知道了问题所在,那么再让AI帮忙完善一下吧~

同样的,修改时的提问也要明确且具体

AI给出的解决方案如下:

修改了一下,还是出bug了:

AI给出的第二个解决方案如下:

好好好,看来PIL过时了,还是用OpenCV吧:

 

 运行结果:

 完美~导师再也不用担心我的实验进度了~

总结

如今,人工智能是大势所趋,很多程序员担心会被AI淘汰,但是我想,未来的程序员比起焦虑被AI取代,更应该学会与AI共存,因为我们不得不承认,AI真的是一种很有效率的工具,可以节省花在具体实现代码上的时间,转而有更多精力去关注程序可以实现的功能。

本文以本人在学习中遇到的问题为例,介绍了一下自己是如何通过AI让想法变为现实的。

这个过程主要有三步:

第一步,具体化自己的想法,思考自己想实现的功能

第二步,把自己想实现的功能结构化、具体化,并让AI帮忙辅助生成代码

第三步,运行代码,不断改错、优化,AI也是这步的好助力

这是一个很有趣的过程,编程功底很弱的我也能体会到制作出小程序的快乐。后续我将继续完善我的荧光图像分析小程序,增加更多实用性的功能,让它成为我科研路上的好帮手,当然啦,这个过程离不开AI的帮助,感谢AI的出现~

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐