[vtkusers] MIP help

Michele Marco michelegr at alice.it
Mon Oct 2 09:37:30 EDT 2006


I'm italian Student and i need help for setting MIP in VTK . I use vtk  vtkVolumeRayCastMIPFunction class to realize MIP but i have some problem to configure  "vtkPiecewiseFunction" and "vtkColorTransferFunction" .The code is :
 
// Create the renderers, render window, and interactor

  vtkRenderWindow *renWin = vtkRenderWindow::New();

  vtkRenderer *ren = vtkRenderer::New();

  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();

  renWin->AddRenderer(ren);

  

 

vtkInteractorStyleTrackballCamera *aTrackBallCamera =  vtkInteractorStyleTrackballCamera::New();

  iren->SetInteractorStyle(aTrackBallCamera);

  iren->SetRenderWindow(renWin);

 

vtkDICOMImageReader *reader= vtkDICOMImageReader::New();

reader->SetDirectoryName("C:/tac2");

reader->Update();

 

vtkImageCast *cast = vtkImageCast::New();

cast->SetInputConnection(reader->GetOutputPort());

cast->SetOutputScalarTypeToUnsignedChar();

 

vtkPiecewiseFunction *opacityTransferFunction = vtkPiecewiseFunction::New();

      

opacityTransferFunction->AddSegment(0, 0.1, 255, 0.9);

            

 

vtkColorTransferFunction *colorTransferFunction = vtkColorTransferFunction::New();

colorTransferFunction->AddRGBPoint(   0, 1.0, 0.0, 0.0 );

colorTransferFunction->AddRGBPoint(  64, 1.0, 1.0, 0.0 );

colorTransferFunction->AddRGBPoint( 128, 0.0, 1.0, 0.0 );

colorTransferFunction->AddRGBPoint( 192, 0.0, 1.0, 1.0 );

colorTransferFunction->AddRGBPoint( 255, 0.1, 0.5, 1.0 );

 

             

vtkVolumeProperty *volumeProperty = vtkVolumeProperty::New();

volumeProperty->SetColor(colorTransferFunction);

volumeProperty->SetScalarOpacity(opacityTransferFunction);

volumeProperty->SetInterpolationTypeToLinear();

            

            

vtkVolumeRayCastMIPFunction *compositeMipFunction = vtkVolumeRayCastMIPFunction::New();

compositeMipFunction->SetMaximizeMethodToScalarValue();

 

 

vtkVolumeRayCastMapper *volumeRaycastMapper = vtkVolumeRayCastMapper::New();

            volumeRaycastMapper->SetVolumeRayCastFunction(compositeMipFunction);

            volumeRaycastMapper->SetInputConnection(cast->GetOutputPort());

            

            vtkVolume *volume = vtkVolume::New();

            volume->SetMapper(volumeRaycastMapper);

            volume->SetProperty(volumeProperty);

            volume->VisibilityOn();

            volume->Update();

            

ren->AddVolume(volume);

renWin->SetSize(500,500);

ren->ResetCamera();

ren->GetActiveCamera()->Zoom(1.5);

            

iren->Initialize();

renWin->Render();

iren->Start();



HELP ME PLEASE!!!!!!!!!!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20061002/5c47dc8c/attachment.htm>


More information about the vtkusers mailing list