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

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

Info

Publication number
CN108733480A
CN108733480A CN201710915636.2A CN201710915636A CN108733480A CN 108733480 A CN108733480 A CN 108733480A CN 201710915636 A CN201710915636 A CN 201710915636A CN 108733480 A CN108733480 A CN 108733480A
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.)
Granted
Application number
CN201710915636.2A
Other languages
English (en)
Other versions
CN108733480B (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 Sheng Nuo Technology Co Ltd
Original Assignee
Shenyang Sheng Nuo 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 Sheng Nuo Technology Co Ltd filed Critical Shenyang Sheng Nuo 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

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 (4)

1.一种CT重建架构设计方法,其特征在于,包括:读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元从前向后依次执行,每个执行单元创建一个线程池,执行单元受线程池控制。
2.根据权利要求1所述的一种CT重建架构设计方法,其特征在于,所述线程池响应任务进行处理,线程池中的线程数可以给定一个最小值,实际需要时也可以随时创建,线程池中的各个线程优先级不同,用于响应不同紧急的任务。
3.根据权利要求1所述的一种CT重建架构设计方法,其特征在于,所述读数据执行单元、数据校正执行单元、数据重排执行单元、数据卷积反投影执行单元、图像后处理执行单元、发送图像执行单元之外引入通用计算硬件线程,所述通用计算硬件包含多个硬件,每个硬件都在一个线程中等待被调用。
4.根据权利要求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 true CN108733480A (zh) 2018-11-02
CN108733480B 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 (9)

* 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设备
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
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图像重建方法
CN104142845A (zh) * 2014-07-21 2014-11-12 中国人民解放军信息工程大学 基于OpenCL-To-FPGA的CT图像重建反投影加速方法
CN104484232A (zh) * 2014-08-11 2015-04-01 沈阳东软医疗系统有限公司 一种提高图像重建速度的方法及装置
CN104615413A (zh) * 2015-02-13 2015-05-13 赛诺威盛科技(北京)有限公司 一种流水线任务自适应并行方法

Patent Citations (9)

* 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
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图像重建方法
CN104142845A (zh) * 2014-07-21 2014-11-12 中国人民解放军信息工程大学 基于OpenCL-To-FPGA的CT图像重建反投影加速方法
CN104484232A (zh) * 2014-08-11 2015-04-01 沈阳东软医疗系统有限公司 一种提高图像重建速度的方法及装置
CN104615413A (zh) * 2015-02-13 2015-05-13 赛诺威盛科技(北京)有限公司 一种流水线任务自适应并行方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
RUI LIU等: "GPU-Based Branchless Distance-Driven Projection and Backprojection", 《IEEE TRANSACTIONS ON COMPUTATIONAL IMAGING 》 *
丁莹等: "分布式医学影像分析与处理平台的设计与实现", 《计算机工程与应用》 *
丛鹏等: "基于异构多GPU的锥束CT图像重建研究", 《原子能科学技术》 *
刘杰: "《CT快速图像重建算法研究》", 《中国医学物理学杂志》 *
林志宏: "锥束CT重建的并行化研究与应用", 《现代计算机(专业版)》 *

Also Published As

Publication number Publication date
CN108733480B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN109582455B (zh) 多线程任务处理方法、装置及存储介质
CN114741207B (zh) 一种基于多维度组合并行的gpu资源调度方法和系统
CN112379995B (zh) 一种基于dag的单元化分布式调度系统及方法
US8739171B2 (en) High-throughput-computing in a hybrid computing environment
WO2019218708A1 (zh) 一种任务处理方法及处理装置、计算机系统
DE112010005705T5 (de) Umplanen von Workload in einer hybriden Datenverarbeitungsumgebung
US8707320B2 (en) Dynamic partitioning of data by occasionally doubling data chunk size for data-parallel applications
CN105786603B (zh) 一种基于分布式的高并发业务处理系统及方法
KR102334511B1 (ko) 작업 의존성 관리
US20110307903A1 (en) Soft partitions and load balancing
EP4242843A1 (en) Graphics card memory management method and apparatus, device, and system
CN107766147A (zh) 分布式的数据分析任务调度系统
KR102338849B1 (ko) 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템
US10067793B2 (en) Data processing method and apparatus for executing task code using reservation instruction and release instruction
CN104090753A (zh) 一种移动终端的视频渲染系统
CN111078394B (zh) 一种gpu线程负载均衡方法与装置
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
CN109800092A (zh) 一种共享数据的处理方法、装置及服务器
CN111353609A (zh) 一种机器学习系统
CN111158800B (zh) 基于映射关系构建任务dag的方法及装置
US20150220361A1 (en) Parallel computer system, control method of parallel computer system, and computer-readable storage medium
CN111367655B (zh) 一种云计算环境中gpu资源调度的方法、系统及存储介质
CN108733480A (zh) 一种ct重建架构设计方法
CN108415766A (zh) 一种渲染任务动态调度方法
CN104298507A (zh) 资源的处理方法及装置

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