hello,<br><br>I&#39;m trying to import video/still-images from an ultra-sound machine and display it using vtk.&nbsp; I can grab an image from the frame-grabber and save the image as PPM (basically RGB values with some headers).&nbsp; The range of the RGB is [0..255] and I know the dimension of the image.<br>
<br>Instead of saving it to a file I want vtk to grab the array pointer and display it directly.&nbsp; My code looks like:<br><br>&nbsp; vtkImageImport *importer = vtkImageImport::New();<br>&nbsp; importer-&gt;SetWholeExtent( 0, 719, 0, 479, 0, 0 );<br>
&nbsp; importer-&gt;SetDataExtentToWholeExtent();<br>&nbsp; importer-&gt;SetDataScalarTypeToInt();<br>&nbsp; importer-&gt;SetNumberOfScalarComponents( 3 );<br>&nbsp; importer-&gt;SetImportVoidPointer( h.imageRGB );<br><br>&nbsp; vtkImageFlip *flip = vtkImageFlip::New();<br>
&nbsp; flip-&gt;SetInputConnection( importer-&gt;GetOutputPort() );<br>&nbsp; flip-&gt;SetFilteredAxis( 1 );<br>&nbsp; <br>&nbsp; vtkImageViewer2 *viewer = vtkImageViewer2::New();<br>&nbsp; viewer-&gt;SetInputConnection( flip-&gt;GetOutputPort() );<br>
&nbsp; viewer-&gt;SetZSlice( 0 );<br><br><br>where h.imageRGB is a pointer to integer array whose size is 720x480x3.&nbsp; The RGB are stored as [R0 G0 B0 R1 G1 B2 ... ] in h.imageRGB.&nbsp; The first pixel is on the top-left corner so I need to use vtkImageFlip to get the correct orientation.<br>
<br>The resulting image displayed fine except for the colour.&nbsp; It looks like a gray-scale image where as the original US image has come coloured region.&nbsp; Can someone please shed some light into what might be wrong?&nbsp; Is there a function to get the range of pixel value (to 0 to 255)?<br>
<br>Any help is very much appreciated,<br><br>Elvis<br>