发明名称 基于二维X射线图像序列滤波反投影的分块三维重建方法
摘要 本发明公开了一种基于二维X射线图像序列滤波反投影的分块三维重建方法,包含如下步骤:步骤一,根据初始分块数目,建立立方体分块;步骤二,对各个立方体分块进行局部重建获得分块重建结果;步骤三,组合各个分块的重建结果;步骤四,根据分块的重建结果计算所有分块数目集合,根据步骤一至步骤三进行重建并反馈其时间复杂度,直至分块数目集合中各元素均计算完毕,获得反馈的时间复杂度集合;从反馈的时间复杂度集合中选取具有最小时间复杂度的分块数目,将其作为最优分块数目,重新执行步骤一至步骤三,获得最优分块重建结果,完成三维重建。本发明能够使多线程编程技术在三维重建领域得到充分的运用,从而极大提高了重建速度。
申请公布号 CN102509353B 申请公布日期 2014.01.08
申请号 CN201110375102.8 申请日期 2011.11.22
申请人 江阴广明信息技术有限公司;南京大学 发明人 杨育彬;陈世福;朱代辉
分类号 G06T17/00(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 江苏圣典律师事务所 32237 代理人 胡建华
主权项 1.一种基于二维X射线图像序列滤波反投影的分块三维重建方法,其特征在于,包含如下步骤:步骤一,根据初始分块数目,建立立方体分块:包括建立离散坐标系和确定各分块坐标区;步骤二,对各个立方体分块进行局部重建获得分块重建结果:包括待重建数据规范化、待重建数据预处理以及基于二维X射线图像的分块反投影重建;步骤三,组合各个分块的重建结果;步骤四,根据分块的重建结果计算所有分块数目集合,根据步骤一至步骤三进行重建并反馈其时间复杂度,直至分块数目集合中各元素均计算完毕,获得反馈的时间复杂度集合;从反馈的时间复杂度集合中选取具有最小时间复杂度的分块数目,将其作为最优分块数目,重新执行步骤一至步骤三,获得最优分块重建结果,完成三维重建;步骤一包括如下步骤:初始化分块数目N<sub>0</sub>=4;建立立方体分块结构:先构建一个重建立方体,以重建立方体其中一个顶点为坐标原点,与原点相连的三边分别作为x、y、z三个坐标轴建立右手坐标系,用坐标点(x,y,z)表示任一分块中的一个体素,则任意体素坐标点(x,y,z)满足:<img file="FDA0000374110750000015.GIF" wi="1708" he="66" />,其中参数XDIM、YDIM、ZDIM分别表示x、y、z轴的最大值,<img file="FDA0000374110750000014.GIF" wi="39" he="44" />表示自然数集合;确定各分块坐标区:保持y、z轴不变,对x轴进行分割,通过如下公式调整参数XDIM使其为分块数目N<sub>0</sub>的整数倍:<maths num="0001"><![CDATA[<math><mrow><mi>XDIM</mi><mo>=</mo><msub><mi>N</mi><mn>0</mn></msub><mo>[</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>]</mo><mo>;</mo></mrow></math>]]></maths>把x轴[0,XDIM]的范围平均分割为N<sub>0</sub>个坐标范围,即:<maths num="0002"><![CDATA[<math><mrow><mo>[</mo><mn>0</mn><mo>,</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>,</mo><mo>[</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>,</mo><mfrac><mn>2</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>CDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>[</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo>-</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>,</mo><mi>XDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>;</mo></mrow></math>]]></maths>N<sub>0</sub>个x轴坐标范围分别结合y、z轴构成N<sub>0</sub>个立方体分块;步骤二中基于二维X射线图像的分块反投影重建包括如下步骤:建立用于重建的二维X射线图像序列中每幅图像的像素和重建立方体中体素坐标的关系:图像序号用proj_num表示,θ表示相邻图像之间的拍摄夹角,依次把每幅图像数据存入一维序列,体素坐标为(x,y,z),当前要进行反投影的二维X射线图像的拍摄角度为φ=proj_num·θ,所述体素在序号为proj_num的二维X射线图像中对应的坐标(x′<sub>p</sub>,y′<sub>p</sub>)为:<maths num="0003"><![CDATA[<math><mrow><mrow><mo>(</mo><msubsup><mi>x</mi><mi>p</mi><mo>&prime;</mo></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>p</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mfrac><mrow><mi>D</mi><mrow><mo>(</mo><mi>y</mi><mi>cos</mi><mi>&phi;</mi><mo>-</mo><mi>x</mi><mi>sin</mi><mi>&phi;</mi><mo>)</mo></mrow></mrow><mrow><mi>d</mi><mo>+</mo><mi>x</mi><mi>cos</mi><mi>&phi;</mi><mo>+</mo><mi>y</mi><mi>sin</mi><mi>&phi;</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mi>D</mi><mo></mo><mo>&CenterDot;</mo><mi>z</mi></mrow><mrow><mi>d</mi><mo>+</mo><mi>x</mi><mi>cos</mi><mi>&phi;</mi><mo>+</mo><mi>y</mi><mi>sin</mi><mi>&phi;</mi></mrow></mfrac><mo>)</mo></mrow></mrow></math>]]></maths>其中,D为成像装置中X射线发射源到探测器的距离,d为成像装置中X射线发射源到待重建物体的几何中心的距离;令P(i′,j′)为一幅二维X射线图像中任意坐标点(i′,j′)的像素值,用差值法获得对应的经滤波后的修正像素值<img file="FDA0000374110750000022.GIF" wi="196" he="96" />用三个维度的相对位置(i,j,k)表示一个立方体数据中的体素,以立方体数据的几何中心为原点,分别以i、j、k三个维度为x,y,z轴建立右手直角坐标系;对于每一个基于i轴分割开来的分块区域,其i轴范围分别为<maths num="0004"><![CDATA[<math><mrow><mo>[</mo><mn>0</mn><mo>,</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>,</mo><mo>[</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>,</mo><mfrac><mn>2</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>CDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>[</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo>-</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>0</mn></msub></mfrac><mi>XDIM</mi><mo>,</mo><mi>XDIM</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>,</mo></mrow></math>]]></maths>结合j、k轴表示为N<sub>0</sub>个长方体的形式,以三元组的形式表示为:<img file="FDA00003741107500000210.GIF" wi="602" he="116" /><img file="FDA0000374110750000029.GIF" wi="813" he="148" />其中V表示体素值,l为分块序号;<img file="FDA0000374110750000028.GIF" wi="904" he="69" />对于每一个分块内体素(i,j,k),二维X射线图像序列在分块V<sub>l</sub>[i][j][k]上的反投影如下式所示:<maths num="0005"><![CDATA[<math><mrow><msub><mi>V</mi><mi>l</mi></msub><mo>[</mo><mi>i</mi><mo>]</mo><mo>[</mo><mi>j</mi><mo>]</mo><mo>[</mo><mi>k</mi><mo>]</mo><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>proj</mi><mo>_</mo><mi>num</mi></mrow><mi>NUM</mi></munderover><msub><mover><mi>P</mi><mo>^</mo></mover><mn>0</mn></msub><msub><mrow><mo>(</mo><msup><mi>i</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>j</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mrow><mi>proj</mi><mo>_</mo><mi>num</mi><mo>;</mo></mrow></msub></mrow></math>]]></maths>其中<img file="FDA0000374110750000032.GIF" wi="284" he="89" />表示在序号为proj_num的二维X射线图像中第i′行第j′个像素经滤波后的修正像素值,NUM表示二维X射线图像的最大序号,二维X射线图像总数为NUM+1,对于分块中的每个体素都用进行反投影运算,获得最后的分块重建结果<img file="FDA00003741107500000317.GIF" wi="508" he="70" /><img file="FDA00003741107500000318.GIF" wi="759" he="146" />步骤三中组合分块重建结果步骤如下:利用步骤二中获得的分块重建结果进行拼装组合,描述为:<img file="FDA0000374110750000036.GIF" wi="1079" he="186" />其中<img file="FDA00003741107500000319.GIF" wi="1312" he="72" />当(i,j,k)遍历立方体中所有的体素时,V[i][j][k]即为重建结果;步骤四中根据反馈的时间复杂度集合计算最优分块数目包括如下步骤:步骤41,定义综合贡献因子:分块数目N<sub>0</sub>由x轴最大值XDIM约束,令参数α=XDIMmodN<sub>0</sub>;定义综合贡献因子η:<maths num="0006"><![CDATA[<math><mrow><mi>&eta;</mi><mo>=</mo><mi>&lambda;</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mi>t</mi><msub><mi>t</mi><mn>0</mn></msub></mfrac><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mi>&lambda;</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mi>&alpha;</mi><mi>XDIM</mi></mfrac></mrow></math>]]></maths>λ为表征精度和性能的参数,λ∈[0,1];t<sub>0</sub>和t分别表示分块数目N<sub>0</sub>取初始值4时和取当前的数值时的重建时间;步骤42,确定分块数目:先选取所有满足参数α=0的分块,并统计其数目为m,生成集合<img file="FDA00003741107500000321.GIF" wi="427" he="77" />对应的重建时间<img file="FDA00003741107500000310.GIF" wi="63" he="69" />记为<img file="FDA00003741107500000322.GIF" wi="361" he="73" />然后从集合<img file="FDA00003741107500000312.GIF" wi="71" he="70" />中选取重建时间最少且分块数目也最少的分块数记为<img file="FDA00003741107500000320.GIF" wi="349" he="59" />,对应重建时间为t<sub>k</sub>,定义最优分块数目集合<img file="FDA00003741107500000314.GIF" wi="113" he="70" /><img file="FDA00003741107500000323.GIF" wi="988" he="72" />计算最优分块数目集合<img file="FDA0000374110750000042.GIF" wi="62" he="54" />中各个分块数目所对应的综合贡献因子η<sub>i</sub>:<maths num="0007"><![CDATA[<math><mrow><msub><mi>&eta;</mi><mi>i</mi></msub><mo>=</mo><mi>&lambda;</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><msub><mi>N</mi><mi>k</mi></msub><mo>)</mo></mrow></msub><msub><mi>t</mi><msub><mi>N</mi><mi>k</mi></msub></msub></mfrac><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mi>&lambda;</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><msub><mi>&alpha;</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><msub><mi>N</mi><mi>k</mi></msub><mo>)</mo></mrow></msub><mi>XDIM</mi></mfrac><mo>,</mo><mi>i</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mrow><mo>(</mo><msub><mi>N</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>N</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,<img file="FDA0000374110750000044.GIF" wi="135" he="73" />和<img file="FDA0000374110750000043.GIF" wi="64" he="72" />分别表示分块数目为(i+N<sub>k</sub>)和N<sub>k</sub>时的重建时间,<maths num="0008"><![CDATA[<math><mrow><msub><mi>&alpha;</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><msub><mi>N</mi><mi>k</mi></msub><mo>)</mo></mrow></msub><mo>=</mo><mi>XDIM</mi><mi>mod</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><msub><mi>N</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>求出最优分块数目集合<img file="FDA0000374110750000046.GIF" wi="66" he="61" />中每个分块数对应的综合贡献因子η<sub>i</sub>后,取该值最小且分块数目最少的分块数为最优分块数目N<sub>0</sub><sup>*</sup>。
地址 214422 江苏省无锡市江阴市临港新城滨江西路2号