[vtkusers] volume rendering problem
    #ZHAO ZHEEN# 
    kurtzhao at pmail.ntu.edu.sg
       
    Wed Jun 16 09:20:50 EDT 2004
    
    
  
Hi All,
I want to display the volume rendering of a 256X256X62 3D mri image. the code compiles well. but the rendering window is empty, no rendering.  Can someone please help me? I am using vtk4.2. the codes are attached.
Best Regards
Kurt
	vtkRenderer *ren1=vtkRenderer::New();
	
	vtkPiecewiseFunction *oTFun=vtkPiecewiseFunction::New();
		oTFun->AddSegment(80,1.0,255,1.0);
	vtkPiecewiseFunction *gTFun=vtkPiecewiseFunction::New();
		oTFun->AddSegment(0,1.0,255,1.0);
	vtkVolumeProperty *volProperty = vtkVolumeProperty::New();
		volProperty->SetColor(gTFun);
		volProperty->SetScalarOpacity(oTFun);
		volProperty->SetInterpolationTypeToLinear();
		volProperty->ShadeOn();
	vtkVolumeRayCastCompositeFunction *compositeFunction =
		vtkVolumeRayCastCompositeFunction::New();
	vtkImageCast *cast = vtkImageCast::New();
		cast->SetInput(image);
		cast->SetOutputScalarTypeToUnsignedChar();
		cast->Update();
	vtkVolumeRayCastMapper *volMapper = 
		vtkVolumeRayCastMapper::New();
//		volMapper->SetInput(image);
	    volMapper->SetInput(cast->GetOutput());
		volMapper->SetVolumeRayCastFunction(compositeFunction);
  //      volMapper->Print(std::cout);
	vtkVolume *vol=vtkVolume::New();
		vol->SetMapper(volMapper);
		vol->SetProperty(volProperty);
//		vol->Print(std::cout);
	ren1->AddVolume(vol);
	ren1->GetActiveCamera()->Azimuth(20);
	ren1->GetActiveCamera()->Dolly(1.65);
	vtkRenderWindow *renWin = vtkRenderWindow::New();
		renWin->AddRenderer(ren1);
	vtkRenderWindowInteractor *iren=
		vtkRenderWindowInteractor::New();
		iren->SetRenderWindow(renWin);
	renWin->SetSize(WINDOW_WIDTH,WINDOW_HEIGHT);
	renWin->Render();
	iren->SetDesiredUpdateRate(3.0);
	iren->Start();
//	SAVEIMAGE( renWin );
	// Clean up
  ren1->Delete();
  renWin->Delete();
  iren->Delete();
  oTFun->Delete();
  gTFun->Delete();
  volProperty->Delete();
  compositeFunction->Delete();
  volMapper->Delete();
  vol->Delete();
  cast->Delete();
    
    
More information about the vtkusers
mailing list