[vtkusers] how to change vtkImageBlend opacity

Muhammad Jawad softplanner at gmail.com
Mon Mar 7 10:27:56 EST 2016


thanks David it's working.

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

> You're right.  For some reason I thought it had that method.  You can use
> table->SetAlphaRange(0.3, 0.3) instead, which does the same thing as
> setting the opacity.
>
> On Mon, Mar 7, 2016 at 7:57 AM, Muhammad Jawad <softplanner at gmail.com>
> wrote:
>
>> 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/57e9e0c7/attachment.html>


More information about the vtkusers mailing list