IP Library Granted Patent US 7,106,891
Granted Patent B2
US 7,106,891 · App. 10/063,834 · Granted Sep 12, 2006

System and method for determining convergence of image set registration

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 7,106,891
App. No.
10/063,834
Granted
Sep 12, 2006
Kind
B2
Abstract

Computer-based methods and systems for automatically determining convergence when registering image sets are provided. Example embodiments provide an Enhanced Image Registration System (EIRS), which includes an Image Comparison Module, a Transformation Optimizer, and a Convergence Calculator. When the EIRS receives two image sets to align, the Image Comparison Module compares two image sets to determine or measure how closely the image sets are aligned. The Transformation Optimizer determines an appropriate transformation to apply to one of the image sets to align it with the reference image set. The Transformation Optimizer then applies the determined transformation. The Convergence Calculator examines one or more points within the transformed image set to determine when convergence is attained.

Claims (123)

1. A method for registering a plurality of image sets, wherein each of the plurality of image sets comprises at least one image, and wherein each of the plurality of image sets contain spatially overlapping areas of an imaged subject with at least one of the remaining plurality of the image sets, the method comprising:

selecting a reference image set and an evaluation image set from said plurality of image sets, wherein the evaluation image set is to be aligned with the reference image set;

selecting a methodology for comparing of the registration between the reference image set and the evaluation image set;

selecting one or more point locations on the evaluation image set for tracking image movement;

selecting one or more fixed reference points for comparison with the one or more point locations on the evaluation image set;

selecting type of transformation to apply to the evaluation image set for aligning the evaluation image set with the reference image set;

a) calculating quality of alignment between the reference image set and the evaluation image set using a selected quality of alignment methodology;

b) calculating a location value (C) from one or more points on the evaluation image set with respect to the selected one or more fixed reference points and storing the calculation in a memory;

c) calculating a next transformation to apply to the evaluation image;

d) applying the transformation to at least a subset of the evaluation image set;

e) calculating a convergence value (V) for the current iteration (i), and storing the convergence value to the memory;

f) performing steps (a), (b) (c), (d) and (e) until at least a predetermined number N of correspondence calculation iterations have been performed; and

g) repeating steps (a), (b), (c), (d), and (e) if a total number of iterations (i) performed ≦N and the convergence value (V)≦(t), wherein (t) is a threshold value that is dynamically determined using a high-pass estimate of (V) to determine a noise level C h (i).

2. The method for registering a plurality of image sets according to claim 1 , wherein calculating the quality of alignment further includes calculating Mutual Information between the reference image set and the evaluation image set.

3. The method for registering a plurality of images sets according to claim 2 , wherein the Mutual Information calculation further includes Stochastic sampling to compute the Mutual Information.

4. The method for registering a plurality of image sets according to claim 3 , wherein the convergence value (V) for each iteration (i) is defined as a slope over the last L 2 iterations as V(i)=C(C(i)−C(i−L 2 ))/L 2 wherein L 2 is a number of iterations between two points used to calculate slope.

5. The method for registering a plurality of image sets according to claim 2 , wherein the image sets to be registered are capable of differing in at least one of temporally, modality, acquisition orientation, and dimensionality.

6. The method for registering a plurality of image sets according to claim 5 , wherein the transformation of the evaluation image set is one of affine, rigid, deformable and perspective.

7. The method for registering a plurality of image sets according to claim 1 , wherein the image sets to be registered are capable of differing in at least one of temporally, modality, acquisition orientation, and dimensionality.

8. The method for registering a plurality of image sets according to claim 1 , wherein the selecting of point locations includes selecting corner points of the evaluation image set as the selected location points.

9. The method for registering a plurality of image sets according to claim 1 , further including using selected corner points of the evaluation image set before the initial transformation as the fixed reference locations.

10. The method for registering a plurality of image sets according to claim 1 , wherein the location value (C) is an average distance between the one or more selected point(s) at the current iteration and the one or more fixed reference locations.

