1 Introduction

Flat panel detectors (FPDs) are used to obtain high resolution computed tomography (CT) image. But due to technical faults of these FPDs, ring artifacts are often generated in the CT image. These artifacts may be caused by damaged detector pixels, mis-calibrated detector pixels, impurities in scintillator crystal or dust on scintillator screens. All these phenomena attribute to the generation of a number of concentric superimposed rings in the reconstructed image which correspond to stripe artifacts in sinogram domain. These rings can be of different types and of different intensities. As for example, completely damaged detector pixels cause strong isolated or band rings. Similar artifacts also arise from dusty or damaged scintillator screens [1]. On the other hand, mis-calibrated detector elements lead to less strong ring artifacts in the tomographic image [2]. These artifacts are also sensitive to tube voltage. Changes in the tube voltage alter the intensity of the ring. As these artifacts severely degrades the image quality by obscuring significant image details, it is necessary to remove them, otherwise, post processing, such as noise reduction or segmentation of image information, becomes quite difficult.

There are a number of different methods to reduce these ring artifacts, e.g., hardware modification [3], flat-field correction [4], and signal processing in sinogram domain [57]. In hardware based approach, the detector array is moved during data acquisition to reduce the non-uniform sensitivity of different detector elements. Then an average response of all the detector pixels is calculated to suppress the ring artifacts [8, 9]. But in this approach special hardware arrangement is needed. In flat-field correction, image acquisition is done twice. At first image is obtained without placing the object in the X-ray beam and then with the object placed in the X-ray beam. The first image has the response of faulty detector elements, damaged scintillator and also inhomogeneities in the incident X-ray beam. But this approach fails to remove the rings completely if the response function of different detector element is different [4]. In [10], two post-processing techniques both using mean and median filtering but working in different geometric planes (i.e., polar and cartesian) were proposed for the correction of ring artifacts. In the reported work, it was shown that the algorithm in polar coordinate (RCP) outperforms the algorithm in cartesian coordinate in removing ring artifacts in the images obtained from C-Arm CT system. In addition to that, the RCP method was also applied for removing ring artifacts from micro-CT images [11]. But when there is a strong ring having high frequency content is present in the CT image, the RCP algorithm fails to remove it effectively. On the other hand, sinogram processing is used before reconstructing the image. As ring artifacts appear as stripes in the sinogram domain, it is more convenient to remove the stripes in sinogram [5, 6]. A sinogram correction technique using its original mean curve and smoothed version has been proposed in [12]. But this approach is not effective for removing all types of artifacts. Strong rings with varying intensities appearing from damaged detector pixels cannot be removed by this method [6]. Different filtering techniques like combined wavelet-Fourier filtering [1] and iterative morphological filtering [13] were also proposed as ring correction methods recently. These methods present a general analysis for eliminating ring artifacts from the tomographic slice. But all these reported works do not provide any classification of the different types of artifacts present in the CT image. These different types of rings that are present in a CT image was first mentioned in [14]. But no separate detection or correction algorithm for these different types of rings was proposed in that work. Therefore, a single removal algorithm was applied for all types of rings which often does not give good result. But in a very recent work in this field, a two-class classification scheme was proposed for the ring artifacts present in a CT image [15]. It classified strong artifacts due to completely dead pixels and weak artifacts due to mis-calibrated pixels. But X-ray beam intensities in the mis-calibrated pixels can be of time independent or time dependent nature. These two types were not separately addressed in [15]. Normalization technique was proposed for correcting the artifacts due to mis-calibrated pixels. This technique works satisfactorily on artifacts that occur due to pixels having time independent X-ray beam intensity but it is not suitable in case of time dependent one. Hence, the performance of the reported work will not be satisfactory on CT images that are corrupted with this type of artifacts.

In this article, a novel ring removal scheme is proposed based on the detection, classification, and correction of rings in the sinogram domain. A rigorous three level detection algorithm is proposed here for detecting band rings and isolated rings. To check for any residual ring artifacts after the correction algorithm is applied, a feedback detection algorithm is proposed in the third level of detection. This novel algorithm is specially suitable for detecting minor residual rings. The artifacts detected in a corrupted image are classified into three types, as they are generated due to different kinds of technical faults and they show different characteristics in both sinogram and reconstructed image domain. The threshold levels used in detection and classification algorithms are data driven and automatic. Customized correction technique is also proposed here for correcting the three types of artifacts separately. The proposed algorithm can be used with parallel, fan or cone beam geometry.

This article is organized as follows. Materials and methods of the complete ring removal scheme is presented in Section 2 under three subsections, i.e., detection, classification, and correction of ring artifacts. In Section 3, experimental results and comparative analysis of performances of the proposed algorithm and two other recently reported ring removal algorithms are presented [11, 15]. Finally, Section 4 presents some concluding remarks.

2 Materials and methods

Tomography is the study of the reconstruction of 2D and 3D objects from 1D projections. The projection of an object at a given viewing direction is made up of a set of line integrals. To construct the sinogram, similar projections from a number of viewing directions is obtained and stacked together. In X-ray CT, the line integral represents the total attenuation of the beam of X-rays as it travels in a straight line through the object. As mentioned above, the resulting image is a 2D (or 3D) model of the attenuation coefficient, which is commonly known as sinogram B(i, t). Here i denotes the detector pixel and t denotes the view number. From this sinogram, the actual 2D image, f(x, y) is reconstructed using an appropriate reconstruction algorithm. Figure 1 gives the schematic representation of this procedure.

Figure 1
figure 1

Schematic representation of the relation between sinogram B ( i , t ) and corresponding CT image f ( x , y ).

