Abstract:
A method of detecting a nodule in a three-dimensional scan image comprises calculating a three-dimensional sphericity index for each point in the scan image ( 310 - 330 ), applying a high sphericity threshold to the sphericity index ( 340 ) to obtain a candidate nodule region, and then performing region-growing ( 350 ) from the candidate region using a relaxed sphericity threshold to determine an extended region including less spherical parts connected to the candidate region. Optionally, spherical filtering may be applied to the image by matching the spherical filter to the extended region.

Description:
RELATED APPLICATIONS  
       [0001]     This application claims the benefit of the filing date of GB Patent Application No. 0411284.3, filed May 20, 2004, which is incorporated herein by reference in its entirety.  
       FIELD OF THE INVENTION  
       [0002]     The present invention relates to a method of detecting nodules in computed tomography (CT) images, and particularly but not exclusively for detecting nodules in CT images of the lung. The method may be implemented using a computer, and the invention encompasses software and apparatus for carrying out the method.  
       BACKGROUND OF THE INVENTION  
       [0003]     The mortality rate for lung cancer is higher than that for other kinds of cancers around the world. Detection of suspicious lesions in the early stages of cancer can be considered the most effective way to improve survival. Nodule detection is one of the more challenging tasks in medical imaging. Nodules may be difficult to detect on CT scans because of low contrast, small size, or location of the nodule within an area of complicated anatomy.  
         [0004]     Computer-assisted techniques have been proposed to identify regions of interest containing a nodule within a CT scan image, to segment the nodule from surrounding objects such as blood vessels or the lung wall, to calculate physical characteristics of the nodule, and/or to provide an automated diagnosis of the nodule. Fully automated techniques perform all of these steps without intervention by a radiologist, but one or more of these steps may require input from the radiologist, in which case the method may be described as semi-automated.  
         [0005]     Many lung nodules are approximately spherical, and various techniques have been proposed to identify spherical structures within a CT scan image. For example, the Nodule-Enhanced Viewing algorithm from Siemens AG is believed to perform thresholding on a three-dimensional (3D) CT scan to identify voxels having an intensity between predetermined maximum and minimum values. The identified voxels are grouped into connected objects, and objects which are approximately spherical are highlighted.  
         [0006]     U.S. 2003/0099391 discloses a method for automatically segmenting a lung nodule by dynamic programming and expectation maximization (EM), using a deformable circular model to estimate the contour of the nodule in each two-dimensional (2D) slice of the scan image, and fitting a three-dimension (3D) surface to the contours.  
         [0007]     U.S. 2003/0167001 discloses a method for automatically segmenting a CT image to identify regions of interest and to detect nodules within the regions of interest, in which a sphere is modeled within the region of interest, and points within the sphere are identified as belonging to a nodule, while a morphological test is applied to regions outside the sphere to determine whether they belong to the nodule.  
         [0008]     Although many nodules are approximately spherical, the non-spherical aspects of a nodule may be most important for calculating physical characteristics and for performing diagnosis. A spherical model may be useful to segment nodules from surrounding objects, but if the result is to incorrectly identify the nodule as a sphere and to discard non-spherical portions of the nodule, the characteristics of the nodule may also be incorrectly identified.  
       SUMMARY OF THE INVENTION  
       [0009]     According to an embodiment of the present invention, there is provided a method of detecting a nodule in a three-dimensional scan image, comprising calculating a sphericity index for each point in the scan image relative to surrounding points of similar intensity, applying a high sphericity threshold to the sphericity index to obtain a candidate nodule region, and then performing region-growing from the candidate region using a relaxed sphericity threshold to identify an extended region including less spherical parts connected to the candidate region. The extended region may be provided for display and/or for subsequent processing to calculate physical characteristics and/or to perform automatic diagnosis. In an embodiment, diagnosis may be performed by a radiologist on the basis of the enhanced image.  
         [0010]     The present inventor has realized that even non-spherical nodules generally include an approximately spherical region of a particular density: for example, a dense, spherical core may be surrounded by a slightly less dense, less spherical region that nevertheless forms part of the nodule. If a thresholding technique is applied to such a nodule, then only the shape of the outer, non-spherical region will be detected, and will be rejected as a candidate nodule because it is not sufficiently spherical. If the threshold is set between the density of the inner, spherical region and the outer, non-spherical region, then only the inner region will be detected and the outer region will be discarded. In contrast, embodiments of the present invention may allow such non-spherical nodules to be detected in their entirety.  
         [0011]     Preferably, the sphericity index is calculated from the first and second partial derivatives of the smoothed image in each direction at each point, and by calculating principal curvatures at each voxel. Equal curvatures in each direction give a high sphericity index. This method is less computationally intensive than explicitly generating iso-intensity surfaces for the image and then deriving the sphericity index from those iso-intensity surfaces.  
         [0012]     Preferably, the partial derivatives are calculated on a smoothed image. The smoothing function may involve the convolution of a smoothing function with the image. The smoothing may be applied at the same time as the partial derivatives are calculated, by convolving the scan image with the partial derivatives of the smoothing function.  
         [0013]     As an additional step, the extended region may be enhanced in the scan image by applying a spherical filter. The spherical filter may be fitted to the extended region by convolving the filter with the image, or a map of the sphericity of the image, and adjusting the filter until a maximum convolution value is achieved. The spherical filter may include a positive weighting in an inner region and a negative weighting in an outer region. The enhanced image may be output for display, and alternatively or additionally be used as input for subsequent processing stages. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]      FIG. 1  is a schematic diagram showing a CT scanner and a remote computer for processing image data from the scanner according to an embodiment of the present invention.  
         [0015]      FIG. 2  is an example computer system according to an embodiment of the present invention.  
         [0016]      FIG. 3  is a flowchart of an algorithm according to an embodiment of the present invention.  
         [0017]      FIG. 4  is a diagram of a nodule showing iso-intensity contours.  
         [0018]      FIGS. 5   a - 5   c  and  6   a - 6   c  show original images and images with spherical enhancement of two different lung phantoms.  
         [0019]      FIGS. 7   a ,  7   b  to  11   a ,  11   b  show original images and images with spherical enhancement of five different real scans.  
         [0020]      FIG. 12  illustrates a spherical filter according to an embodiment of the present invention.  
         [0021]      FIG. 13  illustrates the variation in radius of a spherical filter according to an embodiment of the present invention.  
         [0022]      FIGS. 14   a  and  14   b  show an original image and a spherically filtered image of a lung phantom.  
         [0023]      FIGS. 15   a ,  15   b  to  20   a ,  20   b  show original images and spherically filtered images respectively of six different real scans.  
     
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS  
       [0024]     CT Image  
         [0025]     Each embodiment is performed on series of CT image slices obtained from a CT scan of the chest area of a human or animal patient. Each slice is a 2-dimensional digital grey-scale image of the x-ray absorption of the scanned area. The properties of the slice depend on the CT scanner used; for example, a high-resolution multi-slice CT scanner may produce images with a resolution of 0.5-0.6 mm/pixel in the x and y directions (i.e. in the plane of the slice). Each pixel may have 32-bit grayscale resolution. The intensity value of each pixel is normally expressed in Hounsfield units (HU). Sequential slices may be separated by a constant distance along the z direction (i.e. the scan separation axis); for example, by a distance of between 0.75-2.5 mm. Hence, the scan image is a three-dimensional (3D) grey scale image, with an overall size depending on the area and number of slices scanned.  
         [0026]     The present invention is not restricted to any specific scanning technique, and is applicable to electron beam computed tomography (EBCT), multi-detector or spiral scans or any technique that produces as output a 3D image, representing for example X-ray absorption or density.  
         [0027]     As shown in  FIG. 1 , the scan image is created by a computer  110  which receives scan data from a scanner  120  and constructs the scan image. The scan image is saved as an electronic file or a series of files which are stored on a storage medium  130 , such as a fixed or removable disc. The scan image may be processed by the computer  110  to identify and display lung nodules, or the scan image may be transferred to another computer  140  which runs software for processing the image as described below. The image processing software may be stored on a carrier, such as a removable disc, or downloaded over a network.  
         [0028]      FIG. 2  illustrates an example computer system  200 , in which the present invention can be implemented as programmable code. Various embodiments of the invention are described in terms of this example computer system  200 . After reading this description, it will become apparent to a person skilled in the art how to implement the invention using other computer systems and/or computer architectures.  
         [0029]     The computer system  200  includes one or more processors, such as processor  204 . Processor  204  can be a special purpose or a general purpose digital signal processor. The processor  204  is connected to a communication infrastructure  206  (for example, a bus or network). Various software implementations are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the art how to implement the invention using other computer systems and/or computer architectures.  
         [0030]     Computer system  200  also includes a main memory  208 , preferably random access memory (RAM), and may also include a secondary memory  210 . The secondary memory  210  may include, for example, a hard disk drive  212  and/or a removable storage drive  214 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  214  reads from and/or writes to a removable storage unit  218  in a well known manner. Removable storage unit  218 , represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive  214 . As will be appreciated, the removable storage unit  218  includes a computer usable storage medium having stored therein computer software and/or data.  
         [0031]     In alternative implementations, secondary memory  210  may include other similar means for allowing computer programs or other instructions to be loaded into computer system  200 . Such means may include, for example, a removable storage unit  222  and an interface  220 . Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units  222  and interfaces  220  which allow software and data to be transferred from the removable storage unit  222  to computer system  200 .  
         [0032]     Computer system  200  may also include a communication interface  224 . Communication interface  224  allows software and data to be transferred between computer system  200  and external devices. Examples of communication interface  224  may include a modem, a network interface (such as an Ethernet card), a communication port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communication interface  224  are in the form of signals  228  which may be electronic, electromagnetic, optical, or other signals capable of being received by communication interface  224 . These signals  228  are provided to communication interface  224  via a communication path  226 . Communication path  226  carries signals  228  and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, a radio frequency link, or any other suitable communication channel. For instance, the communication path  226  may be implemented using a combination of channels.  
         [0033]     In this document, the terms “computer program medium” and “computer usable medium” are used generally to refer to media such as removable storage drive  214 , a hard disk installed in hard disk drive  212 , and signals  228 . These computer program products are means for providing software to computer system  200 .  
         [0034]     Computer programs (also called computer control logic) are stored in main memory  208  and/or secondary memory  210 . Computer programs may also be received via communication interface  224 . Such computer programs, when executed, enable the computer system  200  to implement the present invention as discussed herein. Accordingly, such computer programs represent controllers of the computer system  200 . Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system  200  using removable storage drive  214 , hard disk drive  212 , or communication interface  224 , to provide some examples.  
         [0035]     Calculation of High Sphericity Areas  
         [0036]     An embodiment comprises image-processing software for detecting nodules in a three-dimensional CT scan image of a lung. The embodiment uses an algorithm comprising three principle steps. First, a 3D sphericity index (SI) is calculated for each volume element within the 3D image (voxel); secondly, based on the computed sphericity index map, a high SI threshold is used to determine a spherical region; then, a relaxed SI threshold is applied and the 3D connectivity of voxels above the relaxed threshold to the spherical region is calculated to determine the extent of the nodule. The detailed process is described below, with reference to the flowchart of  FIG. 3 . Shape feature calculation and sphericity index map construction  
         [0037]     For a 3D image with the intensity of I(p) at a point p=(x,y,z), an iso-surface P at the level a in a 3-D space            3  is given by 
 
 P={p =( x,y,z )∈           3   ;I ( p )= a} 
 
         [0038]      FIG. 4  shows iso-intensity contours of a single slice of a sample nodule N, with intensity expressed in Hounsfield units (HU). In this case, the background intensity is 20 HU, while the outer boundary of the nodule is at approximately 90 HU, rising to over 120 HU at the core. Note that the core C is spherical (circular in this slice), while the outer boundary B is less spherical.  
         [0039]     To compute the typical surface features, such as the principal curvature, a traditional approach is to fit a parametric surface model to the 3D image and then to compute the differential characteristics of the surface in the local coordinate system. Because it is very computationally intensive to explicitly generate an iso-surface, the differential characteristics of the surface in this embodiment are calculated directly from the 3D image without explicitly defining an iso-surface. The main steps are described below.  
         [0040]     The 3D image I(x,y,z) is convolved with the Gaussian function g(x,y,z) to generate a smoothed digital 3D image (step  310 ): 
 
 h ( x,y,z )= I ( x,y,z )* g ( x,y,z )  (1) 
        where  
         g   ⁡     (     x   ,   y   ,   z     )       =       1     σ   ⁢       2   ⁢   π           ⁢     ⅇ     -       ⌊         (     x   -     μ   x       )     2     +       (     y   -     μ   y       )     2     +       (     z   -     μ   z       )     2       ⌋       2   ⁢     σ   2                   
 
 and * is a convolution operator. 
       
 
         [0042]     Next, we compute the first and second partial derivatives of the smoothed 3D image h(x,y,z) (step  320 ).  
         [0043]     The first partial derivate of h(x,y,z) in the x direction is defined as:  
               h   x     =         ⅆ   h       ⅆ   x       =       ⅆ     (       I   ⁡     (     x   ,   y   ,   z     )       *     g   ⁡     (     x   ,   y   ,   z     )         )         ⅆ   x                 (   2   )             
 
         [0044]     Based on the properties of the convolution operator, we have:  
           ⅆ     (       I   ⁡     (     x   ,   y   ,   z     )       *     g   ⁡     (     x   ,   y   ,   z     )         )         ⅆ   x       =             ⅆ     I   ⁡     (     x   ,   y   ,   z     )         )       ⅆ   x       *     g   ⁡     (     x   ,   y   ,   z     )         ⁢     
     ⁢           =       I   ⁡     (     x   ,   y   ,   z     )       *       ⅆ     g   ⁡     (     x   ,   y   ,   z     )           ⅆ   x               
 
         [0045]     So, the equation (1) can be rewritten as:  
               h   x     =       I   ⁡     (     x   ,   y   ,   z     )       *       ⅆ     g   ⁡     (     x   ,   y   ,   z     )           ⅆ   x                 (   3   )             
 
         [0046]     Using the same method we can define h y , h z  which are the first partial derivatives in the y and z direction, respectively, and also the second partial derivatives h xx , h yy , h zz , h xy , h xz , h yz . For example, h xy  which is the second partial derivative in the x and y direction is defined as:  
               h   xy     =           ⅆ   2     ⁢     h   ⁡     (     x   ,   y   ,   z     )           ⅆ   xy       ⁢     
     ⁢           =         ⅆ     (       I   ⁡     (     x   ,   y   ,   z     )       *     g   ⁡     (     x   ,   y   ,   z     )         )         ⅆ   xy       ⁢     
     ⁢           =       I   ⁡     (     x   ,   y   ,   z     )       *         ⅆ   2     ⁢     g   ⁡     (     x   ,   y   ,   z     )           ⅆ   xy                     (   4   )             
 
         [0047]     Note that according to the above definition of the partial derivatives of the smoothed 3D image h(x,y,z) (e.g. equation 3 and equation 4), in the implementation process, both stages of the smoothing and calculating partial derivatives can be combined into one step, namely, the partial derivatives of the smoothed 3D images can be obtained by convoluting the raw 3D image I(x,y,z) with the high order Gaussian filters.  
         [0048]     Next, we compute the shape features using the first and second order partial derivatives (step  330 ).  
         [0049]     Compute Gaussian (K(p)) and mean (H(p)) curvatures:  
       K   =       1          h        2       ⁢       ∑       (     i   ,   j   ,   k     )     =     Perm   ⁡     (     x   ,   y   ,   z     )           ⁢     {         h   i     ⁡     (         h   jj     ⁢     h   kk       -     h   hk   2       )       +     2   ⁢     h   j     ⁢       h   k     ⁡     (         h   ik     ⁢     h   ij       -       h   ii     ⁢     h   jk         )           }             
         H   =       1          h          3   /   2         ⁢       ∑       (     i   ,   j   ,   k     )     =     Perm   ⁡     (     x   ,   y   ,   z     )           ⁢     {       -       h   i   2     ⁡     (       h   jj     +     h   kk       )         +     2   ⁢     h   j     ⁢     h   k     ⁢     h   jk         }           ,     h   =       ∑     h   i   2           i   =   x     ,   y   ,   z             
 
         [0050]     Principal curvatures (k1(p), k2(p)) at each voxel p: 
 
 k   1 ( p )= H ( p )+{square root}{square root over (( H   2 ( p )− K ( p )))}
 
 k   2 ( p )= H ( p )−{square root}{square root over (( H   2 ( p )− K ( p )))}
 
         [0051]     Sphericity index:  
         SI   ⁡     (   p   )       =       1   2     -       1   π     ⁢   arctan   ⁢           ⁢           k   1     ⁢     (   p   )       +       k   2     ⁡     (   p   )               k   1     ⁡     (   p   )       -       k   2     ⁡     (   p   )                   
 
         [0052]     The sphericity index SI(p) characterizes the topological shape of the volume in the vicinity of the voxel p, whereas the volumetric curvature represents the magnitude of the effective curvature. Both quantities are based on two principal curvatures defined as above. The sphericity index is a function of the difference between a maximum curvature and a minimum curvature of an iso-surface at each point. If the curvature is equal in all directions, the iso-surface is a section of the surface of a sphere and the sphericity index is 1. If the iso-surface is a section of the surface of a cylinder, the sphericity index is 0.75. It is important to exclude cylindrical shapes as these are normally blood vessels.  
         [0053]     High Sphericity Index Region for Sphere-Like Object Seed  
         [0054]     A high threshold (e.g. 0.90) is applied to the sphericity index SI(p) (step  340 ), so that a set of foreground voxels is obtained for which SI(p) is above the threshold, and the foreground voxels are grouped together into connected regions. This grouping together may be done by region growing from an ungrouped foreground voxel, so as iteratively to add neighboring foreground voxels to the group until no neighboring foreground voxels exist. The process is then repeated from another ungrouped foreground voxel to define another group, until all foreground voxels belong to a group. Neighbors may be added in each of the three spatial dimensions, so that the region grows in three dimensions. The result is one or more highly spherical regions within the image. In the sample nodule N, this highly spherical region might extend only to the core C.  
         [0055]     The high threshold may be fixed by the software, or may be variable by the user, for example within the range 0.8 to 1.0.  
         [0056]     Region Growing Based on a Relaxed Sphericity Index Threshold  
         [0057]     Each of the highly spherical regions is used as an object seed for three-dimensional region growing. To each object seed, neighboring voxels above a relaxed shape-index threshold (e.g. SI(p)&gt;0.80) are added using a three-dimensional region growing technique (step  350 ). The region-growing technique is applied iteratively to the region, so that neighboring voxels above the relaxed sphericity index threshold are added to the region and new neighbors are then added if they are above the relaxed threshold, and the process continues until there are no new neighbors above the relaxed threshold. The result is one or more detected regions including connected areas of lower sphericity. In the example of  FIG. 4 , the detected region may grow as far as the boundary B.  
         [0058]     The relaxed threshold may be fixed by the software, or may be variable by the user, for example within the range 0.75 to 0.85, but must in any case be lower than the high threshold.  
         [0059]     The detected regions may be highlighted for display in the original image, or may be displayed without the original image. The detected regions may be viewed by the radiologist as an aid to diagnosis, or may be provided as input to further processing steps to calculate physical characteristics and/or to perform automatic diagnosis.  
         [0060]     Results  
         [0061]     Lung Phantom Data  
         [0062]      FIGS. 5   a - 5   c  and  6   a - 6   c  show the results of the spherical object enhancement on two different phantoms, with a) an original scan image, b) the scan image with the detected regions enhanced, and c) the detected regions without the original image.  
         [0063]     Real Lung Data  
         [0064]      FIGS. 7   a ,  7   b  to  11   a ,  11   b  show single slice CT scans with a) the original scan image and b) the scan image with the detected regions enhanced.  
         [0065]     Conclusion  
         [0066]     The proposed method has been implemented and tested on both phantom and clinical lung images. It demonstrates high performance in detecting objects such as lung nodules.  
         [0067]     Spherical Filtering  
         [0068]     An optional spherical enhancement step may be applied to the detected regions, to enhance lung nodules in a CT lung image by using spherical filtering (step  360 ).  
         [0069]     The spherical filtering process is based on image convolution with a spheroid kernel. The filter kernel has two distinct regions: a positively biased spherical inner region that has a diameter of the filter size, and a negatively biased outer shell region that has an inner diameter that is the filter size and an outer diameter that is less than twice the inner diameter, and is preferably set so that the volumes of the inner and outer shell regions are equal.  
         [0070]     With reference to  FIG. 12 , suppose the inner and outer radii are R 1  and R 2  respectively. The condition for inner region volume and outer region volume to be the same is V 1 =V 2 , where  
         V   1     =       4   3     ⁢   π   ⁢           ⁢     R   1   2     ⁢           ⁢   and         
         V   2     =         4   3     ⁢   π   ⁢           ⁢     R   2   2       -       4   3     ⁢   π   ⁢           ⁢     R   1   2             
         therefore   ⁢           ⁢     R   2       =     1.26   ⁢     R   1           
 
         [0071]     The filter kernel defines a volumetric weighting function such that points within the inner region are positively weighted, while points in the outer region are negatively weighted. In a simple example, the positive weight is +1 and the negative weight is −1. The volumetric weighting function is then convolved with the scan image data, and the convolution is summed to calculate a convolution strength. In the simple example, this means that the convolution strength is the sum of the intensities in the outer region subtracted from the sum of the intensities in the inner region.  
         [0072]     With reference to  FIG. 13 , for each detected region, the maximum diameter d of the detected region is set as the initial diameter of the spherical inner region of the filter kernel, and the centre c of the filter kernel is set as the midpoint of the diameter d. The outer diameter of the outer shell region is set so that the volumes of the inner and outer regions are the same.  
         [0073]     The radius R 1  is then varied stepwise through a range R 1 ±ε, where ε is a small difference, such as 20% of R 1 . For each stepwise variation, R 2  is varied correspondingly so that the inner and outer regions have the same volume, and the convolution strength is calculated. The maximum convolution strength is recorded, and the spherical filter with the corresponding value of R 1  is used to enhance the image. For example, the image may be convolved with the spherical filter and the convoluted image may be output for display.  
         [0074]     In an alternative embodiment, the spherical filtering may be applied to the sphericity map rather than to the original image.  
         [0075]     Experimental Results  
         [0076]     In the following tests the kernel diameters used are: 
        5, 7, 9, 11, 13, 15 pixels     4.9, 6.3, 7.7, 9.1, 10.5 millimeters        
 
         [0079]     The maximum convolution results (strength) and the size of the kernel are recorded and saved in the output image.  FIGS. 14   a  and  14   b  show a) an original and b) spherically filtered image of a phantom, while  FIGS. 15   a ,  15   b  to  20   a ,  20   b  show a) original and b) spherically filtered images from actual CT lung scans.  
         [0080]     Conclusion  
         [0081]     The spheroid filtering method has been implemented and tested on both phantom and clinical lung images, with good results where the nodules were generally spherical in shape.  
       ALTERNATIVE EMBODIMENTS  
       [0082]     The embodiments above are described by way of example, and are not intended to limit the scope of the invention. Various alternatives may be envisaged which nevertheless fall within the scope of the claims.