运用Field_II囊肿模型生成静态血管模型--MATLAB

  • 题目要求

  1. 建立人体颈总动脉超声仿真模型,并画出三维示意图
    1. 1模型几何要求:所在深度---皮下15~24 mm;

                        内径---3.5 mm;

                        管壁厚度---1mm;

                        血管长度---38mm。

               1. 2 模型回声强度要求:周围组织回声强度是血流回声强度的10倍;管壁回声强度是周                   围组织回声强度的5倍。

     2. 在38mm的成像宽度内,生成128线射频信号并成像。

  • 实验内容

        1. 通过cyst_pht.m程序建立人体颈总动脉超声仿真模型,设置合理的模型扫描范围,然后在此扫描范围内通过设置扫描回声信号的强度和模型所在位置来生成血管模型,最后画出血管的三维模型图。 

图1 血管三维模型

        2.通过观察生成图像的范围来判断血管所在位置是否符合模型预设的深度,这里血管位置应该满足在皮下15~24mm,长度为38mm.

 

图2 结果

从成像结果可以看出血管在我们所设置的范围内。

        3.通过设置换能器的发射频率、采样频率、发射孔径、焦距在z的中间来发射出超声信号,然后超声信号在接触到血管壁时会反射回声信号,该信号的回声强度是周围组织回声强度的5倍,同理超声信号在接触到血流时会反射回声信号,该信号的回声强度是周围组织回声强度的0.1倍,然后对接收到的回声信号进行采样,然后处理,最后进行成像。 

  • 方法步骤
  1. 通过更改cyst_pht.m程序来建立模型

        1.1 更改扫描范围,这个范围是血管所在的位置。相当于建立一个立方体,这个立方体是扫描范围血管在这个立方体内;

x_size = 38/1000;   %  Width of phantom [mm]
y_size = 0/1000;   %  Transverse width of phantom [mm]
z_size = 20/1000;   %  Height of phantom [mm]
z_start = 10/1000;  %  Start of phantom surface [mm];

        其中x_size = 38mm,表示血管的长度;y_size = 0mm,表示所建立的模型扫描范围的宽度是0mm;z_size = 20mm,表示扫描宽度为20mm,是成像范围;z_start = 10mm,表示皮下扫描深度,是扫描开始的位置。

    1.2 建立血管模型

 

图4 血管截面图

r1=7/2/1000;%血流
r2=9/2/1000;%血管

yc=0/1000;
zc=9.5/1000+z_start;  
inside = ( ((y-yc).^2 + (z-zc).^2) < r2^2&((y-yc).^2 + (z-zc).^2) > r1^2) ;
amp = amp .* (1-inside) + 5*amp .* inside;

        这部分代码表示建立血管壁模型,血管壁是一个圆环,所在的圆外半径为4.5mm,内半径为3.5mm,圆心所在位置为(yc,zc)。设置回声强度为5(这里我默认周围组织的回声强度为1)。

       

yc=0/1000;
zc=9.5/1000+z_start;
inside = ( ((y-yc).^2 + (z-zc).^2) <r1^2);
amp = amp .* (1-inside)+ 0.1*amp .* inside; 

这部分代码表示建立血流模型,所在的圆半径为3.5mm,圆心所在位置为(yc,zc)。设置回声强度0.1为血管壁的1/50,周围组织的1/10。

 

图5 三维效果

     2.通过field.m程序初始化。

     3.通过mk_pht.m程序进行散射体设置,由于原来的散射体数量太多造成一次扫描的时间很长,所以我改为了10000。

    4.通过sim_img.m程序进行模型扫描,这里设置扫描线数no_line=50或no_line=128;然后也可以设置换能器的间距,采样频率,中心频率,焦距(这里的焦距需要在z的中间)

      5.通过make_image.m程序进行成像,我设置的成像范围为5~35mm。

  • 实验结果

 1.no_line=50

 

图6 no_line=50

2.no_line=128

 

图7 no_line=128

        由上面结果可以得出:血管模型所在的深度和血管所在的大小满足我们的预设深度,但是最后的成像比较模糊,结果不太理想。这是我把散射体的数量更改为10000后造成的,因为在我调整焦距后没有明显的改善,说明成像不清晰不是焦距的原因;也可以增加扫描线数提高成像质量。

建模代码

%  Create a computer model of a cyst phantom. The phantom contains
%  fiven point targets and 6, 5, 4, 3, 2 mm diameter waterfilled cysts, 
%  and 6, 5, 4, 3, 2 mm diameter high scattering regions. All scatterers 
%  are situated in a box of (x,y,z)=(50,10,60) mm and the box starts 
%  30 mm from the transducer surface.
%
%  Calling: [positions, amp] = cyst_phantom (N);
%
%  Parameters:  N - Number of scatterers in the phantom
%
%  Output:      positions  - Positions of the scatterers.
%               amp        - amplitude of the scatterers.
%
%  Version 2.2, April 2, 1998 by Joergen Arendt Jensen

function [positions, amp] = cyst_phantom (N)

x_size = 38/1000;   %  Width of phantom [mm]
y_size = 0/1000;   %  Transverse width of phantom [mm]
z_size = 20/1000;   %  Height of phantom [mm]
z_start = 10/1000;  %  Start of phantom surface [mm];

%  Create the general scatterers

x = (rand (N,1)-0.5)*x_size;
y = (rand (N,1)-0.5)*y_size;
z = rand (N,1)*z_size + z_start;

%  Generate the amplitudes with a Gaussian distribution

amp=randn(N,1);

%  Make the cyst and set the amplitudes to zero inside

%  6 mm cyst
r1=7/2/1000;%血流
r2=9/2/1000;%血管

yc=0/1000;
zc=9.5/1000+z_start;
inside = ( ((y-yc).^2 + (z-zc).^2) <r1^2);
amp = amp .* (1-inside)+ 0.1*amp .* inside; 

yc=0/1000;
zc=9.5/1000+z_start;  
inside = ( ((y-yc).^2 + (z-zc).^2) < r2^2&((y-yc).^2 + (z-zc).^2) > r1^2) ;
amp = amp .* (1-inside) + 5*amp .* inside;


positions=[x y z];

猜你喜欢

转载自blog.csdn.net/m0_52620551/article/details/127680449