<div class="gmail_quote"><br>David,<br><br>I&#39;m using a cone-beam head ct, the sample volume that I&#39;m using have a scalar opacity map from -3024 to 7190, and the bones appear after 200 (in another software I&#39;m using a ramp from 200 to 7190). I have tried some numbers to check this, but in any case the composite mode dont show anything, you can see this on the images attached. <br>

<br>Thank in advance,<br>Alessandro Martini<br><br><div class="gmail_quote">On Wed, Oct 13, 2010 at 4:35 PM, David Gobbi <span dir="ltr">&lt;<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Allessandro,<br>
<br>
The three transfer functions in that example (the volumeColor,<br>
volumeScalarOpacity, and volumeGradientOpacity) are hard-coded for the<br>
headsq/quarter images in VTKData.  To use them with any other volume,<br>
you must change the values.<br>
<br>
 volumeColor-&gt;AddRGBPoint(0, 0.0, 0.0, 0.0);<br>
 volumeColor-&gt;AddRGBPoint(500, 1.0, 0.5, 0.3);<br>
 volumeColor-&gt;AddRGBPoint(1000, 1.0, 0.5, 0.3);<br>
 volumeColor-&gt;AddRGBPoint(1150, 1.0, 1.0, 0.9);<br>
<br>
 volumeScalarOpacity-&gt;AddPoint(0, 0.00);<br>
 volumeScalarOpacity-&gt;AddPoint(500, 0.15);<br>
 volumeScalarOpacity-&gt;AddPoint(1000, 0.15);<br>
 volumeScalarOpacity-&gt;AddPoint(1150, 0.85);<br>
<br>
These are made for a volume with intensity values that approximately<br>
range from 0 to 1200.  Find the intensity range of your DICOM data and<br>
adjust them accordingly.  Then you will be able to use &quot;Composite&quot; for<br>
your volume rendering.<br>
<br>
  David<br>
