<div dir="ltr">hi pascal,<br><br>certainly it&#39;s possible to incorporate the DRR-generation code inside the metric-component, BUT:<br>ITK&#39;s registration framework provides a quite elegant implementation of 2D/3D-registration (compatible to the &#39;ordinary&#39; itkImageRegistrationMethod and its multi-resolution equivalent):<br>
- fixed image is the 2D-image, e.g. X-ray (but treated as a 1-slice 3D-volume)<br>- moving image (property of the registration and metric objects) is the 3D-volume, e.g. a CT <br>- additionally the necessary components metric, transformation and interpolator are connected <br>
- ... till here it looks like a 3D/3D registration problem<br>- the &#39;elegant&#39; thing: the interpolator (itkRayCastInterpolateImageFunction) is the DRR-generator (!) projecting and summing the 3D volume-intensities onto the image plane (1-slice 3D-volume) (-&gt; in reality this is the moving image which the metric is evaluating!)<br>
<br>I&#39;ve not thought about more than one fixed images for 2D/3D-registration because in my concrete problem I do not have more than one X-rays per patient. but this could also be integrated into the traditional ITK-registration framework - e.g. with a custom metric component and an &#39;n-way&#39;-interpolator component. ... maybe I should also think about that!<br>
<br>if you browse nabble-ITK-forum, you will see that there are lots of confusions about the DRR-geometry and transformations (especially rotations). as far as I know the itkRayCastInterpolateImageFunction is not capable of affine volume transformations in general (do not know if you need that; certainly you can overcome this by providing a custom transformation which modifies the 3D input volume, but it&#39;s kind of stressful).<br>
<br>time? I did not measure time exactly using itkRayCastInterpolateImageFunction, but since it is not multi-threaded it&#39;s not too fast. most people who want to do fast (real-time) (RIGID) 2D/3D-registration use some kind of pre-calculations (&#39;libraries&#39;) and then mostly derive DRR-&#39;estimations&#39; (according to the current transform) from them. but unfortunately this is not really possible for model-based 2D/3D-registration ...<br>
<br>regards<br>phil<br><br><br><br><div class="gmail_quote">On Fri, Oct 17, 2008 at 2:50 PM, Pascal <span dir="ltr">&lt;<a href="mailto:mastersofwar@yahoo.com">mastersofwar@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top">
<div>Hello Phil,</div>
<div>&nbsp;</div>
<div>My intentions were to incorporate the DRR generation code inside the METRIC .txx file for the 2D/2D registration. Seeing how I must recreate DRR images after each step of the optimization (using the new transformation values),&nbsp;I thought it would be the easiest way to appraoch it.</div>

<div>&nbsp;</div>
<div>Unless, I am blind and haven&#39;t seen any similar strategies in the forums or ITK applications, do you feel this is a valid proposal by me? I am no expert in the DRR generation, however, in terms of computational time, how long does it take to generate multi DRR&#39;s in a 2D/3D registration framework?</div>

<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><br><br><span>Pascal Fallavollita, Ph.D</span><br>Queens University<br>Institute of Biomedical Engineering<br><br><br>--- On <b>Fri, 10/17/08, philstone <i>&lt;<a href="mailto:phil.steininger@gmail.com" target="_blank">phil.steininger@gmail.com</a>&gt;</i></b> wrote:<br>
</div>
<blockquote style="border-left: 2px solid rgb(16, 16, 255); padding-left: 5px; margin-left: 5px;">From: philstone &lt;<a href="mailto:phil.steininger@gmail.com" target="_blank">phil.steininger@gmail.com</a>&gt;<br>Subject: Re: [Insight-users] 2D/3D Intensity based registration<br>
To: <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>Date: Friday, October 17, 2008, 7:17 AM<div><div></div><div class="Wj3C7c"><br><br><pre>hi pafal,
we are currently working on an ITK-based multi-resolution 2D/3D registration
framework which is - hopefully - a bit easier to configure (the X-ray
geometry) than the InsightApplication-example. it will support (in contrast
to ITK&#39;s RayCaster) a) multi-threaded DRR-generation, b) ray-casting and
wobbled splatting, c) intensity transfer functions and d) affine
transformations of the input volume. depending on our work-progress and time
we can invest on this little project, we are going to submit it to the
insight-journal next month (I think ...).
regards
phil



pafal wrote:
&gt; 
&gt; I have searched the forums for IntensityBased2D3DRegistration and as of
&gt; yet I have not come with a concrete response to my question.
&gt; 
&gt; By sifting through the IntensityBased2D3DRegistration.cxx code in great
&gt; detail, I gather the pipeline is as follows:
&gt; 
&gt; a) read 3D volume
&gt; b) raycast the 3D volume into a DRR image
&gt; c) similarity metric between DRR image and user input 2D image
&gt; d) optimizwe transforms.
&gt; 
&gt; 
&gt; Questions:
&gt; 
&gt; 1- if I have three 2D images, can I use these images to estimate the pose
&gt; (6 d.o.f) of the volume, or is this .cxx file only valid for a single 2D
&gt; image to 3D volume registration?
&gt; 
&gt; 2- Is it possible initializing the transforms to identity, just like in
&gt; the 3D/3D registration examples and hope that the algorithm will optimize
&gt; the transforms close to their true values?
&gt; 
&gt; 3- I&#39;m confused with the Readme.txt file. The pipeline is to first
execute
&gt; GenerateProjection by projecting brainweb165a10f17.mha and saving into
&gt; projection.mhd. 
&gt; 
&gt; Then we take  projection.mhd  and compare it with our own 2D image by
&gt; calling IntensityBased2D3DRegistration??
&gt; 
&gt; 
&gt; 4- Are the command lines in Readme.txt copy pasted into batch files?
&gt; 
&gt; 
&gt; 
&gt; any insight on this would be monumental for me.
&gt; 
&gt; thank you 
&gt; 
&gt; regards
&gt; 
&gt; P.
&gt; 

-- 
View this message in context:
<a href="http://www.nabble.com/2D-3D-Intensity-based-registration-tp20015713p20031412.html" target="_blank">http://www.nabble.com/2D-3D-Intensity-based-registration-tp20015713p20031412.html</a>
Sent from the ITK - Users mailing list archive at Nabble.com.

_______________________________________________
Insight-users mailing list
<a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a>
</pre></div></div></blockquote></td></tr></tbody></table><div class="WgoR0d"><br>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>
<a href="http://mail.yahoo.com" target="_blank">http://mail.yahoo.com</a> </div></blockquote></div><br></div>