Closed Medphys-KM closed 1 month ago
Ya, that documentation is incorrect. I fixed it already, but it has not yet been released to the main branch. I'll do this over the weekend. To perform BPF reconstruction, just use the leapct.BPF function. But it is still true that this will only be an approximate reconstruction for cone-beam CT.
Regardless, why do you want BPF reconstruction? In general, it is inferior to FBP reconstruction. You can perform FBP reconstruction with truncated projection in LEAP if you do the following:
leapct.set_truncatedScan(True)
leapct.FBP(g,f)
Thanks a lot for you repply. I want to compare the BPF and FDK for the truncated projection. Some reference says that BPF has a theoretical advantage for truncated projection. So, can I use following code for comperation?
leapct.set_truncatedScan(True) leapct.FBP(g,f)
leapct.set_truncatedScan(True) leapct.BPF(g,f)
I have not heard about BPF being more robust to truncation artifacts. I know that Frank Dennerlein was looking into this at one point. Is that who you heard from about this?
LEAP has an iterative algorithm that works well with truncation, it's called RDLS.
Sorry, leapct.set_truncatedScan(True)
does not work with BPF. One trick with BPF is to enlarge the reconstruction FOV (increase numX and numY parameters) so that you avoid truncation artifacts when applying the 2D ramp filter to the image slices.
As I know, the BPF-based algorithms was proposed by the Dr. Xiaochuan Pan at The University of Chicago. Many papers introduces that one of important properties of the BPF-based algorithms lies in that it can provide exact image reconstruction within a region of interest (ROI) from projection data containing longitudinal and transverse truncations.
I read some papers of Dr. Xiaochuan Pan at The University of Chicago and Dr. Yuxiang Xing at Tsing Hua university. But it is difficult for me to reproduce these methods. Thanks for open sourcing this work. I will try these methods as you suggetested.
I am studying to used leap. It's a great tool, but I can't use it proficiently at present. Can I use follow code to apply BPF to cbct? filterProjections(f) weightedBackproject(g,f) f *= get_FBPscalar() This code is from the official documentation, and I haven't tried it yet. I need to reconstuct truncated cbct projection using BFP, but the official documentation says that leapctype.tomographicModels.BPF() only works for parallel-beam data. Do you have any advice? Thank you!