IP Library Granted Patent US 9,342,902
Granted Patent B2
US 9,342,902 · App. 14/598,171 · Granted May 17, 2016

Method and apparatus for improving image reconstruction speed

Inventors: Hongbo Wang (Shenyang, CN); Shanshan Lou (Shenyang, CN)
Assignee: SHENYANG NEUSOFT MEDICAL SYSTEMS CO., LTD.
G06T11/003A61B6/032A61B6/5205G06T1/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,342,902
App. No.
14/598,171
Granted
May 17, 2016
Kind
B2
Abstract

Disclosed are a method and apparatus for improving image reconstruction speed, to improve the image reconstruction speed by acquiring optimal thread configurations of execution units under different scanning conditions. The method includes: acquiring scanning data and extracting an image-construction parameter from the scanning data; generating thread configurations each comprising the numbers of threads in respective image reconstruction execution units, and obtaining image reconstruction speeds corresponding to the thread configurations by performing image reconstruction on the scanning data with the thread configurations; and obtaining image reconstruction speeds meeting a preset condition, grouping the thread configurations, which correspond to the image reconstruction speeds meeting the preset condition, into a candidate set, and extracting a thread configuration from the candidate set as an optimal thread configuration to be used in image reconstruction of the scanning data having the image-construction parameter.

Claims (58)

1. A method for improving image reconstruction speed, comprising:

acquiring scanning data and extracting an image-construction parameter from the scanning data;

generating thread configurations, each comprising information indicating the numbers of threads used for respective steps of image reconstruction, and obtaining image reconstruction speeds corresponding to the thread configurations by performing image reconstruction on the scanning data with the thread configurations; and

obtaining image reconstruction speeds meeting a preset condition, grouping the thread configurations, which correspond to the image reconstruction speeds meeting the preset condition, into a candidate set of thread configurations, and extracting a thread configuration from the candidate set as an optimal thread configuration to be used in image reconstruction of the scanning data having the image-construction parameter.

2. The method according to claim 1 , wherein generating the thread configurations comprises:

determining whether it is the first time to generate the thread configurations;

generating the thread configuration based on initialization information if it is the first time to generate the thread configurations; and

if it is not the first time to generate the thread configurations, taking a thread configuration corresponding to a currently fastest image reconstruction speed as a current thread configuration and obtaining a set of candidate thread configurations as newly generated thread configurations by changing, within an allowable range, the numbers of threads for one or more steps of the image reconstruction in the current thread configuration.

3. The method according to claim 2 , wherein changing the numbers of threads for one or more steps of the image reconstruction in the current thread configuration comprises:

changing, in a preset neighborhood of the current thread configuration, the numbers of threads for one or more steps of the image reconstruction in the current thread configuration.

4. The method according to claim 3 , further comprising:

deleting thread configurations which have already been generated, among the candidate thread configurations, returning to change the numbers of threads for one or more steps of the image reconstruction in the current thread configuration if all the candidate thread configurations are deleted; and determining the remaining thread configurations as the newly generated thread configurations if not all the candidate thread configurations are deleted.

5. The method according to claim 2 , further comprising:

deleting thread configurations which have already been generated, among the candidate thread configurations, returning to change the numbers of threads for one or more steps of the image reconstruction in the current thread configuration if all the candidate thread configurations are deleted; and determining the remaining thread configurations as the newly generated thread configurations if not all the candidate thread configurations are deleted.

6. The method according to claim 1 , wherein obtaining the image reconstruction speeds meeting the preset condition comprises:

reading the image reconstruction speed to form a current image reconstruction speed set;

determining whether image reconstruction speeds in the current image reconstruction speed set meet a first preset condition, wherein the first preset condition comprises conditions that a difference between a maximum and a minimum among the image reconstruction speeds is within a first preset range, the number of image reconstruction speeds is within a second preset range, an average value of the image reconstruction speeds is within a third preset range and a variance of the image reconstruction speeds is within a fourth preset range;

determining the image reconstruction speeds in the current image reconstruction speed set to be image reconstruction speeds meeting the preset condition if the image reconstruction speeds in the current image reconstruction speed set meet the first preset condition; and

classifying the image reconstruction speeds in the current image reconstruction speed set with a clustering algorithm if the image reconstruction speeds in the current image reconstruction speed set do not meet the first preset condition, choosing image reconstruction speeds in a class of fastest speeds as the current image reconstruction speed set, and returning to determine whether image reconstruction speeds in the current image reconstruction speed set meet the first preset condition.

7. The method according to claim 1 , wherein extracting a thread configuration from the candidate set as the optimal thread configuration comprises:

