Tuesday, 27 August 2013

Implementing multiple viewport using vtkImageViewer to display dicom images

Implementing multiple viewport using vtkImageViewer to display dicom images

hey please need another help, kinda stuck while trying to implement
multiple viewports on vtkImageViewer class to read DICOM files.
vtkActor2D *Actors[500];
vtkImageMapper *ImageMap[500];
vtkSmartPointer<vtkDICOMImageReader> reader =
vtkSmartPointer<vtkDICOMImageReader>::New();
vtkSmartPointer<vtkImageActor> viewer =
vtkSmartPointer<vtkImageActor>::New();
reader->Update();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
// Defining the viewport ranges
double xmins[4] = {0,.5,0,.5};
double xmaxs[4] = {0.5,1,0.5,1};
double ymins[4] = {0,0,.5,.5};
double ymaxs[4]= {0.5,0.5,1,1};
for(unsigned i = 0; i < 4; i++)
{
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
renderWindow->AddRenderer(renderer);
renderer->SetViewport(xmins[i],ymins[i],xmaxs[i],ymaxs[i]);
ImageMap [i] = vtkImageMapper::New();
ImageMap[i]->SetInputConnection(resize->GetOutputPort());
Actors[i] = vtkActor2D::New();
Actors[i]->SetMapper(ImageMap[i]);
renderer->AddActor(Actors[i]);
renderer->ResetCamera();
renderWindow->Render();
renderWindow->SetWindowName("Multiple ViewPorts");
}
renderWindowInteractor->Start();
}
with this i am able to partially view the dicom images but the
renderWindowInteractor is not working. kindly help resolving this problem.
Thank you

No comments:

Post a Comment