<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.6944.0">
<TITLE>RE: [Insight-users] SpatialObjectToImageFilter work with Vessels Tubes        Spatial objects? FIXED</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi Julien,<BR>
<BR>
An update at the vesselsToImageFilter fixes the pb, I just cannot figure out why this Update cannot be set at the writer stage. Anyway I won't complain, it works. Thanks!<BR>
<BR>
Best Regards,<BR>
<BR>
Jerome<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: Julien Jomier [<A HREF="mailto:julien.jomier@kitware.com">mailto:julien.jomier@kitware.com</A>]<BR>
Sent: Mon 3/20/2006 11:52 PM<BR>
To: SCHMID, Jerome<BR>
Cc: insight-users@itk.org<BR>
Subject: Re: [Insight-users] SpatialObjectToImageFilter work with Vessels Tubes Spatial objects?<BR>
<BR>
Hi Jerome,<BR>
<BR>
Yes the SpatialObjecToImageFilter works with VesselTubesSO.<BR>
<BR>
Couple of things to try:<BR>
a) Add an -&gt;Update() at the vesselsToImageFilter or castFilter level.<BR>
b) If you don't specify the size of the output image, the bounding box<BR>
of the vessels should be the default size. You can try and see the<BR>
resulting image size. If the size is zero, that means the bounding box<BR>
is not computing correctly somewhere.<BR>
c) The SOtoImageFilter works in world coordinates. If you origin and<BR>
size are not defined correctly, the output image might be outside of the<BR>
vessels' bounding box.<BR>
<BR>
Let us know what you find,<BR>
<BR>
Julien<BR>
<BR>
SCHMID, Jerome wrote:<BR>
&gt; Hi,<BR>
&gt;<BR>
&gt; I generate a spatial object of type vessel tube in my app. When I use<BR>
&gt; the itkSpatialObjectWriter and save it to a meta file for instance it<BR>
&gt; works. However when I use a itk::SpatialObjectToImageFilter filter, my<BR>
&gt; file.vtk for instance is empty, just the header is written.<BR>
&gt;<BR>
&gt; Here a snippet of my code:<BR>
&gt;<BR>
&gt; vesselsTracingFilter is a filter producing the vessels structure. The<BR>
&gt; output of the filter is an image, currently empty,<BR>
&gt; but whose properties spacing, orign and region are correct.<BR>
&gt;<BR>
&gt; typedef itk::SpatialObjectToImageFilter&lt;<BR>
&gt; VesselTracingFilter::VesselTubeSpatialType, InputImageType &gt;<BR>
&gt; SpatialObjectToImageFilter;<BR>
&gt;<BR>
&gt; typedef itk::RescaleIntensityImageFilter&lt;<BR>
&gt; SpatialObjectToImageFilter::OutputImageType, OutputImageType&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&gt; CastFilterType;<BR>
&gt;<BR>
&gt; SpatialObjectToImageFilter::Pointer vesselsToImageFilter =<BR>
&gt; SpatialObjectToImageFilter::New();<BR>
&gt; vesselsToImageFilter-&gt;SetInput(<BR>
&gt; vesselsTracingFilter-&gt;GetVessels().GetPointer() );<BR>
&gt; vesselsToImageFilter-&gt;SetSpacing(<BR>
&gt; vesselsTracingFilter-&gt;GetOutput()-&gt;GetSpacing() );<BR>
&gt; vesselsToImageFilter-&gt;SetOrigin(<BR>
&gt; vesselsTracingFilter-&gt;GetOutput()-&gt;GetOrigin() );<BR>
&gt; vesselsToImageFilter-&gt;SetSize(<BR>
&gt; vesselsTracingFilter-&gt;GetOutput()-&gt;GetRequestedRegion().GetSize() );<BR>
&gt;<BR>
&gt; CastFilterType::Pointer castFilter = CastFilterType::New();<BR>
&gt; castFilter-&gt;SetOutputMinimum( 0 );<BR>
&gt; castFilter-&gt;SetOutputMaximum( 255 );<BR>
&gt; castFilter-&gt;SetInput( vesselsToImageFilter-&gt;GetOutput() );<BR>
&gt;<BR>
&gt; writer-&gt;SetFileName( outputFilename );<BR>
&gt; writer-&gt;SetInput( castFilter-&gt;GetOutput() );<BR>
&gt;<BR>
&gt;<BR>
&gt; try<BR>
&gt; {<BR>
&gt; writer-&gt;Update();<BR>
&gt; }<BR>
&gt; catch( itk::ExceptionObject &amp; err )<BR>
&gt; {<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot;ExceptionObject caught !&quot; &lt;&lt; std::endl;<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; err &lt;&lt; std::endl;<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&quot;pause&quot;);<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<BR>
&gt; }<BR>
&gt;<BR>
&gt;<BR>
&gt; Any clues?<BR>
&gt;<BR>
&gt; Thanks!<BR>
&gt;<BR>
&gt; Best Regards,<BR>
&gt;<BR>
&gt; Jerome Schmid<BR>
&gt;<BR>
&gt;<BR>
&gt; ------------------------------------------------------------------------<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; Insight-users mailing list<BR>
&gt; Insight-users@itk.org<BR>
&gt; <A HREF="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</A><BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>