Thanks for the helpful responses.  I used the vtkImageImport for the fast real-time display, and only acquired to ITK for my processing requirements.  Appreciate the advice-<div>-Ryan<br><br><div class="gmail_quote">On Tue, Feb 8, 2011 at 9:30 PM, Karthik Krishnan <span dir="ltr">&lt;<a href="mailto:karthik.krishnan@kitware.com">karthik.krishnan@kitware.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Also try importing each of the pieces separately, ie the importFilter-&gt;Update(), connector-&gt;Update(). Its hard to tell where in the pipeline you hang now..<br>
<br>Also, I presume you are doing some processing in ITK. If not, you could use a vtkImageImport to get this straight into VTK, instead of first converting to an ITK image, then to a VTK image.<br>
<br><div class="gmail_quote"><div><div></div><div class="h5">On Tue, Feb 8, 2011 at 7:54 PM, Ryan L. Smith <span dir="ltr">&lt;<a href="mailto:ryans09@gmail.com" target="_blank">ryans09@gmail.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><div></div><div class="h5"><div>Hi David-</div>
<div> </div>
<div>Thanks for the quick response.  I explored that option, and my software compiles although it hangs on execution.<font size="2" face="Consolas"><font size="2" face="Consolas"><font face="arial,helvetica,sans-serif">  The example has an input as an array of unsigned chars, as opposed to my vector. Is this the problem?  Additionally, this still uses an <span style="background:yellow none repeat scroll 0% 0%">itk</span> to <span style="background:yellow none repeat scroll 0% 0%">vtk</span> connector before display.  I am assuming based on your suggestion, the bulk of my time in the previous solution was spent looping and setting <span style="background:yellow none repeat scroll 0% 0%">individual </span>pixels as opposed to the <span style="background:yellow none repeat scroll 0% 0%">itk</span> to <span style="background:yellow none repeat scroll 0% 0%">vtk</span> filter.  Is this correct? If not, is there a <span style="background:yellow none repeat scroll 0% 0%">vtk</span> import filter that will take my buffer as an input directly? My non-functioning code hangs when I try to connect my pipeline to an actor, and it is included below:</font></font></font></div>




<div> </div>
<div><font face="Consolas">==================================================================================</font></div>
<div>
<div><font face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">setupCamera</span>();</font></div>


<div><font face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">getCamInfo</span>(w,h,d) //get width,height,depth from camera</font></div>

</div>
<div><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">char</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">PixelType</span>;<br>



</font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">const</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">int</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> Dimension = 2;<br>



</font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">itk</span>::Image&lt;<span style="background:yellow none repeat scroll 0% 0%">PixelType</span>,Dimension&gt; <span style="background:yellow none repeat scroll 0% 0%">ImageType</span>;<br>



</font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">itk</span>::<span style="background:yellow none repeat scroll 0% 0%">ImageToVTKImageFilter</span>&lt; <span style="background:yellow none repeat scroll 0% 0%">ImageType</span> &gt; <span style="background:yellow none repeat scroll 0% 0%">ConnectorType</span>;<br>



<span style="background:yellow none repeat scroll 0% 0%">ConnectorType</span>::Pointer connector = <span style="background:yellow none repeat scroll 0% 0%">ConnectorType</span>::New();<br>

</font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">itk</span>::Image&lt; <span style="background:yellow none repeat scroll 0% 0%">PixelType</span>, Dimension &gt; <span style="background:yellow none repeat scroll 0% 0%">ImageType</span>;<br>



</font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">itk</span>::<span style="background:yellow none repeat scroll 0% 0%">ImportImageFilter</span>&lt; <span style="background:yellow none repeat scroll 0% 0%">PixelType</span>, Dimension &gt; <span style="background:yellow none repeat scroll 0% 0%">ImportFilterType</span>;<br>



<span style="background:yellow none repeat scroll 0% 0%">ImportFilterType</span>::Pointer <span style="background:yellow none repeat scroll 0% 0%">importFilter</span> = <span style="background:yellow none repeat scroll 0% 0%">ImportFilterType</span>::New();</font></font></font></font></font></div>




<div><font size="2" face="Consolas"><font size="2" face="Consolas">
<p>vtkSmartPointer&lt;vtkImageActor&gt; actor = vtkSmartPointer&lt;vtkImageActor&gt;::New();</p></font></font>
<p>ImportFilterType::SizeType size;<br>size[0] = w;<br>size[1] = h; <font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas">// size along Y</font></font></font></p>



<font size="2" face="Consolas"><font size="2" face="Consolas">
<p><span style="background:yellow none repeat scroll 0% 0%">ImportFilterType</span>::<span style="background:yellow none repeat scroll 0% 0%">IndexType</span> start;<br>

start.Fill( 0 );</p>
<p></p>
<p><span style="background:yellow none repeat scroll 0% 0%">ImportFilterType</span>::<span style="background:yellow none repeat scroll 0% 0%">RegionType</span> region;<br>

