[vtkusers] Obtaining Maximum Intensity Projection image in native data type?
Kischell, Eric R.
Kischell.Eric at mayo.edu
Mon Nov 28 14:23:54 EST 2011
Hello VTK Lurkers,
I've inherited an unorthodox VTK pipeline.
The pipeline typically imports a 16-bit grayscale CT or PET DICOM series
and
renders maximum intensity projections (off-screen for later static cine
usage).
...
renWin->OffScreenRenderingOn();
w2if->SetInput(renWin); // w2if is an vtkWindowToImageFilter
Export->SetInputConnection(w2if->GetOutputPort()); // Export is
vtkImageExport
Export->Export(OutBuffer);
vtkWindowToImageFilter appears to be constrained to 24-bit or 32-bit (w/
alpha) unsigned char data.
Ideally, I wish to extract the maximum intensity rendered image in the
*native data type* contrast resolution.
The pipeline uses simple opacity and color transfer functions with
either a vtkVolumeRayCastMapper or a vtkFixedPointVolumeRayCastMapper.
vtkSmartPointer<vtkPiecewiseFunction> opacityTransferFunction =
vtkSmartPointer<vtkPiecewiseFunction>::New();
opacityTransferFunction->AddPoint(0, 0.0);
opacityTransferFunction->AddPoint(max, 1.0); // max is the
maximum value in the volume
vtkSmartPointer<vtkPiecewiseFunction> colorTransferFunction =
vtkSmartPointer<vtkPiecewiseFunction>::New();
colorTransferFunction->AddPoint(0, 1);
colorTransferFunction->AddPoint(255, 1);
Any thoughts on a "hook into" vtkFixedPointVolumeRayCastMIPHelper.cxx /
vtkVolumeRayCastMIPFunction.cxx or
a method to render off-screen to 16-bit virtual display depth?
Note, vtkVolumeRayCastDynamicInfo:: float Color[4]; also looks
promising.
thx
keesh
Work Life Plan:
To improve the quality of life for all mankind through better pattern
recognition techniques.
More information about the vtkusers
mailing list