Hi All,

I got stuck and it would be great if you could help me.

I modified the Tutorial Step5 program in a way that I do not create the
QmitkSliceWidgets anymore. Unfortunately, now the slices in the 3D view
are also gone. So I added some code (see below) and voila, the planes
are visible again - unfortunately without the content of the image (they
are completly black).

What I am trying to do is to display some 3D voxel color image in a
rotatable 3D view with 3 orthogonal slices. Similar to the yellow view
shown in
http://www.mitk.org/wiki/Screenshots?action=AttachFile&do=get&target=vesselTool.png


Could you tell me
a) how to display the transversal, sagittal and frontal planes in the 3D
view (with image content)?
b) if there is a more elagant way than the code I wrote below?
c) if you know something I could read to learn these things with mitk?

Thanks,
Jan


//*************************************************************************
  // Part Va: 3D view

//*************************************************************************

  // Create a renderwindow
  QmitkRenderWindow renderWindow(&toplevelWidget);

  // Tell the renderwindow which (part of) the tree to render
  renderWindow.GetRenderer()->SetData(storage);

  // Use it as a 3D view
  renderWindow.GetRenderer()->SetMapperID(mitk::BaseRenderer::Standard3D);

  const mitk::Geometry3D* geometry3D =
renderWindow.GetRenderer()->GetWorldGeometry();
  mitk::SlicedGeometry3D::Pointer slicedGeometry3DTransversal =
mitk::SlicedGeometry3D::New();
  mitk::SlicedGeometry3D::Pointer slicedGeometry3DSagittal =
mitk::SlicedGeometry3D::New();
  mitk::SlicedGeometry3D::Pointer slicedGeometry3DFrontal =
mitk::SlicedGeometry3D::New();
  mitk::Geometry2DData::Pointer geometry2DDataTransversal =
mitk::Geometry2DData::New();
  mitk::Geometry2DData::Pointer geometry2DDataSagittal =
mitk::Geometry2DData::New();
  mitk::Geometry2DData::Pointer geometry2DDataFrontal =
mitk::Geometry2DData::New();
  mitk::DataTreeNode::Pointer geometryNodeTransversal =
mitk::DataTreeNode::New();
  mitk::DataTreeNode::Pointer geometryNodeSagittal =
mitk::DataTreeNode::New();
  mitk::DataTreeNode::Pointer geometryNodeFrontal =
mitk::DataTreeNode::New();

  slicedGeometry3DTransversal->InitializePlanes( geometry3D,
mitk::PlaneGeometry::Transversal );
  slicedGeometry3DSagittal->InitializePlanes( geometry3D,
mitk::PlaneGeometry::Sagittal );
  slicedGeometry3DFrontal->InitializePlanes( geometry3D,
mitk::PlaneGeometry::Frontal );
  geometry2DDataTransversal->SetGeometry2D(
slicedGeometry3DTransversal->GetGeometry2D( 100 ) );//compute from image
  geometry2DDataSagittal->SetGeometry2D(
slicedGeometry3DSagittal->GetGeometry2D( 100 ) );//compute from image
  geometry2DDataFrontal->SetGeometry2D(
slicedGeometry3DFrontal->GetGeometry2D( 100 ) );//compute from image
  geometryNodeTransversal->SetData( geometry2DDataTransversal );
  geometryNodeSagittal->SetData( geometry2DDataSagittal );
  geometryNodeFrontal->SetData( geometry2DDataFrontal );
  it.Add( geometryNodeTransversal );
  it.Add( geometryNodeSagittal );
  it.Add( geometryNodeFrontal );


------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to