[vtkusers] vtkImageMapToWindowLevelColors help
Anka Kochanowska
anka at bic.mni.mcgill.ca
Tue Apr 17 10:35:24 EDT 2007
Ok, here is a part of my real program.
I would send you the whole class, but cannot do it without my boss'
approval.
Anka
vtkSmartPointer<vtkImageReslice> m_reslice;
...
m_reslice->SetInput( m_imageData );
m_reslice->SetInterpolationModeToLinear( );
m_reslice->SetOutputExtent(0, 639, 0, 479, 0, 1);
m_reslice->SetOutputOrigin(0, 0, 0);
m_reslice->SetOutputDimensionality(2);
m_reslice->SetOutputSpacing(1,1,1);
m_reslice->SetResliceTransform( concat );
m_reslice->UpdateInformation();
m_displayImage = vtkSmartPointer<vtkImageShiftScale>::New();
m_displayImage->SetInput(m_reslice->GetOutput());
m_displayImage->SetScale(scale);
m_displayImage->SetOutputScalarTypeToUnsignedChar();
m_displayWindowLevelColorsImage =
vtkSmartPointer<vtkImageMapToWindowLevelColors>::New();
m_displayWindowLevelColorsImage->SetInput(m_displayImage->GetOutput());
m_displayWindowLevelColorsImage->SetLookupTable(lut);
m_displayWindowLevelColorsImage->SetWindow(m_win_level[0]*scale);
m_displayWindowLevelColorsImage->SetLevel(m_win_level[1]*scale);
m_mriActor->SetInput(m_displayWindowLevelColorsImage->GetOutput());
m_mriRenderer->AddViewProp( m_mriActor );
m_mriOutlineFilter->SetInput(m_displayWindowLevelColorsImage->GetOutput());
m_mriOutlineMapper->SetInput( m_usOutlineFilter->GetOutput() );
m_mriRenderer->AddViewProp( m_mriOutlineActor );
Luca Pamparana wrote:
> Hey Anka,
>
> Thanks again for the reply.
>
> The thing is that I am using the reslicer to extract a 2D slice and
> just display that. All the interpolation, orientation, which slice to
> extract etc. is controlled by the reslicer.
>
> The vtkImageActor seems to have its own corresponding methods for
> these operations. I am wondering if these can coexist... Only one way
> to find out, I guess! Time for try some quick hack...
>
> Thanks,
> Luca.
>
> On 4/17/07, *Anka Kochanowska* < anka at bic.mni.mcgill.ca
> <mailto:anka at bic.mni.mcgill.ca>> wrote:
>
> I am using vtkImageActor:
>
>
> vtkImageActor * mriActor;
> ...
> ...
> blendedImage->AddInput( 0, img1->GetOutput());
> blendedImage->AddInput( 0,
> .displayWindowLevelColorsImage->GetOutput());
> blendedImage->Update();
> mriActor->SetInput(blendedImage->GetOutput());
> renderer->AddViewProp( mriActor );
> Anka
>
> Luca Pamparana wrote:
>
> > Hello everyone,
> >
> > I am unable to get the vtkImageMapToWindowLevelColors to give me an
> > output :(
> >
> > My pipeline is as follows:
> >
> > // vtkImageData input to a reslicer
> > this->m_slicer->SetInput(in);
> >
> > // pass the output of the slicer to
> vtkImageMapToWindowLevelColors object
> >
> this->m_windowLevelMapper->SetInputConnection(this->m_slicer->GetOutputPort());
> >
> >
> > // Pipe the output to a vtkImageBlend object
> > this->m_blender->AddInputConnection(0,
> > this->m_windowLevelMapper->GetOutputPort());
> >
> > // Pipe output to a vtkImageMapper. This mapper is tied to the
> Actor2D
> > // object that is added to the renderer
> > this->m_imageMapper->SetInput(this->m_blender->GetOutput());
> >
> > double * range = in->GetScalarRange();
> > if (range)
> > {
> > // this calls the ciorresponding methods on the
> > vtkImageMapToWindowLevelColors object
> > this->SetColorWindow(range[1] - range[0]);
> > this->SetColorLevel(0.5 * (range[1] + range[0]));
> > }
> >
> > SetSlice(static_cast<int>((GetWholeZMin() + GetWholeZMax()) * 0.5));
> >
> > My guess is that I am not setting the ColorWindow and ColorLevel on
> > the vtkImageMapper instance. However, I want to control the color
> > window and color level values independently of the mapper as the
> > vtkImageBlend will also have other inputs that I want to control
> the
> > window and level values for.
> >
> > Any help on how I can get this to work is much appreciated.
> >
> > Thanks,
> > Luca
> >
> >------------------------------------------------------------------------
>
> >
> >_______________________________________________
> >This is the private VTK discussion list.
> >Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ <http://www.vtk.org/Wiki/VTK_FAQ>
> >Follow this link to subscribe/unsubscribe:
> >http://www.vtk.org/mailman/listinfo/vtkusers
> >
> >
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>Follow this link to subscribe/unsubscribe:
>http://www.vtk.org/mailman/listinfo/vtkusers
>
>
More information about the vtkusers
mailing list