In this section, the detection, classification, and correction methods of ring artifacts are discussed in detail. The first two levels of our detection algorithm detect the isolated rings and band rings. The third level of detection detects the residual stripes of the corrected sinogram. Statistical properties of the response of stripe artifacts are used to categorize them into three classes: a) artifacts due to damaged cells and/or damaged scintillator and/or dust (Type 1), b) artifacts due to mis-calibrated detector pixel having time independent beam intensity (Type 2), and c) artifacts due to mis-calibrated detector pixel having time dependent beam intensity (Type 3). The correction method proposed here are exemplar based inpainting algorithm for Type 1 artifact, DC shift for Type 2 artifact and interpolation for Type 3 artifact. The whole ring removal algorithm presented here works in a specific order. The steps of the proposed algorithm is given in Table 1.

Table 1 Steps of ring removal algorithm

2.1 Detection of ring artifacts

In sinogram domain, there are stripe artifacts of varying properties. Different types of fault in detector element as described above cause different types of isolated and contagious stripe artifacts. To detect all these artifacts accurately, a three step detection scheme is developed. In the first step, only the most prominent rings are detected around which the band rings occur. In the second step, the minor rings and the band rings are detected. The third step of detection algorithm works as a feedback step. It checks whether there remains any ring artifact after applying the correction algorithm. If such artifacts are identified, the correction algorithm is applied again on those artifacts. This process continues until all the artifacts are corrected. The three step detection algorithm is described in the following subsections.

2.1.1 First level detection of ring artifacts

In the first level detection of ring artifacts, the difference curve of the corrupted sinogram is exploited. The sum of squared difference curve d(i) of the uncorrected sinogram B(i, t) is calculated as

d ( i ) = t ( B ( i , t ) - B ( i - 1 , t ) ) + t ( B ( i , t ) - B ( i + 1 , t ) ) 2 ,

where i and t are the position of the detector element and the view number of the sinogram, respectively. Throughout the entire article, the definitions of i and t are kept same.

This curve has distinct peaks at the position of faulty detector elements as shown in Figure 2a. These peaks are identified using the first derivative of d(i). Sliding window based data driven threshold is applied to separate the peaks that are due to the ring artifacts, from the peaks that results from the image detail. This technique is illustrated in Figure 2b. The threshold level changes from window to window. If a constant threshold is used for the whole sinogram then it will either fail to detect most of the artifacts or will detect too many false artifacts. In each data window, the threshold level is calculated as

Figure 2
figure 2

Windowed data driven thresholding of sum of squared difference curve, d ( i ). (a) Plot of sum of squared difference curve d(i) against detector position i of the corrupted sinogram showing distinct peaks at faulty detectors and (b) Zoomed view of two data windows.

T h = δ W i = i 0 i 0 + W d ( i ) ,

where W is the length of the data window and δ is a constant. In the first level, we are aiming for the detecting only the prominent rings in the image (large peaks in the d(i) curve), which usually act as the center of the band rings. In the second level of detection, iterative search around these detected ring positions are carried out to detect the adjacent band rings. To detect only the large peaks in the d(i) curve, the threshold level T h is set quite high by choosing δ = 8. It has been chosen by a rule of thumb, and experimentation on a set of real images has revealed that this is a suitable value of δ at this level and it does not need any tuning for applying to different types of images. In this study, a total of 13 2D micro-CT images and a single 3D cone beam volume CT image were used. Among the 2D test images there were four synthetic images, seven physiological images and two structural images (like capacitor). The 3D image was a physiological image of a rat abdomen. The effect of changing δ on the reconstructed image is shown in Figure 3. Here the cow-bone image is chosen as the test image. From the figure it can be observed that setting δ a higher value than 8, results in poor performance because a too high threshold misses the stripes around which band rings may occur. So, even if the stripes are detected in the next step, no iterative search is carried out around those, therefore the band rings are remained undetected (see Figure 3e). Again when δ is set to a lower value then false rings are detected and processed increasing discrepancies in the image. This phenomena is illustrated in Figure 3d. But the output image obtained by using δ = 8 gives the best result as shown in Figure 3c.

Figure 3
figure 3

Effect of changing δ on output image (C/W=.6523/.7564). (a) Original Cow-bone image, (b) zoomed view of ROI, Zoomed view of output image with (c) δ = 8, (d) δ = 5, and (e) δ = 12. Rings are marked by arrows.

2.1.2 Second level detection of ring artifacts

It is well known that the mean curve of the corrupted sinogram shows peaks at the positions of the faulty detector element. The mean curve m(i) of the uncorrected sinogram B(i, t) is calculated as

m ( i ) = 1 N i t B ( i , t ) ,

where N i is the total number of detector elements. Distinct peaks in the mean curve identify defective detector elements. To locate these peaks, at first the baseline of the mean curve m(i) is estimated by using the least squares smoothing filter which is more commonly known as Savitzky-Golay smoothing filter[16]. The estimated baseline is denoted as z(i). Then the baseline subtracted mean curve r(i) is obtained as

r ( i ) = m ( i ) - z ( i ) .

The same peak detection and threshold calculation technique, as used in the first level of detection, are applied on r(i). Here the value of the parameter δ is set to 2, a lower value than that was set at the preceding level of detection, to enable detection of the minor artifacts in this phase. But lowering the threshold level leads to detection of some false artifacts. Therefore to avoid the detection of such false artifacts, r(i) is smoothed. This reduces the number of trivial peaks in r(i) which are responsible for false artifact detection. To smooth r(i), minimax estimation via wavelet shrinkage technique is used [17]. This technique is particularly suitable in peak preserving noise reduction. The value of the parameter δ at different levels of detection are validated by experimenting on a number of different types of images and it does not need to be varied from one image to another. The test images that are provided in the results section are all corrected beautifully using these parameter values, giving a proof of the experimental validation.

