CN108733480B - 一种ct重建架构设计方法 - Google Patents

一种ct重建架构设计方法 Download PDF

Info

Publication number
CN108733480B
CN108733480B CN201710915636.2A CN201710915636A CN108733480B CN 108733480 B CN108733480 B CN 108733480B CN 201710915636 A CN201710915636 A CN 201710915636A CN 108733480 B CN108733480 B CN 108733480B
Authority
CN
China
Prior art keywords
execution unit
data
thread
thread pool
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710915636.2A
Other languages
English (en)
Other versions
CN108733480A (zh
Inventor
任孟阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Shengnuo Technology Co ltd
Original Assignee
Shenyang Shengnuo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenyang Shengnuo Technology Co ltd filed Critical Shenyang Shengnuo Technology Co ltd
Priority to CN201710915636.2A priority Critical patent/CN108733480B/zh
Publication of CN108733480A publication Critical patent/CN108733480A/zh
Application granted granted Critical
Publication of CN108733480B publication Critical patent/CN108733480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/005Specific pre-processing for tomographic reconstruction, e.g. calibration, source positioning, rebinning, scatter correction, retrospective gating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/006Inverse problem, transformation from projection-space into object-space, e.g. transform methods, back-projection, algebraic methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及CT成像技术领域,尤其涉及一种CT重建架构设计方法。该一种CT重建架构设计方法包括:读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元从前向后依次执行,每个执行单元创建一个线程池,执行单元受线程池控制。本发明提供的一种CT重建架构设计方法,通过引入线程池管理,可以提高效率,引入通用计算硬件降低对计算机CPU、内存等性能要求,降低成本。

Description

一种CT重建架构设计方法
技术领域
本发明涉及CT成像技术领域,尤其涉及一种CT重建架构设计方法。
背景技术
CT重建需要扩展性和建像速度高的软件平台,特别是随着CT检测器排数的增加用于重建图像的数据量越来越多时对建像速度要求反而越来越高,如果设计一个高性能的建像软件平台对各个CT厂商都是必须要解决的问题。
现有的通用软件架构有个名称为“流水线”的技术,可以应用到多个领域,它的特点是把一个任务拆分成多个任务执行单元,当本执行单元计算完成后,告知下一个执行单元启动执行,而此时本单元则继续执行新的任务。这样的好处是最大限度利用资源,复用时间。“流水线”技术非常适合CT重建软件平台,但仅仅简单的把该技术移植到建像软件平台还是远远不够的。
上述“流水线”技术在性能上无法满足CT重建平台性能要求,CT重建平台一个特点是不同建像方式,各个任务执行单元的耗时也不相同,有些时候任务执行单元一需要更多的计算资源,有些时候任务执行单元二需要更多的计算资源,“流水线”技术本身不具备调整能力。另一个缺陷是当某个任务单元计算量远远大于其他任务单元时,该“流水线”会因CPU过于“繁忙”而陷入“停滞”阶段,影响整个“流水线”的运行。
发明内容
针对现有技术的上述缺陷,本发明提供的一种CT重建架构设计方法,在“流水线”技术的基础上引入线程池和通用计算硬件(包含显卡、FPGA等)来解决上述技术问题,首先每个任务执行单元由一个独立的线程池来控制。该线程池首先创建多个线程,当任务来临时根据任务的“轻重缓急”分配不同优先级的线程进行执行,优先需要处理的数据就分配高优先级的线程进行响应处理,有多少个需要待处理的任务就分配几个线程响应,保证所有的任务都被及时处理。把通用计算硬件引入到软件中去执行计算要求高的任务执行单元,把原来任务执行单元消耗CPU资源的操作移植到通用计算硬件上执行,解放CPU,保证整个“流水线”的顺利执行。
为了达到上述目的,本发明提供如下技术方案:
一种CT重建架构设计方法包括:读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元从前向后依次执行,每个执行单元创建一个线程池,执行单元受线程池控制。
其中,所述线程池响应任务进行处理,线程池中的线程数可以给定一个最小值,实际需要时也可以随时创建,线程池中的各个线程优先级不同,用于响应不同紧急的任务。
其中,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元之外引入通用计算硬件线程,所述通用计算硬件包含多个硬件,每个硬件都在一个线程中等待被调用。
其中,具体流程步骤:
流程步骤一:数据从读数据执行单元流入,执行完成后告知数据校正执行单元开始执行,以此类推,执行单元处理数据是从前向后依次执行的,不能颠倒或者跳过某个执行单元去执行;
流程步骤二:每段数据都有一个数据标号,从零开始依次递增加一,数据标号越小的,数据属于越紧急处理的数据;数据标号越靠后,越不紧急;将数据标号分为几个等级;
流程步骤三:从数据校正执行单元开始,当数据到来时,数据校正执行单元对应的线程池首先查看当前数据的数据标号属于哪个登记,分配与之对应的优先级线程进行处理;
流程步骤四:当某个执行单元待处理的数据多余该线程池创建的线程,那么随时创建新的线程进行响应;
流程步骤五:根据建像方法把某个执行单元的线程池和通用硬件对应的线程进行绑定。当数据流到该执行单元时,该执行单元对应的线程池首先去查询当前通用硬件是否有“空闲”,如果有那么就把当前待处理数据转移到通用计算硬件执行,如果没有“空闲硬件”那么就用线程池内部的线程进行响应处理。
本发明的有益效果是:本发明提供的一种CT重建架构设计方法,通过引入线程池管理,可以提高效率,引入通用计算硬件降低对计算机CPU、内存等性能要求,降低成本。
为了能更进一步了解本发明的特征以及技术内容,请参阅以下有关本发明的详细说明与附图,然而附图仅提供参考与说明用,并非用来对本发明加以限制。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1是本发明一种CT重建架构设计方法的示意图。
图2是本发明一种CT重建架构设计方法的线程池示意图。
具体实施方式
为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。
请参阅图1、图2,一种CT重建架构设计方法包括:读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元从前向后依次执行,每个执行单元创建一个线程池,执行单元受线程池控制。
进一步,所述线程池响应任务进行处理,线程池中的线程数可以给定一个最小值,实际需要时也可以随时创建,线程池中的各个线程优先级不同,用于响应不同紧急的任务。
进一步,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元之外引入通用计算硬件线程,所述通用计算硬件包含多个硬件,每个硬件都在一个线程中等待被调用。
进一步,具体流程步骤:
流程步骤一:数据从读数据执行单元流入,执行完成后告知数据校正执行单元开始执行,以此类推,执行单元处理数据是从前向后依次执行的,不能颠倒或者跳过某个执行单元去执行;
流程步骤二:每段数据都有一个数据标号,从零开始依次递增加一,数据标号越小的,数据属于越紧急处理的数据;数据标号越靠后,越不紧急;将数据标号分为几个等级;
流程步骤三:从数据校正执行单元开始,当数据到来时,数据校正执行单元对应的线程池首先查看当前数据的数据标号属于哪个登记,分配与之对应的优先级线程进行处理;
流程步骤四:当某个执行单元待处理的数据多余该线程池创建的线程,那么随时创建新的线程进行响应;
流程步骤五:根据建像方法把某个执行单元的线程池和通用硬件对应的线程进行绑定。当数据流到该执行单元时,该执行单元对应的线程池首先去查询当前通用硬件是否有“空闲”,如果有那么就把当前待处理数据转移到通用计算硬件执行,如果没有“空闲硬件”那么就用线程池内部的线程进行响应处理。
引入线程池到“流水线”中,线程池控制“流水线”节点,线程池内设置线程优先级,保证紧急的数据优先处理,以此来提高首幅图出图时间,所述“流水线”节点有自己的线程池管理,可以扩展到由一个线程池管理所有的节点。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (1)

1.一种CT重建架构设计方法,其特征在于,包括:读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元以及发送图像执行单元,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元以及发送图像执行单元从前向后依次执行,每个执行单元创建一个线程池,执行单元受线程池控制;所述线程池响应任务进行处理,线程池中的线程数给定一个最小值,实际需要时可以随时创建线程,线程池中的各个线程优先级不同,用于响应不同紧急的任务;
所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元之外引入通用计算硬件线程,所述通用计算硬件包含多个硬件,每个硬件都在一个线程中等待被调用;
具体流程步骤:
流程步骤一:数据从读数据执行单元流入,执行完成后告知数据校正执行单元开始执行,以此类推,执行单元处理数据是从前向后依次执行的,不能颠倒或者跳过某个执行单元去执行;
流程步骤二:每段数据都有一个数据标号,从零开始依次递增加一,数据标号越小的,数据属于越紧急处理的数据;数据标号越靠后,越不紧急;将数据标号分为几个等级;
流程步骤三:从数据校正执行单元开始,当数据到来时,数据校正执行单元对应的线程池首先查看当前数据的数据标号属于哪个等级,分配与之对应的优先级线程进行处理;
流程步骤四:当某个执行单元待处理的数据多余该线程池创建的线程,那么随时创建新的线程进行响应;
流程步骤五:根据建像方法把某个执行单元的线程池和通用硬件对应的线程进行绑定,当数据流到该执行单元时,该执行单元对应的线程池首先去查询当前通用硬件是否有“空闲”,如果有那么就把当前待处理数据转移到通用计算硬件执行,如果没有“空闲硬件”那么就用线程池内部的线程进行响应处理。
CN201710915636.2A 2017-09-23 2017-09-23 一种ct重建架构设计方法 Active CN108733480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710915636.2A CN108733480B (zh) 2017-09-23 2017-09-23 一种ct重建架构设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710915636.2A CN108733480B (zh) 2017-09-23 2017-09-23 一种ct重建架构设计方法

Publications (2)

Publication Number Publication Date
CN108733480A CN108733480A (zh) 2018-11-02
CN108733480B true CN108733480B (zh) 2022-04-05

Family

ID=63940215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710915636.2A Active CN108733480B (zh) 2017-09-23 2017-09-23 一种ct重建架构设计方法

Country Status (1)

Country Link
CN (1) CN108733480B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609978A (zh) * 2012-01-13 2012-07-25 中国人民解放军信息工程大学 基于cuda架构的gpu加速锥束ct图像重建的方法
CN102783967A (zh) * 2012-08-23 2012-11-21 汕头市超声仪器研究所有限公司 一种乳腺ct设备
WO2014069386A1 (ja) * 2012-10-29 2014-05-08 株式会社日立メディコ Ct装置及びct画像生成方法
CN103927768A (zh) * 2013-01-16 2014-07-16 上海联影医疗科技有限公司 Ct图像重建方法
CN103942818A (zh) * 2013-01-22 2014-07-23 上海联影医疗科技有限公司 Ct图像重建方法
CN104484232A (zh) * 2014-08-11 2015-04-01 沈阳东软医疗系统有限公司 一种提高图像重建速度的方法及装置
CN104615413A (zh) * 2015-02-13 2015-05-13 赛诺威盛科技(北京)有限公司 一种流水线任务自适应并行方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130002659A1 (en) * 2010-02-12 2013-01-03 The Regents Of The University Of California Graphics processing unit-based fast cone beam computed tomography reconstruction
CN104142845B (zh) * 2014-07-21 2018-08-17 中国人民解放军信息工程大学 基于OpenCL-To-FPGA的CT图像重建反投影加速方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609978A (zh) * 2012-01-13 2012-07-25 中国人民解放军信息工程大学 基于cuda架构的gpu加速锥束ct图像重建的方法
CN102783967A (zh) * 2012-08-23 2012-11-21 汕头市超声仪器研究所有限公司 一种乳腺ct设备
WO2014069386A1 (ja) * 2012-10-29 2014-05-08 株式会社日立メディコ Ct装置及びct画像生成方法
CN103927768A (zh) * 2013-01-16 2014-07-16 上海联影医疗科技有限公司 Ct图像重建方法
CN103942818A (zh) * 2013-01-22 2014-07-23 上海联影医疗科技有限公司 Ct图像重建方法
CN104484232A (zh) * 2014-08-11 2015-04-01 沈阳东软医疗系统有限公司 一种提高图像重建速度的方法及装置
CN104615413A (zh) * 2015-02-13 2015-05-13 赛诺威盛科技(北京)有限公司 一种流水线任务自适应并行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《CT快速图像重建算法研究》;刘杰;《中国医学物理学杂志》;20030731;第20卷(第3期);第149-153页 *

Also Published As

Publication number Publication date
CN108733480A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN109582455B (zh) 多线程任务处理方法、装置及存储介质
US9928124B2 (en) Reverting tightly coupled threads in an over-scheduled system
US8914805B2 (en) Rescheduling workload in a hybrid computing environment
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US8739171B2 (en) High-throughput-computing in a hybrid computing environment
CN106358003A (zh) 一种基于线程级流水线的视频分析加速方法
US8516492B2 (en) Soft partitions and load balancing
CN111190741B (zh) 基于深度学习节点计算的调度方法、设备及存储介质
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US10417012B2 (en) Reprogramming a field programmable device on-demand
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
US8621479B2 (en) System and method for selecting task allocation method based on load balancing and core affinity metrics
CN111078394B (zh) 一种gpu线程负载均衡方法与装置
US10083066B2 (en) Processing data by using simultaneous multithreading
CN106020976A (zh) 将内存耗尽处理流程卸载到用户空间的方法和装置
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
CN111984402A (zh) 一种线程池统一调度监控方法及系统
CN109656714B (zh) 一种虚拟化显卡的gpu资源调度方法
CN108733480B (zh) 一种ct重建架构设计方法
CN115904510B (zh) 多操作数指令的处理方法、图形处理器及存储介质
US9542233B1 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN115981808A (zh) 调度方法、装置、计算机设备和存储介质
CN110502580A (zh) 一种集群数据库系统资源管控调度的方法
CN111381887B (zh) 在mvp处理器中进行图像运动补偿的方法、装置及处理器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant