[vtkusers] vtkColorTransferFunction - ColorSpace + Range problems

Girault, Alexis girault at email.unc.edu
Thu Aug 15 16:27:17 EDT 2013


Thank you Julien.

My bad, I did not even try since it was working when interpolating in Diverging and Lab.
HSV and RGB give me the same result tough, I'll check if it's normal.

If anybody can answer the second question that'd be really great.

Thanks again

________________________________
From: Julien Finet [julien.finet at kitware.com]
Sent: Thursday, August 15, 2013 3:58 PM
To: Girault, Alexis
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] vtkColorTransferFunction - ColorSpace + Range problems

Hi Alexis,

1-
vtkColorTransferFunction::AddRGBPoint() takes RGB components from 0. to 1. (double), not 0 to 255 (unsigned char).

Julien.


On Thu, Aug 15, 2013 at 3:37 PM, Girault, Alexis <girault at email.unc.edu<mailto:girault at email.unc.edu>> wrote:
Hi,

I try to display colors to describe the scalars value of points in surfaces. When doing this, I'd like to choose between different color spaces to interpolate points color to create the colormap.

I am using the vtkColorTransferFunction::SetColorSpaceTo...() to choose between Divergingm Lab, RGB and HSV.

1- Problem : Diverging and Lab do their job, RGB and HSV don't :

  *   Diverging : http://hpics.li/ba7907f
  *   Lab : http://hpics.li/a36da83
  *   RGB & HSV : http://hpics.li/53b5d5d

My code :
****************************************************************************************************************************
        //Range
        double *rangeLUT = mapper->GetInput()->GetPointData()->GetScalars()->GetRange();
        double range = fabs(rangeLUT[1] - rangeLUT[0]);

        //LookUpTable
        vtkSmartPointer<vtkColorTransferFunction> DistanceMapTFunc = vtkSmartPointer<vtkColorTransferFunction>::New();
        DistanceMapTFunc->AddRGBPoint(rangeLUT[0], 0, 255, 0);                           // Min value to green
        DistanceMapTFunc->AddRGBPoint(rangeLUT[0] + range/2.0, 255, 255, 0);  // Middle of the range to yellow
        DistanceMapTFunc->AddRGBPoint(rangeLUT[1], 255, 0, 0);                           // Max value to red

        //Color Space
        if(cspace == "Diverging")       DistanceMapTFunc->SetColorSpaceToDiverging();
        else if(cspace == "Lab")         DistanceMapTFunc->SetColorSpaceToLab();
        else if(cspace == "RGB")        DistanceMapTFunc->SetColorSpaceToRGB();
        else if(cspace == "HSV")        DistanceMapTFunc->SetColorSpaceToHSV();

        //Mapper Update
        mapper->SetLookupTable( DistanceMapTFunc );
        mapper->ScalarVisibilityOn();
        mapper->Update();
****************************************************************************************************************************


2- Black value at minimum Range :

Even if I add a Green point at rangeLUT[0], my min value is black, as you can see both on the surface and the scalarbar :
http://hpics.li/2ce35fb

I tought it might be because something was rounding when displaying colors, so I evaluated the error as the the range divided by the number of colors, which gives us range/256. Then I add it to the max and remove it to the min.
By doing this I actually "erased" the black values from the surface, but not the scalarbar : I only have a lower min and still black :
http://hpics.li/9315fec


3- Are those functions useful? Nothing seems to change in my code (already implemented):
        mapper->SetScalarRange(rangeLUT[0],rangeLUT[1]);
        mapper->SetScalarModeToUsePointData();
        mapper->SetColorModeToMapScalars();


If you have the answer to any of those questions, please let me know!
Thanks all.


_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130815/0a83adf2/attachment.htm>


More information about the vtkusers mailing list