<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> iren->SetRenderWindow(renWin);<br> reader->SetFileName(DICOMFolder.c_str());<br> reader->Update();<br><br> // original dicomImage actor<br> vtkSmartPointer<vtkImageCast> originalCastFilter = vtkSmartPointer<vtkImageCast>::New();<br> originalCastFilter->SetInputConnection(reader->GetOutputPort());<br>
originalCastFilter->SetOutputScalarTypeToUnsignedChar();<br> originalCastFilter->Update();<br><br> vtkSmartPointer<vtkImageActor> originalActor = vtkSmartPointer<vtkImageActor>::New();<br> originalActor->SetInput(originalCastFilter->GetOutput()); <br><br> // Thresholded dicomImage actor<br> vtkSmartPointer <vtkImageThreshold> threshold = vtkSmartPointer <vtkImageThreshold>::New();<br> threshold->SetInputConnection(reader->GetOutputPort());<br> threshold->ThresholdBetween(below, above);<br> threshold->Update();<br><br>
vtkSmartPointer<vtkImageCast> thresholdCastFilter = vtkSmartPointer<vtkImageCast>::New();<br> thresholdCastFilter->SetInputConnection(threshold->GetOutputPort());<br> thresholdCastFilter->SetOutputScalarTypeToUnsignedChar();<br> thresholdCastFilter->Update();<br><br> vtkSmartPointer<vtkImageActor> thresholdedActor = vtkSmartPointer<vtkImageActor>::New();<br> thresholdedActor->SetInput(thresholdCastFilter->GetOutput()); <br><br> double leftViewport[4] = {0.0, 0.0, 0.5, 1.0};<br> double rightViewport[4] = {0.5, 0.0, 1.0, 1.0};<br><br>
renWin->AddRenderer(leftRenderer);<br> renWin->AddRenderer(rightRenderer);<br> leftRenderer->SetViewport(leftViewport);<br> rightRenderer->SetViewport(rightViewport);<br><br> leftRenderer->AddActor(originalActor);<br> leftRenderer->ResetCamera(); <br> rightRenderer->AddActor(thresholdedActor);<br> rightRenderer->ResetCamera();<br> renWin->Render();<br> iren->Start();<br>}<br> <br><br>Chasan KIOUTSOUKMOUSTAFA</td></tr></table><br>