How can I reduce/replace Metal artifacts on medical images?

Artefact=imread('C:\Users\USER\Desktop\My Research\artefact1.jpg');
Artefact=rgb2gray(Artefact);
Artefact=imadjust(Artefact);
thresh = adaptthresh(Artefact,"ForegroundPolarity","dark");
Artefactmask = imbinarize(Artefact,thresh);
se = strel('disk',2);
Artefactmask = imclose(Artefactmask,se);

11 Comments

Where is your "artefact1.jpg" image? How else do you know what your problem is? How can I help you investigate the problem?@Mohammed Njiti
I want to remove the beam hardening and photon stavation artifact sorrounding the metal on the image. The black and white artifacts on the CT image.
Images must remain rectangular. So what does "remove" mean to you? You can't have "holes" in an image, but you can replace certain pixels with other values. Would you want to do that? What would you replace the artifacts with? Zero? The surrounding gray levels?
@Mohammed Njiti CT metal artifact reduction is a huge ongoing area of research with a million papers written on it. You won't find a simple off-the-shelf solution in MATLAB. I can tell you though that MAR algorithms usually involve manipulation of the original x-ray projection data. I've never hard of one that operates on the final 3D image.
@Matt, I believe I actually have, but that used a deep learning black box to predict the true density.
Kindly help me out on how to do it. Thanks
Image Analyst asked several questions and Matt explained this is a large area of research.
If you don't understand their comments (since you ignore the content of them), how do you expect to understand an answer?
@Rik Is the deep learning black box publicly available? A link to it may help the OP, as well as be of interest to me.
I believe it was an internal tool from Siemens. It was at least 4 years ago, and my colleague only mentioned it in passing, so I don't know the name. If they actually made a product, it should be on Google. I was mainly working with a noise reduction software, but it wasn't designed for these artifacts.
@Image Analyst Yes I would like to replace some pixels with others say like zero as you mentioned, if that would downgrade the artifacts. kindly help me out on how to achieve that. The sorrounding gray scales are not the artifacts but the black strikes sorrounding the round bright metal implant. Thank you.

Sign in to comment.

 Accepted Answer

Hi Mohammed,
I understand you are facing the issue with removal of metal artifacts.
To reduce or replace metal artifacts on medical images, you can try different approaches. Here are a few techniques you can consider:
1. Metal Artifact Reduction (MAR) algorithms: MAR algorithms are specifically designed to reduce metal artifacts in medical images. These algorithms typically involve manipulating the original x-ray projection data before reconstructing the image. Various techniques, such as interpolation, segmentation, and statistical modeling, are used to estimate and correct the artifacts caused by metal objects.
2. Image post-processing techniques: After reconstructing the image, you can apply post-processing techniques to further reduce or replace metal artifacts. Some common approaches include:
- Thresholding and masking: You can use thresholding techniques, such as adaptive thresholding or global thresholding, to segment the metal regions in the image. Then, apply a binary mask to remove or replace the pixels within the metal regions.
- Image inpainting: Inpainting techniques can be used to fill in the missing or corrupted regions caused by metal artifacts. These techniques estimate the missing pixel values based on the surrounding information.
You can refer this documentation for Inpainting: https://mathworks.com/help/images/ref/inpaintexemplar.html
- Image filtering: Applying appropriate filters, such as median filtering or guided filtering, can help reduce noise and smooth out the artifacts in the image.
You can refer this documentation to know more on image filtering: https://mathworks.com/help/images/linear-filtering.html
- Image reconstruction: If the metal artifact area is small, you can consider using image reconstruction techniques, such as patch-based or super-resolution methods, to enhance the details and reduce the artifacts.
You can refer this documentation to know more on image reconstruction: https://mathworks.com/discovery/image-reconstruction.html
Artifacts removal is the current research area, and it is really challenging, lot of new techniques are arising, I hope the above solution will help in your case!

More Answers (0)

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Products

Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!