[vtkusers] How to color all the object with LookupTable?

UkrPost leon_tol at yahoo.com
Thu Sep 27 19:02:02 EDT 2001

I'm using VTK to read the image (gray-level), then wrap it, and then
color to different colors according to the gray-level of the pixels.
But as the result i have all the object with one color (red for
example..). How to assign colors to  all the range of values ?
And how can i find out what exactly was the gray-level of the pixel?
This is part of my program:


  vtkBMPReader *image = vtkBMPReader::New();
        image->SetFileName( "d:/VTKsample/simp/test.bmp" );
//to transform from vtkStructuredPoints to vtkPolyData
  vtkStructuredPointsGeometryFilter *geometry = vtkStructuredPointsGeometryFilter::New();
        geometry->SetInput( image->GetOutput() );
//form the elevation
  vtkWarpScalar *warp = vtkWarpScalar::New();
        warp->SetInput( geometry->GetOutput());
        float ScaleFactor = 0.1;//scalars from 0 up to 25.5
        cout << "Form the elevation ...." << endl;
//set lookup table
//  vtkWindowLevelLookupTable *wl = vtkWindowLevelLookupTable::New();
  vtkLookupTable *lut = vtkLookupTable::New();
//      lut->SetNumberOfColors(256);
//      lut->SetHueRange(100,200);
//      lut->SetValueRange(15,25.5);
//      lut->SetRange(0,25.5); // may be this one will work ?
//      lut->Build();

  vtkElevationFilter *colorIt = vtkElevationFilter::New();
//    colorIt->SetLowPoint(0,0,0);
//    colorIt->SetHighPoint(0,0,255*ScaleFactor);

//receive PolyData 
  vtkPolyDataMapper *mapper     = vtkPolyDataMapper::New();
//      mapper->SetInput( warp->GetPolyDataOutput() );
        mapper->SetInput( colorIt->GetPolyDataOutput() );
        mapper->SetScalarRange(0,255*ScaleFactor); // to map scalars into lookup table
// set actor
  vtkActor *actor = vtkActor::New();
        actor->SetMapper( mapper );

// create a rendering window and renderer and interactor
  vtkRenderer *ren = vtkRenderer::New();
  vtkRenderWindow *renWindow = vtkRenderWindow::New();
    renWindow->AddRenderer( ren );
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
        iren->SetRenderWindow( renWindow );
        renWindow->SetSize( 600, 600 );
// add actor to the render
ren->AddActor( actor );
//initialize  or START ? begin the event loop

As the result i see the wrapped object , but it has only one color...
If anybody knows how to fix it , please let me know!
Thanks in advance for any answer,

Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

More information about the vtkusers mailing list