# Removing constant artifact/defect from several images

I have several images, each of which has the same artifact/defect. Does anybody have a suggestion to remove such an artifact?

The images are disordered arrays of dots. The artifacts include the 'squiggly worm' and the 'circular ripples' that you can hopefully identify by eye.

I tried using the pixel median of all the images, like in this post, but I was unsuccessful.

The following code will quickly import all the images.

names =
{"DgkH6V5", "QHgATwh", "CWMkitU", "IymdBJM",
"BxkbVOj", "qyanXWZ", "6Wlvnr1", "upxv4EH"};
frames = Import["https://imgur.com/" <> # <> ".png"] & /@ names;


• Do you have an image with only the artefact and a flat background? – rhermans Jul 17 '18 at 15:18
• Unfortunately not :( – Tom Jul 17 '18 at 15:22
• Consider ImageAdjust@Mean[EdgeDetect /@ frames] – kirma Jul 17 '18 at 15:32

img = Import["https://i.stack.imgur.com/lTMs1.png"];

• Also: Import["https://i.stack.imgur.com/lTMs1.png"] // HighpassFilter[#, .5] & // ImageAdjust ... but this is also kind of "tuning" regarding the parameter that makes me a bit uneasy, but so are all somewhat arbitrary constructs that bring out details for a specific set of samples. – kirma Jul 17 '18 at 17:05
• A useful approach. Perhaps I can use the HighpassFiler selectively in the regions that contain an artefact, to minimise the image processing done to regions with no defects. – Tom Jul 18 '18 at 9:25