1.前言
我们知道,对于布鲁克AFM原始数据的分析处理,我们可以直接使用布鲁克官方比较友好的窗口化程序NanoScope Analysis,用来对图片形貌、力曲线信息进行处理。
此程序可以分析,显示图像的信号信息也可以生成各种格式的图片,力曲线散点坐标(text文档)等信息。
然而我认为,这种方式对原始数据的批量处理提出了挑战,例如分析F-V模式下每个点的力曲线的某些特征值的提取,分析图像特征随时间变化趋势等。以上若利用NanoScope Analysis进行分析可能会消耗较长时间。
布鲁克公司开发了AFM matlab工具箱,因此我们可以利用MATLAB来实现对某些AFM原始数据(.spm)的批量处理。笔者在安装过程中踩了很多坑,为此为大家分享布鲁克 AFM matlab 工具箱(NSMatlabUtilites)的安装方法。
此工具箱采用C&MATLAB混合编程,效率较高,同时也需要为MATLAB搭建支持C语音混合编程的环境。
2.安装过程
2.1 NSMatlabUtilites工具箱安装
该工具箱的安装可直接运行安装程序AFM_MATLAB_Toolbox_Setup_for_NanoScope_Analysis_v200r1sr2.exe
(1)运行安装程序,选择安装的版本64/32,笔者只需要安装64位的工具箱,因此选择Custom,仅勾选64位,进行安装。
(2)设置安装路径,建议安装在根目录,方便查看AFM 工具箱m文件的代码来看结构
安装结束后会弹出一个文本文件,上面给出了如何在MATLAB里面配置
(3)设置搜索路径,根据上面弹出的文本文件的提示,在MATLAB命令行里面输入如下指令。
>> copyfile('F:\Bruker\AFM MATLAB Toolbox 2.00.53\BrukerAfmToolBoxSetpath.m','.\')
>> BrukerAfmToolBoxSetpath %将工具箱位置设为搜索路径
注:每个人由于保存位置不同生成的路径不同,copyfile的引号内是BrukerAfmToolBoxSetpath.m M文件的路径。
>> help NSMatlabExamples
命令行输入help NSMatlabExamples 来获取使用AFM工具箱的实例。如果没有正确适配C编译环境将会报如下错误:
“错误使用 NSMatlabUtilities/LoadDLL (第 39 行)未检测到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问https://www.mathworks.com/support/compilers。”
打开LoadDLL这个函数,我们可以发现错误出在函数 loadlibrary() ,此函数为加载C动态库函数,说明名为‘DataSourceDLL.dll’的库文件,无法进行加载,结合提示缺少C/C++编译器,可知,需要安装MinGW-w64编译器来解决此问题。
2.2安装MinGW-w64编译器
2.2.1通过MATLAB附加功能模块进行安装
根据以上MATLAB报错提示,我们可以直接利用点击蓝色框中的超链接,或直接访问https://www.mathworks.com/support/compilers
进入文档 可以很清晰的看到 我们可以通过 主页的附加功能选项卡 选择附加功能>获取附加功能
在搜索框输入MinGW来进行安装
在页面点击安装/下载后双击运行即可
但是,正如上图这个程序的编者所说,这种安装方式在2017a以及更早的版本会有报错/BUG,因此对于其他版本我们可以自行进行安装。
2.2.2自行进行在线/离线安装MinGW-w64
重点:一定要注意MATLAB版本与MinGW-w64版本的适配,参考如下:
MATLAB version__________MinGW version__For more information
R2015b through R2017a____GCC 4.9.2_____http://tdm-gcc.tdragon.net
R2017b and R2018a_______GCC 5.3______ http://mingw-w64.org
R2018b and later__________GCC 6.3______http://mingw-w64.org
至少是大版本高了或者低了都不行,会报如下错误:
事实上,已经由很多大神给出过MinGW-w64的安装教程,在安装过程中,我主要参考如下大神写的博客
(1)在线安装方式:
MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - 『潇洒の背影』 - 博客园 (cnblogs.com)
此博客教程中图片可能已经无法打开,但是不影响安装和理解,这里只列出在线安装程序
mingw-w64-install.exe的下载网址
MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net
打开网址往下翻,找到下图蓝框中的mingw-w64-install.exe并下载
(2)离线安装方式:
离线安装方式参考另外一位大神的博客
MinGW-w64 离线安装过程记录_梁旭源的博客-CSDN博客_mingw离线安装
事实上,我认为在线和离线安装过程的步骤仅仅差在编译包是自动下载还是离线下载,剩下的步骤实际上是一样的。
对于安装后环境变量的建立以及载入MATLAB
可以参考博客:
Matlab安装MinGW-w64编译器_Desire121的专栏-CSDN博客_matlab mingw-w64安装
也可以参考百度给出的教程(从第七步开始看)MATLAB如何安装配置MinGW-w64 C/C++编译器-百度经验 (baidu.com)
上述步骤过后,再次打开MATLAB,调用 NSMatlabExamples()函数进行测试(例如命令行输入 NSMatlabExamples(6)),成功
3 总结
整体来说,安装步骤并不复杂,AFM工具箱安装程序很友好,对于MinGW-w64的安装,最重要的是MATLAB版本与MinGW-w64版本的匹配,总结起来就是 (线上安装-根据安装路径建立环境变量-MATLAB载入变量)/(离线下载-根据下载已编译好的解压后的地址路径建立环境变量 -MATLAB载入变量)