[vtkusers] How does one enforce recognition of little endian data in VTK?
Mathieu Malaterre
mathieu.malaterre at kitware.com
Fri Apr 29 09:11:16 EDT 2005
Sanatan,
Since you are reading from a file you should rather have a look at the
vtkImageReader class:
http://www.vtk.org/doc/nightly/html/classvtkImageReader.html
Since there is a member function that you need:
vtkImageReader2::SetDataByteOrderToBigEndian()
HTH
Mathieu
Sanatan Sahgal wrote:
> Hello,
>
> I am using VTK on an Intel platform running Windows XP professional. I
> have a 2 bytes per pixel grayscale image which I wish to display on the
> screen using VTK.
>
> My image raw data is in little endian format and when I feed it to VTK I
> see garbage on the screen because VTK seems to expect it in big endian
> format. If I swap the bytes and then feed it to VTK the image shows up
> correctly on my screen.
>
> I don't want this extra overhead of swapping the bytes. I want VTK to
> recognize the raw little endian data just as it is. Is there any way to
> tell VTK that my data is in little endian format and it should read it
> as such?
>
> I am using the vtkImageData class. I feed data to the imageData instance
> as follows:
> imageData->GetPointData()->SetScalars(pixelArrayVtk);
>
> The pixelArrayVtk instance is of type vtkDataArray and it is setup as
> follows:
> pixelArrayVtk = CreateVtkDataArray(); //Creates instance of specific
> VtkDataArray type. Example: vtkShortArray::New()
> pixelArrayVtk->SetVoidArray(imageRawData, totalSamples, 1);
>
> The imageRawData parameter is a pointer to the memory location which
> contains the raw image data in little endian format.
>
> Any help with this issue is appreciated.
>
> thanks,
> Sanatan
>
>
> _______________________________________________
> This is the private VTK discussion list. Please keep messages on-topic.
> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list