-
Notifications
You must be signed in to change notification settings - Fork 13
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
truncatedScan correction algorithm for laminography(45 degree) #134
Comments
It looks to me like there is something wrong with the geometry specification in LEAP. Are you sure it is correct? You can also expand the reconstruction field of view in LEAP to match the CERA reconstruction. |
@kylechampley Yes, the geometry is correct to my machine design spec. And it is focused on the FoV of slice, then there is no such strains. The strains only exists on the outside boundary of FOV with truncated on option. I set a large FoV diameter in leapct. |
@kylechampley I made this issue at your standard d32_laminography.py file with below modifcations.
|
I don't know. The truncated scan option seems to be doing what is it supposed to when I run the code. Note that all this parameter does is this: If truncatedScan is False, then zero-padding is done with the ramp filter. If truncatedScan is True, then the edge 100 values are padded with zero-th order extrapolation and the rest are zeros. |
@kylechampley Above is my test script zipped file. Please check this one. I used a manual volume setting which is a missed param by me. |
truncated_paper.pdf |
@kylechampley I changed the z-axis laminography position calculation method from your original demo script at 50 degree.
|
I looked at the script you sent, but I didn't see anything obviously wrong. The truncated scan setting seems to be doing what it was intended to do from my perspective. Yes, there are better ways to handle truncation aritfacts; these are usually two-pass methods which could easily be done with the LEAP toolbox, but I don't have the time to implement these at this time. Also note that laminography is an incomplete problem. By scanning at an angle there are certain frequencies in the reconstruction that cannot be recovered and you will always get artifact- which are similar in appearance and reason as the so-called cone-beam artifact. |
@kylechampley Thanks for your comments. current issue has two kind of issues, one is truncated artifact and the other is angle adaptation method in laminography of leapct. I will close this issue which is related to the first one. Please consider the second one more if you have time. |
@kylechampley I guess that this issue is related to leapct's geometry bug in the case of laminography. As you may know, in the case of standard cone beam, the zero degree and 180 degree angle have same SDD change from detector's center to detector's out boundary, but in the case of laminography the zero degree and 180 degree angle have not same SDD change from detector's center to detector's out boundary. It should be considered by the laminograhy angle factor too. For example, from the center of detector to zero angle direction, SDD will be increased, but from the center of detector to 180 angle direction, SDD will be decreased depending on laminography angle. |
https://github.com/tomography/tomocupy/blob/main/src/include/kernels_linerec.cuh |
I have not done laminography in a long time and don't plan to look into it in the near future, so I don't know why you are having issues. My best guess is that you have something incorrectly specified in the geometry. You are also violating the LEAP assumptions by bypassing the 5 degree detector rotation limitation in the FDK reconstruction. Have you tried the VD backprojector here? |
@kylechampley I will check vd back-project tomorrow. And I am adding laminography cone beam kernel into my c++ leapct class. I will post my result soon. |
@kylechampley I tested leapct with 45 degree laminography geometry with truncated off and on option.
As you can see below, your truncated correction algorithm may not work correctly at the case of laminography.
How about your thought(tested by leapct's version 1.24) ?
truncated off:

other vendor truncated on:

The text was updated successfully, but these errors were encountered: