We present an iterative method for reducing artifacts in computed tomography (CT) images. First, a filter is applied to the experimental projection data that adaptively expands the detector element size in regions with low photon counts, until the desired number of photons are detected. The initial image is then calculated using an existing reconstruction technique. In each iteration, artifacts and noise in the current image are reduced by using an edge-preserving blur filter. Metal pixels (determined from the initial image) are replaced with smaller values. The resulting image is forward projected. Rays that go through metal are replaced with the forward projected values. Rays that do not pass near metal are kept at the experimental values. Filtered backprojection is then performed on the new projection data to determine the updated image. Finally, after the last iteration, metal pixels are copied from the initial image.