2D-3D image registration – COMPLETE 6D ESTIMATION
Hello everyone,
I am simulating a 2D–3D image registration pipeline for 6D motion estimation (3D translation + rotation) from two 2D X-ray projections, based on the following paper:
[1] Fu & Kuduvalli, “A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery,” Med. Phys., 2008.
The pipeline consists of:
Generating a 3D CT volume with known fiducials
Applying a known 6D rigid transformation to the CT
Generating two 2D projections (A and B)
Performing accurate 2D–2D registration between each X-ray and its corresponding DRR
Estimating the final 6D transformation using geometric back-projection / analytical decomposition (as described in the paper)
Problem Description
The 2D image registrations are accurate and stable (x, y, in-plane rotation, and roll are recovered correctly for both projections).
However, the final 6D estimation shows significant error, especially in:
Out-of-plane translation
Out-of-plane rotations
Because the 2D registrations behave as expected, I suspect the issue is in the geometric back-projection / 2D-to-3D decomposition step, rather than in the similarity metric or optimization.
Specifically, I am unsure whether:
My implementation of the analytical back-projection equations is correct
The projection geometry (scaling, sign conventions, coordinate frames) is consistent between the two views
Additional geometric constraints or assumptions are required for observability
What I Am Looking For
I would greatly appreciate any insights or suggestions on:
Correct implementation of 2D-to-3D geometric back-projection for dual-view registration
Common pitfalls in coordinate systems, scaling factors, or sign conventions
Whether a cone-beam vs. parallel-beam assumption materially affects the 6D solution
Any recommended validation or sanity checks for this type of pipeline
I have attached the MATLAB code below for reference.
Thank you very much for your time and support.
Reference
[1] Fu, D., & Kuduvalli, G. (2008). A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery. Medical Physics, 35(5), 2180–2194.Hello everyone,
I am simulating a 2D–3D image registration pipeline for 6D motion estimation (3D translation + rotation) from two 2D X-ray projections, based on the following paper:
[1] Fu & Kuduvalli, “A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery,” Med. Phys., 2008.
The pipeline consists of:
Generating a 3D CT volume with known fiducials
Applying a known 6D rigid transformation to the CT
Generating two 2D projections (A and B)
Performing accurate 2D–2D registration between each X-ray and its corresponding DRR
Estimating the final 6D transformation using geometric back-projection / analytical decomposition (as described in the paper)
Problem Description
The 2D image registrations are accurate and stable (x, y, in-plane rotation, and roll are recovered correctly for both projections).
However, the final 6D estimation shows significant error, especially in:
Out-of-plane translation
Out-of-plane rotations
Because the 2D registrations behave as expected, I suspect the issue is in the geometric back-projection / 2D-to-3D decomposition step, rather than in the similarity metric or optimization.
Specifically, I am unsure whether:
My implementation of the analytical back-projection equations is correct
The projection geometry (scaling, sign conventions, coordinate frames) is consistent between the two views
Additional geometric constraints or assumptions are required for observability
What I Am Looking For
I would greatly appreciate any insights or suggestions on:
Correct implementation of 2D-to-3D geometric back-projection for dual-view registration
Common pitfalls in coordinate systems, scaling factors, or sign conventions
Whether a cone-beam vs. parallel-beam assumption materially affects the 6D solution
Any recommended validation or sanity checks for this type of pipeline
I have attached the MATLAB code below for reference.
Thank you very much for your time and support.
Reference
[1] Fu, D., & Kuduvalli, G. (2008). A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery. Medical Physics, 35(5), 2180–2194. Hello everyone,
I am simulating a 2D–3D image registration pipeline for 6D motion estimation (3D translation + rotation) from two 2D X-ray projections, based on the following paper:
[1] Fu & Kuduvalli, “A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery,” Med. Phys., 2008.
The pipeline consists of:
Generating a 3D CT volume with known fiducials
Applying a known 6D rigid transformation to the CT
Generating two 2D projections (A and B)
Performing accurate 2D–2D registration between each X-ray and its corresponding DRR
Estimating the final 6D transformation using geometric back-projection / analytical decomposition (as described in the paper)
Problem Description
The 2D image registrations are accurate and stable (x, y, in-plane rotation, and roll are recovered correctly for both projections).
However, the final 6D estimation shows significant error, especially in:
Out-of-plane translation
Out-of-plane rotations
Because the 2D registrations behave as expected, I suspect the issue is in the geometric back-projection / 2D-to-3D decomposition step, rather than in the similarity metric or optimization.
Specifically, I am unsure whether:
My implementation of the analytical back-projection equations is correct
The projection geometry (scaling, sign conventions, coordinate frames) is consistent between the two views
Additional geometric constraints or assumptions are required for observability
What I Am Looking For
I would greatly appreciate any insights or suggestions on:
Correct implementation of 2D-to-3D geometric back-projection for dual-view registration
Common pitfalls in coordinate systems, scaling factors, or sign conventions
Whether a cone-beam vs. parallel-beam assumption materially affects the 6D solution
Any recommended validation or sanity checks for this type of pipeline
I have attached the MATLAB code below for reference.
Thank you very much for your time and support.
Reference
[1] Fu, D., & Kuduvalli, G. (2008). A fast, accurate, and automatic 2D–3D image registration for image-guided cranial radiosurgery. Medical Physics, 35(5), 2180–2194. registration, 2d-3d image registration, optimization, iterative joint optimization MATLAB Answers — New Questions









