<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 20, 2014 at 10:27 AM, Enya Shen <span dir="ltr"><<a href="mailto:enya.shen2010@gmail.com" target="_blank">enya.shen2010@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkPiecewiseFunction</span><span style>::</span>New<span style>();</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>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkColorTransferFunction</span><span style>::</span>New<span style>();</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>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolumeProperty</span><span style>::</span>New<span style>();</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style>-></span><span style="font-style:italic">SetIndependentComponents</span><span style>(</span><span style="color:rgb(128,128,0)">false</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style>-></span>SetScalarOpacity<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style>-></span>SetColor<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">colorFn</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style>-></span>SetInterpolationTypeToLinear<span style>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span style>-></span>ShadeOn<span style>();</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style><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>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolume</span><span style>::</span>New<span style>();</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeActor</span><span style>-></span>SetProperty<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style><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>-></span>AddRGBPoint<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>][</span><span style="color:rgb(0,0,128)">0</span><span style>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span style>-></span>AddRGBPoint<span style>(</span><span style="color:rgb(0,0,128)">0.5</span><span style>*(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>][</span><span style="color:rgb(0,0,128)">0</span><span style>]+</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>][</span><span style="color:rgb(0,0,128)">1</span><span style>]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span style>-></span>AddRGBPoint<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>][</span><span style="color:rgb(0,0,128)">1</span><span style>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>);</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">-></span><span style="font-family:arial">AddPoint</span><span style="font-family:arial">(</span><span style="font-family:arial;color:rgb(128,128,0)">this</span><span style="font-family:arial">-></span><span style="font-family:arial;color:rgb(128,0,0)">scalarsRange</span><span style="font-family:arial">[</span><span style="font-family:arial;color:rgb(0,0,128)">1</span><span style="font-family:arial">][</span><span style="font-family:arial;color:rgb(0,0,128)">0</span><span style="font-family:arial">],</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">,</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">,</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">);</span><br>

</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span style>-></span>AddPoint<span style>(</span><span style="color:rgb(0,0,128)">0.5</span><span style>*(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>][</span><span style="color:rgb(0,0,128)">0</span><span style>]+</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>][</span><span style="color:rgb(0,0,128)">1</span><span style>]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span style>-></span>AddPoint<span style>(</span><span style="color:rgb(128,128,0)">this</span><span style>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>][</span><span style="color:rgb(0,0,128)">1</span><span style>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style>);</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">-></span><span style="font-style:italic;font-family:arial">SetIndependentComponents</span><span style="font-family:arial">(</span><span style="font-family:arial;color:rgb(128,128,0)">true</span><span style="font-family:arial">);</span></pre>
</pre></pre></div></div></blockquote><div><br></div><div><br></div><div>Did you get any error or its just that you don't see any opacity?  What are the ranges? I may have to look at the VTK code</div><div>and your data to provide a solution. </div>
<div><br></div><div>- Aashish</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px">
<pre style="margin-top:0px;margin-bottom:0px"><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">......</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial"><br></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Regards,</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Enya</span></pre>
</pre></pre></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com">www.kitware.com</a>    
</div></div>