calculating, from the candidate set, average values of the numbers of threads for respective steps of the image reconstruction, and determining in the candidate set a thread configuration which has a minimal distance to the average values of the numbers of threads as the optimal thread configuration.

8. The method according to claim 1 , wherein extracting a thread configuration from the candidate set as the optimal thread configuration comprises:

determining in the candidate set, a thread configuration which has a minimum sum of distances to other thread configurations, as the optimal thread configuration.

9. An apparatus for improving image reconstruction speed, comprising:

one or more processors; and

a memory having codes stored therein, when being executed by the one or more processors the codes configuring the one or more processors to:

acquire scanning data and extract an image-construction parameter from the scanning data;

generate thread configurations, each comprising information indicating the numbers of threads used for respective steps of image reconstruction;

perform an image reconstruction on the scanning data by using the thread configurations;

obtain image reconstruction speeds corresponding to the thread configurations;

obtain image reconstruction speeds meeting a preset condition and group thread configurations, which correspond to the image reconstruction speeds meeting the preset condition, into a candidate set; and

extract a thread configuration from the candidate set as an optimal thread configuration to be used in image reconstruction of the scanning data having the image-construction parameter.

10. The apparatus according to claim 9 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

determine whether it is the first time to generate the thread configurations;

generate the thread configurations based on initialization information if it is determined that it is the first time to generate the thread configurations;

obtain a thread configuration corresponding to a currently fastest image reconstruction speed as a current thread configuration if it is determined that it is not the first time to generate the thread configurations; and

change, within an allowable range, the numbers of threads for one or more steps of the image reconstruction in the current thread configuration, to obtain a set of candidate thread configurations as newly generated thread configurations.

11. The apparatus according to claim 10 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

change, in a preset neighborhood of the current thread configuration, the numbers of threads for one or more steps of the image reconstruction in the current thread configuration within the allowable range, to obtain a set of candidate thread configurations as newly generated thread configurations.

12. The apparatus according to claim 11 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

delete thread configurations which have already been generated, among the candidate thread configurations;

change the numbers of threads for one or more steps of the image reconstruction in the current thread configuration if all the candidate thread configurations are deleted; and

determine the remaining thread configurations as the newly generated thread configurations if not all the candidate thread configurations are deleted.

13. The apparatus according to claim 10 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

delete thread configurations which have already been generated, among the candidate thread configurations;

change the numbers of threads for one or more steps of the image reconstruction in the current thread configuration if all the candidate thread configurations are deleted; and

determine the remaining thread configurations as the newly generated thread configurations if not all the candidate thread configurations are deleted.

14. The apparatus according to claim 9 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

read the image reconstruction speed to form a current image reconstruction speed set;

determine whether image reconstruction speeds in the current image reconstruction speed set meet a first preset condition, wherein the first preset condition comprises conditions that a difference between a maximum and a minimum among the image reconstruction speeds is within a first preset range, the number of image reconstruction speeds is within a second preset range, an average value of the image reconstruction speeds is within a third preset range and a variance of the image reconstruction speeds is within a fourth preset range;

determine the image reconstruction speeds in the current image reconstruction speed set to be image reconstruction speeds meeting the preset condition if the image reconstruction speeds in the current image reconstruction speed set meet the first preset condition;

if the image reconstruction speeds in the current image reconstruction speed set do not meet the first preset condition, classify the image reconstruction speeds in the current image reconstruction speed set with a clustering algorithm, choose image reconstruction speeds in a class of fastest speeds as the current image reconstruction speed set, and determine whether image reconstruction speeds in the current image reconstruction speed set meet the first preset condition; and

group the thread configurations, which correspond to the image reconstruction speeds meeting the preset condition, into the candidate set.

15. The apparatus according to claim 9 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

calculate, from the candidate set, average values of the numbers of threads for respective steps of the image reconstruction; and

determine in the candidate set a thread configuration which has a minimal distance to the average values of the numbers of threads as the optimal thread configuration.

16. The apparatus according to claim 9 , wherein when being executed by the one or more processors, the codes further configure the one or more processors to:

determine in the candidate set, a thread configuration which has a minimum sum of distances to other thread configurations, as the optimal thread configuration.

Assignments (2)
CHANGE OF NAME Recorded Apr 14, 2020
From: SHENYANG NEUSOFT MEDICAL SYSTEMS CO., LTD.
To: NEUSOFT MEDICAL SYSTEMS CO., LTD.
Reel/Frame 052398/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: WANG, HONGBO; LOU, SHANSHAN
To: SHENYANG NEUSOFT MEDICAL SYSTEMS CO., LTD.
Reel/Frame 034732/0353 →
Priority Claims (1)
CN 2014 1 0392380 · Aug 11, 2014 · national
Continuity (1)
Related Publication 20160042536A1 · Feb 11, 2016