region.<span style="background:yellow none repeat scroll 0% 0%">SetIndex</span>( start );<br>region.<span style="background:yellow none repeat scroll 0% 0%">SetSize</span>( size );<br>


<span style="background:yellow none repeat scroll 0% 0%">importFilter</span>-&gt;<span style="background:yellow none repeat scroll 0% 0%">SetRegion</span>( region );</p>


<p></p></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">double</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> origin[ Dimension ];<br>



origin[0] = 0.0; </font></font><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas">// X coordinate<br></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas">origin[1] = 0.0; </font></font><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas">// Y coordinate<br>



</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas">importFilter-&gt;SetOrigin( origin ); 
<p></p>
<p></p></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">double</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> spacing[ Dimension ];<br>



spacing[0] = 1.0; </font></font><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas">// along X direction<br></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas">spacing[1] = 1.0; </font></font><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas"><font size="2" color="#008000" face="Consolas">// along Y direction</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> 
<p><span style="background:yellow none repeat scroll 0% 0%">importFilter</span>-&gt;<span style="background:yellow none repeat scroll 0% 0%">SetSpacing</span>( spacing );<br>

</p></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><span style="background:yellow none repeat scroll 0% 0%">const</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">int</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="background:yellow none repeat scroll 0% 0%">numberOfPixels</span> = size[0] * size[1];</font></font><font size="2" face="Consolas"><font size="2" face="Consolas"></font></font></div>




<div><font face="Consolas"><font size="2" face="Consolas"><font size="2" face="Consolas">
<p>ConnectorType::Pointer connector = ConnectorType::New();</p>
<p> </p><font size="2" face="Consolas"><font size="2" face="Consolas">
<p>UINT32_TYPE SizeInBytes = h*w*3*((depth+7)/8);</p>
<p>std::vector&lt;</p></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">char</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas">&gt; ImageData(SizeInBytes); 
<p>UINT32_OUT_TYPE pnFrameCount ;</p>
<p>Result = UCC_GetBitmap8ImageEx( CamId, &amp;*ImageData.begin(), pnFrameCount , 6000, NULL ) ;</p>
<p></p></font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">const</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">bool</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> importImageFilterWillOwnTheBuffer = </font></font><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas"><font size="2" color="#0000ff" face="Consolas">true</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas">; 
<p>importFilter-&gt;SetImportPointer( &amp;*ImageData.begin(), numberOfPixels,</p>
<p>importImageFilterWillOwnTheBuffer );</p>
<p></p>
<p>connector-&gt;SetInput(importFilter-&gt;GetOutput());</p></font></font>
<p><font size="2" face="Consolas"><font size="2" face="Consolas"><font color="#000000"> <font size="2" face="Consolas"><font size="2" face="Consolas"><font size="2" face="Consolas">actor-&gt;SetInput(connector-&gt;GetOutput());  // THIS LINE MAKES MY CODE HANG</font></font></font></font></font></font></p>



</font></font></font></div>
<div><font face="Consolas"></font> </div>
<div><font face="Consolas">====================================================================================</font></div>
<div><font face="Consolas"></font> </div>
<div><font face="Consolas"></font> </div>
<div><font face="Consolas"></font> </div>
<div><font face="Consolas">Thanks in advance for your help!</font></div>
<div><font face="Consolas">-Ryan</font></div>
<div> </div>
<div><br><br></div>
<div class="gmail_quote">On Tue, Feb 8, 2011 at 1:55 PM, David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>&gt;</span> wrote:<br>
<blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
<div>
<div></div>
<div>On Tue, Feb 8, 2011 at 4:52 PM, Ryan L. Smith &lt;<a href="mailto:ryans09@gmail.com" target="_blank">ryans09@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; Hi-<br>&gt; I am reading in an image stream in unsigned char vector format from a camera in real-time.  I have some code setup to display the image using VTK/ITK, but the latencies are high.  Is there a method to directly convert this vector to a VTK image?  I am currently looping through and setting the image pixels in an ITK image using the following example:<br>



&gt; <a href="http://www.vtk.org/Wiki/ITK/Examples/SimpleOperations/SetPixels" target="_blank">http://www.vtk.org/Wiki/ITK/Examples/SimpleOperations/SetPixels</a><br>&gt; I then connect the pipeline using itk::ImageToVTKImageFilter and display the image.  I recognize this is an inefficient way of doing things, but came up blank in looking for an optimized function to do it for me.  Thanks in advance-<br>



&gt; -Ryan<br><br></div></div>Have you seen the ImportImageFilter ?<br><a href="http://www.itk.org/Wiki/ITK/Examples/IO/ImportImageFilter" target="_blank">http://www.itk.org/Wiki/ITK/Examples/IO/ImportImageFilter</a><br>


<font color="#888888"><br>
David<br></font></blockquote></div><br>
<br></div></div>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>
</blockquote></div><br></div>