[vtkusers] [vtkusers]: Urgent Help: Weird problem withvolume rendering

Lisa Avila lisa.avila at kitware.com
Thu May 20 10:25:00 EDT 2004


Hi Thomas,

In the vtkVolumeRayCastMapper there is a SampleDistance ivar which should 
be set to something similar to the spacing in your volume or less 
(typically 1/2 the average spacing but different distances may be 
appropriate depending on aspect ratio and how rapidly your data / transfer 
functions change)

Lisa


At 10:03 AM 5/20/2004, Thomas - Kuiran Chen wrote:
>Hi Lisa,
>
>Thanks for the message.
>
>Do you mean setting the spacing in the vtkVolume or the 
>vtkVolumeRayCastMapper?  In vtkVolume, there is only one method to set the 
>spacing which is ::SetScale.
>
>Thanks a lot,
>Thomas
>
>---------------------- Original Message ------------------------
>From: Lisa Avila <lisa.avila at kitware.com>
>To: Thomas - Kuiran Chen; John Biddiscombe; Bill Vogler; vtkusers at vtk.org 
><chent at cs.queensu.ca; jbiddiscombe at skippingmouse.co.uk; 
>vogler at calcreek.com; vtkusers at vtk.org>
>Sent: 2004-05-20 09:25:23
>Subject: Re: [vtkusers] [vtkusers]: Urgent Help: Weird problem withvolume 
>rendering
>
>Hello Thomas,
>
>You need to set your sample distance on the mapper - otherwise it is likely
>sampling right over your entire volume and hence you see nothing.
>
>Lisa
>
>
>At 12:55 AM 5/20/2004, Thomas - Kuiran Chen wrote:
> >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_ID1 
> 018_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
> >
> >--------------------------------------------------------------------
> >
> >
> >
> >_______________________________________________
> >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
>
>--------------------------------------------------------------------
>
>
>
>_______________________________________________
>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