LLNL / LEAP

comprehensive library of 3D transmission Computed Tomography (CT) algorithms with Python and C++ APIs, a PyQt GUI, and fully integrated with PyTorch
https://leapct.readthedocs.io
MIT License
120 stars 12 forks source link

Jitter correction makes some warning message relating to rebin #132

Closed hws203 closed 3 weeks ago

hws203 commented 3 weeks ago

@kylechampley I added some jitter correction algorithm with leapct, and I can see some warning message from leapct as like below. I wonder it does not bring any side effect into all reconstruction action. If I use uneven angle space then it is normal of this warning message?

rebin_warn

hws203 commented 3 weeks ago

Below is my jitter correction algorithm flow.

  1. estimate angle deviation from 0 to 360 each degree projection images with phase correlation.
  2. update angle table with this deviation into leapct class's angle table memory.
  3. FDK call for full reconstruction.
  4. below is my result between corrected and not-corrected. I expected some perfect circle balls, but there were still some strains here(from 45 degree laminography).

jitter

kylechampley commented 3 weeks ago

You must be using either rebin_parallel or estimate_tilt right? I hope you are not rebinning to cone-parallel coordinate because I would only recommend this if you are doing medical CT. Anyway, this is just a warning, not an error. The code that does the interpolation uses Lagrange polynomial interpolation. I think the default is to use a 6th order polynomial. But if your projection angles are non-equi-spaced, I just use linear interpolation. I did this because it was too much of a pain to figure out how to do this efficiently with higher order polynomials. The overall impact is that linear interpolation gives a result that is not as sharp.

hws203 commented 3 weeks ago

@kylechampley Current just warning with little blurring looks not critical for my application. I will keep it. I am using estimate_tilt function. Thanks so much for explanation.