IP Library Granted Patent US 9,443,303
Granted Patent B2
US 9,443,303 · App. 14/273,966 · Granted Sep 13, 2016

Image display of a centerline of tubular structure

Inventors: Torin Arni Taerum (Calgary, CA); Jonathan Neil Draper (Calgary, CA); Robert George Newton (Calgary, CA)
Assignee: Calgary Scientific Inc.
G06T7/0012A61B5/02014G06T7/0083G06T19/00A61B6/466A61B6/481A61B6/5205A61B8/466A61B8/481A61B8/483A61B8/5207G06T2207/10081G06T2207/10088G06T2207/10136G06T2207/20076G06T2207/30101G06T2210/41G06T2219/028
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,443,303
App. No.
14/273,966
Granted
Sep 13, 2016
Kind
B2
Abstract

Systems and methods for determining a centerline of a tubular structure from volumetric data of vessels where a contrast agent was injected into the blood stream to enhance the imagery for centerlining. Given a 3D array of scalar values and a first and second point, the system and methods iteratively find a path from the start position to the end position that lies in the center of a tubular structure. A user interface may be provided to visually present and manipulate a centerline of the tubular structure and the tubular structure itself.

Claims (58)

1. A method for determining a centerline of a tubular structure using a processor of a computing device, comprising:

receiving, at a computing device, volumetric data representative of the tubular structure and a selection of a first point and a second point along a length of the tubular structure;

initializing a minimal range of data values associated with a cross section of the tubular structure;

iteratively generating positions associated with two discrete curves from each point toward the other point, the positions initially moving along a direction vector defined at each point, the iteratively generating comprising:

defining a cross section in a plane of the tubular structure;

choosing a next point on each of the two discrete curves in accordance with a smallest area among plural cross sections determined at each next point on each of the two discrete curves;

for each of the two discrete curves, moving in a direction normal to the cross section having the smallest area;

determining if the discrete curves have terminated;

if the discrete curves have terminated, then determining if a length of a result of a curve in a present iteration is shorter than a length of a curve as determined in a previous iteration; and

caching the result of the curve in the present iteration pass if it is determined that the length of the result of the curve in the present iteration is shorter, otherwise maintaining the length of the curve as determined in the previous iteration;

increasing the range of data values for a next iteration; and

terminating the iterative process when a length of a joined curve is longer than a joined curve of the previous iteration, the joined curve of the previous iteration corresponding to the centerline, otherwise returning to iteratively generating positions; and

displaying, in a user interface associated with the computing device, a visual representation of the tubular structure and the centerline in a human comprehensible format.

2. The method of claim 1 , wherein initializing the data range comprises determining an area of the tubular structure at the starting point and ending point associated with range of data values.

3. The method of claim 1 , wherein the two discrete curves are Non-Uniform Rational B-Spline (NURBS) curves.

4. The method of claim 1 , determining the direction for each of the discrete curves comprising defining a plane at a point that describes a cross section of the tubular structure, wherein the cross section has a smallest area as compared to a second plane perturbed in a different direction several directions about the point.

5. The method of claim 1 , moving in a direction normal to the cross section having the smallest area, further comprising:

performing a local search to determine a pixel having a highest intensity; and

moving to the pixel having the highest intensity.

6. The method of claim 1 , further comprising generating a contour of the tubular structure.

7. The method of claim 6 , further comprising detecting a branch in the tubular structure using at least one of detecting curvature of the tubular structure, detecting a change in circularity of the tubular structure, and measuring a change in area inside the contour.

8. The method of claim 6 , further comprising adjusting the contour by replacing the range of data values the cross sections associated with the branch with an approximation of the range of data values in a non-branching tubular structure.

9. The method of claim 8 , further comprising:

determining an aneurysm in the tubular structure by determining ends of the aneurysm by considering an area of the contour area as a function of position along a length of the centerline of the tubular structure; and

locating marker points along the length with a large second derivative magnitude,

wherein the marker points correspond to a neck at each end of the aneurysm.

10. The method of claim 1 , wherein the volumetric data is a multi-dimensional medical image.

11. The method of claim 1 , wherein the tubular structure is a vessel.

12. The method of claim 11 , wherein the vessel is located near bone or the base of the skull.

13. A method for determining a shortest path between two points of a tubular structure using a processor of a computing device, comprising:

receiving, at a computing device, volumetric data representative of the tubular structure and a selection of a first point and a second point along a length of the tubular structure;

initializing a minimal range of data values associated with a cross section of the tubular structure; and

iteratively generating positions associated with two discrete curves from each point toward the other point, the positions initially moving along a direction vector defined at each point toward each other point until it is determined if the two discrete curves have terminated or if the two discrete curves have joined,

if the two discrete curves have terminated, further determining if an incomplete result is better than a previous incomplete result and updating a cache if the incomplete result is better; and

if the two discrete curves have joined, further determining if a complete result is better than a previous complete result and updating the cache if the complete result is better; and

displaying, in a user interface associated with the computing device, a visual representation of the tubular structure and the shortest path in a human comprehensible format.

14. The method of claim 13 , further comprising:

at a current point on each of the two discrete curves, defining a plane in the tubular structure perpendicular to a current direction vector and passing through the current point, the plane defining a cross section of the tubular structure;

choosing a next point on each of the two discrete curves, the next point being associated with the cross section having a smallest area among plural cross sections determined at the next point on each of the two discrete curves; and

for each of the two discrete curves, moving in a direction normal to the cross section having the smallest area.

15. The method of claim 13 , choosing a next point on each of the two discrete curves, further comprising:

performing a local search to determine a pixel having a highest intensity; and

moving to the pixel having the highest intensity.

16. The method of claim 13 , further comprising increasing the range of data values for a next iteration.

17. The method of claim 16 , further comprising:

determining if the range has grown to greater than a predetermined number of times larger than an initial range;

determining if the centerline has been determined; and

if so, providing the centerline as a results; and

if not, providing the incomplete result from the cache.

18. The method of claim 13 , wherein if the two discrete curves have not terminated and the two discrete curves have not joined, the method further comprising:

determining if the incomplete result is better than a previous incomplete result during a same iteration and updating a cache if the incomplete result is better that the previous incomplete result during the same iteration.

19. The method of claim 13 , wherein if the two discrete curves have terminated, the determining is performed in accordance with the following relationship:

if (gap>=distance)

quality=0

otherwise

quality=(distance−gap)×(distance−gap)/(distance×length),

wherein the distance equals a distance between two starting points, the length equals a total length of the two discrete curves, a gap equals a remaining distance between final end points of the two discrete curves, and the quality ranges from 0 to 1, with 1 being a best theoretical achievable quality.

20. The method of claim 13 , wherein the tubular structure is a vessel.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: CALGARY SCIENTIFIC INC.
To: RESOLUTIONMD, INC.
Reel/Frame 067914/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2014
From: TAERUM, TORIN ARNI; DRAPER, JONATHAN NEIL; NEWTON, ROBERT GEORGE
To: CALGARY SCIENTIFIC INC.
Reel/Frame 033106/0195 →
Continuity (4)
Continuation In Part 13466308 · May 8, 2012
Provisional Application 61532700 · Sep 9, 2011
Provisional Application 61561582 · Nov 18, 2011
Related Publication 20140363065A1 · Dec 11, 2014