The second step of the detection process is iterative. After the first iteration, the ring artifacts detected in the first level of detection are made zero. Therefore, the adjacent artifacts are detected as peaks in the next iteration. The same process continues iteratively until all the contagious artifacts are detected. This technique is illustrated in Figure 4.

Figure 4
figure 4

Iterative detection of band ring. (a) After first iteration, center artifact of a band ring is detected, (b) after second iteration, two surrounding artifacts are detected, and (c) no artifacts are detected after third iteration and hence it is the last iteration.

2.1.3 Third level detection of ring artifacts

After application of the correction algorithm, some minor residual artifacts may still remain. Such a case is illustrated in Figure 5. There is a very minor artifact at the detector position 627 (see Figure 5a). Its response resembles the response of adjacent non-defective pixels and also the shift from the non-defective pixels' responses is very negligible (see Figure 5b). Therefore, these artifacts will not show distinct peaks in d(i) or r(i). A simple algorithm is considered for detecting these minor artifacts. It is observed that generally the response of a good pixel lies in between the nearmost preceding and succeeding non-defective pixel whereas faulty detector pixel's response will either lie above or below of both the non-defective responses. As can be observed from Figure 5b, the response of the faulty pixel at 627 lies above of the two adjacent non-defective responses. This property is used here to detect these artifacts. An interesting feature of this technique is that rather than calculating the amplitude difference between the adjacent defective and non-defective element (which is very low), it counts the number of points of the response curve of a faulty detector in which the amplitude of intensity is not in between the near most preceding non-defective detector element and succeeding non-defective detector element. The total number of such points in a response of detector position i is denoted as c(i). If c(i) is plotted against the detector position then the detector elements causing minor artifacts show distinctly higher values than that of non-defective detector elements as shown in Figure 5c. Then by applying a suitable threshold on c(i) these artifacts can be identified. The threshold level T c is estimated from the mean of this curve.

Figure 5
figure 5

Minor artifact detection. (a) Minor artifact in sinogram domain at detector cell i = 627, (b) response of artifact creating cell at i = 627 along with the responses of surrounding non-faulty detector cells, and (c) detection of artifact at i = 627.

This residual ring artifact detection technique is a new feature. In no other reported work in this field has proposed any technique for detecting such residual rings. This detection step enhances the performance of the total ring removal algorithm significantly. In addition to that, the iterative band ring detection method proposed here is also a novel concept compared to other reported band ring detection schemes, e.g., polyphase decomposition of sinogram [15].

2.2 Classification of ring artifacts

After detecting the ring artifacts, they are categorized into three different types. From a careful observation of responses from different types of faults in a sinogram, it is found that the responses of defected cells (a) may or may not follow the overall pattern of response of the adjacent non-defective cells, (b) follow the response of non-defected cell with a constant or varying shift, and (c) exhibit repetitive occurrence of a certain value in the response of the fault. All these phenomena that are used to classify different types of faults in a corrupted sinogram are summarized in Table 2, where '+ve' and '-ve' terms are used to mean whether the specific criteria is present or not in a certain type of artifact. If the criteria is present in a type of artifact, '+ve' is entered in the column of that type and vice versa. Different types of faults are described below.

Table 2 Different types of artifacts

2.2.1 Type 1 artifact

Artifacts of Type 1 occur due to completely dead cells of the detector panel and/or damaged scintillator. It does not follow the pattern of adjacent non-defective cell at all. Moreover, in the response of this type of fault repetitive occurrences of a particular value is observed. An example of the response of this type of artifact is given in Figure 6a. The value that has the highest occurrence in an array is defined as the mode of the array. Let the response of a defective detector at the i th position is denoted as x i (t). At first the mode m d of x i (t) is determined. Let us define a set C i = { x i ( t ) | x i ( t ) = m d } , which contains values of x i (t) equal to mode m d for the i th detector position. Then c m ( i ) = C i denotes how many times the mode has occurred in the detector cell response. Since the property of repetitive occurrence of a specific value is present only in Type 1 artifacts, c m (i) of Type 1 faults will have much higher value than the other two types of artifacts. This is illustrated in Figure 6c. Then, from this curve artifacts of Type 1 are easily classified by using a simple thresholding technique. The threshold T c m for separating Type 1 artifacts from Type 2 and Type 3 artifacts is calculated as

Figure 6
figure 6

Type 1 fault. (a) Response of a completely damaged detector cell and (b) separation of Type 1 artifacts from Type 2 and Type 3 artifacts.

T c m = δ N f i = 1 N f c m ( i ) ,

where N f is the total number of faulty detector cells present in the sinogram, and the value for the parameter δ is chosen to be the same as that in the second level of detection.

The classification criterion proposed here is a new one. This type of artifact was also classified in [15]. But the classification technique was different. For classification, at first the non causal first derivative of the sinogram was computed. Then the difference array was calculated by taking the sum of derivative value along each detector pixel. The criteria for separating the artifacts due to the dead pixels from the artifacts due to the mis-calibrated pixels was based on this array. Generally, Type 1 artifacts show higher value in the array than the artifacts due to the mis-calibrated pixels. But if the mis-calibrated pixel has a high amplitude shift from the adjacent good pixels, then it will also have a high value in the difference array and hence can be classified as Type 1 artifact. Therefore, the classification technique proposed in [15] may not be robust in such cases. But in the proposed technique here, the classification criterion is derived from the statistical property of the response of faulty pixels. The most significant statistical properties which are exclusive for each type of fault are proposed here as classification criteria. Therefore, it can be inferred that the proposed classification scheme will be more robust in categorizing faults in a corrupted sinogram.

2.2.2 Type 2 artifact

Type 2 artifact occurs due to the mis-calibrated detector elements having time independent X-ray beam intensity. It has no repetitive occurrence of a particular value in the response of the mis-calibrated detector element. It follows the response of the adjacent non-defective cell but with an amplitude shift of almost constant value. Response of this type of artifact is illustrated in Figure 7a.

