Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void MainWindow::displayOriImage(PointerImage3D img)
- {
- typedef itk::ImageToVTKImageFilter<Image3DType> TemplatedConnectorType;
- TemplatedConnectorType::Pointer con = TemplatedConnectorType::New();
- con->SetInput(img);
- try {
- con->Update();
- } catch (itk::ExceptionObject &e)
- {
- cerr << e << endl;
- }
- Image3DType::SizeType size = img->GetLargestPossibleRegion().GetSize();
- Image3DType::IndexType start = img->GetLargestPossibleRegion().GetIndex();
- vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
- vtkSmartPointer<vtkRenderWindow> wnd = vtkSmartPointer<vtkRenderWindow>::New();
- vtkSmartPointer<vtkRenderWindowInteractor> wndInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
- wnd->SetSize(520,520);
- wnd->AddRenderer(renderer);
- wndInteractor->SetRenderWindow(wnd);
- vtkSmartPointer<vtkProperty> property = vtkSmartPointer<vtkProperty>::New();
- vtkSmartPointer<vtkCellPicker> picker = vtkSmartPointer<vtkCellPicker>::New();
- picker->SetTolerance(0.005);
- vtkSmartPointer<vtkImagePlaneWidget> xPlane = vtkSmartPointer<vtkImagePlaneWidget>::New();
- vtkSmartPointer<vtkImagePlaneWidget> yPlane = vtkSmartPointer<vtkImagePlaneWidget>::New();
- vtkSmartPointer<vtkImagePlaneWidget> zPlane = vtkSmartPointer<vtkImagePlaneWidget>::New();
- xPlane->DisplayTextOn();
- xPlane->SetInputData(con->GetOutput());
- xPlane->SetPlaneOrientationToXAxes();
- xPlane->SetSliceIndex(0);
- xPlane->SetPicker(picker);
- xPlane->RestrictPlaneToVolumeOn();
- xPlane->GetPlaneProperty()->SetColor(1.0,0.0,0.0);
- xPlane->SetTexturePlaneProperty(property);
- xPlane->SetDefaultRenderer(renderer);
- xPlane->SetResliceInterpolateToNearestNeighbour();
- yPlane->DisplayTextOn();
- yPlane->SetInputData(con->GetOutput());
- yPlane->SetPlaneOrientationToYAxes();
- yPlane->SetSliceIndex(0);
- yPlane->SetPicker(picker);
- yPlane->RestrictPlaneToVolumeOn();
- yPlane->GetPlaneProperty()->SetColor(0.0,1.0,0.0);
- yPlane->SetTexturePlaneProperty(property);
- yPlane->SetDefaultRenderer(renderer);
- yPlane->SetLookupTable(xPlane->GetLookupTable());
- zPlane->DisplayTextOn();
- zPlane->SetInputData(con->GetOutput());
- zPlane->SetPlaneOrientationToZAxes();
- zPlane->SetSliceIndex(0);
- zPlane->SetPicker(picker);
- zPlane->RestrictPlaneToVolumeOn();
- zPlane->GetPlaneProperty()->SetColor(0.0,0.0,1.0);
- zPlane->SetTexturePlaneProperty(property);
- zPlane->SetDefaultRenderer(renderer);
- zPlane->SetLookupTable(xPlane->GetLookupTable());
- xPlane->SetInteractor(wndInteractor);
- xPlane->On();
- xPlane->InteractionOn();
- yPlane->SetInteractor(wndInteractor);
- yPlane->On();
- yPlane->InteractionOn();
- zPlane->SetInteractor(wndInteractor);
- zPlane->On();
- zPlane->InteractionOn();
- renderer->SetBackground(0.4392, 0.5020, 0.5647);
- vtkSmartPointer<vtkImageResliceMapper> mapper = vtkSmartPointer<vtkImageResliceMapper>::New();
- vtkSmartPointer<vtkImageActor> actor = vtkSmartPointer<vtkImageActor>::New();
- actor->SetMapper(mapper);
- mapper->SetInputData(con->GetOutput());
- renderer->AddActor(actor);
- renderer->ResetCamera();
- wnd->Render();
- wndInteractor->Start();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement