[vtkusers] Multiple Actore Dicom Image from Itk
    stefano serviddio 
    s.serviddio at gmail.com
       
    Mon Sep 28 18:04:24 EDT 2015
    
    
  
Hi,
I would like to watch on my screen three dicom image that I read from ITK
reader, then I'm trying to write this code, What do you think about it?
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkGDCMImageIO.h"
#include "itkImageToVTKImageFilter.h"
#include "vtkVersion.h"
#include "vtkImageViewer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkSmartPointer.h"
#include "vtkImageActor.h"
#include "vtkImageMapper3D.h"
#include "vtkInteractorStyleImage.h"
#include "vtkRenderer.h"
#include "vtkCamera.h"
using namespace std;
using namespace itk;
int main(  )
{
  const unsigned int Dimension = 2;
  typedef unsigned short PixelType;
  typedef float InternalPixelType;
  typedef  signed short    OutputPixelType;
  typedef Image< PixelType, Dimension >  FixedImageType;
  typedef Image< PixelType, Dimension >  MovingImageType;
  typedef ImageFileReader< FixedImageType  > FixedImageReaderType;
  typedef ImageFileReader< MovingImageType > MovingImageReaderType;
  typedef GDCMImageIO GDCMType;
  GDCMType::Pointer gdcm=GDCMType::New();
  FixedImageReaderType::Pointer fixedImageReader   =
FixedImageReaderType::New();
  MovingImageReaderType::Pointer movingImageReader =
MovingImageReaderType::New();
  /* typedef itk::ImageToVTKImageFilter<FixedImageType> ConnectorType1;
  ConnectorType1::Pointer originalConnector1 = ConnectorType1::New();
  typedef itk::ImageToVTKImageFilter<MovingImageType> ConnectorType2;
  ConnectorType2::Pointer originalConnector2 = ConnectorType2::New();*/
  char* filename1="D:/Images/def00001.dcm";
  char* filename2="D:/Images/def100001.dcm";
  fixedImageReader->SetFileName( filename1 );
    movingImageReader->SetFileName( filename2 );
  fixedImageReader->SetImageIO(gdcm);
  movingImageReader->SetImageIO(gdcm);
  //Read Dicom Image
  fixedImageReader->Update();
  movingImageReader->Update();
  FixedImageType::Pointer Image1=fixedImageReader->GetOutput();
  MovingImageType::Pointer Image2=movingImageReader->GetOutput();
  originalConnector1->SetInput(Image1);
  originalConnector2->SetInput(Image2);
  vtkSmartPointer<vtkImageActor> originalActor1 =
 vtkSmartPointer<vtkImageActor>::New();
  vtkSmartPointer<vtkImageActor> originalActor2 =
 vtkSmartPointer<vtkImageActor>::New();
  originalConnector1->Update();
  originalConnector2->Update();
originalActor1->GetMapper()->SetInputData(originalConnector1->GetOutput());
originalActor2->GetMapper()->SetInputData(originalConnector2->GetOutput());
  vtkSmartPointer<vtkRenderer> renderer1 =
vtkSmartPointer<vtkRenderer>::New();
  renderer1->AddActor(originalActor1);
  renderer1->AddActor(originalActor2);
  renderer1->ResetCamera();
  renderer1->GetActiveCamera();
  vtkSmartPointer<vtkRenderWindow> renderWindow1 =
vtkSmartPointer<vtkRenderWindow>::New();
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor1 =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
  vtkSmartPointer<vtkInteractorStyleImage> style =
vtkSmartPointer<vtkInteractorStyleImage>::New();
  renderer1->SetBackground(1,1,1);
  renderWindow1->AddRenderer(renderer1);
  renderWindow1->Render();
  renderWindowInteractor1->SetInteractorStyle(style);
  renderWindowInteractor1->SetRenderWindow(renderWindow1);
  renderWindowInteractor1->Initialize();
  renderWindowInteractor1->Start();
return 0;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150929/9013a147/attachment.html>
    
    
More information about the vtkusers
mailing list