一种提高图像重建速度的方法及装置

申请号 CN201410392380.8 申请日 2014-08-11 公开(公告)号 CN104484232B 公开(公告)日 2017-12-29
申请人 沈阳东软医疗系统有限公司; 发明人 王洪波; 楼珊珊;
摘要 本 发明 公开了一种提高图像重建速度的方法及装置,用于获取不同扫描条件下各个运行单元的最佳线程配置,从而提高图像重建速度,该方法包括:获取扫描数据,提取扫描数据中的建像参数;生成线程配置信息,线程配置信息包括各个图像重建运行单元的线程数量,利用各个线程配置信息对扫描数据进行图像重建,获得不同的线程配置信息对应的图像重建速度;获得满足预设条件的图像重建速度,将满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合,在候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,最优线程配置信息用于具有建像参数的扫描数据进行图像重建。
权利要求

1.一种提高图像重建速度的方法,其特征在于,所述方法包括:
获取扫描数据,提取所述扫描数据中的建像参数;
生成线程配置信息,所述线程配置信息包括各个图像重建运行单元的线程数量,利用各个所述线程配置信息对所述扫描数据进行图像重建,获得不同的所述线程配置信息对应的图像重建速度;
获得满足预设条件的图像重建速度,将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,所述最优线程配置信息用于具有所述建像参数的扫描数据进行图像重建。
2.根据权利要求1所述的方法,其特征在于,所述生成线程配置信息,包括:
判断是否为首次生成线程配置信息;
如果为首次生成线程配置信息,则根据初始化信息生成线程配置信息;
如果为非首次生成线程配置信息,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息,在所述图像重建运行单元的线程数量允许范围内,改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
3.根据权利要求2所述的方法,其特征在于,所述改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,包括:
在所述当前线程配置信息的预设邻域内改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
删除所述备选生成的线程配置信息中已经生成过的线程配置信息,如果所述备选生成的线程配置信息被全部删除,则返回重新改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量;如果所述备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
5.根据权利要求1所述的方法,其特征在于,所述获得满足预设条件的图像重建速度,包括:
读取所述图像重建速度作为当前图像重建速度集合;
判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件,所述第一预设条件包括所述图像重建速度的最大值与最小值之差在第一预设范围内、所述图像重建速度的数量在第二预设范围内、所述图像重建速度的均值在第三预设范围内以及所述图像重建速度的方差在第四预设范围内;
如果是,则将所述当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度;
如果否,则对所述当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,返回判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件。
6.根据权利要求1所述的方法,其特征在于,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,包括:
由所述候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值,在所述候选线程配置信息集合中计算获得一个与所述线程数量平均值距离最小的线程配置信息作为最优线程配置信息。
7.根据权利要求1所述的方法,其特征在于,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,包括:
在所述候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。
8.一种提高图像重建速度的装置,其特征在于,所述装置包括:
第一提取单元,用于获取扫描数据,提取所述扫描数据中的建像参数;
生成单元,用于生成线程配置信息,所述线程配置信息包括各个图像重建运行单元的线程数量;
图像重建单元,用于利用各个所述线程配置信息对所述扫描数据进行图像重建;
第一获得单元,用于获得不同的所述线程配置信息对应的图像重建速度;
第二获得单元,用于获得满足预设条件的图像重建速度,将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合;
第二提取单元,用于在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,所述最优线程配置信息用于具有所述建像参数的扫描数据进行图像重建。
9.根据权利要求8所述的装置,其特征在于,所述生成单元包括:
第一判断子单元,用于判断是否为首次生成线程配置信息;
第一生成子单元,用于如果所述判断子单元的判断结果为是,则根据初始化信息生成线程配置信息;
查找子单元,用于如果所述判断子单元的判断结果为否,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息;
变更子单元,用于在所述图像重建运行单元的线程数量允许范围内,改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
10.根据权利要求9所述的装置,其特征在于,所述变更子单元具体用于:
在所述图像重建运行单元的线程数量允许范围内,在所述当前线程配置信息的预设邻域内改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
11.根据权利要求9或10所述的装置,其特征在于,所述生成单元还包括:
删除子单元,用于删除所述备选生成的线程配置信息中已经生成过的线程配置信息;
返回子单元,用于如果所述备选生成的线程配置信息被全部删除,则返回所述变更子单元重新改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量;
第一确定子单元,用于如果所述备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
12.根据权利要求8所述的装置,其特征在于,所述第二获得单元包括:
读取子单元,用于读取所述图像重建速度作为当前图像重建速度集合;
第二判断子单元,用于判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件,所述第一预设条件包括所述图像重建速度的最大值与最小值之差在第一预设范围内、所述图像重建速度的数量在第二预设范围内、所述图像重建速度的均值在第三预设范围内以及所述图像重建速度的方差在第四预设范围内;
第二确定子单元,用于如果所述第二判断子单元的判断结果为是,则将所述当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度;
聚类子单元,用于如果所述第二判断子单元的判断结果为否,则对所述当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,并返回所述第二判断子单元判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件;
组成子单元,用于将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合。
13.根据权利要求8所述的装置,其特征在于,所述第二提取单元包括:
第一计算子单元,用于由所述候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值;
第二计算子单元,用于在所述候选线程配置信息集合中计算获得一个与所述线程数量平均值距离最小的线程配置信息作为最优线程配置信息。
14.根据权利要求8所述的装置,其特征在于,所述第二提取单元包括:
第三计算子单元,用于在所述候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。

