[vtkusers] [vtkusers]: Urgent Help: Weird problem with volume rendering

Thomas - Kuiran Chen chent at cs.queensu.ca
Thu May 20 00:55:32 EDT 2004


Hi there,

I am encouting an very strange problem in volume rendering.

I've had a vtk volume data stored in vtkStructPoints format.  Previously I set the data spacing in (0.1, 0.1, 0.1) millimeters and used the standard volume rendering method to visualize the volume with no problem (the procedure is stated in the VTK user guide).

But when I set the data spacing to (0.0001, 0.0001, 0.0001) meters, without any other changes to the data, the previously workable volume rendering method won't work (simply show nothing in the visualization).

Any one has any clue what happened here?   Help!!!!!

The following is the little rendering codes to the do the job:

	vtkStructuredPointsReader* StructuredPointsReader = vtkStructuredPointsReader::New();
	StructuredPointsReader->SetFileName("../../DataFactory/data_US_RADIUS_ID1018_SET8_DENSE/3D_VTK/Volume_BINARY_2004_0507_1536.vtk");

	// renderer
	vtkRenderer *aRenderer = vtkRenderer::New();
	vtkRenderWindow *renWin = vtkRenderWindow::New();
	renWin->AddRenderer(aRenderer);
	vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
	iren->SetRenderWindow(renWin);

	// Create compositing ray functions
	vtkVolumeRayCastCompositeFunction *RayCastCompositeFunction = vtkVolumeRayCastCompositeFunction::New();
	RayCastCompositeFunction->SetCompositeMethodToInterpolateFirst();

	// Create mip ray functions
	vtkVolumeRayCastMIPFunction *MIPRayCastFunction = vtkVolumeRayCastMIPFunction::New();
	MIPRayCastFunction->SetMaximizeMethodToScalarValue();

	//  we can use MIP
	RaycastMapper->SetVolumeRayCastFunction( MIPRayCastFunction );
	// This is where input data comes in
	RaycastMapper->SetInput( StructuredPointsReader->GetOutput() );		// This is where input data comes in
	
	// Create volume
	vtkVolume *Volume = vtkVolume::New();
	Volume->SetProperty( VolumeProperty );
	Volume->SetMapper( RaycastMapper );

	aRenderer->AddProp( Volume );

	// Camera setup
	vtkCamera *aCamera = vtkCamera::New();
	aCamera->SetViewUp (0, 0, -1);
	aCamera->SetPosition (0, 1, 0);
	aCamera->SetFocalPoint (0, 0, 0);
	aCamera->ComputeViewPlaneNormal();

	aRenderer->SetActiveCamera(aCamera);
	aRenderer->ResetCamera ();

	// Background setup
	aRenderer->SetBackground(0,0,0);
	renWin->SetSize(800, 600);

	aRenderer->ResetCameraClippingRange ();

	// interact with data
	iren->Initialize();
	iren->Start(); 


Thanks,
Thomas



---------------------- Original Message ------------------------
From: John Biddiscombe <jbiddiscombe at skippingmouse.co.uk>
To: Bill Vogler; vtkusers at vtk.org <vogler at calcreek.com; vtkusers at vtk.org>
Sent: 2004-05-19 16:57:41
Subject: Re: [vtkusers] Need Help with vtkPlaneSource Sizing

Use
SetOrigin(0.0, 0.0, 0.0)
SetPoint1(10.0, 0.0, 0.0 );
SetPoint2(0.0, 34.0, 0.0 );

and then
SetXResolution(10);
SetYResolution(340);

and you'll get a plane with 10x340 quadrilaterals with dimensions 1.0x0.1

When you change the resolution, you change the number of quadrilaterals, but
the area covered is still controlled by point1,point2 and origin

JB


----- Original Message ----- 
From: "Bill Vogler" <vogler at calcreek.com>
To: <vtkusers at vtk.org>
Sent: Wednesday, May 19, 2004 9:41 PM
Subject: [vtkusers] Need Help with vtkPlaneSource Sizing


> Hello -
>
> I am having problems sizing a plane created with vtkPlaneSource. The
created
> plane is of fixed size and I can't change the size using the member
function
> SetResolution();
>
> My understanding of a vtkPlaneSource is that it is an array of "m x n"
> quadrilaterals located on the specified plane. By default the width and
> height is of length one (1) and the resolution of the plane is controlled
by
> XResolution and YResolution (which are both integers).
>
> I would like to specify the width and height with a specific dimension of
> real numbers (i.e., doubles). Therefore I am a bit confused why the
> dimensions of the plane do not change is response to a SetResolution()
call.
> I am also a bit confused on how to specify this dimension using integers.
>
> TIA
>
> Bill
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
<http://public.kitware.com/cgi-bin/vtkfaq>
> 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://public.kitware.com/cgi-bin/vtkfaq>
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers

--------------------------------------------------------------------
			





More information about the vtkusers mailing list