[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