[vtk-developers] vtkLookupTable + vtkStructuredPointsWriter = bug

Mathieu Malaterre Mathieu.Malaterre at creatis.insa-lyon.fr
Thu Nov 6 05:28:21 EST 2003


Hi all,

	In case someone already knows the answer I am posting this. Anyway here 
is a python script(*) that reproduce the bug. The faulty line is:

	writer.SetFileTypeToBinary()

if a vtkImageData is saved with a vtkLookupTable in binary mode 
everything is ok, but when saved as ASCII then the LUT can't be reread 
properly. I'll try to find a patch ASAP.

	BTW, does anyone knows why I should explicitely set the TableRange ?

	lut.SetTableRange( 0, 255)

Thanks,
mathieu

##################################################
(*)
import vtk
from vtk.util.misc import vtkGetDataRoot
VTK_DATA_ROOT = vtkGetDataRoot()

reader = vtk.vtkBMPReader()
reader.SetFileName( VTK_DATA_ROOT + '/Data/masonry.bmp' )
reader.Allow8BitBMPOn ()
reader.Update()

#construct an image data with a lookup table
image = reader.GetOutput()
image.GetPointData().GetScalars().SetLookupTable( reader.GetLookupTable() )

writer = vtk.vtkStructuredPointsWriter()
writer.SetInput( image )
writer.SetFileName( 'demolut.vtk' )
#writer.SetFileTypeToBinary()     #culprit !!!
writer.Write()

reader2 = vtk.vtkStructuredPointsReader()
reader2.SetFileName( 'demolut.vtk' )
reader2.UpdateWholeExtent()

lut = reader2.GetOutput().GetPointData().GetScalars().GetLookupTable()
lut.SetTableRange( 0, 255) #trick ??

map2 = vtk.vtkImageMapToColors ()
map2.SetInput (reader2.GetOutput())
map2.SetLookupTable ( lut )
map2.SetOutputFormatToRGB()

iren = vtk.vtkRenderWindowInteractor();

viewer = vtk.vtkImageViewer2()
viewer.SetInput (map2.GetOutput())
viewer.SetupInteractor (iren)

#make interface
iren.Initialize()
iren.Start()
##################################################




More information about the vtk-developers mailing list