[vtkusers] how to change vtkImageBlend opacity

Muhammad Jawad softplanner at gmail.com
Mon Mar 7 09:33:04 EST 2016


Hi David,

thanks for your suggestions. I did the same as you mentioned, It add lookup
table still opacity is not working. Perhaps, I did some wrong in my code.

       connectorDicom = LoadDicomReader(dirPath.toStdString());


        vtkSmartPointer<vtkLookupTable> imgFirstColorMap =
vtkSmartPointer<vtkLookupTable>::New(); // hot color map

        imgFirstColorMap->SetRange( 0.0, 255.0 );

        imgFirstColorMap->SetHueRange( 0.0, 0.1 );

        imgFirstColorMap->SetValueRange( 0.4, 0.8 );

        imgFirstColorMap->Build();


        vtkSmartPointer<vtkImageMapToColors> firstColorMapper =
vtkSmartPointer<vtkImageMapToColors>::New();

        firstColorMapper->SetInputData(connectorDicom->GetOutput());

        firstColorMapper->SetLookupTable( imgFirstColorMap );

        firstColorMapper->SetOutputFormatToRGBA();

        firstColorMapper->Update();


        blend->SetOpacity(0,0);

        blend->AddInputConnection(firstColorMapper->GetOutputPort());

                imgViewer->SetInputData(blend->GetOutput());

        imgViewer->UpdateDisplayExtent();



Muhammad Jawad


On 7 March 2016 at 14:53, David Gobbi <david.gobbi at gmail.com> wrote:

> Hi Muhammad,
>
> The vtkImageBlend filter does not add an alpha component to the image.  If
> the first input to vtkImageBlend is RGB, then the output is RGB.  This
> filter will blend its inputs together, but given just one input, the output
> will just be a copy of the input.
>
> If your image is greyscale, you can use vtkImageMapToColors to add an
> alpha component, by using the SetOutputFormatToRGBA() option.
>
>  - David
>
> On Mon, Mar 7, 2016 at 4:05 AM, Muhammad Jawad <softplanner at gmail.com>
> wrote:
>
>>
>> Dear Vtk users,
>>
>> I am using vtkimageblend class for multiple volumes and want to change
>> opacity of volumes. Here I put the small code for single volume for
>> simplicity.
>>
>> ImageViewer is working fine but opacity is not working.
>>
>>
>> Any body have an idea that what I'm doing wrong here ?
>>
>>
>> vtkSmartPointer<vtkImageBlend> blend = vtkSmartPointer<vtkImageBlend>::New();
>>
>>
>> blend->SetInputData(0, reader->GetOutput());
>>
>>
>> blend->SetOpacity(0, 0.3);
>>
>>
>> vtkSmartPointer<vtkImageViewer2> imgViewer = vtkSmartPointer<vtkImageViewer2>::New();
>>
>>
>> imgViewer->SetInputData(blend->GetOutput());
>>
>>
>> imgViewer->UpdateDisplayExtent();
>>
>>
>>
>>
>>
>> --
>>
>> Regards,
>>
>> Muhammad Jawad
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160307/7d492d6f/attachment.html>


More information about the vtkusers mailing list