LEAP icon indicating copy to clipboard operation
LEAP copied to clipboard

remove cone-beam artifacts

Open scf819 opened this issue 1 year ago • 1 comments

For 128-slice(or more) ct , cone-beam artifacts are severe,Whether LEAP supports removal of cone-beam artifacts?

scf819 avatar May 21 '24 05:05 scf819

Uh, ya, there are a few methods in LEAP you could try. I guess the main method you could try is iterative reconstruction.

If you know the overall shape of your object, you could make a mask of it and then blend you CT reconstruction and this mask with the method described in the paper posted below.

https://www.sciencedirect.com/science/article/am/pii/S0963869521001997

I talk more about this in issue #34. See here https://github.com/LLNL/LEAP/issues/34#issuecomment-2105445518

kylechampley avatar May 21 '24 13:05 kylechampley

I added a new sample script that demonstrates a cone-beam artifact method. Its currently on a development branch here: d33_reducingConeBeamArtifacts.py

Here is an example of the results: image

kylechampley avatar May 26 '24 20:05 kylechampley

@scf819 did you try the above demo? Did you have any other questions about reducing cone-beam artifacts?

kylechampley avatar Jun 04 '24 01:06 kylechampley

I think that this method costs too much resource and time for real usage. As you know it needs three more recons both single and iterative ones.

hws203 avatar Jun 12 '24 21:06 hws203

Those iterative reconstruction steps are an overkill just to make the method super robust. You can get results that are almost as good by quantizing the FBP result and then performing the filtering step with the cone-shaped filter.

kylechampley avatar Jun 12 '24 23:06 kylechampley

When I did test such iterative recon, I could see that target sample has to have rounding edge, if it has any sharp edge which will be removed too even it is real necessary one.

hws203 avatar Jun 13 '24 01:06 hws203

It depends on what you are trying to do. If you are actually trying to recover this sharp edge I think you just need to acquire the data differently, but if you have a sharp edge and you are just interested in getting a better quality reconstruction in slices that are just inside this sharp edge then you can just estimate the location of this edge and manually set all the voxels outside this edge to zero and then apply this filtering method. This will usually work well for sharp edges. You may feel that this is "cheating", but it is not really cheating because the cone-shaped filtering process only includes a very small amount of data from this artificially cut off reconstruction, and, again, this is only appropriate if recovering the sharp edge is not of interest.

kylechampley avatar Jun 14 '24 13:06 kylechampley

Yes, your advice could be useful at some case, But at my case, the sharp edge needs to be cleaned too.

hws203 avatar Jun 14 '24 21:06 hws203