[vtkusers] how to use dicom file in vtk?
kingaza at gmail.com
kingaza at gmail.com
Fri Dec 10 03:07:26 EST 2004
thx for your kind help
i have tried to make use of the class vtkDICOMImageReader
but it tell me that it cann't open the files
could you help me? i am so puzzled
these are my codes:
vtkDICOMImageReader *reader = vtkDICOMImageReader::New();
reader->SetDirectoryName("E://dicomfile");
int i;
vtkImageReslice *reslice[9];
vtkImageMagnify *magnify[9];
vtkImageMapper *image_mapper[9];
vtkActor2D *image_actor[9] ;
vtkRenderer *ren[9] ;
vtkWin32OpenGLRenderWindow *renwin = vtkWin32OpenGLRenderWindow::New();
for(i=0;i<9;i++)
{
reslice[i] = vtkImageReslice::New();
magnify[i] = vtkImageMagnify::New();
image_mapper[i]=vtkImageMapper::New();
image_actor[i] = vtkActor2D::New();
ren[i] = vtkRenderer::New();
}
for(i=0;i<9;i++)
{
reslice[i] -> SetInput(reader->GetOutput());
reslice[i] -> SetResliceAxesDirectionCosines(0,1,0,0,0,-1,-1,0,0);
//-1, 0, 0, 0,-1, 0, 0, 0, -1
magnify[i] -> SetInput(reslice[i] -> GetOutput());
magnify[i] -> SetMagnificationFactors(3,3,3);//(IMAGE_MAG_X,
IMAGE_MAG_Y, IMAGE_MAG_Z);//initial value
magnify[i] -> InterpolateOn();
image_mapper[i] -> SetInput(magnify[i] -> GetOutput());
image_mapper[i] -> SetColorWindow(255);
image_mapper[i] -> SetColorLevel(127.5);
image_mapper[i] -> SetColorWindow(2000);
image_mapper[i] -> SetColorLevel(1000);
image_mapper[i] -> SetZSlice(20+15*i);
image_actor[i] -> SetMapper(image_mapper[i]);
image_actor[i] -> SetPosition(20,20);
ren[i] -> AddActor2D(image_actor[i]);
renwin->SetSize(790,630);
renwin->SetPosition(222,64);
renwin->AddRenderer(ren[i]);
}
ren[0]->SetViewport(0.02 , 0.02 , .3133 , .3133);
ren[1]->SetViewport(.35333 , 0.02 , .64667 , .3133);
ren[2]->SetViewport(.68667 , 0.02 , 0.98, .3133);
ren[3]->SetViewport(0.02, .35333, .31333 , .64667);
ren[4]->SetViewport(.35333 , .35333 , .64667, .64667);
ren[5]->SetViewport(.68667 , .35333 , .98 , .64667);
ren[6]->SetViewport(0.02 , .68667 , .31333 , .98);
ren[7]->SetViewport(.35333 , .68667 , .64667 , .98);
ren[8]->SetViewport(.68667, .68667 , .98 , .98);
renwin->Render();
On Thu, 9 Dec 2004 22:57:37 -0500, Mathieu Malaterre
<mathieu.malaterre at kitware.com> wrote:
> Kingaza
>
> > hi all, i am a new guy in vtk, now i am going to write an
> > visualization application, but it is difficult to read dicom file in
> > vtk.
>
> What do you mean 'it is difficult' ?
> - Does the program crash ?
> - The image appears black ?
> - Does the program hangs ?
>
> - Which DICOM reader are you using ?
> vtkDICOMImageReader only read non compress DICOM images.
> vtkGDCMReader read a lot more image, but this is not part of VTK:
>
> http://www.creatis.insa-lyon.fr/Public/Gdcm/
>
> There might be some other option I don't know of.
>
> HTH
> Mathieu
> BTW ITK (http://www.itk.org) integrate gdcm version 0.6
>
>
More information about the vtkusers
mailing list