说明书全文

一种提高图像重建速度的方法及装置

技术领域

[0001] 本发明涉及图像处理技术领域,具体涉及一种提高图像重建速度的方法及装置。

背景技术

[0002] 在根据CT(计算机断层扫描,Computed Tomography)扫描数据进行图像重建的过程中,由于实时性的要求,需要CT图像重建系统有较高的图像重建速度,图像重建速度通常指每秒钟重建出的图像数量。
[0003] CT图像重建通常采用流线技术,将图像重建包含的多个步骤采用流水线并行的方式运行,例如断层图像重建可以包括读取数据、校正、反投影、后处理等几个重建步骤,则这几个步骤采用流水线方式并行运行。为了加快系统运行速度,各个运行单元又可以采用多线程运行。一般来说,实现一个任务的运行单元中线程数越多,那么此项任务执行的时间会越少。但是由于硬件资源(例如中央处理器、内存、显卡等)的限制,一个运行单元中并行运行的线程数是有限的。
[0004] 在现有技术中,通常预先配置各个运行单元的线程数目,利用该组线程配置进行图像重建。但是,由于CT系统具有多个不同的扫描建像参数,在不同扫描建像参数下,通常各个建像运行单元所需运行时间也不相同,因此,预先配置的固定线程数无法满足在不同扫描建像参数下,可以达到最快的图像重建速度。

发明内容

