实施例一、
如图1所示,为一种双向自动优化的方法,所述方法包括如下步骤:
S101,获取PC数据。
超声设备是前端硬件+后端主机这样一个方式工作的,后端主机可认为计算机,前端硬件可认为收集信号的设备,即探头。前端和后端之间传递信号可以通过USB3.0、PCIE等等。
前端探头获取的数据通常称为回波数据(RF数据),而将回波数据传递给后端计算机后,所述数据可以称为PC数据。
S102,根据获取的PC数据进行深度方向自动增益调整(TGC)和水平方向自动增益调整(LGC);
上述TGC和LGC过程合成在一起,可以通过启动一键优化按钮,同时自动完成TGC和LGC的调整。
综上所述,采用上述方法,将TGC和LGC过程合成在一起,可以通过一键启动按钮,同时自动完成TGC和LGC的调整,节省了医生的操作步骤,使医生操作更加方便。
在一些实施例中,如图6所示,所述PC数据进行深度方向自动增益调整(TGC)为现有技术,可以采用现有的各种可自动实现TGC的方法,在本具体实施例中只列明其中一种方法,具体包括:
A、预先设定标准值。通常最适合人眼亮度的标准像素值为70,因此本发明设70为标准值。
B、获取PC数据,并根据获取的PC数据,PC数据的大小是MxN(M行,N列),计算位于每个不同深度的PC数据线的代表值,所述求代表值的方法包括:
1)、求深度方向每条PC数据线的平均值
a.起始深度到扫描深度逐行计算。
b.每一行的N列的,总和:
c.每一行的平均值:Aver=sum/N。
2)、求同一PC数据线每个PC数据点与平均值的方差值,并记录最大方差值;若每个PC数据点的方差值在与最大方差值的差值在预定范围以内,则该点为有效PC数据点。本发明的预定范围是60%
a.起始深度到扫描深度逐行计算。
b.每一行的N列方差:Variance(i)=(PC(i)-Aver)2;i=1,2...N.
c.每一行的最大方差:MaxVar=max(Variance).
d.判断此行的有效数据(Value)及有效数据个数(index)。
3)、求各有效PC数据点值的平均值,得到该PC数据线的代表值。
a.每一行的有效数据总和:
b.每一行的代表值:feature=sum/index。
C、根据每条数据线的代表值计算与标准值的幅度差值曲线,再根据幅度差值曲线结合系统优化之前的增益曲线计算最终优化后的增益曲线,即自动完成最终的TGC。
进一步,当在完成上述B步骤求取代表值之后还可以包括判断前端是否空置的步骤,所述前端在本具体实施例中为探头,如果探头处于空置状态(即没有进行组织扫查),则不需要再进行下面的C步骤;如果探头非空置状态,则进入下面的C步骤。这样可以防止探头在无组织状态下发射扫查线,从而造成探头发热,造成探头的损坏。
进一步,所述探头的空置判断方法可以包括:
求近场(feature_value)所有PC数据的平均值(near_feature);
求中场(feature_value)所有PC数据的平均值(med_feature);
如果(near_feature/med_feature>2.0),判断探头空置,不做任何处理如果近场的平均值/中场的平均值>2.0,则判断探头空置;如果near_feature/med_feature≤2.0,则判断探头非空置。2.0为预设值,可以根据不同的诊断部位适当调整。
feature_value范围可调,本专利选0-0.2cm范围。
feature_value范围可调,本专利选1.5-2cm范围。
在一些实施例中,所述步骤S102中,可以先自动进行TGC,然后再自动进行LGC。除此之外,也可以先自动进行自动LGC,然后再进行TGC,都属于本发明保护范围。在本实施例中优选先进行TGC,然后再进行LGC。
在一些实施例中,如图2所示,所述水平方向自动增益调整包括:
S1021,计算出沿水平方向各个PC数据线的代表值;
如图6所示,沿水平方向有N条PC数据线(N为大于等于1的整数),每条PC数据线上有若干个PC数据点,根据PC数据点求该条数据线的代表值,有N条数据线,则求出N个代表值。
S1022,计算位于中间的PC数据线代表值与其它各个PC数据线代表值的幅度差;
将位于中间的PC数据线的代表值作为基准值,求其它各条数据线代表值与之幅度差。所述各个数据线的幅度可能高于基准值的幅度,还可能低于基准值的幅度。
由于有N条PC数据线,那么位于中间的PC数据线为第N+1/2条,当N+1/2为非整数时,可以取其前后任意一条PC数据线的代表值为基准值。
S1023,根据计算的每条PC数据线的幅度差调整每一条数据线上的每个数据点的幅度。
根据每条PC数据线的幅度差调整对应的每个数据点的幅度,将幅度高的数据点幅度调低,将幅度低的数据点的幅度调高,从而实现了自动优化。
在一些实施例中,如图6所示,所述各个数据线的幅度差(scale(index))等于位于中间的PC数据线代表值(feature_mid)与其它PC数据线代表值(feature_later(index))的百分比,所述公式如下:
进一步,所述幅度差还可以为位于中间的PC数据线代表值与其它PC数据线代表值的百分比的n次方,或百分比的其它比例值。
在一些实施例中,所述根据计算的每条PC数据线的幅度差调整每一条数据线上的每个数据点的幅度,包括两种方法:
一种方法为,根据计算的幅度差调整每一条PC数据线上的每个PC数据的幅度。
回波数据经过Beam、解调、LOG过程形成PC数据。在形成PC数据之前都是在FPGA上实现的。由于直接对对PC数据进行调整避免加大前端FPGA的运算量,降低了成本;同时对PC数据进行调整具有良好的可移植性。
但是,采用上述方法,由于直接在计算机端对PC数据进行调整,而PC 数据中还包含了噪声,在优化的过程中有可能会把噪声同时优化放大,因此优化过程中会造成一定的瑕疵。
另一种方法为,根据计算的幅度差调整每一条回波数据线上的每个回波数据的幅度。
回波数据经过Beam、解调、LOG过程形成PC数据。在形成PC数据之前都是在FPGA上实现的。如果直接对回波数据进行幅度调整,那回波数据中的噪声可以在其后的Beam、解调、LOG过程中得到过滤,因此该方法相对于直接PC数据调整具有更优的成像效果。但是由于直接对回波数据进行幅度调整是在FPGA上进行的,因此加大了FPGA的运算量,需要增加芯片并且电路更加复杂,会导致成本增加。
在一些实施例中,如图3所示,所述计算出沿水平方向各个PC数据线的代表值(水平方向代表值的求取过程与竖直方向代表值的求取过程相同,只是)包括如下步骤:
S10211,求同一PC数据线各PC数据点的平均值。
进一步,由于考虑矢波和远场噪声的因素,在计算每条PC数据线代表值时,可以选取中间一段区域的数据。因为中间一段区域基本都是用户最关心和感兴趣的区域,我们只对这段区域进行分析计算即可,从而可以节省运算时间,提高优化效率。
所述区域范围可以为60-80%,比如总深度5cm,那么我们可以选择中间3cm-4cm作为有效范围(active)。active的取值范围为总深度depth的一定范围内的区域,在本具体实施例中优选总深度的60%,
则active=0.6(depth),起始深度start=(depth-active)/2,终止深度end=start+active,若depth=5cm,则active=3cm,start=1cm,end=4cm。
S10212,求同一PC数据线每个PC数据点与平均值的方差值,并记录最 大方差值;若每个PC数据点的方差值在与最大方差值的差值在预定范围以内,则该点为有效PC数据点。
所述预定范围可以根据实际效果预先设置,本具体实施例优选设置为在最大方差值的60%以上,即每个数据点的方差值如果占最大方差值的比值达到60%以上,则该数据点的方差值为有效值,否则忽略该数据点。
a.从1到N逐列计算。
b.每一列的有效范围数据和:
c.每一列的平均值:Aver=sum/active。
d.每一列的方差:Variance(i)=(PC(i)-Aver)2;i=start...end.
e.每一列的最大方差:MaxVar=max(Variance).
f.判断此列的有效数据Value及有效数据个数index。
S10213,求各有效PC数据点值的平均值,得到该PC数据线的代表值。
a.每一列的有效数据总和:
b.每一列的代表值:feature=sum/index。