# AFM纤维表面粗糙度计算 **Repository Path**: wolido/afm_sa ## Basic Information - **Project Name**: AFM纤维表面粗糙度计算 - **Description**: 用于对原子力显微镜(AFM)测试得到的纤维表面进行表面粗糙度计算 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-09-02 - **Last Updated**: 2024-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目目标 用于计算使用原子力显微镜(AFM)测试的纤维表面形貌的表面粗糙度。 ## 拟解决问题 使用AFM测得的纤维表面形貌,如果直接使用仪器自带的算法进行表面粗糙度计算,因其平面拟合方法不适合纤维这类圆柱状样品,容易造成计算得到的表面粗糙度偏大。仪器自带算法的平面校正拟合方法如下图所示: ![平面拟合](https://pics-wolido.oss-cn-beijing.aliyuncs.com/afm/IMG_7394.PNG) 本方法的目标是使用圆柱校正的曲面拟合方法进行曲面校正,从而实现更准确的纤维表面粗糙度测量。本方法如下图所示: ![曲面拟合](https://pics-wolido.oss-cn-beijing.aliyuncs.com/afm/IMG_7393.PNG) ## 工作原理 本方法采用的圆柱校正模型较为简单,含有x、z、r三个参数,分别为圆柱中心线在x轴、z轴方向的坐标以及圆柱半径。 本方法不含有圆柱主轴在空间方向上的校正参数。 因仪器自带程序中包含倾斜校正,故本方法不含有倾斜校正功能。 本方法首先沿纤维轴向对测试数据取平均,使用平均数据进行圆柱校正参数计算,再将返回的校正参数带入全部数据的表面粗糙度计算函数进行计算,得到最终结果。 为节省计算时间,首先以100nm步长搜索最初的x、z、r取值范围,因为最初的参数搜索范围较大,此步骤所需时间最长,约需要10-30s左右。如无需较快的响应速度,可以把最初的参数搜索域调大。此步骤会有大量参数的计算结果返回"nan",故在程序中引入了忽略了警告信息。这些返回为nan的参数会被淘汰掉,不会影响后续计算。 之后以100nm搜索步长获得的最优参数为中心,逐次调小步长,之后的搜索步长分别为50nm、20nm、10nm、5nm、1nm,搜索域为以上一级搜索的最优值为中心,前后40倍步长的范围。这些迭代步骤运算速度较快。 最后,以1nm搜索步长获得的最优参数构建圆柱,对全图进行表面粗糙度计算 ## 注意事项 - 本方法所用数据应为csv格式无表头数据,如数据类型不同,可能需要修改数据载入部分语句。仓库中含有一示例数据,可供参考。 - 本方法所用数据应为经过倾斜校正的数据。 - 本方法所用数据在采集时,应使纤维尽可能在电脑屏幕中处于竖直状态,尽可能沿纤维中心位置采集数据。 - ~~本方法需要人为输入圆柱x、z、r范围,单位为nm,具体范围需要根据实际测试情况而定~~可适当调大x、z、r搜索范围。 - x、z、r搜索范围的单位为nm,z为圆柱中心线相对于仪器针尖零点的坐标位置,所以普遍应为负值。为了复原其物理意义,暂时不准备将其默认值更改为正值。 - 本方法的本质是在圆柱模型下最小化计算得到的表面粗糙度,而不是真正拟合纤维的真实表面,所以存在与实际样品状态之间的误差。 ## 主要误差来源 - 圆柱拟合时使用按列平均的纤维轮廓进行计算,而非使用整个纤维轮廓进行计算。 - 圆柱拟合未考虑纤维在平面内存在的转动角度。 - 圆柱拟合过程以最小化表面粗糙度为目标,而非对真实纤维表面的拟合。 - 本方法不包含倾斜校正。 ## Python文件使用方法 - csv格式数据放置于AFMData文件夹下,格式为无表头数据,可放置多个数据。 - 运行python文件,选择运行模式,可选择批处理模式或单个文件处理模式。若目录下只有一个csv文件,则可以使用批处理模式处理该文件。若使用单个文件处理模式,则需要输入需要处理文件的文件名,输入时无需输入扩展名。 - 运行时,会对需要处理的数据逐个计算表面粗糙度,每个样品计算完毕后会输出表面粗糙度数据,同时会将结果写入results-日期时间.txt文件。 ## Windows版本exe文件使用方法 - 下载压缩文件包,解压缩,建议将CalcuSa.exe文件与AFMData文件夹创建快捷方式至桌面。 - .csv格式数据文件放置于AFMData文件夹下。 - 运行CalcuSa.exe文件,可选择批处理模式或单个文件处理模式。若目录下只有一个csv文件,则可以使用批处理模式处理该文件。若使用单个文件处理模式,则需要输入需要处理文件的文件名,输入时无需输入扩展名。 - 运行时,会对需要处理的数据逐个计算表面粗糙度,每个样品计算完毕后会输出表面粗糙度数据,同时会将结果写入results-日期时间.txt文件。 ## Windows版本exe文件下载地址 - v0.4.2 [https://disc-wolido.oss-cn-beijing.aliyuncs.com/AFM/CalcuSa_v0.4.2_windows.zip](https://disc-wolido.oss-cn-beijing.aliyuncs.com/AFM/CalcuSa_v0.4.2_windows.zip)