-
Notifications
You must be signed in to change notification settings - Fork 31
Geometric Calibration #54
-
Geometric calibration has been an active topic on the LEAP github page for the past several weeks. I am starting this discussion for this topic. If you know of any methods or tools for geometric calibration, please list them here. If they are general-purpose methods, I would be encouraged to add them to LEAP. So far, I have implemented most of what I am familiar with.
A few years ago, I can across the following paper. It has been a while since I read it, but I remember that when I read it, I thought it was a good method for geometric calibration.
Joint iterative reconstruction and 3D rigid alignment for X-ray tomography.
Let me know what you think. The following people may be interested in this discussion
@lc82111
@ProjX0
@hws203
@andrewerf
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 3
Replies: 9 comments 4 replies
-
Below paper and their open code have the FDCTcalibraion which may be useful for Leap new feature.
https://acrobat.adobe.com/id/urn:aaid:sc:AP:f01d4516-e397-42bf-ab87-e293ccff1716
Beta Was this translation helpful? Give feedback.
All reactions
-
(https://ieeexplore.ieee.org/document/9364757)
Above paper needs to be checked too.
Beta Was this translation helpful? Give feedback.
All reactions
-
I would like to apply geometric corrections to each individual projection instead of using the same correction for all projections.
Beta Was this translation helpful? Give feedback.
All reactions
-
If such individual correction works well, then that could be very useful. I have several kinds of sample images for such testing. If it is possible, please let me know it.
Beta Was this translation helpful? Give feedback.
All reactions
-
Based on my experience of large size detector, each row's sinogram based calibration may be necessary too.
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
@jeffhwang02 that reference you gave seem like a really good algorithm. I check the link in the paper and it leads to a web page with some materials and a link to the source code. The paper is very hard to follow and the source code is quite long, so I can't make sense of it. My hope is that this code works well and can be used as a preprocessing step. I'd like this kind of functionality in LEAP, but at this moment I don't have time to incorporate this.
Beta Was this translation helpful? Give feedback.
All reactions
-
I think the paper @hws203 post above (Distributed Optimization for Nonrigid Nano-Tomography) may be able to be used for calibration of each projection, but I see two possible issues. First of all, that paper was written for parallel-beam CT, so extending it to cone-beam CT would require some extra work. And second of all, the joint reconstruction + geometric calibration algorithms don't always work. The job of iterative reconstruction is to fit the model (i.e., the reconstruction) to the data. So even when the geometry is wrong, iterative reconstruction will attempt to find a reconstruction that agrees with the misaligned data.
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks for your comments, How about upgrading your consistency-cost function to work even with some strong noise level? I did check your consistency-cost with the large level of noise at your original demo script. And I could see that it shows very fluctuated returns whenever I did same script. It looks noise sensitive.
Beta Was this translation helpful? Give feedback.
All reactions
-
The consistency cost is based on the zeroth order consistency condition which is a sum of an entire column of data and thus the method should be very robust to noise.
If you are noticing that you are getting inaccurate results due to high noise, then just run the data through one of LEAP's denoising algorithms on the projection data prior to running the calibration routine.
Beta Was this translation helpful? Give feedback.
All reactions
-
If you use one line of colunm then this entire line data may be weak point. As you can see at the sample of my cylinder sample case. There are almost empty data at the center line of colunm. So I have to use the lower line colunm for cost function. Then it shows stable result. It is related to the sample shape. An entire column of data + partial row of data summing may be more robust.
Beta Was this translation helpful? Give feedback.
All reactions
-
Above block diagram approaching looks good too.
from : Perspective Projection-Based 3D CT Reconstruction from Biplanar X-rays (ICASSP 2023, Best Student Paper Award).
Beta Was this translation helpful? Give feedback.
All reactions
-
@kylechampley I have checked your new estimate_tilt() function of v1.18, and I can see that function works well with my own real data.
And that function is fast too. That could be useful for real data fine reconstruction.
Beta Was this translation helpful? Give feedback.