<br />I use <em>vtkImageViewer2 :</em><br /><em><br />&nbsp;&nbsp;&nbsp; // VIEWER TOOL : Pick a Pixel<br />&nbsp;&nbsp;&nbsp; // Picker to pick pixels<br />&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkPropPicker&gt; propPicker = vtkSmartPointer&lt;vtkPropPicker&gt;::New();<br />&nbsp;&nbsp;&nbsp; propPicker-&gt;PickFromListOn();<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; // Give the picker a prop to pick<br />&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkImageViewer2&gt; imageViewer = vtkSmartPointer&lt;vtkImageViewer2&gt;::New();<br />&nbsp;&nbsp;&nbsp; vtkImageActor* imageActor = imageViewer-&gt;GetImageActor();<br />&nbsp;&nbsp;&nbsp; propPicker-&gt;AddPickList(imageActor);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; // disable interpolation, so we can see each pixel<br />&nbsp;&nbsp;&nbsp; imageActor-&gt;InterpolateOff();</em><br /><br /><blockquote style="padding-left: 5px; margin-left: 5px; border-left: 2px solid #ff0000">&gt; Message du 30/06/11 15:54<br />&gt; De : &quot;Jothy&quot; <br />&gt; A : &quot;mathilde.merle&quot; <br />&gt; Copie &agrave; : &quot;vtkusers vtk org&quot; <br />&gt; Objet : Re: [vtkusers] Extract slices from a vtkMetaImageReader with vtkExtractVOI<br />&gt;<br />&gt; <p style="margin:0;padding:0;" dir="ltr">Which image viewer are you using here?<br />&gt; <br />&gt; Jothy<br />&gt; <br />&gt; <p style="margin:0;padding:0;" class="gmail_quote">On Thu, Jun 30, 2011 at 3:41 PM, mathilde.merle <span>&lt;<a href="mailto:mathilde.merle@laposte.net">mathilde.merle@laposte.net</a>&gt;</span> wrote:<br />&gt;  <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex"><p style="margin: 0pt; padding: 0pt" align="left"><br />&gt; </p><br />&gt; Hello,<br />&gt; <br />&gt; I'm trying to extract slices from a vtkImagedata sequence and then display it. <br />&gt;  <br />&gt; I tryed with vtkImageReslice and then vtkextractVOI, but it don't work. The image displayed is always the same even if I change 'slice_nb'. <br />&gt; <br />&gt; How can I do ?<br />&gt; <br />&gt; My code :<br />&gt; <em><br />&gt; int* dims = reader-&gt;GetOutput()-&gt;GetDimensions();<br />&gt;  <br />&gt; // extract slice<br />&gt; <br />&gt; <strong>int slice_nb = 0;</strong><br />&gt; <br />&gt; <strong>vtkSmartPointer extractVOI = vtkSmartPointer::New();<br />&gt; &nbsp;&nbsp;&nbsp; extractVOI-&gt;SetInputConnection(reader-&gt;GetOutputPort());<br />&gt;  &nbsp;&nbsp;&nbsp; extractVOI-&gt;SetVOI(0,dims[0],0,dims[1], slice_nb, slice_nb); //extract first image<br />&gt; &nbsp;&nbsp;&nbsp; extractVOI-&gt;Update();</strong><br />&gt; &nbsp;&nbsp;&nbsp; <br />&gt; &nbsp;&nbsp;&nbsp; vtkImageData* extracted = extractVOI-&gt;GetOutput();<br />&gt; <br />&gt; &nbsp;&nbsp;&nbsp; int* dims2 = extracted-&gt;GetDimensions();<br />&gt;  &nbsp;&nbsp;&nbsp; cout &lt;&lt; &quot;DimensionsExtracted = &quot;;<br />&gt; &nbsp;&nbsp;&nbsp; for (int i=0; i&lt;(int)(sizeof(dims2)/sizeof(int)+1); i++) { <br />&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; dims2[i]&lt;&lt;&quot;, &quot;;<br />&gt; &nbsp;&nbsp;&nbsp; }<br />&gt; &nbsp;&nbsp;&nbsp; cout &lt;&lt; endl; // Get a good image dimension<br />&gt;  &nbsp;&nbsp;&nbsp; <br />&gt; // Visualize<br />&gt; &nbsp;&nbsp;&nbsp; vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New();<br />&gt; &nbsp;&nbsp;&nbsp; imageViewer-&gt;SetInputConnection(<strong>extractVOI-&gt;GetOutputPort() </strong>);<br />&gt;  &nbsp;&nbsp;&nbsp; imageViewer-&gt;SetupInteractor( renderWindowInteractor );<br />&gt; &nbsp;&nbsp;&nbsp; imageViewer-&gt;SetSize( 600, 600 );<br />&gt; &nbsp;&nbsp;&nbsp; <br />&gt; &nbsp;&nbsp;&nbsp; vtkRenderer* renderer = imageViewer-&gt;GetRenderer();<br />&gt; &nbsp;&nbsp;&nbsp; renderer-&gt;ResetCamera();<br />&gt; &nbsp;&nbsp;&nbsp; renderer-&gt;GradientBackgroundOn();<br />&gt;  &nbsp;&nbsp;&nbsp; renderer-&gt;SetBackground(0,0,0);<br />&gt; &nbsp;&nbsp;&nbsp; renderer-&gt;SetBackground2(1,1,1);<br />&gt; &nbsp;&nbsp;&nbsp; <br />&gt; &nbsp;&nbsp;&nbsp; // Annotate the image with window/level and mouse over pixel information<br />&gt; &nbsp;&nbsp;&nbsp; vtkSmartPointer cornerAnnotation = vtkSmartPointer::New();<br />&gt;  &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;SetLinearFontScaleFactor( 2 );<br />&gt; &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;SetNonlinearFontScaleFactor( 1 );<br />&gt; &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;SetMaximumFontSize( 20 );<br />&gt; &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;SetText( 0, &quot;Off Image&quot; );<br />&gt;  &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;SetText( 3, &quot;\n&quot; );<br />&gt; &nbsp;&nbsp;&nbsp; cornerAnnotation-&gt;GetTextProperty()-&gt;SetColor( 1,0,0);<br />&gt; &nbsp;&nbsp;&nbsp; <br />&gt; &nbsp;&nbsp;&nbsp; imageViewer-&gt;GetRenderer()-&gt;AddViewProp( cornerAnnotation );<br />&gt;  &nbsp;&nbsp;&nbsp; <br />&gt; &nbsp;&nbsp;&nbsp; // Callback listens to MouseMoveEvents invoked by the interactor's style<br />&gt; &nbsp;&nbsp;&nbsp; vtkSmartPointer callback = vtkSmartPointer::New();<br />&gt; &nbsp;&nbsp;&nbsp; callback-&gt;SetViewer( imageViewer );<br />&gt;  &nbsp;&nbsp;&nbsp; callback-&gt;SetAnnotation( cornerAnnotation );<br />&gt; &nbsp;&nbsp;&nbsp; callback-&gt;SetPicker( propPicker );<br />&gt; &nbsp;&nbsp;&nbsp; callback-&gt;SetOrigin( orgn[0], orgn[1], orgn[2]); // add the origin of the sequence into the class<br />&gt; <br />&gt; &nbsp;// Events recognized <br />&gt;  &nbsp;&nbsp;&nbsp; vtkInteractorStyleImage* imageStyle = imageViewer-&gt;GetInteractorStyle();<br />&gt; &nbsp;&nbsp;&nbsp; imageStyle-&gt;AddObserver( vtkCommand::MouseMoveEvent, callback );<br />&gt; &nbsp;&nbsp;&nbsp; imageStyle-&gt;AddObserver( vtkCommand::LeftButtonReleaseEvent, callback );<br />&gt;  <br />&gt; &nbsp;&nbsp;&nbsp; renderWindowInteractor-&gt;Initialize();<br />&gt; &nbsp;&nbsp;&nbsp; renderWindowInteractor-&gt;Start();&nbsp;&nbsp;</em>&nbsp; <br />&gt; <br />&gt; <br />&gt; Thanks<br />&gt; <font color="#888888"><br />&gt; Mathilde<span style="color: #808000"></span><br />&gt; <br />&gt; <a href="https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique" target="_blank"><img src="http://webmail.laposte.net/webmail/fr_FR/panels/images/pied-page-generique_2.jpg" /></a></font><br />&gt;  _______________________________________________<br />&gt;  Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br />&gt;  <br />&gt;  Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br />&gt;  <br />&gt;  Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br />&gt;  <br />&gt;  Follow this link to subscribe/unsubscribe:<br />&gt;  <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br />&gt;  <br />&gt; </blockquote></p><br />&gt; </p> </blockquote><BR><BR><a target=_blank href=https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique><img style="margin: 0pt;" src="http://webmail.laposte.net/webmail/fr_FR/panels/images/pied-page-generique_2.jpg" alt=""><a>