<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>Hi, all<br><br>I am new to vtk and want to read a dicom image from file and display it in a Qt GUI using qvtkWidget.<br><br>I used vtkDICOMImageReader to read the image, but when I used vtkImageViewer to display, it will show in another window, instead of qvtkWidget.<br><br>So I tried vtkImageActor, vtkRenderer and vtkRendererWindow pipeline, but an error happened saying <br><br>ERROR: In /home/mandrake/rpm/BUILD/VTK/Rendering/vtkImageActor.cxx, line 182 <br>vtkOpenGLImageActor (0x10ed8b0): This filter requires unsigned char scalars as input<br><br>Then I tried vtkImageCast, but the displayed image is not correct. Does anybody know the reason and how to fix
it? Thanks a lot.<br><br>Hui Wang<br><br><br>The following is the code I used:<br><br> vtkDICOMImageReader *reader = vtkDICOMImageReader::New();<br> reader->SetFileName(argv[1]);<br><br> vtkImageCast *cast = vtkImageCast::New();<br> cast->SetInputConnection(reader->GetOutputPort());<br> cast->SetOutputScalarTypeToUnsignedChar();<br><br> vtkImageActor *actor = vtkImageActor::New();<br> actor->SetInput(cast->GetOutput());<br><br> vtkRenderer *render = vtkRenderer::New();<br> render->AddActor(actor);<br>
render->ResetCamera();<br><br> vtkRenderWindow *window = vtkRenderWindow::New();<br> window->AddRenderer(render);<br><br> window->Render();<br><br></div></div><br>
</body></html>