Abstract:
A method of removing streaks from multi-band digital images is presented in which a multi-band image is transformed to an advantageous spectral space, in which a streak removal operation is applied to the image in the advantageous spectral space. The streak removal operation is a method of removing columnar streaks from a multi-band digital image of the type in which it is assumed that pixels in a predetermined spatial and spectral region near a given pixel are strongly related to each other and employing gain and offset values to compute streak removal information, a test is performed for a strong relation between the pixels in a predetermined region spatially and spectrally near a given pixel and streak removal information is computed only if such a strong relationship exists, whereby image content that does not extend the full length of the image in the column direction will not be interpreted as a streak.

Description:
FIELD OF THE INVENTION  
         [0001]    The invention relates generally to the field of image processing, and in particular to an image processing method for removing streaks in multi-band digital images (images consisting of three or more spectral bands). The invention is particularly useful in removing streaking in multi-band digital images that are acquired by a linear image sensing array, but may also be used to remove streaks in conventional color film that are caused by the camera or processing equipment.  
         BACKGROUND OF THE INVENTION  
         [0002]    Multi-band imaging sensors typically are designed such that each band of the imaging system is sensitive to a pass-band of electromagnetic radiation. For example, a standard color imaging system consists of three bands (or arrays of detectors) sensitive to red, green, and blue light, respectively. Imaging systems such as multi-spectral or hyper-spectral systems contain many detector bands. These systems may contain spectral bands sensitive to non-visible parts of the electromagnetic spectrum such as to NIR (near-infrared), SWIR (short-wave infrared) or MWIR (mid-wave infrared) in addition to bands sensitive to red, green, and blue light. Color composite imagery is commonly formed from multi-spectral imagery and hyper-spectral imagery by mapping three selected bands to the red, green, and blue bands of an output display device such as a video monitor, or a digital color printer.  
           [0003]    Every detector of a given spectral band in an electronic image sensor, such as a CCD image sensor, may have a different response function that relates the input intensity of light (or other electromagnetic radiation) to a pixel value in the digital image. This response function can change with time or operating temperature. Image sensors are calibrated such that each detector in a given spectral band, has the same response for the same input intensity (illumination radiance). The calibration is generally performed by illuminating each detector of the spectral band with a given radiance from a calibration lamp and then recording the signal from each detector to estimate the response function of the detector. The response function for each detector is used to equalize the output of all of the detectors such that a uniform illumination across all of the detectors will produce a uniform output. This calibration is typically performed separately for each band of a multi-band imaging system.  
           [0004]    [0004]FIG. 1 shows a schematic of an image acquired by a linear image sensing arrays. In such an image, if errors in estimating the response curve of a detector are different from the errors in the response curve of an adjacent detector, the detector responses will not be equalized and streaking  2  will appear in the image along the scan direction indicated by arrow A. Since these calibration errors can occur within each band of a spectral imaging system, and several bands of a spectral imaging system are often combined together to form a color composite image, the streaking  2  may appear in various colors. Often to achieve a very long array, several image sensor chips are joined together to form a single linear image sensor. Slight differences in response between chips (due to variations in sensor chip manufacturing, or sensor electronics processing) can lead to large calibration errors between chips. When calibration errors occur between chips, the streaking is generally referred to as banding, as illustrated at reference numeral  4 .  
           [0005]    Even when the detectors are calibrated to minimize the streaking in the image, some errors from the calibration process are unavoidable. Typically, a spectral filter is placed on a given detector, or sensor chip to create an imaging band sensitive to a specific region in the electromagnetic spectrum. Depending on the architecture of the sensor array, it may be necessary to have several spectral filters of the same bandpass to cover the entire array. Often, due to the variations in the spectral filter manufacturing process, the filters that are placed over the detectors in a given band may be slightly different in spectral bandpass and spectral shape. In addition, material variations, and the angle of incidence of light on a spectral filter, causes additional spectral variations depending on the position of the spectral filter on the sensor array. As a result, each detector within a spectral band is sensitive to a slightly different spectrum of light, but they are all calibrated using the same calibration lamp with a broad, non-uniform spectrum. Since the scene spectrum is unknown, the calibration process assumes that the spectrum of the calibration lamp and scene are identical. The spectrum of the calibration lamp will usually be somewhat different than the spectrum of the scene being imaged, hence calibration errors will occur. This calibration error is also referred to as spectral banding. Calibration errors also occur because the calibration process includes an incomplete model of the complete optical process and because the response function for each detector changes over time and operating temperature.  
           [0006]    Streaking can be seen in uniform areas of an image acquired by a linear detector and become very apparent when the contrast of the image is enhanced. Calibration differences between the red, green, and blue detectors of color imaging systems (or any of the bands in a multi-spectral or hyper-spectral imaging system) produce streaks of varying colors in the composite color image. These streaks not only reduce the aesthetic quality of digital images but can impact the interpretability of features in the images. Streaking also severely degrades the performance of pattern recognition, feature extraction algorithms, image classification algorithms and automated or semi-automated target recognition algorithms.  
           [0007]    Streaks can be attenuated by reducing the contrast of each image band or by blurring each image band in a direction perpendicular to the streaking, but these methods degrade the quality of the overall image. Previously developed algorithms designed to remove streaks from digital imagery while preserving the sharpness and contrast of the image were designed to remove streaks on single band imagery; not on multi-band imagery. These algorithms only take into account spatial information present in the image to remove streaks. No attempt is made to examine additional color information or spectral correlation available in multi-spectral or hyper-spectral imagery to remove streaks. As a result, when applying these techniques to multi-band imagery, these algorithms do not completely remove all of the color streaks present in the original image and may introduce objectionable color streaks or bands as artifacts. These algorithms do not preserve and/or restore the overall color fidelity of the image. In addition, applying algorithms designed to remove streaks from single band imagery on color or multi-spectral imagery, is a non-optimal method for streak removal for color imagery or multi-spectral imagery, as these algorithms do not use all of the available information that is present in multi-band imagery during the streak removal process.  
           [0008]    U.S. Pat. No. 5,065,444, issued Nov. 12, 1991, to Garber discloses a method of removing streaks from single band digital images by assuming that pixels in a predetermined region are strongly correlated, examining the pixels in the region, computing the difference between the pixels in the region, thresholding the pixel differences lower than a predetermined value, computing a gain and offset value from the distribution of differences, and using the gain and offset value to remove the streaking. Methods that assume a strong correlation between pixels that are near each other, such as the one disclosed by Garber will interpret scene variations as streaks and produce additional streaking artifacts in the image as a result of attempting to remove existing streaks. FIG. 2 a  shows an image having streaks  2  and linear features  6  that are in the same direction as the streaks. As shown in FIG. 2 b,  the correction of the streaks  2  using the method taught by Garber removes the streaks  2 , but results in additional streaking artifacts  8 . Applying the method by Garber to each spectral band of multi-band images will result in objectionable color streaks and color banding artifacts.  
           [0009]    U.S. Pat. No. 5,881,182, issued Mar. 9, 1999, to Fiete et al., which is incorporated herein by reference, discloses a method of removing streaks by comparing the means between a local window region of two columns of data in the imagery to determine if a streak was present, and presenting statistical methods to calculate a gain and offset to remove the streaks. To apply this method on spectral or color imagery (imagery that consists of more than one spectral band), this method would be applied independently to each band of the spectral imagery, and then the bands of the spectral imagery are recombined to form a color composite image. The method of Fiete et al. looks only at the spatial and luminance information within each band independently; hence calibration differences between each of the bands may not be corrected. As a result, when applied independently to each band of a multi-band image, and then combining these spectral bands together to form a color composite image, all of the color streaks may not be completely removed from the imagery. Yet, when the three spectral bands from a multi-band spectral image, each containing some unremoved streaks and slight banding artifacts, are combined to form a composite three band color image, these artifacts manifest to form objectionable color streaks and color banding in the color composite imagery. The method of Fiete et al. does not adequately remove color streaks from multi-band imagery.  
           [0010]    There is a need therefore for an improved digital image processing method for removing streaks in color or multi-band images. The method presented here is an improvement of the method of Fiete et. al. to better remove color streaks and bands from multi-band imagery.  
         SUMMARY OF THE INVENTION  
         [0011]    The object of the present invention is achieved in a method of removing columnar streaks from a multi-band digital image of the type in which the spectral bands are transformed to an advantageous spectral space, the streak removal operation is performed in the advantageous spectral space, and then the bands are transformed back into the original space. The method of removing columnar streaks is a method of the type in which it is assumed that pixels in a predetermined region near a given pixel within each transformed band are strongly related to each other and employing gain and offset values to compute streak removal information, by testing for a strong relation between the pixels in a predetermined region near a given pixel and computing streak removal information only if such a strong relationship exists, whereby image content that does not extend the full length of the image in the columnar direction will not be interpreted as a streak.  
           [0012]    The method of the present invention adaptively removes streaking, as well as banding, in multi-band digital images without reducing the sharpness, contrast, or color fidelity of the image. Streaking occurs in multi-band image output from linear scanners and is generally caused by differences in the responsivity of detectors or amplifiers or non-uniform spectral response of filters. The method disclosed detects pixel locations in the image where pixel-to-pixel differences (both within bands and between bands) caused by streaking can be distinguished from normal variations in the scene data. A linear regression is performed between each spatially and spectrally adjacent pixel in a direction perpendicular to the streaking at the detected locations. A statistical outlier analysis is performed on the predicted values to remove the pixels that are not from the streaking. A second linear regression is performed to calculate the slope and offset values. The slope is set to unity if it is not statistically different from unity, and the offset is set to zero if it is not statistically different from zero. The slope and offset values are then used to remove the streaking from the corresponding line of image data.  
         ADVANTAGEOUS EFFECT OF THE INVENTION  
         [0013]    This invention adaptively removes streaking in multi-band digital image by using both spatial and spectral information within the image. By using spectral information present in multi-band imagery, better determinations can be made of streaks than by using just spatial information present in just one band of the imagery.  
           [0014]    The streak removal operation consists of transforming the multi-band data to an advantageous spectral space, testing for a strong correlation between the pixels in a predetermined region and computing streak removal information only if such a strong relationship exists, and the transforming back into the original spectral space. This process will remove the residual streaks that appear even after a calibration is performed on the imaging sensor. This method does not reduce the contrast, sharpness, and preserves and/or improves the color fidelity of the image. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]    [0015]FIG. 1 illustrates the streaking artifact in an image;  
         [0016]    FIGS.  2 ( a )- 2 ( b ) illustrates the artifacts produced by methods that assume that pixels in a predetermined region near a given pixel are strongly related to each other;  
         [0017]    [0017]FIG. 3 is a diagram showing an image processing chain using the present invention;  
         [0018]    [0018]FIG. 4 illustrates the individual spectral bands that make up a multi-band image;  
         [0019]    [0019]FIG. 5, made up of FIG. 5( a ) and FIG. 5( b ), is a flow chart of the entire multi-band streak removal process according to the present invention  
         [0020]    [0020]FIG. 6 illustrates a digital mask that is used to test for pixels that are strongly related to each other in a predetermined region; and  
         [0021]    [0021]FIG. 7 is a graph illustrating the linear regression with the two adjacent columns of image data, useful in describing the method of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0022]    The streak removal process of the present invention can be employed in a typical image processing chain, such as the one shown in FIG. 3. A digital sensor  10 , e.g. a linear scanner used in a camera system or a photographic scanner, outputs a multi-band digital image  12 . If the detectors have gone through a calibration process, then each band of the multi-band digital image  12  may go through a detector equalization process  14  to produce an equalized multi-band image  16 . Both the digital image  12  and the equalized image  16  will contain streaks  2  as shown in FIG. 1. The digital multi-band image  12  or the equalized digital multi-band image  16  is processed through the multi-band streak removal process  18  to produce a corrected digital multi-band image  20  that has the streaks removed. This corrected digital image  20  is then processed through the nominal image processing chain and enhancements  22  to produce the final processed image  24 . Without the streak removal process  18 , the image processing and enhancements  22  may actually reduce the quality of the final processed image  24 , especially if the digital image  12  is low in contrast or if the image processing and enhancements  22  includes a feature extraction algorithm, or an automated computer information extraction algorithm.  
         [0023]    If the original image was a photographic color image having streaks or scratches, for example the scratches seen in old movie film, the images may be scanned in a high quality scanner and the streaks or scratches removed by the method of the present invention.  
         [0024]    The preferred embodiment of the multi-band streak removal process described below is presented in the context of removing streaks from a multi-band sensor system. A single-band sensor system collects a single image that represents a single spectral band of the scene. A multi-band sensor system collects a total of N band  multiple images, each acquired at different spectral bands denoted (λ 1 , λ 2 , λ 3 , . . . , λ Nband ), as shown in FIG. 4. If the multi-band sensor systems contain more than three spectral bands, then at the completion of the spectral band removal operation, any three of the spectral bands may be selected to create a color composite image for output display. (i.e. mapped to the red, green, and blue channels of an output device) or a subset of the N band  images may be selected for input into an automated information extraction algorithm.  
         [0025]    Presented below is the single-band streak removal operation  18 . For the discussion of this invention it will be assumed that the streaks occur in columnar direction of each band of the multi-band digital image  12 . The pixel at column coordinate x and row coordinate y and band location z has a digital count value i(x,y,z). If d x  is the detector for column x, then the response curve for detector d x  in the digital sensor  10  can be modeled as a linear function of the input illumination radiance, thus  
           i ( x,y,z )= a   x   I ( x,y,z )+ b   x ,   (1)  
         [0026]    where I(x,y,z) is the intensity of the illumination radiance at location (x,y,z) in the image, a x  is the gain for detector d x , and b x  is the bias for detector d x .  
         [0027]    Streaks occur in the digital image  12  because adjacent detectors in the digital sensor  10  have different response curves. The difference Δ(x,y,z) between adjacent pixels within band z is given by  
         Δ( x,y,z )= i ( x,y,z )− i ( x+ 1 ,y,z )= a   x   I ( x,y,z )+ b   x   −a   x+1   I ) x+ 1 ,y,z )− b   x+1 ,   (2)  
         [0028]    and is dependent on the detector response as well as the difference between the illumination radiance incident on the adjacent pixels. If the detectors d x  and d x+1  have the same response curves, i.e. if a x =a x+1  and b x =b x+1 , then  
         Δ( x,y,z )= i ( x,y,z )− i ( x+ 1 ,y,z )= a   x   [I ( x,y,z )− I ( x+ 1, y,z )],   (3)  
         [0029]    and the difference between i(x,y,z) and i(x+1,y,z) is proportional to the difference between the illumination radiance incident on the adjacent pixels, which is desired, and no streaks due to sensor calibration errors will be present.  
         [0030]    If I(x,y,z)=I(x+1,y,z) in Eq. (2) then  
         Δ( x,y,z )= i ( x,y,z )− i ( x+ 1 ,y,z )=[ a   x   −a   x+1   ]I ( x,y,z )+[ b   x   −b   x+1 ],   (4)  
         [0031]    and the difference between i(x,y,z) and i(x+1,y,z) is entirely from the different response curves between detectors d x  and d x+1 .  
         [0032]    If I(x+1,y,z) is substituted for I(x,y,z) using Eq. (3) then  
               i        (     x   ,   y   ,   z     )       =           a   x          i        (       x   +   1     ,   y   ,   z     )         -       b     x   +   1         a     x   +   1         +     b   x       =           a   x       a     x   +   1              i        (       x   +   1     ,   y   ,   z     )         +       [       b   x     -         a   x       a     x   +   1              b     x   +   1           ]     .                 (   5   )                               
 
         If                 Δ                   a   x       ≡         a   x       a     x   +   1                       and                 Δ                   b   x       ≡       b   x     -         a   x       a     x   +   1              b     x   +   1                                 
 
         [0033]    then  
           i ( x,y )=Δ a   x   i ( x+ 1, y,z )+Δ b   x    (6)  
         [0034]    and i(x,y,z) is just a linear transformation of i(x+1y,z) with a slope Δa x  and offset Δb x . By determining Δa x  and Δb x , the streaking between columns x and x+1 can be removed if the pixel count values i(x+1,y,z) are replaced with i(x+1,y,z)where  
           i ( x+ 1, y,z )≡Δ a   x   i ( x+ 1 ,y,z )+Δ b   x .   (7)  
         [0035]    The difference between adjacent pixels is now  
         Δ( x,y,z )= i ( x,y,z )− î ( x+ 1 ,y,z )= a   x   I ( x,y,z )+ b   x   −{Δa   x   [a   x+1   I ( x+ 1 ,y,z )+ b   x+1   ]+Δb   x }       =         a   x          I        (     x   ,   y   ,   z     )         +     b   x     -     {           a   x       a     x   +   1              [         a     x   +   1            I        (       x   +   1     ,   y   ,   z     )         +     b     x   +   1         ]       +     b   x     -         a   x       a     x   +   1              b     x   -   1           }                             
 = a   x   [I ( x,y,z )− I ( x+   1   ,y,z )],   ( 8 )  
         [0036]    which is the desired result from Eq. (3), hence no streaks due to sensor calibration error will be present.  
         [0037]    Methods that determine Δa x  and Δb x  by assuming that the illumination radiance is always approximately equal in a predetermined region near pixel i(x,y,z), e.g. I(x,y,z)≈I(x+1,y,z), such as the one disclosed in U.S. Pat. No. 5,065,444, will generate poor estimates of Δa x  and Δb x  where I(x,y,z)≠I(x+1,y,z) and artifacts will occur. Methods that determine Δa x  and Δb x  by testing for strong relationships in spatial features within a single band and computing Δa x  and Δb x  only from pixels where I(x,y,z)≈I(x+1,y,z), such as the one disclosed in U.S. Pat. No. 5,881,122 do not use any available information present in the other bands. Spectral streaking will not be removed using these methods.  
         [0038]    According to the present invention, spectral streaks will be removed if a spectral transformation is first performed on each imaging band as a pre-processing step to transform the data into a spectrally advantageous space. In general, the spectral transformation will take the form:  
           i ′( x,y,z ′)=∂[ i ( x,y,z )],   (9)  
         [0039]    where ∂ is a transformation operator, operating on each of the spectral bands of the input image, i(x,y,z). In the preferred embodiment, this transformation is a linear combination of the original bands, given by  
                 i   ′          (     x   ,   y   ,     z   ′       )       =       ∑     z   =   1       N   band              α       z   ′     ,   z            i        (     x   ,   y   ,   z     )                   (   10   )                               
 
         [0040]    where α z′,z  are the linear transformnation coefficients. In matrix notation this transform is given by  
           ĩ ′( x,y,z ′)= Ãĩ ( x,y,z )   (11)  
         [0041]    where Ã is the N band ×N band  transformation matrix. The transformation combines the radiometric and spectral information from each band into new bands, such that when streaks are removed from the transformed data, the spectral information is included. The optimal transformation to use will be dependent on the number of bands of data, the spectral bandpass of each of the imaging bands, and other imaging band dependent sensor characteristics.  
         [0042]    If the multi-band image contains three bands, or three pre-selected bands from the multi-band image are desired to form a color composite output, then the following transformation is used on the data in the preferred embodiment to minimize color streaking artifacts:  
           i ′( x,y, 1)=0.2999 i ( x,y, 1)+0.587 i ( x,y, 2)+0.114 i ( x,y, 3)   (12)  
           i ′( x,y, 2)=−0.1687 i ( x,y, 1)−0.3313 i ( x,y, 2)+0.500 i ( x,y, 3)   (13)  
           i ′( x,y, 3)=0.500 i ( x,y, 1)−0.4187 i ( x,y, 2)−0.0813 i ( x,y, 3).   (14)  
         [0043]    Once the spectral transformation is performed, a streak removal operation is performed on each of the spectrally transformed bands of i′(x,y,z′) one band at a time using information from the all other spectral bands in the streak removal process. Let i′(x,y,z ref ) refer to the band currently undergoing the streak removal operation, where Z ref  is referred to as the reference band. Let i′(x,y,z tests1 ) refer to all other bands in the image, excluding the reference bands (z ref ). These bands shall be referred to as the test bands. In the streak removal operation performed on an individual band, a test is performed for a strong relationship in spatial features between spectrally and spatially correlated pixels and Δa x  and Δb x  are computed only from those pixels where i′(x,y,z ref )≈i′(x+1y,z ref ) and i′(x,y,z test1d )≈i(x+1,y,z ref ) thus preventing artifacts due to the processing to remove streaking from occurring and allowing spatial information from other bands that are highly correlated to the current band to be used in the streak removal process. A schematic of the streak removal process  18  disclosed in this invention is shown in FIG. 5. First two adjacent columns of image data are selected  30  from band z ref . Next, a column of pixel value pairs representing the pixel values of the adjacent pixels of the two columns is formed  32 . Next a pair of columns of local mean values representing the mean values of pixels in an N pixel window for each of the adjacent columns of image data is formed  34 . The local means μ ref (x,y,z ref ) and μ ref  (x+1,y,z ref ) are calculated using  
                 μ   ref          (     x   ,   y   ,     z   ref       )       =       1   N            ∑     n   =       -     (     N   -   1     )       2           (     N   -   1     )     2              i   ′          (     x   ,     y   +   n     ,     z   ref       )                   (   15   )                   μ   ref          (       x   +   1     ,   y   ,     z   ref       )       =       1   N            ∑     n   =       -     (     N   -   1     )       2           (     N   -   1     )     2              i   ′          (       x   +   1     ,     y   +   n     ,     z   ref       )                   (   16   )                   μ     test   i            (     x   ,   y   ,     z     test   i         )       =       1   N            ∑     n   =       -     (     N   -   1     )       2           (     N   -   1     )     2              i   ′          (     x   ,     y   +   n     ,     z     test   i         )                   (   17   )                               
 
         [0044]    where N is the window length. To determine if i′(x,y,z ref )≈i′(x+1,y,z ref ), a mask, such as the mask  35  shown in FIG. 6, is centered at pixel i′(x,y,z ref ) and convolved with the image. Pixels in the first and last (N−1)/2 rows of the image will not be used to determine Δa x  and Δb x .  
         [0045]    Next, a test for similarity between bands in the local pixel regions is also performed. First a bias, B 1 , is added to the pixel values in each of the local windows in the bands z test1  used to calculate the mean in Eq. (17) such that μ ref =μ test1 . Next, a correlation is calculated  36  over the local window region (x,y+n) between each test band z testi  and the reference band z ref,  given by  
               Corr   i     =         ∑   n            [         i   ′          (     x   ,     y   +   n     ,     z   ref       )       -     μ   ref       ]     *     [         i   ′          (     x   ,     y   +   n     ,     z   testi       )       -     μ   testi       ]                 ∑   n            [         i   ′          (     x   ,     y   +   n     ,     z   ref       )       -     μ   ref       ]     2                  ∑   n          [         i   ′          (     x   ,     y   +   n     ,     z   testi       )       -     μ   testi       ]                     (   18   )                               
 
         [0046]    Next, a local difference metric M ref (x,y,z ref )is calculated that measures the similarity between local pixel regions. A difference metric based on the difference between the mean reduced values is given by  
                 M   ref          (     x   ,   y   ,     z   ref       )       =       1   N              ∑     n   =       -     (     N   -   1     )       2           (     N   -   1     )     2              {       [         i   ′          (     x   ,     y   +   n     ,     z   ref       )       -     μ        (     x   ,   y   ,     z   ref       )         ]     -     [         i   ′          (       x   +   1     ,     y   +   n     ,     z   ref       )       -     μ        (       x   +   1     ,   y   ,     z   ref       )         ]       }     2                   (   19   )                               
 
         [0047]    If the calculated correlation, Corr i &gt;T c , where T c  is the correlation threshold, for a given test band (Z testi ), then an additional difference metric M testi (x,y,z testi ) is calculated:  
           M   testi ( x,y,z   testi )=                 M   testi          (     x   ,   y   ,     z   testi       )       =       1   N              ∑     n   =       -     (     N   -   1     )       2           (     N   -   1     )     2              {       [         i   bias   ′          (     x   ,     y   +   n     ,     z   testi       )       -       μ   testi          (     x   ,   y   ,     z   testi       )         ]     -     [         i   ′          (       x   +   1     ,     y   +   n     ,     z   ref       )       -       μ   testi          (       x   +   1     ,   y   ,     z   ref       )         ]       }     2                   (   20   )                               
 ( 20 )  
         [0048]    where i bias (x,y+n,z testi ) represents the bias adjusted pixels over the local window region. Next, the average local difference metric  37  is calculated:  
               M        (     x   ,   y   ,   z     )       =           M   ref          (     x   ,   y   ,     z   ref       )       +       ∑     test   i              M     test   i            (     x   ,   y   ,     z     test   i         )               N   bandsC     +   1               (   21   )                               
 
         [0049]    where N bandsC  are the number of test bands in which Corr i &gt;T c .  
         [0050]    The local pixel regions are similar if M(x,y,z)&lt;T M , where T M  is the difference metric threshold. The optimal value for T M  will depend on the characteristics of the digital sensor  10 . A maximum difference threshold, T 66  , is defined by determining the largest magnitude difference of Δ(x,y,z) that is possible from calibration differences alone.  
         [0051]    To determined the values of Δa x  and Δb x  in Eq. (7), two columns of pixel values i x,z (n) and pixel values i x+1 (n), where n is a counting index, are generated  38  for each row x, where only the k values of i(x,y,z ref ) and i(x+1,y,z ref ) that satisfy the conditions M(x,y,z ref )&lt;T M  and |Δ(x,y,z ref )|&lt;T Δ  are used.  
         [0052]    Initial estimates of the slope and offset are determined by performing a linear regression between i x (n) and i x+1 (n) to determine the regression line  39  in FIG. 7. The initial estimate of the slope, Δa′ x , is calculated 40 by  
               Δ                   a   x   ′       =           k          ∑     n   =   1     k              i     x   +   1            (   n   )              i   x          (   n   )             -       ∑     n   =   1     k              i     x   +   1            (   n   )              ∑     n   =   1     k            i   x          (   n   )               )         k          ∑     n   =   1     k            i     x   +   1     2          (   n   )           -       (       ∑     n   =   1     k            i     x   +   1            (   n   )         )     2                 (   22   )                               
 
         [0053]    where k is the total number of elements in i x (n). The initial estimate of the offset, Δb′ x , is calculated  42  by  
               Δ                   b   x   ′       =             ∑     n   =   1     k            i   x          (   n   )         -     Δ                   a   x            ∑     n   =   1     k            i     x   +   1            (   n   )             k     .             (   23   )                               
 
         [0054]    The slope Δa x  and offset Δb x  for Eq. (7) are determined by performing a second linear regression between i x (n) and i x+1 (n) after the statistical outliers  43  in FIG. 7 have been removed from the estimates of Δa′ x  and Δb′ x . The standard error s e  of the linear regression is calculated  44 . The statistical outliers  43  will be defined as points lying outside a boundary  45  that is dependent on the standard error of estimate S e , given by  
                 s   e     =           ∑     n   =   1     k            [         i   x          (   n   )       -         i   ^     x          (   n   )         ]     2         k   -   2           ,           (   24   )                               
 
         [0055]    where  
           î   x ( n )=Δ a   x   i   x+1 ( n )+ Δb   x .   (25)  
         [0056]    Values of i(x,y,z ref ) that satisfy the condition |i x (n)−î x (n)|&gt;T s  are determined  56 , these values are not statistical outliers. The outlier threshold T s  is proportional to s e  and is typically set equal to 3s e . Two new columns of pixel values, i x (n) and its adjacent pixel i x+1 (n) are generated  48  for each row x, where only the j≦k. The slope Δa x  and offset Δb x  for Eq. (7) are now determined  60  by  
               Δ                   a   x       =           j          ∑     n   =   1     j              i     x   +   1            (   n   )              i   x          (   n   )             -       ∑     n   =   1     j              i     x   +   1            (   n   )              ∑     n   =   1     j            i   x          (   n   )               )         j          ∑     n   =   1     j            i     x   +   1     2          (   n   )           -       (       ∑     n   =   1     j            i     x   +   1            (   n   )         )     2                 (   26   )                 Δ                   b   x       =             ∑     n   =   1     j            i   x          (   n   )         -     Δ                   a   x            ∑     n   =   1     j            i     x   +   1            (   n   )             j     .             (   27   )                               
 
         [0057]    The final statistical tests performed  52  are to determine if the slope Δa x  is statistically different from unity and the offset Δb x  is statistically different from zero. These tests are performed to ensure that the difference in the response curves estimated for detectors d x  and d x+1  are statistically different. If they are not statistically different, then using the estimates for Δa x ≠1 and Δb x ≠0 may add streaking to the image rather than remove it, hence degrading the quality of the image rather than improving it.  
         [0058]    A statistical hypothesis test is used to determine if the slope Δa x  is statistically different from unity. The t statistic is given by  
               t     Δa   x       =              Δ                   a   x       -   1            s     s   i                 (   28   )                               
 
         [0059]    where  
                 s   =       {         ∑     n   =   1     j            i   x   2          (   n   )         -         [       ∑     n   =   1     j            i   x          (   n   )         ]     2     j             }     -     Δ                   a   x          {         ∑     n   =   1     j              i     x   +   1            (   n   )              i   x          (   n   )           -         ∑     n   =   1     j              i     x   +   1            (   n   )              ∑     n   =   1     j            i   x          (   n   )             j       }               (   29   )                 s   i     =             ∑     n   =   1     j            i     x   +   1     2          (   n   )         -         [       ∑     n   =   1     j            i     x   +   1            (   n   )         ]     2     j         .             (   30   )                               
 
         [0060]    The t statistic is compared to the t distribution value t α/2  to determine if Δa x  is statistically different from unity. If t Δa     x   &lt;t α/2  then Δa x  is not statistically different from unity hence a value of 1 is used  54  for Δa x  in Eq. (7). The value used for t α/2  depends on the number of sample points j as well as the confidence level desired for the statistical test, which is given by 100(1−α)%. For a 95% confidence and  
         j   &gt;   50     ,       t     α   2       =     1.96   .                             
 
         [0061]    To determine if the offset Δb x  is statistically different from zero, the t statistic is given by  
               t     Δb   x       =              Δ                   b   x                s              ∑     n   =   1     j            i     x   +   1     2          (   n   )         j           s   i         .             (   31   )                               
 
         [0062]    If t Δb     x   &lt;t α/2  then Δb x  is not statistically different from zero hence a value of 0 is used  56  for Δb x  in Eq. (7).  
         [0063]    Finally, the pixels i(x+1,y,z ref ) in column x are modified by Eq. (7) to remove the streaks  58 . The procedure outlined above is repeated for the next column of image data. This process is continued until all columns of the image data have been processed in the reference band. This process is then repeated for each band of the spectrally transformed image. Once each band of the spectrally transformed image is streak-removed, the inverse spectral transformation  60  is applied  
           ĩ ( x,y,z )= Ã   −1   ĩ ′( x,y,z ′)   (32)  
         [0064]    where Ã −1  is the N band ×N band  inverse transformation matrix, and the corrected digital image  24  is output. In the preferred embodiment for a three-band color image, the inverse spectral transform is:  
           i ( x,y, 1)= i ′( x,y, 1)+1.402 i ′( x,y, 3)   (33)  
           i ( x,y, 2)= i ′( x,y, 1)−0.34414 i ′( x,y, 2)−0.71414 i ′( x,y, 3)   (34)  
           i ( x,y, 3)= i ′( x,y, 1)+1.772 i ′( x,y, 2).   (35)  
         [0065]    The invention has been described with reference to a preferred embodiment. However, it will be appreciated that variations and modifications can be effected by a person of ordinary skill in the art without departing from the scope of the invention.  
       PARTS LIST  
       [0066]    [0066] 2  streaks  
         [0067]    [0067] 4  banding  
         [0068]    [0068] 6  scene variation  
         [0069]    [0069] 8  image artifact  
         [0070]    [0070] 10  digital sensor  
         [0071]    [0071] 12  digital image  
         [0072]    [0072] 14  detector equalization  
         [0073]    [0073] 16  equalized image  
         [0074]    [0074] 18  streak removal operation  
         [0075]    [0075] 20  corrected digital image  
         [0076]    [0076] 22  image processing and enhancements  
         [0077]    [0077] 24  final processed image  
         [0078]    [0078] 28  transform multi-band data to spectrally advantageous space step  
         [0079]    [0079] 30  selecting two adjacent columns of pixels step  
         [0080]    [0080] 32  create two columns of adjacent pixel values step  
         [0081]    [0081] 34  calculate local means step  
         [0082]    [0082] 35  mask used for testing pixel relationship  
         [0083]    [0083] 36  Calculate correlation between bands step  
         [0084]    [0084] 37  calculate local difference metric step  
         [0085]    [0085] 38  remove pixel values from columns of pixel values that exceed thresholds step  
         [0086]    [0086] 39  line from linear regression  
         [0087]    [0087] 40  determine initial estimate of slope step  
         [0088]    [0088] 42  determine initial estimate of offset step  
         [0089]    [0089] 43  statistical outliers  
         [0090]    [0090] 44  calculate standard error of linear regression step  
         [0091]    [0091] 45  statistical outlier boundary  
         [0092]    [0092] 46  determine statistical outliers step  
         [0093]    [0093] 48  remove statistical outliers from columns of pixel values step  
         [0094]    [0094] 50  determine new estimate of slope and offset step  
         [0095]    [0095] 52  determine t statistics for slope and offset step  
         [0096]    [0096] 54  set slope to unity if not statistically different from unity step  
         [0097]    [0097] 56  set offset to zero if not statistically different from zero step  
         [0098]    [0098] 58  remove streaking using slope and offset values step