【光学】衍射指数——用于测量TEM或XRD图案的衍射环直径研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及操作讲解


💥1 概述

本文是一个GUI程序,用于测量TEM或x射线粉末衍射图案的衍射环直径。版本1提供了基本的功能,打开和分析tif, jpg, bmp或dm*(数字显微图像)文件进行分析,使用打开图像按钮。GUI显示整个图像的概述和图像的可变缩放,允许通过交互式平移和缩放精确的衍射环分析。工作流程如下:打开图像后,应该设置像素大小。打开dm*文件应该会自动检测像素大小。然而,这一点应该加以核实。对于其他图像类型,应首先打开在与待分析图像相同条件下从已知标准中获取的衍射图,并对其进行量化,以校准像素大小,然后手动输入像素大小。

2. 在设置像素大小之后,用户应该使用滑块或手动输入要分析的环数,然后按键盘上的RETURN/ enter键。

3.在“当前环”下拉框中选择要分析的环号。惯例是将1号环设置为最里面的环。单击环上的选择位置按钮。这激活了被分析的衍射环上的点的交互式绘图的缩放图像。然后用鼠标直接在放大后的图像上点击左键来选择环上的位置(见图2)。增加环上点的数量可以提高分析精度。可以通过在缩放后的图像的左下角输入百分比值或通过调整概览图像中的蓝色框的大小来动态缩放图像。建议使用较大的放大倍率来精确放置点。可以通过使用缩放图像的右边缘和下边缘的滑块或简单地移动概览图像中的蓝色框来平移缩放图像。

详细讲解操作见第四部分。

📚2 运行结果

 

注意,点击放大图像的外部也会添加点,只需缩小即可看到它们。按回车键,右键或双击图像完成环的分析,点坐标显示在当前环像素坐标数据框中。然后使用Current Ring下拉框对后续环重复此过程。选择一个先前分析过的环,将用覆盖在放大图像上的红色圆圈显示选中的点。 

然后在衍射环统计数据框中显示环中心坐标和半径,以及其与平均环中心的偏差,如图3所示。所有值都以像素为单位。为了准确分析衍射图案中心,环形中心的偏差应小于1像素。然后在格子间距数据框中显示以Å和Å-1为单位的环直径 

 

 部分代码:

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @DiffractIndex_OpeningFcn, ...
                   'gui_OutputFcn',  @DiffractIndex_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before DiffractIndex is made visible.
function DiffractIndex_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to DiffractIndex (see VARARGIN)

% Choose default command line output for DiffractIndex
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes DiffractIndex wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% Plot DTU Energy logo
axes(handles.ECS)
imshow([pwd,'\ECS.jpg'],'Border','tight')

% --- Outputs from this function are returned to the command line.
function varargout = DiffractIndex_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on slider movement.
function RingNumSlide_Callback(hObject, eventdata, handles)
% hObject    handle to RingNumSlide (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

  1. 张晓明, 张晓明. 电子衍射技术[M]. 科学出版社, 2016.

  2. 王光辉, 王光辉. X射线衍射与结构分析[M]. 高等教育出版社, 2015.

  3. 李大鹏, 李大鹏. 材料表征技术[M]. 高等教育出版社, 2018.

  4. 陈光炜, 陈光炜. 材料分析与测试技术[M]. 科学出版社, 2017.

  5. 王光辉, 王光辉. 材料分析实验指导[M]. 高等教育出版社, 2019.

  6. 李大鹏, 李大鹏. 材料分析实验指导[M]. 高等教育出版社, 2018.

🌈4 Matlab代码及操作讲解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值