💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
摘要
大多数疾病过程涉及受影响组织微结构的变化,这可能导致相应组织的机械性能发生变化。谐波运动成像(HMI)是一种弹性成像技术,它允许通过检测组织对谐波运动场的响应来研究组织的机械参数,该场是由振荡声辐射力产生的。HMI已在肿瘤检测和表征以及消融过程监测中得到证明。在本研究中,展示了一种分析HMI模型,并与有限元模型(FEM)进行了比较,允许在均匀线弹性材料中的任何位置快速准确地计算位移、应变和剪波速度(SWV)。对于41,940个力体素,分别为位移的绝对平均差异为1.2%,应变的绝对平均差异为0.5%,每个位移评估耗时0.22秒。收敛研究表明,如果增加力分辨率,则平均差异可以进一步降低到1.0%和0.15%,用于位移和应变的。由FEM和分析模型计算的SWV场在速度上有地区性差异,最高达0.57 m/s,绝对平均差异为0.11 ± 0.07 m/s,主要是由于非反射FEM边界条件的不完美造成的。由于近场和中间场效应,表观SWV与常用的平面波近似相比相差高达1.2 m/s。对于具有插入物的模型,最大位移幅度在插入半径为10 mm时稳定在均匀模型的10%内,而最大应变在插入半径为3 mm时反应更快,稳定在内。总之,在本文中提出了一种HMI刚度估计的分析模型。分析模型具有FEM的优点,因为不需要计算全场位移即可在单个测量点评估模型。这一优势与计算速度相结合,使得分析模型在实时成像应用中非常有用。然而,发现分析模型在组织均匀性和无限尺寸上有着限制性的假设,而FEM方法则显示出对可变几何和非均匀性质具有适应性。
📚2 运行结果
部分代码:
%% Define parameters and settings
res_force_volume = 101; % resolution force volume
res_total_volume = 61; % resolution total volume
FOV = 0.003; % radius total volume (m)
freq = 50; % driving frequency (1/s)
rho = 1000; % density matrix (kg/m^3)
v=0.49; % poisson ratio matrix
E = 10000; % young's modulus matrix (N/m^2)
mu=E./(2.*(1+v)); % mu value matrix (N/m^2)
M = E.*(1-v)./((1+v).*(1-2.*v)); % M value matrix (N/m^2)
omg=2.*pi.*freq; % radial frequency (rad/s)
kc=sqrt(rho.*(2.*pi.*freq).^2./M); % kc value matrix (kg/(N*m^2*s^2))^(1/2)
ks=sqrt(rho.*(2.*pi.*freq).^2./mu); % ks value matrix (kg/(N*m^2*s^2))^(1/2)
BF = -10000; % force amplitude
%% Plot figures
%% Plot simulation grid
figure
hold on
plot3(XX_force_volume(1:37:end),YY_force_volume(1:37:end),ZZ_force_volume(1:37:end),'.','Linewidth',0.1)
plot3(XX_force_volume(ForceVolumeCoos),YY_force_volume(ForceVolumeCoos),ZZ_force_volume(ForceVolumeCoos),'ro','Linewidth',2)
title('simulation grid')
xlabel('x position (m)')
ylabel('y position (m)')
zlabel('z position (m)')
legend({'overall grid','force volume grid'})
view([45 45])
axis square
%% Plot displacement fields
figure
subplot(3,1,1)
imagesc(squeeze(real(resultUx))')
axis square
title('U_x displacement')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)');
subplot(3,1,2)
imagesc(squeeze(real(resultUy))')
axis square
title('U_y displacement')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)');
subplot(3,1,3)
imagesc(squeeze(real(resultUz))')
axis square
title('U_z displacement')
xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)');
%% Plot strain fields
figure
subplot(3,2,1)
imagesc(squeeze(real(resultEx))')
axis square
title('E_x strain')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'strain');
subplot(3,2,3)
imagesc(squeeze(real(resultEy))')
axis square
title('E_y strain')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'strain')
subplot(3,2,5)
imagesc(squeeze(real(resultEz))')
axis square
title('E_z strain')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'strain')
subplot(3,2,2)
imagesc(squeeze(real(resultExz))')
axis square
title('E_x_z strain')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'strain')
subplot(3,2,4)
imagesc(squeeze(real(resultEyz))')
axis square
title('E_y_z strain')
xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'strain')
%% Plot S and P displacement fields, for near, intermediate and far fields
figure
subplot(3,2,1)
imagesc(squeeze(real(resultUz_near_S))')
axis square
title('U_z near S')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
subplot(3,2,3)
imagesc(squeeze(real(resultUz_intermediate_S))')
axis square
title('U_z intermediate S')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
subplot(3,2,5)
imagesc(squeeze(real(resultUz_far_S))')
axis square
title('U_z far S')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
subplot(3,2,2)
imagesc(squeeze(real(resultUz_near_P))')
axis square
title('U_z near P')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
subplot(3,2,4)
imagesc(squeeze(real(resultUz_intermediate_P))')
axis square
title('U_z intermediate P')
% xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
subplot(3,2,6)
imagesc(squeeze(real(resultUz_far_P))')
axis square
title('U_z far P')
xlabel('x position (m)')
ylabel('z position (m)')
cb=colorbar;
ylabel(cb,'displacement (m)')
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。