Problem removing some random ring artifact from images

I am trying to remove some ring artifacts from microtomography images (See the sample image in this post) that were captured in a synchrotron facility. There are multiple image stacks and the artifact happens randomly in some of the reconstructed images in every stack.
The artifact is not the ordinary ring artifact that is usually uniform and can be corrected during reconstruction of the raw tomography files into images. I have gone too far in the image processing and now want to segment and binerize the images but this artifact makes it less precise. The example you see is a sample of filtered images (anisotrpic filtering). Please advise!

If there is no way of correcting the images and I may have to do the reconstruction from raw radiographs, I would appreciate any comment on that. Have never done reconstruction in ImageJ. After reconstruction I will have to register different stacks to each other due to some drift during the experiment. Have not done this one with ImageJ either. Any comments on these are appreciated.

Hi @hamidhk

Unfortunately I can’t see the image. Could you provide a download-link?


If you right click on the ‘blank’ image… and select ‘open in new tab’ - you can then download the image without a problem.



Do the artefacts appear only in the reconstructed images or are they there from the beginning?

There is really nothing much visible in the raw images. See the raw image I am uploading in ImageJ. The file was too big and I cropped it.
But does it make any difference if the rings were in the raw images or appeared later after reconstruction?

Oh, my eyes are really not trained for your images :smiley:

If the rings are not around in the raw-data they get introduced by the reconstruction, which means it is not the best reconstruction for this dataset.

If they are part of the raw data you have two possibilities:

  1. The image acquisition setup is not working properly.
  2. The artefacts are no artefacts, which can be good or bad.

I will do more research on this. Now trying to see if there is any improvement with the ‘Stripe Filter’ in Xlib. We need something like a Fourier Transform to brush away this type of artifact.

The acquisition is done by an expert. So I would say the scanning configuration was all right. It seems to me there are rings in the raw images. So I doubt the artifact was created by improper reconstruction. I have not done the reconstruction myself. So maybe I can double-check this by starting to work on reconstruction in ImageJ. Is it in Xlib? or some specific plugin to start with?

Converting from cartesian coordinates to polar (making sure the center of the ring artifacts in your image is also the center of the image, otherwise you have to specify the center in the 2D transform) using Xlib’s “Transform 2D 3D”, followed by “Stripes Filter” works well for me. I use Daubechies wavelets with Decom IDs of 0:3 and damping of 5.

This was several years ago, but I wanted to say that I have had very good results using Xlib on these type of artifacts. (I collect very quick scans of dynamic objects through the walls of a furace on a machine not neccessarily intended for that purpose. My data is less than ideal, but thats the world I live in. Post-processing with tools like Xlib make a very difficult job quite managable.)