vtkLookupTable + vtkStructuredPointsWriter
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
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() ##################################################