<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I want to threshold a dicom image..and view the original image with thresholded image..However vtkImageThreshold currently does nothing. what must be the missing point? thanks<br><br>void ThreSholdDICOMImage(string DICOMFolder, double below, double above)<br>{<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow(renWin);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader-&gt;SetFileName(DICOMFolder.c_str());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // original dicomImage actor<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkImageCast&gt; originalCastFilter = vtkSmartPointer&lt;vtkImageCast&gt;::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; originalCastFilter-&gt;SetInputConnection(reader-&gt;GetOutputPort());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 originalCastFilter-&gt;SetOutputScalarTypeToUnsignedChar();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; originalCastFilter-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkImageActor&gt; originalActor =&nbsp; vtkSmartPointer&lt;vtkImageActor&gt;::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; originalActor-&gt;SetInput(originalCastFilter-&gt;GetOutput());&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Thresholded dicomImage actor<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSmartPointer &lt;vtkImageThreshold&gt; threshold = vtkSmartPointer &lt;vtkImageThreshold&gt;::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; threshold-&gt;SetInputConnection(reader-&gt;GetOutputPort());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; threshold-&gt;ThresholdBetween(below, above);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; threshold-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
 vtkSmartPointer&lt;vtkImageCast&gt; thresholdCastFilter = vtkSmartPointer&lt;vtkImageCast&gt;::New();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; thresholdCastFilter-&gt;SetInputConnection(threshold-&gt;GetOutputPort());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thresholdCastFilter-&gt;SetOutputScalarTypeToUnsignedChar();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thresholdCastFilter-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkImageActor&gt; thresholdedActor =&nbsp; vtkSmartPointer&lt;vtkImageActor&gt;::New();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thresholdedActor-&gt;SetInput(thresholdCastFilter-&gt;GetOutput()); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; double leftViewport[4] = {0.0, 0.0, 0.5, 1.0};<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; double rightViewport[4] = {0.5, 0.0, 1.0, 1.0};<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
 renWin-&gt;AddRenderer(leftRenderer);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(rightRenderer);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; leftRenderer-&gt;SetViewport(leftViewport);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rightRenderer-&gt;SetViewport(rightViewport);<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; leftRenderer-&gt;AddActor(originalActor);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; leftRenderer-&gt;ResetCamera();&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rightRenderer-&gt;AddActor(thresholdedActor);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rightRenderer-&gt;ResetCamera();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renWin-&gt;Render();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iren-&gt;Start();<br>}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br><br>Chasan KIOUTSOUKMOUSTAFA</td></tr></table><br>