Figure 7
figure 7

Type 2 and Type 3 artifacts. (a) Response of Type 2 artifact, (b) response of Type 3 artifact, and (c) separation of Type 2 and Type 3 artifacts.

2.2.3 Type 3 artifact

Type 3 fault may occur due to mis-calibrated detector element having time dependent X-ray beam intensity. It also does not have repetitive occurrence of a particular value in the responses of the detector elements. It follows the pattern of the response of adjacent non-defective cells but the amount of shift from the response of non-defective cells varies greatly from one point to another (see Figure 7b).

To classify artifacts of Type 2 and Type 3, an array is calculated by taking the point to point difference between the baselines of the adjacent defective and non-defective cells. Their baseline estimation is the same as that of the mean curve described earlier in the second level detection of artifact. We define z1(t) as the baseline of the response curve of a faulty detector cell at position i and z2(t) as the baseline of its adjacent non-defective cell. The point to point difference array for faulty detector at position i is then denoted by λ i (t). Then λ i (t) is normalized and the standard deviation σ of the normalized array is calculated. Mathematically,

λ i ( t ) = z 1 ( t ) - z 2 ( t ) ,
λ n i ( t ) = 1 max ( λ i ( t ) ) λ i ( t ) ,
σ = 1 N t ( λ n i ( t ) - μ ) 2 .

Here λ n i ( t ) denotes the normalized value of λ i (t) and μ is the mean of λ n i ( t ) . Thus σ for all the faulty detector cells except Type 1 are calculated and plotted against the detector cell position. Since the response of Type 3 artifact has varying shift from the adjacent non-defective cell's response, σ of this type of fault will definitely have higher value than that of Type 2. This is illustrated in Figure 7c. The threshold level, T σ to separate Type 3 artifacts from Type 2 is calculated in the same way as in classification of Type 1. If c m (i) is replaced by σ(i) and N f is replaced by N f 23 then T σ can be calculated using (5). Here N f 23 = total number of Type 2 and Type 3 artifacts in the sinogram. The detected pixels that have their σ higher than T σ are classified as Type 3 artifacts and the rest are grouped as Type 2 artifacts.

2.3 Correction of ring artifacts

While correcting the artifacts from the corrupted sinogram, Type 2 and Type 3 artifacts are required to be corrected first. The inpainting algorithm employed to correct Type 1 artifact divides the sinogram into two regions. The Type 1 artifacts are defined as the target region and the rest of the image is defined as the source region. This algorithm takes information from the source region to fill in the target region. For effective implementation of the inpainting algorithm, the source region is needed to be artifact free. For this purpose, Type 3 and Type 2 artifacts are corrected first to provide an artifact free source region. Detailed description of the correction techniques is presented in the following.

2.3.1 Correction algorithm for Type 3 artifact

To correct this type of artifact interpolation technique is used. In this type of artifact, defective response is quite similar to that of a non-defective one. As it contains some of the image information, complete reconstruction by computationally cumbersome techniques like inpainting is not desired here. DC shifting is not appropriate either because a deviation from the response by different value at different points is not unlikely. Therefore, a constant shifting will not remove artifacts of this type rather there is a probability that it will introduce new ring. Considering all these facts, interpolation technique is proposed here for correcting artifacts of this type. At first the positions of near most preceding and succeeding non-defective detector cells are found. Then using the responses of these two non-defective detector cells, the response of the Type 3 artifact in between them is interpolated. Spline interpolation technique is used for this purpose.

Identification of Type 3 artifact and proposing a separate correction technique suitable for this type of artifact is a major novelty of this work. In [15], Type 2 and Type 3 artifacts were not separately addressed. They were grouped under the category of mis-calibrated artifacts and the normalization technique was used for correcting both these types of artifacts. In the normalization technique, every point on the defective response curve is scaled by a fixed value. As can be observed from Figure 8, that a fixed scaling for every point of the defective response will not remove this type of artifact. Figure 8b,c illustrate the performance of the normalization technique and the proposed interpolation technique on the response curve of a Type 3 artifact. The normalization technique completely fails to correct the response curve. Moreover, it creates new discrepancies in some regions (see Figure 8b). Whereas the proposed interpolation technique here corrects the faulty response curve perfectly (see Figure 8c). Therefore, the proposed technique definitely outperforms the normalization technique and hence emphasizes the need of categorizing these artifacts as a separate class and applying separate correction technique for this type.

Figure 8
figure 8

Correction of Type 3 artifact. (a) Response curve of Type 3 artifact, (b) corrected response by the normalization technique, and (c) corrected response by the proposed interpolation technique.

2.3.2 Correction algorithm for Type 2 artifact

DC shifting technique is used to correct this type of fault. Since in this case, the response of the faulty detector element shifts from the response of the adjacent good detector by almost a constant value, therefore if the response of the faulty detector element can be shifted by that value then this type of fault can be corrected. Assume that there is a Type 2 artifact at the detector position i of the sinogram B(i, t). The amount of shift necessary to correct the fault is calculated from

β ( i ) = 1 2 N t t B ( i , t ) - B ( i - k 1 , t ) + t B ( i , t ) - B ( i + k 2 , t ) ,

where (i - k1) and (i + k2) are the indices of nearmost preceding non-defective cell and succeeding non-defective cell, respectively. t is the index of view number and N t is the total view number. k1 and k2 are preceding and succeeding lag parameters, respectively. In case of isolated artifact, k1 = k2 = 1 and in case of contagious artifacts {k1, k2} > 1 depending on the width of the band ring. If the mean value of the faulty pixel response x i (t) is higher than that of both the adjacent preceding and succeeding non-defective pixels' responses then the corrected response x ̃ i ( t ) is calculated as