11. The method for registering a plurality of image sets according to claim 10 , wherein the convergence value (V) for each iteration (i) is defined as a slope over the last L 2 iterations as V(i)=(C(i)−C(i−L 2 ))/L 2 wherein L 2 is a number of iterations between two points used to calculate slope.

12. The method for registering a plurality of images sets according to claim 11 , wherein convergence is obtained when absolute value of (V)≦t for at least L 3 of the last L 4 iterations such that L 3 ≦L 4 wherein L 3 is a number of iterations that must meet a convergence requirement before stopping the calculation and L 4 is a period in which L 3 iterations must occur to meet the convergence requirement.

13. The method for registering a plurality of image sets according to claim 1 , wherein the convergence value (V) is calculated from the location values (C).

14. The method for registering a plurality of image sets according to claim 13 , wherein location value (C) is low pass filtered to remove noise.

15. The method for registering a plurality of image sets according to claim 1 , wherein location value (C) is low pass filtered to remove noise.

16. The method for registering a plurality of image sets according to claim 15 , wherein the low-passed filter is defined as

C

I

(

i

)

=

1

L

Ii

Li

C

(

i

)

wherein L 1 is the length of the low-pass filter.

17. The method for registering a plurality of image sets according to claim 1 , wherein the convergence value (V) for each iteration (i) is defined as a slope over the last L 2 iterations as V(i)=(C(i)−C(i−L 2 ))/L 2 wherein L 2 is a number of iterations between two points used to calculate slope.

18. The method for registering a plurality of images sets according to claim 1 , wherein convergence is obtained when absolute value of (V)≦t for at least L 3 of the last L 4 iterations such that L 3 ≦L 4 wherein L 3 is a number of iterations that must meet a convergence requirement before stopping the calculation and L 4 is a period in which L 3 iterations must occur to meet the convergence requirement.

19. The method for registering a plurality of image sets according to claim 1 , wherein the transformation of the evaluation image set is one of affine, rigid, deformable, and perspective.

20. The method for registering a plurality of image sets according to claim 1 , wherein the transformation applied to the evaluation image set is determined by an optimization method.

21. The method for registering a plurality of image sets according to claim 20 , wherein calculating correspondence further includes at least one of a Powell's method optimizer, a steepest gradient descent optimizer, a LBFGS optimizer, a Levenberg-Marquardt optimizer, a conjugate gradient optimizer, and a quasi-Newton optimizer.

22. The method for registering a plurality of image sets according to claim 1 , wherein an image set comprises one or more images.

23. The method for registering a plurality of image sets according to claim 22 , wherein the image set comprises data relating to functional measurements.

24. The method for registering a plurality of image sets according to claim 22 , wherein the image set comprises data relating to anatomical data.

25. The method for registering a plurality of image sets according to claim 1 , wherein the image set comprises data relating to functional measurements.

26. The method for registering a plurality of image sets according to claim 1 , wherein the image set comprises data relating to anatomical data.

27. The method for registering a plurality of image sets according to claim 1 , wherein the convergence threshold is defined as t=f 1 +C h (i)*f 2 .

28. The method for registering a plurality of image sets according to claim 1 , wherein the quality of alignment is voxel based.

29. The method for registering a plurality of image sets according to claim 28 , wherein the voxel based quality of alignment is further based on intensity of pixels of the image.

30. The method for registering a plurality of image sets according to claim 29 , wherein Mutual Information is utilized to determine quality of alignment.

31. The method for registering a plurality of image sets according to claim 30 , wherein Mutual Information further includes stochastic approximation.

32. The method for registering a plurality of image sets according to claim 1 , wherein the quality of alignment is feature based.

33. The method for registering a plurality of image sets according to claim 32 , wherein the feature based quality of alignment is further based on edges extracted from the image.

