<div dir="ltr">Hi all,<div><br></div><div>I tried to use different scalar for color and opacity in volume rendering as follows. But it failed to use the second scalar to get opacity. Why? Thank you for any advice!!!</div><div>
<pre style="margin-top:0px;margin-bottom:0px">......
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkPiecewiseFunction* </span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkPiecewiseFunction</span><span style="color:rgb(0,0,0)">::</span>New<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkColorTransferFunction* </span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkColorTransferFunction</span><span style="color:rgb(0,0,0)">::</span>New<span style="color:rgb(0,0,0)">();</span></pre>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkVolumeProperty* </span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolumeProperty</span><span style="color:rgb(0,0,0)">::</span>New<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span><span style="font-style:italic;color:rgb(0,0,0)">SetIndependentComponents</span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">false</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetScalarOpacity<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetColor<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetInterpolationTypeToLinear<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>ShadeOn<span style="color:rgb(0,0,0)">();</span></pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(0,0,0)"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkVolume* </span><span style="color:rgb(128,0,0)">volumeActor</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolume</span><span style="color:rgb(0,0,0)">::</span>New<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeActor</span><span style="color:rgb(0,0,0)">-></span>SetProperty<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,0,0)"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(128,0,0)">opacityFn</span><span style="font-family:arial;color:rgb(0,0,0)">-></span><span style="font-family:arial">AddPoint</span><span style="font-family:arial;color:rgb(0,0,0)">(</span><span style="font-family:arial;color:rgb(128,128,0)">this</span><span style="font-family:arial;color:rgb(0,0,0)">-></span><span style="font-family:arial;color:rgb(128,0,0)">scalarsRange</span><span style="font-family:arial;color:rgb(0,0,0)">[</span><span style="font-family:arial;color:rgb(0,0,128)">1</span><span style="font-family:arial;color:rgb(0,0,0)">][</span><span style="font-family:arial;color:rgb(0,0,128)">0</span><span style="font-family:arial;color:rgb(0,0,0)">],</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial;color:rgb(0,0,0)">,</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial;color:rgb(0,0,0)">,</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial;color:rgb(0,0,0)">);</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(128,0,0)">volumeProperty</span><span style="font-family:arial;color:rgb(0,0,0)">-></span><span style="font-family:arial;font-style:italic;color:rgb(0,0,0)">SetIndependentComponents</span><span style="font-family:arial;color:rgb(0,0,0)">(</span><span style="font-family:arial;color:rgb(128,128,0)">true</span><span style="font-family:arial;color:rgb(0,0,0)">);</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(0,0,0)">......</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(0,0,0)"><br></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(0,0,0)">Regards,</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(0,0,0)">Enya</span></pre>
</pre></pre></div></div>