The present invention relates to detection of the spinal cord in thoracic and abdominal computed tomography (CT) volume data.
Computed tomography (CT) is a medical imaging method whereby digital geometry processing is used to generate a three-dimensional image of the internal anatomy of a patient from a large series of two-dimensional X-ray images taken around a single axis of rotation. Such CT imaging results in CT volume data which is a virtual representation of the internal anatomy of a patient. The CT volume data consists of multiple slices, or two-dimensional images, that can be combined to generate a three dimensional image. CT imaging is particularly useful because it can show several types of tissue including lung, bone, soft tissue and blood vessels, with great clarity. Accordingly, such imaging of the body can be used to diagnose problems such as cancers, cardiovascular disease, infectious disease, trauma and musculoskeletal disorders.
Bone is one of the most prominent anatomies in CT volume data and can therefore be reliably detected from such data. As represented in CT volume data, shapes of individual bone pieces are unique, thus allowing reliable discrimination between and identification of different bones. For example, vertebrae in the thoracic and abdominal regions can be valuable as features resources. That is, vertebrae can be used as a prominent feature for a reference point in CT volume data in order to compare or register multiple CT volume data sets. This is because vertebrae have complex structures and interfaces to provide distinctive features such as lines, planes, corners, circles, etc., which can be used to detect the vertebrae. Also, there are vertebrae throughout the chest and abdominal area and the vertebrae have similar but distinctive shapes that can be differentiated from one another. Furthermore, vertebrae move with turns and twists of the body, making the features relatively stable to body motion. Accordingly, vertebrae can be used as reference features for CT volume data used in the diagnosis of many different organs and body sections.
The present inventors have recognized that, in addition to detecting vertebrae in CT volume data, detecting the spinal cord as a prominent feature may be useful in a variety of applications. For example, in the diagnosis of various cancers, it is desirable to observe tumor growth over a period of time by comparing two CT scans taken for this purpose. In order to match the tumors in two sets of volume data from the same patient, rough registration is needed. In such a registration, the spinal cord can be used as a feature correspondence between the two data sets to estimate a geometrical transformation. While the transformation will not be deformable and hence, will be approximate, it is sufficiently accurate to compare the tumor correspondence.
The present inventors have also recognized that detection of the spinal cord in CT volume data can be used for various other applications, such as detecting and diagnosing disease in the spine and identifying whether two CT volume data sets are from the same patient.
Therefore, the present inventors have invented a method and apparatus for detection of the spinal cord in thoracic and abdominal CT volume data. In one embodiment of the present invention, an initial spinal cord point is detected for an initial axial slice of the CT volume data. The spinal cord is then tracked from the initial spinal cord point across each remaining axial slices in opposite directions from the initial axial slice by sequentially detecting a spinal cord point for each of the remaining axial slices. The initial spinal cord point is detected using a ring model based on intensity differences in the initial axial slice. This ring model determines a ring shaped spinal cord region based on average intensity differences at various distances from the center of the ring. The center point of the ring is determined to be the initial spinal cord point. For each remaining axial slice, a spinal cord center position based on at least one previously detected spinal cord point. For any axial slice, a line can be fit to K previous spinal cord points on K previously processed axial slices. The predicted spinal cord center position is the intersection point of this line and the axial slice. The spinal cord point on the axial slice is calculated by minimizing an energy function having a term representing the ring model intensity differences in the axial slice and a term representing the proximity to the predicted spinal cord center position.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
The present invention is directed to detecting the spinal cord in thoracic and abdominal CT volume data. This CT volume data is a virtual representation of a 3D CT image and can be manipulated by a computer system in order to perform the method of the present invention. A 3D coordinate system is defined herein as having a z-axis running from the top to bottom of the body, a y-axis running from the back to the front of the body, and an x-axis running from left to right across the body. The CT volume data consists of a plurality of axial slices, which are two-dimensional images along the x and y axes. Each axial slice corresponds to a separate z value.
According to an embodiment of the present invention, the spinal cord is detected in CT volume data by detecting a location of the spinal cord (in x, y coordinates) in one axial slice and tracking the spinal cord in the z direction across each of the plurality of axial slices.
At step 410, an axial slice is selected from the plurality of axial slices of the CT volume data. The axial slice may be selected randomly from the plurality of axial slices or a middle axial slice along the z-axis may be automatically selected. It is also possible that a user can select the axial slice using a user input device (e.g., a mouse, etc.) to input a user selection to a computer system performing this method.
At step 420, a bone region corresponding to a vertebra is identified in the axial slice. A bone region in the axial slice can be detected because bone has a high intensity in the CT volume data. Furthermore, a bone region can be determined to be a vertebrae based on a shape of the bone region and a location of the bone region in the axial slice. For example, in abdominal or thoracic CT volume data, a vertebra is typically located near the center of the axial slice. Thus, a bone region located near the center of the axial slice and shaped like a vertebrae is identified as the vertebrae.
At step 430, a low intensity region is detected in the middle of the bone region corresponding to the vertebrae. As illustrated in
At step 440, a ring model is applied to the low intensity region to define the spinal cord region. Since the intensity of the cortical bone (vertebrae) surrounding the spinal cord is much higher than that of the spinal cord, a ring model for the spinal cord can be applied, as illustrated in
where P0={Xinitial, Yinitial, Rinitial}, is an initial parameter set, ΔP={ΔX0, ΔY0, ΔR0},
At step 450, center point of the optimal ring P* is set as the initial spinal cord point. The optimal ring P* is the best estimate of the location of the spinal cord using the ring model, and the center point of the optimal ring P* represents the spinal cord center for that axial slice. This center point is used as the initial spinal cord point.
Returning to
One possibility is to use the position of the spinal cord point detected in the previous slice to determine the search region for the current slice. However, not all the slices contain the ring-like cortical structure, as shown in
At step 610, the position of the spinal cord center for the current axial slice is predicted based on the positions of the spinal cord points detected based on previous axial slices. Prediction of the spinal cord center can be performed by properly modeling the trajectory of the spinal cord based on the previously detected spinal cord points, for example, using an autoregressive model. Such models are optimal when based on a known system model, which is not obvious in this case. Instead, it is assumed that the spinal cord is locally linear at the current and nearby axial slices. Such an assumption corresponds to a constant speed autoregressive model. Suppose the current slice is n. K previously processed slices {n−1, . . . , n−K} are used to estimate the local direction of the spinal cord by fitting a line to corresponding spinal cord points Pn−k, where k ε[1 . . . K]. Line fitting is performed by minimizing an objective function:
where D(pm,L) is the distance from the spinal cord point Pm to the line Ln. The total variation norm makes the result robust despite large variations in the spinal cord position (heavy tail observation noise). Minimization of the objective function E(Ln) can be performed by gradient descent. Once the line Ln is fit by minimizing the objective function E(Ln), the predicted spinal cord center position {{circumflex over (x)}n, ŷn} is calculated for the slice n, by determining the intersection of the slice n with the line Ln (according to constant speed autoregressive model)
At step 620, the spinal cord point for the current slice is calculated based on the predicted spinal cord center position and intensity variations in the current slice. This step calculates the spinal cord point by updating the spinal cord center position from the predicted spinal cord center position. This is implemented using a ring model to search for the spinal cord point that maximizes the contrast score (difference between the intensities of the outer and inner circles) for the ring, while also taking into account the proximity of the spinal cord point to the predicted spinal cord position. The update for the spinal cord center position can be formulated as an energy minimization problem with the predicted spinal cord center position used as an input. Given the predicted cord center position {{circumflex over (X)}n,ŷn}, the updated position and radius can be calculated using the equation:
This equation minimizes an energy function which takes into account the contrast score for the ring model and the predicted spinal cord center position. The first term of the energy function represents the contrast score of the ring model. This term is negative so that the equation searches for the maximum contrast score. The second term of the energy function favors solutions that are closer to the predicted spinal cord center position. In other words, the equation attempts to maximize the contrast score while minimizing the distance between the update position and the predicted position. The balance between the two terms is controlled by the regularization parameters α. The updated position calculated using the above equation is used as the spinal cord point for the current slice.
Once the spinal cord point is detected for a current axial slice, the method is repeated for the next axial slice. This method may be repeated sequentially until a spinal cord point is detected for each axial slice of the CT volume data. However, according to an embodiment of the present invention, the method may be terminated if the maximum intensity difference (contrast score) of an axial slice is less than a threshold value. A small maximum intensity difference for an axial slice is may indicate that the axial slice is not part of the spinal column. Accordingly, when the maximum intensity difference is less than the threshold value, it is determined that the axial slice does not contain part of the spinal column, and the method is terminated.
When the spinal cord points for all of the axial slices are detected, these points form a centerline of the spinal cord.
The steps of the method described above have been described to give a visual understanding of the spinal cord detection method. It is to be understood, that the steps may be performed within a computer system using CT volume data stored within the computer system and representing CT images Accordingly, the steps of the above-described method can occur as internal representations within the computer system.
The method for detecting the spinal cord in CT volume data can be implemented on a computer using well known computer processors, memory units, storage devices, computer software, and other components. A high level block diagram of such a computer is illustrated in
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
This application claims the benefit of U.S. Provisional Application No. 60/727,571 filed Oct. 17, 2005, the disclosure of which is herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60727571 | Oct 2005 | US |