[vtkusers] how to change vtkImageBlend opacity

Muhammad Jawad softplanner at gmail.com
Mon Mar 7 09:57:39 EST 2016


Hi David,

But there is no SetOpacity() method is defined in vtkLookupTable.

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

> Hi Muhammad,
>
> Remove vtkImageBlend from your pipeline.  Use the SetOpacity() method on
> vtkLookupTable.
>
>  - David
>
> On Mon, Mar 7, 2016 at 7:33 AM, Muhammad Jawad <softplanner at gmail.com>
> wrote:
>
>> 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/ef5a8dde/attachment.html>


More information about the vtkusers mailing list