[vtkusers] vtkColorTransferFunction and vtkDataArray
    Matthieu.Chabanas at imag.fr 
    Matthieu.Chabanas at imag.fr
       
    Thu May 22 04:08:37 EDT 2003
    
    
  
Hello,
I would like to map scalars to colors using a non-continuous linear function, 
let's say :
yellow if x is in [min, a]
orange if x is in [a,b]
red if x is in [b,max]
I found an old mail (01 Aug 2001) in the user list that suggests using 
vtkColorTransferFunction :
> Hello Ron,
> 
> You should be able to use vtkColorTransferFunction for this (it is a 
> subclass of vtkScalarsToColors just as vtkLookupTable is). Let e be some 
> small epsilon value, min be the minimum value in your scalar range and max 
> be the maximum - then you would do the following
> 
> ctf = vtkColorTransferFunction::New();
> ctf->AddRGBPoint( min, r1, g1, b1 );
> ctf->AddRGBPoint( a-e, r1, g1, b1 );
> ctf->AddRGBPoint(   a, r2, g2, b2 );
> ctf->AddRGBPoint(   b, r2, g2, b2 );
> ctf->AddRGBPoint( b+e, r3, g3, b3 );
> ctf->AddRGBPoint( max, r3, g3, b3 );
> 
> This would set all values below a to (r1, g1, b1), those between a and b to 
> (r2, g2, b2) and those above b to (r3, g3, b3).
> 
> The problem you are having with vtkLookupTable is that the scalar value is 
> implied from the number of entries and the scalar range. With 
> vtkColorTransferFunction you have more control.
> 
> 
> Lisa
> 
This sounds exactly what I need. 
The question is: how can I link this transfer function with scalars in a 
vtkDataArray?
There is the SetLookupTable method, but it can only be used with a 
vtkLookupTable, not a vtkColorTransferFunction.
Is it possible to build a vtkLookupTable that has the same behaviour as a 
vtkColorTransferFunction?
Thanks for any help
Matt
-------------------------------------------------
envoyé via Webmail/IMAG !
    
    
More information about the vtkusers
mailing list