x ̃ i ( t ) = x i ( t ) - β ( i ) .

In all other cases,

x ̃ i ( t ) = x i ( t ) + β ( i ) .

Here a new technique is used to calculate the DC shift of the faulty detector. In [15], the normalization technique was used to correct this type of artifacts. Normalization technique works good on Type 2 artifacts but the success of this technique depends greatly on the estimation of corrected mean curve. Whereas our proposed technique is free from such dependency. It calculates the shift directly from the original sinogram. The performance of the proposed method and the normalization method on Type 2 artifact is shown in Figure 9. Both the techniques remove the artifact quite satisfactorily.

Figure 9
figure 9

Correction of Type 2 artifact. (a) Response curve of Type 2 artifact, (b) corrected response by the normalization technique, and (c) corrected response by the proposed DC shift technique.

2.3.3 Correction algorithm for Type 1 artifact

Exemplar based image inpainting technique [18] is applied here to correct faults of Type 1. The whole sinogram I is divided into source region (Φ) and target region (Ω) (see Figure 10). The contour of the target region is δ Ω. At first, this algorithm determines a filling order. For this purpose, priorities of the patches (template windows (Ψ p ) of size 9 × 9 pixels) on the fill front are calculated. In general words, the patch Ψ p that has most of the pixels already in the source region and very few on the target region has high priority. In this algorithm, every pixel has a color value and a confidence value. A pixel has a high confidence value if it is a part of the source region or it is in the target region but already filled by the algorithm.

Figure 10
figure 10

Notation diagram for the inpainting algorithm. (a) Given the patch Ψ p , n p is the normal to the contour δ Ω of the target region Ω and ∇I p is the isophote (direction and intensity) at point p; (b) after first iteration of the algorithm, the target region Ω has shrank and its contour δ Ω has moved deeper into it.

Given a patch Ψ p centered at the point pδ Ω, its priority P(p) is defined as

P ( p ) = C ( p ) D ( p ) ,

where C(p) is the confidence term and D(p) is the data term, which are defined as

C ( p ) = q Ψ p Ω C ( q ) Ψ p ,


D ( p ) = I p . n p α ,

where |Ψ p | is the area of Ψ p , α is the normalization factor (e.g., α = 255 for a typical gray level image), (.) is the dot product operator, and n p is a unit vector orthogonal to the fill front δ Ω at the point p. All notations are shown in Figure 10. For initialization, the function C(p) is set to C(p) = 0 for Ψ p ∈ Ω and C(p) = 1 for Ψ p ∈ (I - Ω). After determining the fill order, the patch with the highest priority is filled with values extracted from the source region. The patch in the source region which is the most similar to Ψ p is defined as the best exemplar patch. The best exemplar patch Ψ q is obtained from

Ψ q = arg min q ϕ d ( Ψ p , Ψ q ) ,

where the distance d p , Ψ q ) between the two patches Ψ p and Ψ q is defined as the sum of the squared differences of the filled pixels in the two patches. Having found the source exemplar Ψ q , the value of each pixel to be filled p ∈ (Ψ p ∩ Φ) is copied from its corresponding position inside Ψ q .

After the patch Ψ p has been filled with the new pixel values, the confidence value C(p) is updated as

C ( q ) = C ( p ) , Ψ q ( Ψ p Ω ) .

The whole inpainting algorithm as in [18] is given here in Table 3.

Table 3 Inpainting algorithm

To make this algorithm applicable to ring artifact correction, the entire sinogram image is divided into source and target region. All stripes of the artifact corresponding to Type 1 faults are replaced with a constant value higher than the maximum value of the sinogram so that these stripes can be identified by the algorithm as the target region. This algorithm requires a specific color value of the target region as an identifier. Therefore, the image is first converted into an indexed image and then to a RGB image. The stripe artifacts replaced with a constant value are defined as the target region Ω and the rest of the image as the source region Φ. Implementation of this technique on the sinogram is shown in Figure 11.

Figure 11
figure 11

Correction of Type 1 faults. (a) Type 1 artifact in sinogram domain, (b) stripe artifact replaced by a constant value, and (c) corrected sinogram after inpainting.

The application of exemplar based inpainting in removing stripe artifacts is a new approach. The more general convolutional approach of image inpainting is in particular not suitable for removing the wide band rings. In such a case, the band ring will occupy most pixels in the convolution window and as a result the source information in the window will be reduced. Therefore the inpainting of the target region may not be robust. If the convolution window size is increased then there is a possibility that the target region will be inpainted with the values that are not relevant to it. Then the performance of the inpainting algorithm may not be satisfactory. But in the proposed inpainting technique instead of convolution, the target region is filled by values that are most relevant to it (i.e., by finding the best exemplar patch). Therefore, blurring effect is more unlikely in this algorithm. The proposed algorithm is also insensitive to the patch window size. The effect of changing the patch window size on output image is illustrated in Figure 12. Here three different window size is implemented and in all cases the image is corrected quite effectively irrespective of the window size which consequently proves the robustness of the algorithm.

Figure 12
figure 12

Effect of changing patch window size on output image (C/W=.4557/.9265). (a) Original Capacitor image, (b) zoomed view of ROI, zoomed view of output image with (c) Ψ p = 9 × 9, (d) Ψ p = 3 × 3, and (e) Ψ p = 12 × 12.

3 Result and analysis

