<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">itk</span> to <span style="BACKGROUND: yellow">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">individual </span>pixels as opposed to the <span style="BACKGROUND: yellow">itk</span> to <span style="BACKGROUND: yellow">vtk</span> filter.  Is this correct? If not, is there a <span style="BACKGROUND: yellow">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">setupCamera</span>();</font></div>
<div><font face="Consolas"><span style="BACKGROUND: yellow">getCamInfo</span>(w,h,d) //get width,height,depth from camera</font></div></div>
<div><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">char</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">PixelType</span>;<br>
</font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">const</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">int</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> Dimension = 2;<br>
</font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">itk</span>::Image&lt;<span style="BACKGROUND: yellow">PixelType</span>,Dimension&gt; <span style="BACKGROUND: yellow">ImageType</span>;<br>
</font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">itk</span>::<span style="BACKGROUND: yellow">ImageToVTKImageFilter</span>&lt; <span style="BACKGROUND: yellow">ImageType</span> &gt; <span style="BACKGROUND: yellow">ConnectorType</span>;<br>
<span style="BACKGROUND: yellow">ConnectorType</span>::Pointer connector = <span style="BACKGROUND: yellow">ConnectorType</span>::New();<br></font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">itk</span>::Image&lt; <span style="BACKGROUND: yellow">PixelType</span>, Dimension &gt; <span style="BACKGROUND: yellow">ImageType</span>;<br>
</font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">typedef</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">itk</span>::<span style="BACKGROUND: yellow">ImportImageFilter</span>&lt; <span style="BACKGROUND: yellow">PixelType</span>, Dimension &gt; <span style="BACKGROUND: yellow">ImportFilterType</span>;<br>
<span style="BACKGROUND: yellow">ImportFilterType</span>::Pointer <span style="BACKGROUND: yellow">importFilter</span> = <span style="BACKGROUND: yellow">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 color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas">// size along Y</font></font></font></p>
<font size="2" face="Consolas"><font size="2" face="Consolas">
<p><span style="BACKGROUND: yellow">ImportFilterType</span>::<span style="BACKGROUND: yellow">IndexType</span> start;<br>start.Fill( 0 );</p>
<p></p>
<p><span style="BACKGROUND: yellow">ImportFilterType</span>::<span style="BACKGROUND: yellow">RegionType</span> region;<br>region.<span style="BACKGROUND: yellow">SetIndex</span>( start );<br>region.<span style="BACKGROUND: yellow">SetSize</span>( size );<br>
<span style="BACKGROUND: yellow">importFilter</span>-&gt;<span style="BACKGROUND: yellow">SetRegion</span>( region );</p>
<p></p></font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" 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 color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas"><font color="#008000" size="2" 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 color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas"><font color="#008000" size="2" 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 color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" 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 color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas"><font color="#008000" size="2" 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 color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas"><font color="#008000" size="2" face="Consolas">// along Y direction</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> 
<p><span style="BACKGROUND: yellow">importFilter</span>-&gt;<span style="BACKGROUND: yellow">SetSpacing</span>( spacing );<br></p></font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><span style="BACKGROUND: yellow">const</span></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"></font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"></font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">int</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> <span style="BACKGROUND: yellow">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 color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">unsigned</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" 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 color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">const</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas">bool</font></font></font><font size="2" face="Consolas"><font size="2" face="Consolas"> importImageFilterWillOwnTheBuffer = </font></font><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" face="Consolas"><font color="#0000ff" size="2" 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: #ccc 1px solid; 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>