<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>Hi All,</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>I am new to vtk and I am trying to incorporate color transferfunction to the volume rendering .I have pasted the code snippet.Is it a proper method to incoporate color transfer function after the skin mapper.Can I pipeline color transfer funtion directly to the dicom image reader.Pl Help.Thanks in Advance.</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkRenderer.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkRenderWindow.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkRenderWindowInteractor.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkDICOMImageReader.h"</P></FONT></FONT></FONT><FONT color=#008000><FONT color=#008000 size=4>
<P>//#include "vtkStructuredPointsReader.h"</P></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkColorTransferFunction..h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkVolumeProperty.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkPolyDataMapper.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkActor.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkProperty.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkOutlineFilter.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkCamera.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkPolyDataMapper.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkStripper.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkPolyDataNormals.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>#include</FONT></FONT></FONT><FONT size=4> <FONT color=#800000><FONT color=#800000>"vtkContourFilter.h"</P></FONT></FONT></FONT><FONT color=#0000ff><FONT color=#0000ff>
<P><FONT size=4>int</FONT></FONT></FONT><FONT size=4> main (<FONT color=#0000ff><FONT color=#0000ff>int</FONT></FONT> argc, <FONT color=#0000ff><FONT color=#0000ff>char</FONT></FONT> **argv)</FONT></P>
<P><FONT size=4>{</FONT></P>
<P><FONT size=4><FONT color=#0000ff><FONT color=#0000ff>if</FONT></FONT> (argc &lt; 2)</FONT></P>
<P><FONT size=4>{</FONT></P>
<P><FONT size=4>cout &lt;&lt; <FONT color=#800000><FONT color=#800000>"Usage: "</FONT></FONT> &lt;&lt; argv[0] &lt;&lt; <FONT color=#800000><FONT color=#800000>" quad\renal"</FONT></FONT> &lt;&lt; endl;</FONT></P>
<P><FONT size=4><FONT color=#0000ff><FONT color=#0000ff>return</FONT></FONT> 1;</FONT></P>
<P><FONT size=4>}</FONT></P>
<P><FONT size=4>vtkRenderer *aRenderer = vtkRenderer::New();</FONT></P>
<P><FONT size=4>vtkRenderWindow *renWin = vtkRenderWindow::New();</FONT></P>
<P><FONT size=4>renWin-&gt;AddRenderer(aRenderer);</FONT></P>
<P><FONT size=4>vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();</FONT></P>
<P><FONT size=4>iren-&gt;SetRenderWindow(renWin);</FONT></P>
<P><FONT size=4>&nbsp;</FONT></P>
<P><FONT size=4>vtkDICOMImageReader *v16 = vtkDICOMImageReader::New();</FONT></P>
<P><FONT size=4>v16-&gt;SetDirectoryName(argv[1]);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkContourFilter *skinExtractor = vtkContourFilter::New();</FONT></P>
<P><FONT size=4>skinExtractor-&gt;SetInputConnection(v16-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>skinExtractor-&gt;SetValue(0, 500);</FONT></P>
<P><FONT size=4>vtkPolyDataNormals *skinNormals = vtkPolyDataNormals::New();</FONT></P>
<P><FONT size=4>skinNormals-&gt;SetInputConnection(skinExtractor-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>skinNormals-&gt;SetFeatureAngle(60.0);</FONT></P>
<P><FONT size=4>vtkStripper *skinStripper = vtkStripper::New();</FONT></P>
<P><FONT size=4>skinStripper-&gt;SetInputConnection(skinNormals-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>vtkPolyDataMapper *skinMapper = vtkPolyDataMapper::New();</FONT></P>
<P><FONT size=4>skinMapper-&gt;SetInputConnection(skinStripper-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>skinMapper-&gt;ScalarVisibilityOff();</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkColorTransferFunction* skinFunc =vtkColorTransferFunction::New();</FONT></P>
<P><FONT size=4>skinFunc-&gt;SetInputConnection(skinMapper-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>skinFunc-&gt;AddRGBPoint(110.0 .6 .6 .6);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkVolumeProperty * skinProp = vtkVolumeProperty::New();</FONT></P>
<P><FONT size=4>skinProp-&gt;SetInputConnection(skinFunc-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>skinProp-&gt;SetColor(ColorTransferFunction);</FONT></P>
<P><FONT size=4>skinProp-&gt;ShadeOn();</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkActor *skin = vtkActor::New();</FONT></P>
<P><FONT size=4>skin-&gt;SetMapper(skinMapper);</FONT></P>
<P><FONT size=4>skin-&gt;GetProperty()-&gt;SetDiffuseColor(1, .49, .25);</FONT></P>
<P><FONT size=4>skin-&gt;GetProperty()-&gt;SetSpecular(.3);</FONT></P>
<P><FONT size=4>skin-&gt;GetProperty()-&gt;SetSpecularPower(20);</FONT></P>
<P><FONT size=4>skin-&gt;GetProperty()-&gt;SetOpacity(1.0);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkContourFilter *boneExtractor = vtkContourFilter::New();</FONT></P>
<P><FONT size=4>boneExtractor-&gt;SetInputConnection(v16-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>boneExtractor-&gt;SetValue(0, 1150);</FONT></P>
<P><FONT size=4>vtkPolyDataNormals *boneNormals = vtkPolyDataNormals::New();</FONT></P>
<P><FONT size=4>boneNormals-&gt;SetInputConnection(boneExtractor-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>boneNormals-&gt;SetFeatureAngle(60.0);</FONT></P>
<P><FONT size=4>vtkStripper *boneStripper = vtkStripper::New();</FONT></P>
<P><FONT size=4>boneStripper-&gt;SetInputConnection(boneNormals-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>vtkPolyDataMapper *boneMapper = vtkPolyDataMapper::New();</FONT></P>
<P><FONT size=4>boneMapper-&gt;SetInputConnection(boneStripper-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>boneMapper-&gt;ScalarVisibilityOff();</FONT></P>
<P><FONT size=4>vtkActor *bone = vtkActor::New();</FONT></P>
<P><FONT size=4>bone-&gt;SetMapper(boneMapper);</FONT></P>
<P><FONT size=4>bone-&gt;GetProperty()-&gt;SetDiffuseColor(1, 1, .9412);</FONT></P>
<P><FONT size=4>vtkOutlineFilter *outlineData = vtkOutlineFilter::New();</FONT></P>
<P><FONT size=4>outlineData-&gt;SetInputConnection(v16-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>vtkPolyDataMapper *mapOutline = vtkPolyDataMapper::New();</FONT></P>
<P><FONT size=4>mapOutline-&gt;SetInputConnection(outlineData-&gt;GetOutputPort());</FONT></P>
<P><FONT size=4>vtkActor *outline = vtkActor::New();</FONT></P>
<P><FONT size=4>outline-&gt;SetMapper(mapOutline);</FONT></P>
<P><FONT size=4>outline-&gt;GetProperty()-&gt;SetColor(0,0,0);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>vtkCamera *aCamera = vtkCamera::New();</FONT></P>
<P><FONT size=4>aCamera-&gt;SetViewUp (0, 0, -1);</FONT></P>
<P><FONT size=4>aCamera-&gt;SetPosition (0, 1, 0);</FONT></P>
<P><FONT size=4>aCamera-&gt;SetFocalPoint (0, 0, 0);</FONT></P>
<P><FONT size=4>aCamera-&gt;ComputeViewPlaneNormal();</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>aRenderer-&gt;AddActor(outline);</FONT></P>
<P><FONT size=4>aRenderer-&gt;AddActor(skin);</FONT></P>
<P><FONT size=4>aRenderer-&gt;AddActor(bone);</FONT></P>
<P><FONT size=4>aRenderer-&gt;SetActiveCamera(aCamera);</FONT></P>
<P><FONT size=4>aRenderer-&gt;ResetCamera ();</FONT></P>
<P><FONT size=4>aCamera-&gt;Dolly(1.5);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>aRenderer-&gt;SetBackground(1,1,1);</FONT></P>
<P><FONT size=4>renWin-&gt;SetSize(640, 480);</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>aRenderer-&gt;ResetCameraClippingRange ();</FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>iren-&gt;Initialize();</FONT></P>
<P><FONT size=4>iren-&gt;Start(); </FONT></P>
<P><FONT size=4></FONT></P>
<P><FONT size=4>v16-&gt;Delete();</FONT></P>
<P><FONT size=4>skinExtractor-&gt;Delete();</FONT></P>
<P><FONT size=4>skinNormals-&gt;Delete();</FONT></P>
<P><FONT size=4>skinStripper-&gt;Delete();</FONT></P>
<P><FONT size=4>skinMapper-&gt;Delete();</FONT></P>
<P><FONT size=4>skin-&gt;Delete();</FONT></P>
<P><FONT size=4>boneExtractor-&gt;Delete();</FONT></P>
<P><FONT size=4>boneNormals-&gt;Delete();</FONT></P>
<P><FONT size=4>boneStripper-&gt;Delete();</FONT></P>
<P><FONT size=4>boneMapper-&gt;Delete();</FONT></P>
<P><FONT size=4>bone-&gt;Delete();</FONT></P>
<P><FONT size=4>outlineData-&gt;Delete();</FONT></P>
<P><FONT size=4>mapOutline-&gt;Delete();</FONT></P>
<P><FONT size=4>outline-&gt;Delete();</FONT></P>
<P><FONT size=4>aCamera-&gt;Delete();</FONT></P>
<P><FONT size=4>aRenderer-&gt;Delete();</FONT></P>
<P><FONT size=4>renWin-&gt;Delete();</FONT></P>
<P><FONT size=4>iren-&gt;Delete();</FONT></P>
<P><FONT size=4><FONT color=#0000ff><FONT color=#0000ff>return</FONT></FONT> 0;</FONT></P>
<P><FONT size=4>}</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>&gt;..\..\..\..\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(88) : error C2039: 'SetInputConnection' : is not a member of 'vtkColorTransferFunction'</FONT></P>
<P><FONT size=4>1&gt; F:\OSP\VTK\vtksrc\Filtering\vtkColorTransferFunction.h(45) : see declaration of 'vtkColorTransferFunction'</FONT></P>
<P><FONT size=4>1&gt;..\..\..\..\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(89) : error C2143: syntax error : missing ')' before 'constant'</FONT></P>
<P><FONT size=4>1&gt;..\..\..\..\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(89) : error C2661: 'vtkColorTransferFunction::AddRGBPoint' : no overloaded function takes 1 arguments</FONT></P>
<P><FONT size=4>1&gt;..\..\..\..\...\vtksrc\Examples\Medical\Cxx\Medical2.cxx(89) : error C2059: syntax error : ')'</FONT></P>
<P><FONT size=4>1&gt;..\..\..\..\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(92) : error C2039: 'SetInputConnection' : is not a member of 'vtkVolumeProperty'</FONT></P>
<P><FONT size=4>1&gt; F:\OSP\VTK\vtksrc\Rendering\vtkVolumeProperty.h(50) : see declaration of 'vtkVolumeProperty'</FONT></P>
<P><FONT size=4>1&gt;..\..\..\..\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(92) : error C2039: 'GetOutputPort' : is not a member of 'vtkColorTransferFunction'</FONT></P>
<P><FONT size=4>1&gt; F:\OSP\VTK\vtksrc\Filtering\vtkColorTransferFunction.h(45) : see declaration of 'vtkColorTransferFunction'</FONT></P>
<P><FONT size=4>1&gt;..\..\..\...\..\vtksrc\Examples\Medical\Cxx\Medical2.cxx(93) : error C2065: 'ColorTransferFunction' : undeclared identifier</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>regards</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>Albert</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4></FONT>&nbsp;</P></DIV></div><br>



      </body></html>