The test images were acquired with a home made micro-CT which consists of a CMOS FPD and a micro focus X-ray tube (L8121 - 01, Hamamatsu, Japan). The micro-focus X-ray source is a sealed tube with a fixed tungsten anode having an angle of 25° against the electron beam and with a 200 μ m-thick beryllium exit window. The emitted X-ray beam span angle is about 43°. The source has a variable focal spot size from 5 μ m to 50 μ m depending on the applied tube power (Watt or kVp mA). The maximum tube voltage and tube current are 150 kVp and 0.5 mA, respectively. The micro-focus X-ray source has been operated in a continuous mode with an Al filter with a thickness of 1 mm. The FPD (C7943CA-02, Hamamatsu, Japan) used in this experiment consists of 1216 × 1220 effective matrix of transistors, photodiodes with a pixel pitch of 100 μ m and a CsI:Tl scintillator. The CsI:Tl has a columnar structure with a typical diameter of about 10 μ m and a thickness of 200 μ m. A computer-controlled rotating system was adopted in the object holder to achieve a cone-beam mode scan in the micro-CT. The precision of the rotational motion is 0.083° which allows the number of views larger than 4,000. The system has the built-in white and dark image correction schemes. Since our micro-CT system does not provide the CT images in Hounsfield unit (HU), we have normalized all the original (uncorrected) reconstructed images so that the maximum pixel intensity is 1.0 with arbitrary unit. The corrected images are scaled using the corresponding normalization factor of the uncorrected images.

The performance of the proposed algorithm is compared with two recently reported ring removal algorithms [11, 15]. The reported algorithm in [15] classifies strong artifacts due to dead pixels and weak artifacts due to mis-calibrated pixels and proposes 2D variable window moving average (2D VWMA) and 2D weighted moving average (2D WMA) filter for correcting the strong rings and normalization technique for correcting the mis-calibrated artifacts. The mis-calibrated artifacts due to time dependency of beam intensity were not separately classified and hence no algorithm was proposed for correcting this type of artifact. There are four adjusting parameters in that algorithm (rmax, rmin, l m , a) which are required to be set manually. rmax and rmin are suitably defined upper and lower threshold for detection and classification of ring artifacts. l m is the number of levels of polyphase decomposition of the sinogram image. Polyphase decomposition is used in the reported work to detect the band ring. a is a constant used in the equation of detection algorithm of the ring removal technique [15]. These parameter values are required to be changed from one image to another for obtaining the best result. But in the ring removal algorithm proposed in this article, the data driven thresholding technique is automatic and performs satisfactorily on all the test CT images. The rigorous classification scheme presented here discovers a new class of artifact in CT image (Type 3). Since three separate correction techniques are proposed here for the three types of artifacts, the overall performance of the correction algorithm is certainly improved. Our proposed algorithm and the algorithm presented in [15], both works in the sinogram domain.

To compare the performance of our sinogram processing technique with post processing techniques of ring removal, a reported algorithm [11], which works in the reconstructed image domain is also considered. This algorithm applies mean and median filtering technique to remove ring artifacts but it works in a different geometrical plane (in polar coordinate). The filter width of the ring correction in polar coordinate (RCP) method [10] is selected as suggested in the original work, e.g., radial median filter width in polar coordinates, M Rad P =15; azimuthal filtering in polar coordinates, M AZi P =40. On the other hand, the distance between the support points in the azimuthal direction ( d AZ P ) for the polar coordinate is needed to be adjusted for our test CT images. We set d A Z P equal to 0.7°, instead of 0.8°. In the original work [10], the distance between the support points in the radial direction (dRA) for both the cartesian and the polar coordinates is determined from the scanner geometry. In our case, this parameter is set to 1.0 for the polar coordinate ( d RA P ) . The RCP method uses three thresholds (Tmin, Tmax, and TRA) for image segmentation and bone structure elimination. These three thresholds are considered in HU unit in the original work. As in this work, the CT images are not calibrated in HU unit, therefore, these thresholds should be selected in such a way that the purpose of these thresholds is served. The lower (Tmin) and upper (Tmax) thresholds are set to the minimum and maximum values of the ring intensities found in the CT image, respectively. As a result, the image elements having intensities above or below the ring artifact intensities are not affected by the correction algorithm. Similarly, the third threshold (TRA) is set to the maximum value of ring intensities in the difference image obtained after median filtering. The main draw back of the RCP method is its failure to remove strong rings with varying intensities. Because, they generally contain significant high frequency information but the mean (low-pass) filtering in the RCP method is not appropriate to retain the correct varying intensity ring structures in the difference image and thereby may result in poor performance of the algorithm. In addition to that, this algorithm does not provide any classification scheme for the artifacts present in a CT image.

For quantitative performance evaluation, we have used two numerical indices. One is the peak signal-to-noise ratio (PSNR) and the other is the mean structural similarity (MSSIM) [19]. The PSNR is related to the intensity difference between the reference and the corrected images. The second index, MSSIM can be correlated to the perceptual quality of an image. It considers luminance, contrast and structure similarity between the reference and corrected images to determine the value of the index. But evaluation of these two indices requires reference images, i.e., images free from ring and radiant artifacts. In CT imaging reference image is hardly available and, therefore, in this work three synthetic (computer simulated phantom) sinogram images have been used. Different types of stripe structures discussed in this article including single, band, stripes from defective and mis-calibrated detector elements are superimposed on the reference sinogram images to generate corrupted sinogram images. The proposed technique and the sinogram-processing technique in [15] are applied on these corrupted sinogram images and the post-processing technique [11], on the other hand, is applied on the CT images reconstructed from the corrupted sinograms. Now the above mentioned two indices can be calculated to quantify the visibility of errors between the reference and corrected CT images. The first quantitative index PSNR is defined as

PSNR = 20 log 10 M MSE d B


MSE = 1 P Q i = 0 P - 1 j = 0 Q - 1 [ X ( i , j ) - Y ( i , j ) ] 2

where X| PQ and Y| PQ are the reference and corrected CT images, respectively and, M I is the dynamic range of the reference image.

