System and method for GPU-based 3D nonrigid registration
First Claim
1. A method of registering two images using a graphics processing unit, said method comprising the steps of:
- providing a pair of images with a first image and a second image, wherein said images comprise a plurality of intensities corresponding to a domain of grid points in a D-dimensional space;
calculating a gradient of the second image;
initializing a displacement field on the grid point domain of the pair of images, wherein said displacement field transforms said second image into said first image;
generating textures for the first image, the second image, the gradient, and the displacement field, and loading said textures into the graphics processing unit;
creating a pixel buffer and initializing it with the texture containing the displacement field;
smoothing the displacement field;
updating the displacement field from the first image, the second image, and the gradient for one or more iterations; and
reading the updated displacement field from the pixel buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of registering two images using a graphics processing unit includes providing a pair of images with a first and second image, calculating a gradient of the second image, initializing a displacement field on the grid point domain of the pair of images, generating textures for the first image, the second image, the gradient, and the displacement field, and loading said textures into the graphics processing unit. A pixel buffer is created and initialized with the texture containing the displacement field. The displacement field is updated from the first image, the second image, and the gradient for one or more iterations in one or more rendering passes performed by the graphics processing unit.
89 Citations
24 Claims
-
1. A method of registering two images using a graphics processing unit, said method comprising the steps of:
-
providing a pair of images with a first image and a second image, wherein said images comprise a plurality of intensities corresponding to a domain of grid points in a D-dimensional space;
calculating a gradient of the second image;
initializing a displacement field on the grid point domain of the pair of images, wherein said displacement field transforms said second image into said first image;
generating textures for the first image, the second image, the gradient, and the displacement field, and loading said textures into the graphics processing unit;
creating a pixel buffer and initializing it with the texture containing the displacement field;
smoothing the displacement field;
updating the displacement field from the first image, the second image, and the gradient for one or more iterations; and
reading the updated displacement field from the pixel buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19)
-
-
12. A method of registering two images, said method comprising the steps of:
-
providing a graphics processing unit;
providing a pair of images with a first image and a second image, wherein said images comprise a plurality of intensities corresponding to a domain of grid points in a 3-dimensional space;
calculating a gradient of the second image;
initializing a displacement field on the grid point domain of the pair of images, wherein said displacement field transforms said second image into said first image;
generating textures for the first image, the second image, the gradient, and the displacement field, and loading said textures into the graphics processing unit;
creating a pixel buffer, including creating a rendering context, initializing the pixel buffer attributes, generating a new texture where the pixel buffer is bound and initializing it with the texture containing the displacement field;
updating the displacement field from a rendering pass performed by the graphics processing unit according to the equation
uk+1=uk+δ
[(I1−
I2·
(Id+uk))∇
I2·
(Id+uk)]+α
Δ
uk,wherein uk and uk+1 are the displacement field and updated displacement field, respectively, I1 is the first image, I2 is the second image, ∇
I2 is the gradient, Id is an identity map, Δ
uk is the Laplacian of the displacement field, α
is a regularization parameter, and δ
is the time step; and
expanding the resolution of the displacement field by linearly interpolating displacement field values for points between grid points in the displacement field domain. - View Dependent Claims (13)
-
-
14. A program storage device readable by a computer, tangibly embodying a program of instructions executable by the computer to perform the method steps for registering two images using a graphics processing unit, said method comprising the steps of:
-
providing a pair of images with a first image and a second image, wherein said images comprise a plurality of intensities corresponding to a domain of grid points in a D-dimensional space;
calculating a gradient of the second image;
initializing a displacement field on the grid point domain of the pair of images, wherein said displacement field transforms said second image into said first image;
generating textures for the first image, the second image, the gradient, and the displacement field, and loading said textures into the graphics processing unit;
creating a pixel buffer and initializing it with the texture containing the displacement field;
smoothing the displacement field;
updating the displacement field from the first image, the second image, and the gradient for one or more iterations; and
reading the updated displacement field from the pixel buffer. - View Dependent Claims (15, 16, 17, 20, 21, 22, 23, 24)
-
Specification