34. A system for registering a plurality of image sets, wherein each of the plurality of image sets comprises at least one image, and wherein each of the plurality of image sets contain spatially overlapping areas of an imaged subject with at least one of the remaining plurality of the image sets, the system comprising:

means for selecting a reference image set and an evaluation image set from said plurality of image sets, wherein the evaluation image set is to be aligned with the reference image set;

means for selecting a methodology for comparing the registration between the reference image set and the evaluation image set;

means for selecting one or more point locations on the evaluation image set for tracking image alignment;

means for selecting one or more fixed reference points for comparison with the one or more point locations on the evaluation image set;

means for selecting type of transformation to apply to the evaluation image set for aligning the evaluation image set with the reference image set;

a) means for calculating quality of alignment between the reference image set and the evaluation image set using the selected feature set;

b) means for calculating a location value (C) from one or more points on the evaluation image set with respect to the selected one or more fixed reference points and storing the calculation in the memory;

c) means for calculating a next transformation to apply to the evaluation image;

d) applying the transformation to at least a subset of the evaluation image set;

e) means for calculating a convergence value (V) for the current iteration (i), and storing the convergence value to the memory;

f) means for performing steps (a), (b) (c), (d) and (e) until at least L 5 correspondence calculation iterations have been performed wherein L 5 is a minimum number of iterations before commencing the calculation of convergence;

g) repeating steps (a), (b), (c), (d), and (e) if a total number of iterations (i) performed ≦N and the convergence value (V)≦(t), wherein (t) is a threshold value that is dynamically determined using a high-pass estimate of (V) to determine a noise level C h (i).

35. The system for registering a plurality of image sets according to claim 34 , wherein calculating correspondence further includes calculating Mutual Information between the reference image set and the evaluation image set.

36. The system for registering a plurality of images sets according to claim 35 , wherein the Mutual Information calculation further includes Stochastic sampling to compute the Mutual Information.

37. The system for registering a plurality of image sets according to claim 35 , wherein the image sets to be registered are capable of differing in at least one of temporally, modality, acquisition orientation, and dimensionality.

38. The system for registering a plurality of image sets according to claim 37 , wherein the transformation of the evaluation image sat is capable of being limited to one of affine, rigid and deformable.

39. The system for registering a plurality of image sets according to claim 34 , wherein the image sets to be registered are capable of differing in at least one of temporally, modality, acquisition orientation, and dimensionality.

40. The system for registering a plurality of image sets according to claim 34 , wherein the calculating location step further includes selecting corner points of the evaluation image set as the selected location points.

41. The system for registering a plurality of image sets according to claim 34 , further including using selected corner points of the evaluation image set as the fixed reference locations before the initial transformation.

42. The system for registering a plurality of image sets according to claim 34 , wherein the location value (C) is an average distance between the one or more selected point(s) at the current iteration and the one or more fixed reference locations.

43. The system for registering a plurality of image sets according to claim 34 , wherein the convergence value (V) is calculated from the location value (C).

44. The system for registering a plurality of image sets according to claim 34 , wherein location value (C) is low pass filtered to remove noise.

45. The system for registering a plurality of image sets according to claim 34 , wherein the convergence value (V) for each iteration (i) is defined as a slope over the last M iterations as

V(i)=(C(i)−C(i−M))/M wherein M is a number of iterations between two points used to calculate slope.

46. The system for registering a plurality of images sets according to claim 45 , wherein convergence is obtained when absolute value of (V)≦t for at least Q of the last L iterations such that Q≦L wherein Q is a number of iterations that must meet a convergence requirement before stopping the calculation and L is a period in which Q iterations must occur to meet the convergence requirement.

47. The system for registering a plurality of image sets according to claim 34 , wherein the transformation of the evaluation image set is capable of being limited to one of affine, rigid and deformable.

48. The system for registering a plurality of image sets according to claim 34 , wherein an image set comprises one or more images.

49. The system for registering a plurality of image sets according to claim 34 , wherein the image set comprises data relating to functional measurements.