[0005] 有鉴于此,本发明提供一种提高图像重建速度的方法及装置,以解决现有技术中预先配置固定线程数无法适应在不同扫描建像参数下,图像重建速度均可以达到较快水平。
[0006] 为解决上述问题,本发明提供的技术方案如下:
[0007] 一种提高图像重建速度的方法,所述方法包括:
[0008] 获取扫描数据,提取所述扫描数据中的建像参数;
[0009] 生成线程配置信息,所述线程配置信息包括各个图像重建运行单元的线程数量,利用各个所述线程配置信息对所述扫描数据进行图像重建,获得不同的所述线程配置信息对应的图像重建速度;
[0010] 获得满足预设条件的图像重建速度,将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,所述最优线程配置信息用于具有所述建像参数的扫描数据进行图像重建。
[0011] 相应的,所述生成线程配置信息,包括:
[0012] 判断是否为首次生成线程配置信息;
[0013] 如果为首次生成线程配置信息,则根据初始化信息生成线程配置信息;
[0014] 如果为非首次生成线程配置信息,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息,在所述图像重建运行单元的线程数量允许范围内,改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0015] 相应的,所述改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,包括:
[0016] 在所述当前线程配置信息的预设邻域内改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量。
[0017] 相应的,所述方法还包括:
[0018] 删除所述备选生成的线程配置信息中已经生成过的线程配置信息,如果所述备选生成的线程配置信息被全部删除,则返回重新改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量;如果所述备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
[0019] 相应的,所述获得满足预设条件的图像重建速度,包括:
[0020] 读取所述图像重建速度作为当前图像重建速度集合;
[0021] 判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件,所述第一预设条件包括所述图像重建速度的最大值与最小值之差在第一预设范围内、所述图像重建速度的数量在第二预设范围内、所述图像重建速度的均值在第三预设范围内以及所述图像重建速度的方差在第四预设范围内;
[0022] 如果是,则将所述当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度;
[0023] 如果否,则对所述当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,返回判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件。
[0024] 相应的,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,包括:
[0025] 由所述候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值,在所述候选线程配置信息集合中计算获得一个与所述线程数量平均值距离最小的线程配置信息作为最优线程配置信息。
[0026] 相应的,在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,包括:
[0027] 在所述候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。
[0028] 一种提高图像重建速度的装置,所述装置包括:
[0029] 第一提取单元,用于获取扫描数据,提取所述扫描数据中的建像参数;
[0030] 生成单元,用于生成线程配置信息,所述线程配置信息包括各个图像重建运行单元的线程数量;
[0031] 图像重建单元,用于利用各个所述线程配置信息对所述扫描数据进行图像重建;
[0032] 第一获得单元,用于获得不同的所述线程配置信息对应的图像重建速度;
[0033] 第二获得单元,用于获得满足预设条件的图像重建速度,将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合;
[0034] 第二提取单元,用于在所述候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,所述最优线程配置信息用于具有所述建像参数的扫描数据进行图像重建。
[0035] 相应的,所述生成单元包括:
[0036] 第一判断子单元,用于判断是否为首次生成线程配置信息;
[0037] 第一生成子单元,用于如果所述判断子单元的判断结果为是,则根据初始化信息生成线程配置信息;
[0038] 查找子单元,用于如果所述判断子单元的判断结果为否,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息;
[0039] 变更子单元,用于在所述图像重建运行单元的线程数量允许范围内,改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0040] 相应的,所述变更子单元具体用于:
[0041] 在所述图像重建运行单元的线程数量允许范围内,在所述当前线程配置信息的预设邻域内改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0042] 相应的,所述生成单元还包括:
[0043] 删除子单元,用于删除所述备选生成的线程配置信息中已经生成过的线程配置信息;
[0044] 返回子单元,用于如果所述备选生成的线程配置信息被全部删除,则返回所述变更子单元重新改变所述当前线程配置信息中一个或多个图像重建运行单元的线程数量;
[0045] 第一确定子单元,用于如果所述备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
[0046] 相应的,所述第二获得单元包括:
[0047] 读取子单元,用于读取所述图像重建速度作为当前图像重建速度集合;
[0048] 第二判断子单元,用于判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件,所述第一预设条件包括所述图像重建速度的最大值与最小值之差在第一预设范围内、所述图像重建速度的数量在第二预设范围内、所述图像重建速度的均值在第三预设范围内以及所述图像重建速度的方差在第四预设范围内;
[0049] 第二确定子单元,用于如果所述第二判断子单元的判断结果为是,则将所述当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度;
[0050] 聚类子单元,用于如果所述第二判断子单元的判断结果为否,则对所述当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,并返回所述第二判断子单元判断所述当前图像重建速度集合中的图像重建速度是否满足第一预设条件;
[0051] 组成子单元,用于将所述满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合。
[0052] 相应的,所述第二提取单元包括:
[0053] 第一计算子单元,用于由所述候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值;
[0054] 第二计算子单元,用于在所述候选线程配置信息集合中计算获得一个与所述线程数量平均值距离最小的线程配置信息作为最优线程配置信息。
[0055] 相应的,所述第二提取单元包括:
[0056] 第三计算子单元,用于在所述候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。
[0057] 由此可见,本发明实施例具有如下有益效果:
[0058] 本发明实施例通过在一组给定的建像参数下,获取各图像运行单元不同线程配置信息条件下的图像建像速度,通过对图像重建速度以及对应的线程配置信息进行分析,可以选取获得在该建像参数条件下最优的线程配置信息,利用该最优线程配置信息在上述给定的建像参数条件下进行图像重建,可以达到最快速度。从而在获得了各种建像参数下对应的最优线程配置信息后,可以实现图像重建速度的整体提高。附图说明
[0059] 图1为本发明实施例中提供的提高图像重建速度的方法实施例一的流程图
[0060] 图2为本发明实施例中提供的提高图像重建速度的方法实施例二的流程图;
[0061] 图3为本发明实施例中提供的提高图像重建速度的方法实施例三的流程图;
[0062] 图4为本发明实施例提供的提高图像重建速度的装置实施例的示意图;
[0063] 图5为本发明实施例中提供的生成单元实施例一的示意图;
[0064] 图6为本发明实施例中提供的生成单元实施例二的示意图。