To calculate the MSSIM index at first the reference and corrected CT images are windowed and two signals, i.e., x(x = [x1x2 ... x N ]) and y(y = [y1y2 ... y N ]) are generated in each window. Then these two signals are weighted using a Gaussian weighting function, w = [w1w2 ... w N ] with a standard deviation of 1.5 samples, where Σ i =1w i = 1. Then in each window, the estimates of local statistics of x and y are calculated as:

μ x = 1 N i = 1 N w i x i
μ y = 1 N i = 1 N w i y i
σ x = 1 N - 1 i = 1 N w i ( x i - μ x ) 2
σ y = 1 N - 1 i = 1 N w i ( y i - μ y ) 2
σ x y = 1 N - 1 i = 1 N w i ( x i - μ x ) ( y i - μ y )

The SSIM index between signals x(x = [x1x2 ... x N ]) and y(y = [y1y2 ... y N ]) in each window is calculated as [19]

SSIM = ( 2 μ x μ y + C 1 ) ( 2 σ x y + C 2 ) ( μ x 2 + μ y 2 + C 1 ) ( μ x 2 + μ y 2 + C 2 )

where, C1 = (K1M I )2, C2 = (K2M I )2, K1 = 0.01, and K2 = 0.03. Finally, the mean SSIM (MSSIM) is evaluated as

MSSIM = 1 M j = 1 M SSI M j

where, SSIM j is the SSIM calculated at the j th local window and M is the number of local windows in the image.

The calculated PSNR and MSSIM values for the three simulated phantom images are shown in Table 4. As can be observed from the table, the overall performance of the proposed technique is better than the 2D VWMA/WMA method on the simulated phantom images. On the other hand, the performance of the post processing based RCP technique is not found very impressive on the simulated phantom images, which is reflected in the lower MSSIM and PSNR values.

Table 4 Quantitative performance analysis of the ring removal algorithms on simulated phantoms

Next, to compare the performance of our proposed algorithm with the two reported techniques [11, 15], a test image is chosen which has all the three types of artifacts. The image of Rabbit-femur is an ideal example of such an image (see Figure 13). The corrected images obtained by the reported techniques and by our proposed technique is illustrated in Figure 13b-d. As can be observed from Figure 13b, the ring removal algorithm presented in [15] fails to correct all the artifacts in the image. The Type 3 artifacts near the center of the image remain uncorrected. The reason behind the failure of the algorithm in correcting Type 3 artifact is explained earlier in the section of Type 3 artifact correction. The 2D VWMA/WMA technique works satisfactorily on the outer ring of Type 1. The values of tunable parameters are chosen as {rmax, rmin, l m , a} = {20, 2, 4, 1} for obtaining the optimum results. On the other hand, in the corrected image obtained by the technique presented in [11] is still corrupted with a number of residual rings (see Figure 13c). In addition to that, the radial artifacts are also persistent in the corrected image. But, the proposed technique here removes all the artifacts beautifully to produce a ring free image (see Figure 13d). The elegant detection and classification scheme and the application of customized correction algorithm for each type of artifact ensure the best result. The experimental results on the Rabbit-femur image thus demonstrate the efficacy of the detection, classification and correction scheme proposed in this article.

Figure 13
figure 13

Removal of ring artifact from Rabbit-femur image with metal implant using different methods. (a) Original corrupted image, (b) corrected image by the 2D VWMA/WMA method, (c) corrected image by the RCP method and (d) corrected image by the proposed technique. The residual rings in the corrected images are marked by arrows. (C/W = 0.7430/0.6821).

The proposed ring removal technique corrects rings without introducing visible distortion in the image. To show this, test images of a Capacitor and a Rat-chest are chosen (see Figure 14). The Capacitor image is an example of highly structural object (see Figure 14a). This image shows a number of fabrication layers in the capacitor. There is a strong ring in one of these fabrication layers. To observe the hidden micro-structure of the image this ring is required to be corrected without impairing the visual quality of the image detail. From Figure 14b, it can be seen that the proposed correction technique applied on Capacitor image, neither obscures nor distorts the structural details of the image. So, it can be inferred that in preserving structural details of the CT image, the performance of the algorithm is satisfactory enough. Small animal imaging is an important field of CT imaging. The Rat-chest image is an example of small animal imaging. This image has very fine physiological details (see Figure 14c). The corrected image in Figure 14d obtained by the proposed algorithm illustrates that there is no distortion in the fine physiological details of the image while all the ring artifacts are removed successfully. This proves the effectiveness of our algorithm in small animal imaging.

Figure 14
figure 14

Removal of ring artifact from a structural object and small animal image using the proposed method. Corrupted images: (a) Capacitor and (b) rat-chest. Corrected images: (c) capacitor and (d) rat-chest. (C/W = 0.5880/0.1686 for capacitor image and C/W = 0.6852/0.6053 for rat-chest).

To prove the accuracy of the proposed algorithm, another special case is considered. When a high contrast circular object is placed at the center of rotation of the CT image, it appears as a band of stripes in the sinogram domain. These stripes are part of image detail and hence should not be corrected. Such a case is illustrated in Figure 15. A thin gold wire is placed at the center of rotation. The position of the gold wire in the uniform phantom is marked by arrow in Figure 15a,b and as a result, a band of stripes having width of 9 pixels (pixels 1159-1167 as shown in Figure 15e) is generated in the sinogram (marked by arrow in Figure 15d). Since the proposed ring removal technique is based on correcting stripes from the sinogram domain, there is a probability that it will identify the stripes as ring artifacts and hence may correct them. But interestingly using the proposed method, only a single pixel of the 9 pixels band is detected as artifact and has undergone for correction. The corrected image is shown in Figure 15c. The correction of only one pixel does not introduce noticeable distortion of the image. In the first level of detection, this band ring have very small amplitude in the sum squared difference curve d(i) (marked by red circle in Figure 15g) and in windowed data driven thresholding technique it is not detected as artifact. But in the second level of detection a single pixel (Pixel 1163) of the band ring is detected from the plot of r(i) and classified as a mis-calibrated artifact (Figure 15h). Since an iterative search is conducted for band rings around only those artifacts that are detected in the first level of detection, therefore the band of stirpes around the 1163th pixel is not detected as band ring. Thus from Figure 15f it is seen that preserving this band of stripes, the algorithm corrects all other ring generating stripes. Therefore, based on the performance of the algorithm in this case it can be predicted that the proposed technique will be effective in other similar cases, e.g., when there is a small lesion present at or near the iso-center.

