[Rtk-users] 3D mesh points projection onto the DRR image plane

Isuru Wijesinghe isurusuranga.wijesinghe at gmail.com
Mon Oct 16 10:54:04 CEST 2023


Hi Simon,

I attempted to implement the modifications to the code as per your
instructions above, but it doesn't seem to be functioning correctly.

For your reference, I've attached the overlaid image along with a sample of
the code and the accompanying data.
 RTK_code_with_sample_data.zip
<https://drive.google.com/file/d/1r05n4AhAhhSN3jrHjOxlgH-tlXrEmlsE/view?usp=drive_web>

Thanks,
Surang


On Fri, Oct 13, 2023 at 7:49 AM Simon Rit <simon.rit at creatis.insa-lyon.fr>
wrote:

> Hi,
> Sorry for the delay. As far as I can see, you are changing the coordinate
> system of the CT lines 28-32. This transformation should also be applied to
> your mesh before projection. If I'm not mistaking, that means swapping the
> second and the third coordinates of the mesh points and applying a shift of
> -2*CT.GetOrigin()[1] to the (new) third coordinate. If it does not work, I
> can try to help if you provide the input data. But I'm sure you'll figure
> it out!
> Simon
>
> On Sun, Oct 1, 2023 at 12:30 PM Suranga W <
> isurusuranga.wijesinghe at gmail.com> wrote:
>
>> Hi Simon,
>>
>> I attempted to implement point projection based on the information you
>> mentioned above. However, the points projected onto the DRR do not appear
>> to be accurate. Could you kindly assist me in identifying if I missed any
>> steps or how I should incorporate parameters such as origin, pixel spacing,
>> and size (which I used when implementing point projection in ITK - code is
>> attached above) to ensure correct point projection? For your reference, I
>> have attached a DRR image along with the projected point cloud.
>>
>> Thanks,
>> Surang
>>
>> On Thu, Sep 28, 2023 at 8:50 AM Simon Rit <simon.rit at creatis.insa-lyon.fr>
>> wrote:
>>
>>> Hi,
>>> The easiest is to use the projection matrices from the geometry object
>>> with GetMatrix
>>> <http://www.openrtk.org/Doxygen/classrtk_1_1ProjectionGeometry.html#ac848531d266395624ee8f1f328ae67d3>
>>> which takes the projection number as a paramter or GetMatrices
>>> <http://www.openrtk.org/Doxygen/classrtk_1_1ProjectionGeometry.html#aa00734aa99a710a163a0eb30334cbac7>
>>> to get the full list. You can then multiply your 3D homogeneous coordinate
>>> in image space (x,y,z,1) by multiplying it with the matrix to get the
>>> homogenous projection coordinates (u,v,w) (so you get the actual 2D
>>> coordinates (u/w, v/w)).
>>> Simon
>>>
>>> On Mon, Sep 25, 2023 at 8:29 AM Suranga W <
>>> isurusuranga.wijesinghe at gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I have segmented the liver from a 3D-CT volume and created a volumetric
>>>> mesh. I have successfully generated DRRs by using RTK tool kit. The code is
>>>> attached below. Now what I want is that I need to project each and every 3D
>>>> coordinates of the volumetric mesh on this DRR image plane. This means that
>>>>  finding the corresponding 2D projection coordinate (i.e. x, y positions)
>>>> of each vertex coordinate on the DRR image projection plane.
>>>>
>>>> How can I obtain the (x, y) coordinate values in the DRR image plane
>>>> for a given 3D coordinate position? For example, I have (x,y,z) positions
>>>> for each vertex and I want to convert into (x,y) i.e. 2D projection
>>>> coordinates on the DRR image plane? Can you please elaborate with an
>>>> example ?
>>>>
>>>> I have python code to project the 3D-mesh coordinates  on DRR images
>>>> based on ITK SiddonJacobsRayTracing algorithm. However, I want to implement
>>>> this code similar to the RTK based DRR projections. I have attached this
>>>> ITK based DRR generation code and the point projection code which is
>>>> compatible to this ITK-based DRR code for your further reference.
>>>> Moreover, I have attached sample DRR image with projected points overlaid
>>>> on it that is based on ITK-based code.
>>>>
>>>> *Additional note:* The reason because I have chosen RTK since it is
>>>> more convenient than ITK based ray-tracing algorithm when generating DRRs
>>>> so that I’m able to generate DRRs to match the exact field of view of real
>>>> kV planar x-ray images.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Surang
>>>> _______________________________________________
>>>> Rtk-users mailing list
>>>> rtk-users at openrtk.org
>>>> https://www.creatis.insa-lyon.fr/mailman/listinfo/rtk-users
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20231016/61769d13/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ref_ct_out_290.922225952.png
Type: image/png
Size: 57291 bytes
Desc: not available
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20231016/61769d13/attachment-0001.png>


More information about the Rtk-users mailing list