This is my MIP code and it works fine for me. Your problem might be you are using a vtkColorTransferFunction when another vtkPieceWiseFunction should be enough. Hope this helps :)<br><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">vtkPiecewiseFunction *opacityTransferFunction = vtkPiecewiseFunction::New();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opacityTransferFunction-&gt;AddPoint( 20 , 0.0 );</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opacityTransferFunction-&gt;AddPoint( 255 , 1.0 );</span>
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a transfer function mapping scalar value to color (grey)</span>
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPiecewiseFunction *grayTransferFunction = vtkPiecewiseFunction::New();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; grayTransferFunction-&gt;AddSegment( 0 , 0.0 , 255 , 1.0 );</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a set of properties for mip</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkVolumeProperty *mipProperty;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mipProperty = vtkVolumeProperty::New();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mipProperty-&gt;SetScalarOpacity( opacityTransferFunction );</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mipProperty-&gt;SetColor( grayTransferFunction );
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mipProperty-&gt;SetInterpolationTypeToLinear();</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // creem la funció del raig MIP, en aquest cas maximitzem l'opacitat, si fos Scalar value, ho faria pel valor</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkVolumeRayCastMIPFunction* mipFunction = vtkVolumeRayCastMIPFunction::New();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mipFunction-&gt;SetMaximizeMethodToOpacity();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkVolumeRayCastMapper* volumeMapper = vtkVolumeRayCastMapper::New();</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; volumeMapper-&gt;SetVolumeRayCastFunction( mipFunction );</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; volumeMapper-&gt;SetInput( m_imageCaster-&gt;GetOutput()&nbsp; );
</span><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkVolume* volume = vtkVolume::New();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; volume-&gt;SetMapper( volumeMapper );</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; volume-&gt;SetProperty( mipProperty );</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_renderer-&gt;AddViewProp( volume );</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_renderer-&gt;Render();</span><br><br><div><span class="gmail_quote">
2006/10/2, Michele Marco &lt;<a href="mailto:michelegr@alice.it">michelegr@alice.it</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">






<div bgcolor="#ffffff">
<div><font face="Arial" size="2">I'm italian Student and i need help for setting MIP 
in VTK . I use vtk&nbsp; <font size="2">vtkVolumeRayCastMIPFunction class to 
realize MIP but i have some problem to configure&nbsp; &quot;<font size="2">vtkPiecewiseFunction&quot; and &quot;<font size="2">vtkColorTransferFunction&quot; .The 
code is&nbsp;:</font></font></font></font></div>
<div>&nbsp;
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">// 
Create the renderers, render window, and interactor</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; </span>vtkRenderWindow *renWin = 
vtkRenderWindow::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; </span>vtkRenderer *ren = 
vtkRenderer::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; </span>vtkRenderWindowInteractor *iren = 
vtkRenderWindowInteractor::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; 
</span>renWin-&gt;AddRenderer(ren);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; </span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt 12pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkInteractorStyleTrackballCamera 
*aTrackBallCamera = <span>&nbsp;</span>vtkInteractorStyleTrackballCamera::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; 
</span>iren-&gt;SetInteractorStyle(aTrackBallCamera);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp; 
</span>iren-&gt;SetRenderWindow(renWin);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkDICOMImageReader 
*reader= vtkDICOMImageReader::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">reader-&gt;SetDirectoryName(&quot;C:/tac2&quot;);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">reader-&gt;Update();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkImageCast 
*cast = vtkImageCast::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">cast-&gt;SetInputConnection(reader-&gt;GetOutputPort());</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">cast-&gt;SetOutputScalarTypeToUnsignedChar();<span style="color: green;"></span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkPiecewiseFunction 
*opacityTransferFunction = vtkPiecewiseFunction::New();<span style="color: green;"></span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">opacityTransferFunction-&gt;AddSegment(0, 
0.1, 255, 0.9);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkColorTransferFunction 
*colorTransferFunction = vtkColorTransferFunction::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">colorTransferFunction-&gt;AddRGBPoint(<span>&nbsp;&nbsp; </span>0, 1.0, 0.0, 0.0 
);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">colorTransferFunction-&gt;AddRGBPoint(<span>&nbsp; </span>64, 1.0, 1.0, 0.0 
);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">colorTransferFunction-&gt;AddRGBPoint( 
128, 0.0, 1.0, 0.0 );</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">colorTransferFunction-&gt;AddRGBPoint( 
192, 0.0, 1.0, 1.0 );</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">colorTransferFunction-&gt;AddRGBPoint( 
255, 0.1, 0.5, 1.0 );</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span><span style="color: green;"><span>&nbsp;</span></span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkVolumeProperty 
*volumeProperty = vtkVolumeProperty::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">volumeProperty-&gt;SetColor(colorTransferFunction);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">volumeProperty-&gt;SetScalarOpacity(opacityTransferFunction);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">volumeProperty-&gt;SetInterpolationTypeToLinear();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkVolumeRayCastMIPFunction 
*compositeMipFunction = vtkVolumeRayCastMIPFunction::New();<span style="color: green;"></span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">compositeMipFunction-&gt;SetMaximizeMethodToScalarValue();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: green;" lang="EN-GB">&nbsp;</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">vtkVolumeRayCastMapper 
*volumeRaycastMapper = vtkVolumeRayCastMapper::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volumeRaycastMapper-&gt;SetVolumeRayCastFunction(compositeMipFunction);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volumeRaycastMapper-&gt;SetInputConnection(cast-&gt;GetOutputPort());</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span><span style="font-size: 10pt;">vtkVolume *volume = 
vtkVolume::New();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volume-&gt;SetMapper(volumeRaycastMapper);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volume-&gt;SetProperty(volumeProperty);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volume-&gt;VisibilityOn();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span>volume-&gt;Update();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">ren-&gt;AddVolume(volume);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">renWin-&gt;SetSize(500,500);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">ren-&gt;ResetCamera();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">ren-&gt;GetActiveCamera()-&gt;Zoom(1.5);</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">iren-&gt;Initialize();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">renWin-&gt;Render();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB">iren-&gt;Start();</span></p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"></span>&nbsp;</p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt;" lang="EN-GB"><font size="4">HELP ME 
PLEASE!!!!!!!!!!!</font></span></p></div></div>

<br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">
http://www.vtk.org/Wiki/VTK_FAQ</a><br>Follow this link to subscribe/unsubscribe:<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers
</a><br><br><br></blockquote></div><br>