Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Geometric Calibration #54

kylechampley started this conversation in General
Jun 11, 2024 · 9 comments · 4 replies
Discussion options

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

You must be logged in to vote

Replies: 9 comments 4 replies

Comment options

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

You must be logged in to vote
0 replies
Comment options

(https://ieeexplore.ieee.org/document/9364757)

Above paper needs to be checked too.

You must be logged in to vote
0 replies
Comment options

I would like to apply geometric corrections to each individual projection instead of using the same correction for all projections.

You must be logged in to vote
1 reply
Comment options

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.

Comment options

Based on my experience of large size detector, each row's sinogram based calibration may be necessary too.

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

@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.

You must be logged in to vote
0 replies
Comment options

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.

You must be logged in to vote
3 replies
Comment options

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.

Comment options

kylechampley Jun 19, 2024
Maintainer Author

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.

Comment options

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.

Comment options

AI-train_Prj

Above block diagram approaching looks good too.

from : Perspective Projection-Based 3D CT Reconstruction from Biplanar X-rays (ICASSP 2023, Best Student Paper Award).

You must be logged in to vote
0 replies
Comment options

@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.

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

AltStyle によって変換されたページ (->オリジナル) /