Figure 15
figure 15

Experimental results on uniform phantom with gold wire at the center of rotation. (a) Original Image, (b) zoomed view of ROI of corrupted image, and (c) ROI of corrected image obtained by the proposed algorithm. (for a-c C/W = 0.5/1). (d) uncorrected sinogram, (e) zoomed view of the band of stripes located at the center of the sinogram, and (f) corrected sinogram. (g) Plot of d(i) against detector position. Only the data window containing the band of stripes is shown here. (h) False detection of a single stripe at i = 1163 from plot of r(i).

3D cone beam volume CT imaging is a new imaging modality. The proposed ring removal algorithm is also applicable for cone beam geometry. Sinogram by sinogram processing technique is employed to correct such 2D cone beam projection images. At first a sonogram is constructed from the 2D stack of projection data and then the ring removal algorithm is applied to it. The corrected sinogram is then transferred back into the projection domain and then the next sinogram is read. The process continues until all the 2D projections are corrected. Finally, the FDK algorithm [20] is used to reconstruct the corrected 3D cone beam volume CT image. To demonstrate the effectiveness of the proposed algorithm and to compare its performance on 3D cone beam volume CT images with the 2D VWMA/WMA and RCP techniques, Rat-abdomen image is chosen as an example. The 2D VWMA/WMA method [15], the RCP method [11] and the ring removal algorithm presented here are applied to correct three slices taken from different locations. The tunable parameters used in the 2D VWMA/WMA method, i.e., {rmax, rmin, l m , a} are kept fixed for correcting each slice of the three slices. To compare the performance of the proposed technique with the two reported techniques, 401th, 601th and 801th slices are chosen from the test image (see Figure 16). The region near the center of rotation is marked as region of interest (ROI). The original slices and zoomed view of their ROIs are illustrated in the first column of Figure 16. The second, third and fourth column correspond to the corrected slices obtained by the 2D VWMA/WMA [15], the RCP [11], and the proposed technique, respectively. The parameter values of 2D VWMA/WMA method are set as {rmax, rmin, l m , a} = {30, 1, 4, 1}. As can be observed from the second column of Figure 16, that the ring removal technique reported in [15] fails to correct the rings near the center of rotation of the image in all the test slices. In addition to that, the algorithm also fails to correct some outer rings from the 601th and 801th slices. Again in case of the RCP technique [11], the corrected slices (see the third column of Figure 16) are distorted by the presence of radial artifacts. Blurring effect is also noticeable here. In addition to that, the ring artifacts are also not corrected effectively. A number of residual ring artifacts are present in the corrected image. Whereas our proposed algorithm removes all the ring artifacts from the three slices of the 3D CT image successfully (see the fourth column of Figure 16). Comparing the corrected images obtained by the two reported techniques with the corrected images obtained by our proposed technique, it is quite obvious that the proposed technique here outperforms the reported algorithms convincingly. Therefore, it can be inferred that the proposed algorithm is comparatively effective in removing ring artifacts from 3D cone beam CT images.

Figure 16
figure 16

Experimental results on 3D cone beam CT image of Rat-abdomen. Three slices from different positions of the 3D volume (Slice # 401, 601, and 801) have been shown in this figure. The top two rows correspond to the slice # 401, the middle two rows correspond to the slice # 601 and the bottom two rows correspond to the slice # 801. The first column of the images show the original corrupted slices (a,i,q) and their corresponding ROIs (e,m,u). The second column shows the corrected slices obtained by the 2D VWMA/WMA [15](b,j,r) and their corresponding ROIs (f,n,v). The third column shows the corrected slices obtained by the RCP [11](c,k,s) and their corresponding ROIs (g,o,w). The fourth column shows the corrected slices obtained by the proposed technique (d,l,t) and their corresponding ROIs (h,p,x). (C/W = 0.702/0.594 (s#401), C/W = 0.622/0.755 (s#601), and C/W = 0.692/0.615 (s#801)). The residual rings in the corrected images are marked by arrows.

4 Conclusions

This article has dealt with an improved ring artifact suppression method for FPD based CT images. A rigorous three step detection algorithm has been proposed here. The detection technique exploits both the mean curve and the difference curve to improve accuracy in ring artifact detection. Introduction of a feedback loop for detection is a new feature of the proposed ring removal algorithm. The iterative band ring detection method is also a new approach in detecting contagious artifacts, which is a common phenomena in CT images. A new class of artifacts has been included in the proposed classification scheme. All the threshold levels used in detection and clarification algorithm are data driven and automatic. Separate correction algorithms have been proposed here to correct each type of faults. Therefore, customized correction algorithms ensures the best result in removing ring artifacts from the CT images. The performance of the proposed algorithm has been tested and compared with other reported algorithms using both fan beam and cone beam geometry based CT images. To evaluate the performance of the proposed algorithm, some special cases has also been considered, e.g., images with highly structural and physiological details and images with high contrast cylindrical object at the iso-center. The comparative results have revealed that the proposed technique removes the ring more effectively compared to the other two reported techniques in this article.