<br>
<br>
On Wed, Oct 13, 2010 at 1:09 AM, Alessandro Martini<br>
&lt;<a href="mailto:alessandromartini@gmail.com" target="_blank">alessandromartini@gmail.com</a>&gt; wrote:<br>
&gt; I get the medical4.cxx example and change it to open a dicom file, resulting<br>
&gt; this code, but with SetBlendModeToComposite the volume dond appear, and<br>
&gt; SetBlendModeToAdictive is to much slow, what I need to use<br>
&gt; SetBlendModeToComposite?<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkRenderer&gt;ren = vtkWindow1-&gt;GetRenderer();<br>
&gt;         vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;iren =<br>
&gt;         vtkWindow1-&gt;GetInteractor();<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkDICOMImageReader&gt;dicomReader =<br>
&gt;         vtkSmartPointer&lt;vtkDICOMImageReader&gt;::New();<br>
&gt;         dicomReader-&gt;SetDirectoryName(dirname);<br>
&gt;         dicomReader-&gt;Update();<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkSmartVolumeMapper&gt;volumeMapper =<br>
&gt;         vtkSmartPointer&lt;vtkSmartVolumeMapper&gt;::New();<br>
&gt;         volumeMapper-&gt;SetInput(dicomReader-&gt;GetOutput());<br>
&gt;<br>
&gt; --&gt;&gt;        volumeMapper-&gt;SetBlendModeToAdditive();<br>
&gt; &lt;&lt;--<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkColorTransferFunction&gt;volumeColor =<br>
&gt;         vtkSmartPointer&lt;vtkColorTransferFunction&gt;::New();<br>
&gt;         volumeColor-&gt;AddRGBPoint(0, 0.0, 0.0, 0.0);<br>
&gt;         volumeColor-&gt;AddRGBPoint(500, 1.0, 0.5, 0.3);<br>
&gt;         volumeColor-&gt;AddRGBPoint(1000, 1.0, 0.5, 0.3);<br>
&gt;         volumeColor-&gt;AddRGBPoint(1150, 1.0, 1.0, 0.9);<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkPiecewiseFunction&gt;volumeScalarOpacity =<br>
&gt;         vtkSmartPointer&lt;vtkPiecewiseFunction&gt;::New();<br>
&gt;         volumeScalarOpacity-&gt;AddPoint(0, 0.00);<br>
&gt;         volumeScalarOpacity-&gt;AddPoint(500, 0.15);<br>
&gt;         volumeScalarOpacity-&gt;AddPoint(1000, 0.15);<br>
&gt;         volumeScalarOpacity-&gt;AddPoint(1150, 0.85);<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkPiecewiseFunction&gt;volumeGradientOpacity =<br>
&gt;         vtkSmartPointer&lt;vtkPiecewiseFunction&gt;::New();<br>
&gt;         volumeGradientOpacity-&gt;AddPoint(0, 0.0);<br>
&gt;         volumeGradientOpacity-&gt;AddPoint(90, 0.5);<br>
&gt;         volumeGradientOpacity-&gt;AddPoint(100, 1.0);<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkVolumeProperty&gt;volumeProperty =<br>
&gt;         vtkSmartPointer&lt;vtkVolumeProperty&gt;::New();<br>
&gt;         volumeProperty-&gt;SetColor(volumeColor);<br>
&gt;         volumeProperty-&gt;SetScalarOpacity(volumeScalarOpacity);<br>
&gt;         volumeProperty-&gt;SetGradientOpacity(volumeGradientOpacity);<br>
&gt;         volumeProperty-&gt;SetInterpolationTypeToLinear();<br>
&gt;         volumeProperty-&gt;ShadeOn();<br>
&gt;         volumeProperty-&gt;SetAmbient(0.4);<br>
&gt;         volumeProperty-&gt;SetDiffuse(0.6);<br>
&gt;         volumeProperty-&gt;SetSpecular(0.2);<br>
&gt;<br>
&gt;         vtkSmartPointer&lt;vtkVolume&gt;volume =<br>
&gt; vtkSmartPointer&lt;vtkVolume&gt;::New();<br>
&gt;         volume-&gt;SetMapper(volumeMapper);<br>
&gt;         volume-&gt;SetProperty(volumeProperty);<br>
&gt;<br>
&gt;         ren-&gt;AddViewProp(volume);<br>
&gt;<br>
&gt;         vtkCamera *camera = ren-&gt;GetActiveCamera();<br>
&gt;         double *c = volume-&gt;GetCenter();<br>
&gt;         camera-&gt;SetFocalPoint(c[0], c[1], c[2]);<br>
&gt;         camera-&gt;SetPosition(c[0] + 400, c[1], c[2]);<br>
&gt;         camera-&gt;SetViewUp(0, 0, -1);<br>
&gt;<br>
&gt;         vtkWindow1-&gt;Invalidate();<br>
&gt;<br>
&gt;         iren-&gt;Initialize();<br>
&gt;         iren-&gt;Start();<br>
&gt;<br>
&gt; Thank&#39;s,<br>
&gt; Alessandro Martini<br>
&gt; <a href="mailto:alessandromartini@gmail.com" target="_blank">alessandromartini@gmail.com</a><br>
&gt; -------------------------------------------------<br>
&gt; &#39;Existem 10 tipos de pessoas no mundo:<br>
&gt; aquelem que entendem binário, e aqueles que não!&#39;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the VTK FAQ at:<br>
&gt; <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br><br clear="all"><br>-- <br>Alessandro Martini<br><a href="mailto:alessandromartini@gmail.com" target="_blank">alessandromartini@gmail.com</a><br>-------------------------------------------------<br>
&#39;Existem 10 tipos de pessoas no mundo:<br>
aquelem que entendem binário, e aqueles que não!&#39;<br>
</div><br><br clear="all"><br>-- <br>Alessandro Martini<br><a href="mailto:alessandromartini@gmail.com">alessandromartini@gmail.com</a><br>-------------------------------------------------<br>&#39;Existem 10 tipos de pessoas no mundo:<br>
aquelem que entendem binário, e aqueles que não!&#39;<br>