Architecture for real-time 3D image registration
First Claim
Patent Images
1. A hardware pipeline for 3D image registration, comprising:
- a first memory module for storing volumetric data comprising a first three dimensional image;
a second memory module for storing volumetric data comprising a second three dimensional image;
a third memory module for storing MH data;
an address generator/first image controller;
an interpolator;
a second image controller; and
an accumulator/MH controller,wherein each of the first, second and third memory modules are configured for computational access independently of the other two memory modules,wherein the address generator/first image controller is operable to access the first memory module for first image data and mask data, and to send first image address and control data to the first memory module, and to send interpolation data and second image address data to the interpolator and second image controller, respectively, and to send first image data to the accumulator/MH controller,wherein the second image controller is operable to receive second image data and mask data from the second memory module, and to send second image address and control data to the second memory module, and to send second image data to the accumulator/MH controller,wherein the accumulator/MH controller is operable to send MH address and control data to the MH RAM, and to send MH data to and receives MH data from the third memory module,wherein the interpolator is operable to send interpolation weights to the accumulator/MH controller.
1 Assignment
0 Petitions
Accused Products
Abstract
A system architecture is disclosed that facilitates rapid execution of 3D registration or alignment algorithms. A first image module (e.g., RAM) is included to store data corresponding to images to be registered. A processor coupled to the first storage module accesses the data and determined mutual histogram (MH) values which are then used to compute mutual information (MI) between the images. The processor accumulates the MH values in a second image module. The second storage module is accessible so that registered images can be displayed. The architecture is scalable facilitating distributed calculations to speed-up the registration process.
60 Citations
15 Claims
-
1. A hardware pipeline for 3D image registration, comprising:
-
a first memory module for storing volumetric data comprising a first three dimensional image; a second memory module for storing volumetric data comprising a second three dimensional image; a third memory module for storing MH data; an address generator/first image controller; an interpolator; a second image controller; and an accumulator/MH controller, wherein each of the first, second and third memory modules are configured for computational access independently of the other two memory modules, wherein the address generator/first image controller is operable to access the first memory module for first image data and mask data, and to send first image address and control data to the first memory module, and to send interpolation data and second image address data to the interpolator and second image controller, respectively, and to send first image data to the accumulator/MH controller, wherein the second image controller is operable to receive second image data and mask data from the second memory module, and to send second image address and control data to the second memory module, and to send second image data to the accumulator/MH controller, wherein the accumulator/MH controller is operable to send MH address and control data to the MH RAM, and to send MH data to and receives MH data from the third memory module, wherein the interpolator is operable to send interpolation weights to the accumulator/MH controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of performing 3D image registration by computing an MH matrix based on a first 3D image and a second 3D image, wherein each image is comprised of volumetric data, the method comprising:
-
for respective voxels in the first image; reading voxels from the first image; computing a transformed coordinate for the voxels by computing a vector vOrg by applying the following vector transformation;
vOrg=T·
½
(max—
x·
(Δ
v/Δ
x)+max—
y·
(Δ
v/Δ
x)+max—
z·
(Δ
v/Δ
x));verifying the validity of the transformed coordinates for the voxels; and upon verifying the validity of the transformed coordinates, adding the interpolated values of the voxels to the MH matrix by applying the following interpolation; wherein the mathematical symbols used in the MH data calculation represent the following; x, y, and z represent x, y, and z coordinates, respectively, of the voxels; max_x, max_y, and max_z represent maximum x, y, and z dimensions, respectively, of the first image; vx, vy, and vz represent x, y, and z vectors, respectively, of the vector for computing the transformed coordinates of the voxels; vB represents the origin of the voxels of the second image that comprise the neighborhood of the voxels; vfrac represents the fractional parts of vx used to calculate interpolation weights; W represents the vector that contains eight interpolation weights; i, j, and k represent x, y, and z coordinates, respectively, of the voxels of the second image that comprise the neighborhood of the voxels; Int_Index represents the W vector index used to transform respective weights of the voxels of the second image that comprise the neighborhood of the voxels; and MH represents the Mutual Histogram matrix.
-
Specification