[vtkusers] Volume export function -- need help
cspl
affable at hd2.dot.net.in
Mon Oct 21 03:22:31 EDT 2002
Dear Friends,
I am working on vtkVolumeRaycastMIPFunction.I want to export ray castmip function o/p into buffer
which is created by me.But it is giving runtime exception at export function. Please give me
suggestion.I have written code as follows. I have indicated the line of code raising the
exception.
Volume *volMIP(Volume *vol)
{
unsigned short *Buffer = NULL;
Buffer = (unsigned short *) vol->Mem;
vtkRenderer *renderer =vtkRenderer::New();
vtkRenderWindow *renWin=vtkRenderWindow::New();
vtkImageImport *Importer = vtkImageImport::New();
Importer->SetDataExtent(1, vol->width, 1, vol->height, 1, vol->depth);
Importer->SetWholeExtent(1, vol->width, 1, vol->height, 1, vol->depth);
Importer->SetDataScalarTypeToUnsignedShort( );
Importer->SetImportVoidPointer(vol->Mem); // Importing the Buffer
vtkVolumeProperty *volumeProperty=vtkVolumeProperty::New();
vtkVolumeRayCastIsosurfaceFunction *iso=vtkVolumeRayCastIsosurfaceFunction::New();
vtkVolumeRayCastMapper *volumeMapper=vtkVolumeRayCastMapper::New();
vtkVolumeRayCastCompositeFunction
*compositeFunction=vtkVolumeRayCastCompositeFunction::New();
vtkVolumeRayCastMIPFunction *mip=vtkVolumeRayCastMIPFunction ::New();
vtkVolume *volume1=vtkVolume::New();
vtkPiecewiseFunction *opacityTransferFunction=vtkPiecewiseFunction::New();
opacityTransferFunction->AddPoint(20,0.0);
opacityTransferFunction->AddPoint(255,0.3);
vtkColorTransferFunction *colorTransferFunction=vtkColorTransferFunction::New();
colorTransferFunction->AddRGBPoint(0.0,0.0,0.0,0.0);
colorTransferFunction->AddRGBPoint(64.0, 1.0,0.0,0.0);
colorTransferFunction->AddRGBPoint(128.0,0.0,0.0,1.0);
colorTransferFunction->AddRGBPoint(192.0,0.0,1.0,0.0);
colorTransferFunction->AddRGBPoint(255.0,0.0,0.2,0.0);
volumeProperty->SetColor(colorTransferFunction);
volumeProperty->SetScalarOpacity(opacityTransferFunction);
volumeProperty->SetInterpolationTypeToLinear();
volumeProperty->ShadeOn();
mip->SetMaximizeMethodToScalarValue();
mip->SetMaximizeMethodToOpacity();
volumeMapper->SetVolumeRayCastFunction(compositeFunction);///for Raycast Technique
volumeMapper->SetVolumeRayCastFunction(mip);
volumeMapper->SetSampleDistance(0.25);
volumeMapper->SetInput(Importer->GetOutput());
volume1->SetMapper(volumeMapper);
volume1->SetProperty(volumeProperty);
vtkImageImport *Importer1 = vtkImageImport::New();
Importer1->SetDataExtent(1, vol->width, 1, vol->height, 1, vol->depth);
Importer1->SetWholeExtent(1, vol->width, 1, vol->height, 1, vol->depth);
Importer1->SetDataScalarTypeToUnsignedShort( );
Importer1->SetImportVoidPointer(volume1);
vtkImageExport *Exporter = vtkImageExport::New();
Exporter->SetInput(Importer->GetOutput());
******* Exporter->Export(Buffer); // Exporting the buffer exception is coming here
vol->Mem =Buffer;
return vol;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20021021/c6199f42/attachment.htm>
More information about the vtkusers
mailing list