50. The system for registering a plurality of image sets according to claim 34 , wherein the image set comprises data relating to anatomical data.

51. The system for registering a plurality of image sets according to claim 34 , wherein the calculation of the convergence threshold (t) is dynamically determined based on the data.

52. A software product capable of directing a general purpose computer to register a plurality of image sets, wherein each of the plurality of image sets contain spatially overlapping areas of an imaged subject with at least one of the remaining plurality of the image sets, the software product comprising:

directing a general purpose computer to execute the steps of:

selecting a reference image set and an evaluation image set from said plurality of image sets, wherein the evaluation image set is to be aligned with the reference image set;

selecting a methodology for comparing the registration between the reference image set and the evaluation image set;

selecting one or more point locations on the evaluation image set for tracking image alignment;

selecting one or more fixed reference points for comparison with the one or more point locations on the evaluation image set;

selecting type of transformation to apply to the evaluation image set for aligning the evaluation image set with the reference image set;

a) calculating quality of alignment between the reference image set and the evaluation image set using the selected feature set;

b) calculating a location value (C) from one or more points on the evaluation image set with respect to the selected one or more fixed reference points and storing the calculation in the memory;

c) calculating a next transformation to apply to the evaluation image;

d) applying the transformation to at least a subset of the evaluation image set;

e) calculating a convergence value (V) for the current iteration (i), and storing the convergence value to the memory;

f) performing steps (a), (b) (c), (d) and (e) until at least L 5 correspondence calculation iterations have been performed;

g) repeating steps (a), (b), (c), (d), and (e) if a total number of iterations (i) performed ≦N and the convergence value (V)≦(t), wherein (t) is a threshold value that is defined as t=f 1 +C h (i)*f 2 .

53. A system for registering image sets, the system comprising:

a data processor, the data processor having a memory, wherein the data processor is capable of accessing and directing peripheral devices;

a graphical user interface, wherein the graphical user interface is capable of interfacing with an navigating an imaging registration software product for registering image sets and wherein the software product is capable of instructing the data processor to perform instructions pursuant to the software product, the software product comprises:

an instruction for selecting a reference image set and an evaluation image set from said plurality of image sets, wherein the evaluation image set is to be aligned with the reference image set;

an instruction for selecting a methodology for comparing the registration between the reference image set and the evaluation image set;

an instruction for selecting one or more point locations on the evaluation image set for tracking image alignment;

an instruction for selecting one or more fixed reference points for comparison with the one or more point locations on the evaluation image set;

an instruction for selecting type of transformation to apply to the evaluation image set for aligning the evaluation image set with the reference image set;

a) an instruction for calculating quality of alignment between the reference image set and the evaluation image set using the selected feature set;

b) an instruction for calculating a location value (C) from one or more points on the evaluation image set with respect to the selected one or more fixed reference points and storing the calculation in the memory;

c) an instruction for calculating a next transformation to apply to the evaluation image;

d) an instruction for applying the transformation to at least a subset of the evaluation image set;

e) an instruction for calculating a convergence value (V) for the current iteration (i), and storing the convergence value to the memory;

f) an instruction for performing steps (a), (b) (c), (d) and (e) until at least predetermined number of correspondence calculation iterations have been performed;

g) an instruction for repeating steps (a), (b), (c), (d), and (e) if a total number of iterations (i) performed ≦N and the convergence value (V)≦(t), wherein (t) is a threshold value that is dynamically determined using a high-pass estimate of (V) to determine a noise level C h (i).

Assignments (14)
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
MERGER AND CHANGE OF NAME Recorded Mar 31, 2016
From: INSIGHTFUL CORPORATION; TIBCO SOFTWARE INC.
To: TIBCO SOFTWARE INC.
Reel/Frame 038163/0291 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2002
From: WYMAN, BRADLEY; NG, LYDIA
To: INSIGHTFUL CORPORATION
Reel/Frame 013062/0895 →