Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove cone-beam artifacts #38

Closed
scf819 opened this issue May 21, 2024 · 8 comments
Closed

remove cone-beam artifacts #38

scf819 opened this issue May 21, 2024 · 8 comments

Comments

@scf819
Copy link

scf819 commented May 21, 2024

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

@kylechampley
Copy link
Collaborator

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
#34 (comment)

@kylechampley
Copy link
Collaborator

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
Copy link
Collaborator

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

@hws203
Copy link

hws203 commented Jun 12, 2024

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.

@kylechampley
Copy link
Collaborator

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.

@hws203
Copy link

hws203 commented Jun 13, 2024

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.

@kylechampley
Copy link
Collaborator

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.

@hws203
Copy link

hws203 commented Jun 14, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants