[vtkusers] [vtk-developers] Bug in vtkImageMapToColors
David Gobbi
david.gobbi at gmail.com
Fri May 6 17:53:20 EDT 2011
Hi Nicolas,
The GetScalarRange() method computes the scalar range of the first component.
- David
On Fri, May 6, 2011 at 3:00 PM, Nicolas Rannou
<nicolas_rannou at hms.harvard.edu> wrote:
> Hello,
>
> I'm experiencing a strange behavior in VTK which might be a bug.
> It took me a while to locate the issue:
>
> if I create a LUT with a NULL red component:
> iRed = 0;
> iGreen = 255;
> iBlue = 255;
> iAlpha = 255;
> double iRange[2] = {0, 255};
>
> vtkSmartPointer<vtkLookupTable> lut =
> vtkSmartPointer<vtkLookupTable>::New();
> double* HSV = vtkMath::RGBToHSV(iRed,iGreen,iBlue);
> lut->SetAlpha(iAlpha);
> lut->SetHueRange(HSV[0], HSV[0]);
> lut->SetSaturationRange(1, 1);
> lut->SetValueRange(0, 1);
> lut->SetRange(iRange);
> lut->Build();
>
> I color my image with this LUT:
>
> vtkSmartPointer<vtkImageMapToColors> coloredImage =
> vtkSmartPointer<vtkImageMapToColors>::New();
> coloredImage->SetLookupTable(iLUT);
> coloredImage->SetInput( iImage );
> coloredImage->PassAlphaToOutputOff();
> coloredImage->SetOutputFormatToRGB();
> coloredImage->Update();
>
> then:
> double* range = coloredImage->GetOutput()->GetScalarRange();
> returns [0,0].
> then everything I do with this image is messed up...
>
> If iRed != 0, the scalar range of the "coloredImage" will be correct then my
> pipeline is working.
>
> Am I doing something wrong?
>
> Thanks,
>
> Nicolas
More information about the vtkusers
mailing list