[vtkusers] reading a bmp file into a lookup table

Amy Squillacote amy.squillacote at kitware.com
Fri Jun 8 07:45:42 EDT 2007



Steve Chall wrote:
>
> Dear fellow vtk fans:
>
> I’m trying to read a 255x1 24-bit bitmap and convert it into a lookup 
> table so I don’t have to manually input 255 rgb values.
>
> vtkLookupTable *lut = vtkLookupTable::New; // or no ::New(): doesn’t 
> seem to matter
>
> vtkBMPReader *bmpReader = vtkBMPReader::New();
>
> char bmpFileName[] = "topo-bathy255x1.bmp";
>
> bmpReader->SetFileName(bmpFileName);
>
> lut = bmpReader->GetLookupTable();
>
> //lut->Build(); // ????????
>
> This doesn’t do it, because nothing is forcing the reader to execute 
> reading the file. I could write a subclass of vtkBMPReader and call 
> the parent class’s protected Execute() method in a public function, 
> but that’s at best a kludge. When I look at lut, it’s got its default 
> 256-element size and all the r, g, and b values are 0. How can I force 
> a read?
>
Try calling Update() on the reader. Calling Update() on any source, 
reader, or filter will force it to execute.

- Amy

> The more general question is: why are we restricted to employing this 
> lazy evaluation approach? What are the drawbacks to providing a public 
> ReadFile() method for vtkBMPReader (as a specific example)? Thanks, 
> both for helping me to see what may be an obvious solution to my 
> immediate problem, and for helping me to understand the underlying 
> rationale.
>
> -Steve
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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
>   

-- 
Amy Squillacote
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
Phone: (518) 371-3971 x106




More information about the vtkusers mailing list