具体实施方式

[0065] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
[0066] 本发明实施例中提供的提高图像重建速度的方法及装置,是针对现有技术中仅仅设定一组固定的运行单元线程数量,无法在每一组建像条件下充分发挥出系统硬件性能,均达到最快的图像重建速度,提出预先提取扫描数据中的建像参数,生成不同的线程配置信息,利用不同线程配置信息对上述扫描数据进行图像重建,以得到不同的线程配置信息对应的图像重建速度,通过对图像重建速度以及对应的线程配置信息进行分析,获得对该扫描数据进行图像重建速度最优的线程配置信息,即该建像参数对应的最优线程配置信息,这样如果再遇到该建像参数条件下进行图像重建,即可以直接利用获得的最优线程配置信息进行图像重建,从而达到最快的图像重建速度。
[0067] 基于上述思想,参见图1所示,本发明实施例中提供的提高图像重建速度的方法实施例一可以包括以下步骤:
[0068] 步骤101:获取扫描数据,提取扫描数据中的建像参数。
[0069] 其中,建像参数可以理解为影响图像重建速度的参数,例如螺距、建像视野、图像厚度、建像间隔等参数。由于图像重建速度和影响图像重建速度的参数之间通常是复杂的非线性关系,尤其是多个影响因素共同作用的情况下,因此对图像重建速度影响较大的建像参数都应该提取出来。
[0070] 扫描数据可以为实际扫描获得的数据,也可以是生产环境测试数据以及模拟生成的数据等等。
[0071] 步骤102:生成线程配置信息,线程配置信息包括各个图像重建运行单元的线程数量,利用各个线程配置信息对扫描数据进行图像重建,获得不同的线程配置信息对应的图像重建速度。
[0072] 这一步主要目的是为了在提取出来的建像参数条件下,获取不同线程配置组合条件下的图像重建速度情况。线程配置信息包括各个图像重建运行单元的线程数量,不同图像重建运行单元可以在一台计算机上运行,也可以在多台计算机上运行,也即本发明实施例图像重建运行单元中的线程可以调用的资源可以是一台或多台计算机中运行的程序。
[0073] 图像重建速度计算的公式为:IPS(图像重建速度)=总图像数/建像开始到最后一幅图接收完成的时间间隔,其中,总图像数以及建像开始到最后一幅图接收完成的时间间隔中,可以根据实际情况设置是否需要包含第一幅图像,因为通常第一幅图像所需的时间较长,包括或不包括第一幅图像的图像重建速度不同,需要在计算不同的线程配置信息对应的图像重建速度时保持一致的设置。
[0074] 步骤103:获得满足预设条件的图像重建速度,将满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合,在候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,最优线程配置信息用于具有建像参数的扫描数据进行图像重建。
[0075] 由于运行结果包含噪声以及实际运行的条件之间的差别,需要考虑到预测线程配置信息的稳定性问题,即在速度相同或者一致的条件下,需要获取最稳定的线程配置信息。因此,需要获得满足预设条件的图像重建速度所对应的多个线程配置信息,即图像重建速度较快的多个线程配置信息,再在这些线程配置信息中选取一个较为稳定的线程配置信息作为最优线程配置信息。这个最优线程配置信息则为上述建像参数条件对应的最优线程配置信息,可以通过训练不同的扫描数据,获得不同建像参数条件下的最优线程配置信息,保存于数据库中用于图像建像。
[0076] 最优线程配置信息用于图像建像的过程是:在获得需要建像的实际扫描数据后,提取实际扫描数据中的实际建像参数,与训练过的建像参数进行比较,获得与实际建像参数最接近的一个建像参数;比较的方法可以是最小欧几里得距离、余弦相似度匹配等;用最接近的建像参数对应的最优线程配置信息进行图像建像,即可达到最优的图像重建速度,从而实现提高图像重建速度。
[0077] 在本发明的一些实施例中,生成线程配置信息,利用各个线程配置信息对扫描数据进行图像重建,获得不同的线程配置信息对应的图像重建速度的过程中,可以每生成一组线程配置信息即计算并记录该组线程配置信息对应的重建图像速度,再返回重新生成新的线程配置信息,直到满足停止条件。参见图2所示,是本发明实施例中提供的提高图像重建速度的方法实施例二,对获得不同的线程配置信息对应的图像重建速度的过程进行说明。
[0078] 步骤201:生成一组新的线程配置信息。
[0079] 步骤202:判断生成线程配置信息是否成功,如果是,进入步骤203,如果否,结束流程。
[0080] 步骤203:利用生成的线程配置信息对扫描数据进行图像重建。
[0081] 步骤204:计算并记录本次生成的线程配置信息对应的图像重建速。
[0082] 步骤205:判断是否达到停止条件,如果是,结束流程,即获得不同的线程配置信息对应的图像重建速度,如果否,返回步骤201。
[0083] 停止条件通常可以由以下几个要素构成:(1)已经遍历完所有可能的线程配置组合;(2)运行次数超过预先设定的范围;(3)已经超过运行时间的限制。
[0084] 在本发明的一些实施例中,生成线程配置信息的实现可以包括:
[0085] 判断是否为首次生成线程配置信息;如果为首次生成线程配置信息,则根据初始化信息生成线程配置信息;如果为非首次生成线程配置信息,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息,在图像重建运行单元的线程数量允许范围内,改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0086] 在本发明的一些实施例中,生成线程配置信息的实现还可以包括:
[0087] 删除备选生成的线程配置信息中已经生成过的线程配置信息,如果备选生成的线程配置信息被全部删除,则返回重新改变当前线程配置信息中一个或多个图像重建运行单元的线程数量;如果备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
[0088] 参见图3所示,是本发明实施例中提供的提高图像重建速度的方法实施例三,对生成线程配置信息(即生成一组新的线程配置信息)的过程进行说明。
[0089] 步骤301:判断是否为首次生成线程配置信息,如果是,进入步骤302,如果否,进入步骤303。
[0090] 步骤302:根据初始化信息生成线程配置信息确定为新生成的线程配置信息。
[0091] 首次生成线程配置信息可以为当前系统的默认配置或为某个固定值,例如各个图像运行单元的线程数量初始化均为1。对了获得更好的初始条件也可以根据各个线程需要运行的时间比例进行配置,例如假设线程1运行时间为线程2的两倍,则初始化时可以把线程1的线程数量设置为线程2的两倍。
[0092] 步骤303:查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息。
[0093] 步骤304:在图像重建运行单元的线程数量允许范围内,改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息。
[0094] 在本发明的一些实施例中,改变当前线程配置信息中一个或多个图像重建运行单元的线程数量的实现可以包括:在当前线程配置信息的预设邻域内改变当前线程配置信息中一个或多个图像重建运行单元的线程数量。
[0095] 生成下一组线程配置信息的时候需要在系统允许的范围之内,例如满足在设定的线程数量最大最小值范围之间。
[0096] 下一组线程配置信息的选取,可以从当前最快线程配置信息的距离为L的邻域里进行选取。距离为L的邻域是指,所有线程配置改变量绝对值之和为L,如第一个分量改变L1,第二个分量L2,……,满足:L=L1+L2+...+Ln。
[0097] 假设当前最快线程配置C1对应的各个线程数T1,T2,……,T6,如下表所示:
[0098]  T1 T2 T3 T4 T5 T6
C1 3 4 5 7 4 6
[0099] L=2,例如改变T1,则T1的改变量可以为+2或-2,对应两组配置T1=5或1,生成的线程配置信息如下表所示:
[0100]  T1 T2 T3 T4 T5 T6
C1 5 4 5 7 4 6
C1 1 4 5 7 4 6
[0101] 也可以改变T1和T2,T1的改变量可以为+1、-1,T2的改变量也可以为+1,-1,生成的线程配置信息如下表所示:
[0102]  T1 T2 T3 T4 T5 T6
C1 4 5 5 7 4 6
C1 4 3 5 7 4 6
[0103]C1 2 5 5 7 4 6
C1 2 3 5 7 4 6
[0104] 步骤305:删除备选生成的线程配置信息中已经生成过的线程配置信息。
[0105] 为避免重复,需要删除本次生成的线程配置信息中在之前已经生成过的线程配置信息。
[0106] 步骤306:判断备选生成的线程配置信息是否被全部删除,如果是,进入步骤307,如果否,进入步骤308。
[0107] 步骤307:判断当前线程配置信息中全部可能值是否均已经生成过,如果是,进入步骤309,如果否,返回步骤304。
[0108] 备选生成的线程配置信息被全部删除,则需要返回重新改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,生成一组新的线程配置信息。重新改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,可以为改变另外一个或多个图像重建运行单元的线程数量,也可以先扩大邻域范围,在邻域范围内修改前一次修改的图像重建运行单元的线程数量,如果达到了邻域上限值,再改变另外一个或多个图像重建运行单元的线程数量,直到当前线程配置信息的全部可能值均已经生成过。
[0109] 步骤308:将剩余的线程配置信息确定为新生成的线程配置信息。
[0110] 步骤309:生成线程配置信息未成功。如果当前线程配置信息的全部可能值均已经生成过,则不能再成功生成新的程配置信息,结束流程。
[0111] 另外,生成线程配置信息也可以逐个生成所有可能的线程配置信息,相较于本实施例从当前最快线程配置信息的距离为L的邻域里进行选取新的线程配置信息速度较慢。
[0112] 在本发明的一些实施例中,获得满足预设条件的图像重建速度的具体实现可以包括:
[0113] 读取图像重建速度作为当前图像重建速度集合;
[0114] 判断当前图像重建速度集合中的图像重建速度是否满足第一预设条件,第一预设条件包括图像重建速度的最大值与最小值之差在第一预设范围内、图像重建速度的数量在第二预设范围内、图像重建速度的均值在第三预设范围内以及图像重建速度的方差在第四预设范围内;
[0115] 如果是,则将当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度;
[0116] 如果否,则对当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,返回判断当前图像重建速度集合中的图像重建速度是否满足第一预设条件。
[0117] 对图像重建速度结果进行聚类,以挑选出候选的线程配置信息集合。具体步骤如下:
[0118] 1、输入所获得的图像重建速度集合A。
[0119] 2、判断图像重建速度集合A是否满足分类标准,分类标准可以包括图像重建速度集A合中最大值与最小值之差的范围是否超出设定值;图像重建速度集合A中数目是否过大;图像重建速度集合A的均值、方差是否在设定范围之内。
[0120] 如果当前图像重建速度集合A满足要求则跳转到步骤4,否则继续执行步骤3。
[0121] 3、对图像重建速度集合A利用聚类算法进行分类,选取出最快的集合替代A,跳转到步骤2,聚类算法可以采用例如k-means、k-medoids聚类算法。
[0122] 4.图像重建速度集合A里的线程配置信息即为候选线程配置集合。
[0123] 例如,下表是不同线程配置信息C1、C2、……、C8的各个线程数目配置信息T1、T2、……、T6,以及记录的图像重建速度IPS。
[0124] 对图像重建速度IPS列进行聚类后,得到较快的候选线程配置信息集合C1、C2、C3、C4。
[0125]  T1 T2 T3 T4 T5 T6 IPS
C1 3 4 5 7 4 6 24.5
C2 3 5 6 3 2 6 23
C3 4 5 6 8 3 6 22.7
C4 4 5 6 3 2 6 22.3
C5 4 6 6 8 2 6 18
C6 6 5 5 6 3 5 17
C7 4 5 5 5 4 6 14
C8 3 7 6 3 3 6 13
[0126] 提供给图像重建使用的线程配置信息只能有一组,因此需要从候选线程配置信息集合里提取唯一的一个线程配置信息作为最终稳定值。在本发明的一些实施例中,在候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息的具体实现方式至少包括以下两种:
[0127] 一、由候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值,在候选线程配置信息集合中计算获得一个与线程数量平均值距离最小的线程配置信息作为最优线程配置信息。本发明实施例中的距离可以是欧氏空间距离、曼哈顿距离等。
[0128] 例如,参见下表所示,候选线程配置集合为C1、C2、C3、C4,T1、T2、……、T6的线程数量平均值为3.25、4.75、5.75、5.25、2.75、6。
[0129]  T1 T2 T3 T4 T5 T6
C1 3 4 5 7 4 6
C2 3 5 6 3 2 6
C3 3 5 6 8 3 6
C4 4 5 6 3 2 6
平均 3.25 4.75 5.75 5.25 2.75 6
[0130] 则可以求出C1、C2、C3、C4当中离平均值最接近的一组组合是C2,它与均值的曼哈顿距离为:
[0131] |3-3.25|+|5-4.75|+|6-5.75|+|3-5.25|+|2-2.75|+|6-6|=3.75,则C2即为最优线程配置信息。
[0132] 二、在候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。
[0133] 逐个遍历所有的可选线程配置信息,并求出每个线程配置信息与其它所有线程配置信息距离之和最小的一个作为最终的结果。本发明实施例中的距离可以是欧氏空间距离、曼哈顿距离等。
[0134] 这样,本发明实施例通过在一组给定的建像参数下,获取各图像运行单元不同线程配置信息条件下的图像建像速度,通过对图像重建速度以及对应的线程配置信息进行分析,可以选取获得在该建像参数条件下最优的线程配置信息,利用该最优线程配置信息在上述给定的建像参数条件下进行图像重建,可以达到最快速度。从而在获得了各种建像参数下对应的最优线程配置信息后,可以实现图像重建速度的整体提高。
[0135] 也就是说,本发明实施例可以在硬件资源配置保持不变的前提下,充分利用硬件的性能,提高图像重建速度;适用面广,可以较好的适应软硬件资源的变化,比如即使更换CPU或者建像卡,或者软件算法的更改都可能引起建像速度的改变,通过本发明实施例提供的方法可以达到自适应的加速过程,优化资源利用率;另外,便利性高,用计算机代替人工调优,使得调优工作变得简化,优化工作变得简单,节省人和时间成本。
[0136] 相应的,参见图4所示,是本发明实施例中提供的提高图像重建速度的装置实施例,可以包括:
[0137] 第一提取单元401,用于获取扫描数据,提取扫描数据中的建像参数。
[0138] 生成单元402,用于生成线程配置信息,线程配置信息包括各个图像重建运行单元的线程数量。
[0139] 图像重建单元403,用于利用各个线程配置信息对扫描数据进行图像重建。
[0140] 第一获得单元404,用于获得不同的线程配置信息对应的图像重建速度。
[0141] 第二获得单元405,用于获得满足预设条件的图像重建速度,将满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合。
[0142] 第二提取单元406,用于在候选线程配置信息集合中提取一个线程配置信息作为最优线程配置信息,最优线程配置信息用于具有建像参数的扫描数据进行图像重建。
[0143] 参见图5所示,在本发明的一些实施例中,生成单元实施例一可以包括:
[0144] 第一判断子单元501,用于判断是否为首次生成线程配置信息。
[0145] 第一生成子单元502,用于如果判断子单元的判断结果为是,则根据初始化信息生成线程配置信息。
[0146] 查找子单元503,用于如果判断子单元的判断结果为否,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息。
[0147] 变更子单元504,用于在图像重建运行单元的线程数量允许范围内,改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0148] 参见图6所示,在本发明的一些实施例中,生成单元实施例二可以包括:
[0149] 第一判断子单元501,用于判断是否为首次生成线程配置信息。
[0150] 第一生成子单元502,用于如果判断子单元的判断结果为是,则根据初始化信息生成线程配置信息。
[0151] 查找子单元503,用于如果判断子单元的判断结果为否,则查找获得当前最快图像重建速度对应的线程配置信息作为当前线程配置信息。
[0152] 变更子单元504,用于在图像重建运行单元的线程数量允许范围内,改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息。
[0153] 删除子单元601,用于删除备选生成的线程配置信息中已经生成过的线程配置信息。
[0154] 返回子单元602,用于如果备选生成的线程配置信息被全部删除,则返回变更子单元重新改变当前线程配置信息中一个或多个图像重建运行单元的线程数量。
[0155] 第一确定子单元603,用于如果备选生成的线程配置信息未被全部删除,则将剩余的线程配置信息确定为新生成的线程配置信息。
[0156] 在本发明的一些实施例中,变更子单元可以具体用于:
[0157] 在图像重建运行单元的线程数量允许范围内,在当前线程配置信息的预设邻域内改变当前线程配置信息中一个或多个图像重建运行单元的线程数量,获得一组备选生成的线程配置信息为新生成的线程配置信息。
[0158] 在本发明的一些实施例中,第二获得单元可以包括:
[0159] 读取子单元,用于读取图像重建速度作为当前图像重建速度集合。
[0160] 第二判断子单元,用于判断当前图像重建速度集合中的图像重建速度是否满足第一预设条件,第一预设条件包括图像重建速度的最大值与最小值之差在第一预设范围内、图像重建速度的数量在第二预设范围内、图像重建速度的均值在第三预设范围内以及图像重建速度的方差在第四预设范围内。
[0161] 第二确定子单元,用于如果第二判断子单元的判断结果为是,则将当前图像重建速度集合中的图像重建速度确定为满足预设条件的图像重建速度。
[0162] 聚类子单元,用于如果第二判断子单元的判断结果为否,则对当前图像重建速度集合中的图像重建速度利用聚类算法进行分类,选取最快分类中的图像重建速度作为当前图像重建速度集合,并返回第二判断子单元判断当前图像重建速度集合中的图像重建速度是否满足第一预设条件。
[0163] 组成子单元,用于将满足预设条件的图像重建速度所对应的线程配置信息组成候选线程配置信息集合。
[0164] 在本发明的一些实施例中,第二提取单元可以包括:
[0165] 第一计算子单元,用于由候选线程配置信息集合计算各个图像重建运行单元的线程数量平均值。
[0166] 第二计算子单元,用于在候选线程配置信息集合中计算获得一个与线程数量平均值距离最小的线程配置信息作为最优线程配置信息。
[0167] 在本发明的一些实施例中,第二提取单元可以包括:
[0168] 第三计算子单元,用于在候选线程配置信息集合中计算获得一个与其他各个线程配置信息距离之和最小的线程配置信息作为最优线程配置信息。
[0169] 这样,本发明实施例通过在一组给定的建像参数下,获取各图像运行单元不同线程配置信息条件下的图像建像速度,通过对图像重建速度以及对应的线程配置信息进行分析,可以选取获得在该建像参数条件下最优的线程配置信息,利用该最优线程配置信息在上述给定的建像参数条件下进行图像重建,可以达到最快速度。从而在获得了各种建像参数下对应的最优线程配置信息后,可以实现图像重建速度的整体提高。
[0170] 需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0171] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0172] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0173] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
QQ群二维码
意见反馈