I am trying a simple example of using the imaging pipeline(never used it before); it should display a
white image as follows; I am wondering
if the way I am creating the image (using vtkScalars) is the right way to do it. I only get a solid black image.
I am using a 3 component scalar array as part of the vtkImageData.

Thanks.

    -- krs
 

void main()
{
                            // Create Image data

  vtkImageData *image  = vtkImageData::New();
    image->SetDimensions (256,256,1);

  vtkScalars *scalars = vtkScalars::New(VTK_UNSIGNED_CHAR, 3);
    scalars->SetNumberOfComponents (3);
    scalars->SetNumberOfScalars (256*256);

    int n = 0;
    for (int i = 0; i < 256; i++)
    for (int j = 0; j < 256; j++)
    {
        scalars->SetActiveComponent (0); scalars->SetScalar(n, 255);
        scalars->SetActiveComponent (1); scalars->SetScalar(n, 255);
        scalars->SetActiveComponent (2); scalars->SetScalar(n, 255);
        n++;
    }

  image->GetPointData()->SetScalars (scalars);
 

                // create mapper, imager and image window

  vtkImageMapper *imapper = vtkImageMapper::New();
    imapper->SetInput (image);
    imapper->SetZSlice (0);
  vtkActor2D *image_actor = vtkActor2D::New();
    image_actor->SetMapper (imapper);
 

  vtkImager *ren1 = vtkImager::New();
    ren1->AddActor2D (image_actor);
    ren1->SetViewport (0.0, 1.0, 0.0, 1.0);

  vtkImageWindow *renWin = vtkImageWindow::New();
    renWin->SetSize( 256, 256 );
    renWin->AddImager(ren1);

    renWin->Render();

    sleep (5);
}
 
 

-- 
K.R.Subramanian                           Phone: (704) 547-4872
Department of Computer Science            FAX:   (704) 547-3516
UNC Charlotte                             Email: krs@cs.uncc.edu
9201 Univ. City Blvd.                     WWW: http://www.cs.uncc.edu/~krs
Charlotte, NC 28223-0001