[vtkusers] cannot use vtkCornerAnnotation with vtkImageSlice class

ankit.master at gmail.com ankit.master at gmail.com
Fri Mar 2 14:11:34 EST 2012


Hello, 

I am trying to read an image and also provide a corner annotation to it, I
am using vtkImageSlice and vtkCornerAnnotation classes to do; but whenever I
bring up an image, I always get blank image. However, when I comment out the
following command my image appears correctly. 

renderer-> AddViewProp(cornerAnnotation) 

So, it appears that the renderer is overwriting the Image that is read
earlier by the actor of type corner annotation, does anyone know what should
I do to not get a blank image and also be able to visualize corner
annotation. 

Following is my code snippet. 

 vtkSmartPointer<vtkImageData> grayImageReal =
vtkSmartPointer<vtkImageData>::New();
   
    CreateGrayScaleImage(grayImageReal, realImage);
  
   
    vtkSmartPointer<vtkImageSliceMapper> imageSliceMapper =       
vtkSmartPointer<vtkImageSliceMapper>::New();
   
//imageSliceMapper->SetInputConnection(grayImageReal->GetProducerPort());
    imageSliceMapper->SetInputConnection( (*it )-> GetProducerPort());

    vtkSmartPointer<vtkImageSlice> imageSlice =
vtkSmartPointer<vtkImageSlice>::New();
    imageSlice->SetMapper(imageSliceMapper);

    // Setup renderers
    vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
    // renderer->AddViewProp(imageSlice);
    renderer->AddActor(imageSlice); 
    renderer->ResetCamera();



    // mouse event picker 
    vtkSmartPointer<vtkPropPicker> propPicker =
vtkSmartPointer<vtkPropPicker>::New();
    propPicker->PickFromListOn();
    propPicker->AddPickList(imageSlice);   //Note vtkImageSlice is the
parent class of vtkImageActor.  


    // Annotate the image with window/level and mouse over pixel
    // information
     vtkSmartPointer<vtkCornerAnnotation> cornerAnnotation = 
      vtkSmartPointer<vtkCornerAnnotation>::New();
  cornerAnnotation->SetLinearFontScaleFactor( 2 );
  cornerAnnotation->SetNonlinearFontScaleFactor( 1 );
  cornerAnnotation->SetMaximumFontSize( 20 );
  cornerAnnotation->SetText( 0, "lower left" );
  cornerAnnotation->SetText( 1, "lower right" );
  cornerAnnotation->SetText( 2, "upper left" );
  cornerAnnotation->SetText( 3, "upper right" );
  cornerAnnotation->GetTextProperty()->SetColor( 1,0,0);
 
  renderer->AddViewProp(cornerAnnotation);        

After the above renderer statement my Image is completely lost and what is
rendered is a blank page, although I do get to see the annotation. 




Thank you in advance. 
Ankit 

--
View this message in context: http://vtk.1045678.n5.nabble.com/cannot-use-vtkCornerAnnotation-with-vtkImageSlice-class-tp5531915p5531915.html
Sent from the VTK - Users mailing list archive at Nabble.com.



More information about the vtkusers mailing list