[vtkusers] Fwd: Problem with vtksmoothPolyDataFilter

pj gouttenoire goutteno at esrf.fr
Tue Apr 10 04:27:12 EDT 2012


i used vtkSmoothPolyDataFilter like this and it works.

     // Lissage de la surface
    vtkSmartPointer< vtkSmoothPolyDataFilter> smoothFilter = 
vtkSmartPointer<vtkSmoothPolyDataFilter>::New();
     smoothFilter->SetInput(isor->GetOutput());
     smoothFilter->SetNumberOfIterations(nbIteration);
     smoothFilter->SetRelaxationFactor(relFactor);
     smoothFilter->SetConvergence(convergence);
     smoothFilter->BoundarySmoothingOff ();
     smoothFilter->Update();


Le 06/04/2012 23:34, Darshan Pai a écrit :
> I still could not find debug this problem , pushing it up once again .
>
> ---------- Forwarded message ----------
> From: *Darshan Pai* <darshanpai at gmail.com <mailto:darshanpai at gmail.com>>
> Date: Fri, Mar 2, 2012 at 2:03 AM
> Subject: Problem with vtksmoothPolyDataFilter
> To: vtkusers at vtk.org <mailto:vtkusers at vtk.org>
>
>
> Hello All,
>
> I have been moving some of my old projects which are on VTK4.4 onto 
> the new VTK nightly build .
> Following is the code I am using
>
> vtkSmartPointer<
> vtkImageThreshold> renderThreshold = 
> vtkSmartPointer<vtkImageThreshold>::New();
>         renderThreshold->ThresholdBetween(0, 0);
>         renderThreshold->SetInValue(0);
>         renderThreshold->SetOutValue(1);
>         renderThreshold->SetInput(ribbonsurface);
>
>         vtkSmartPointer<vtkImageIslandRemoval2D> 
> renderIslandRemoval2D1 = vtkSmartPointer<vtkImageIslandRemoval2D>::New();
>         
> renderIslandRemoval2D1->SetInputConnection(renderThreshold->GetOutputPort());
>         renderIslandRemoval2D1->SetAreaThreshold(100);
>         renderIslandRemoval2D1->SetIslandValue(1);
>         renderIslandRemoval2D1->SetReplaceValue(0);
>
>         vtkSmartPointer<vtkImageIslandRemoval2D> 
> renderIslandRemoval2D2 = vtkSmartPointer<vtkImageIslandRemoval2D>::New();
>         
> renderIslandRemoval2D2->SetInputConnection(renderIslandRemoval2D1->GetOutputPort());
>         renderIslandRemoval2D2->SetAreaThreshold(100);
>         renderIslandRemoval2D2->SetIslandValue(0);
>         renderIslandRemoval2D2->SetReplaceValue(1);
>
>         vtkSmartPointer<vtkImageContinuousErode3D> 
> renderContinuousErode3D = 
> vtkSmartPointer<vtkImageContinuousErode3D>::New();
>         
> renderContinuousErode3D->SetInputConnection(renderIslandRemoval2D2->GetOutputPort());
>         renderContinuousErode3D->SetKernelSize(3, 3, 3);
>
>         vtkSmartPointer<vtkImageContinuousDilate3D> 
> renderContinuousDilate3D = 
> vtkSmartPointer<vtkImageContinuousDilate3D>::New();
>         
> renderContinuousDilate3D->SetInputConnection(renderContinuousErode3D->GetOutputPort());
>         renderContinuousDilate3D->SetKernelSize(4, 4, 4);
>
>         vtkSmartPointer<vtkContourFilter> renderContourFilter = 
> vtkSmartPointer<vtkContourFilter>::New();
>         
> renderContourFilter->SetInputConnection(renderContinuousDilate3D->GetOutputPort());
>         renderContourFilter->SetValue(0,1);
>
>         vtkSmartPointer<vtkSmoothPolyDataFilter> 
> renderSmoothPolyDataFilter = 
> vtkSmartPointer<vtkSmoothPolyDataFilter>::New();
>         
> renderSmoothPolyDataFilter->SetInputConnection(renderContourFilter->GetOutputPort());
>         renderSmoothPolyDataFilter->SetNumberOfIterations(20);
>         renderSmoothPolyDataFilter->SetRelaxationFactor(0.15);
>         renderSmoothPolyDataFilter->SetFeatureAngle(40);
>         renderSmoothPolyDataFilter->FeatureEdgeSmoothingOff();
>         renderSmoothPolyDataFilter->BoundarySmoothingOff();
>         renderSmoothPolyDataFilter->SetConvergence(0);
>         renderSmoothPolyDataFilter->Update();
>
>         vtkSmartPointer<vtkPolyDataMapper> ribbonpolydata = 
> vtkSmartPointer<vtkPolyDataMapper>::New();
>         
> ribbonpolydata->SetInputConnection(renderSmoothPolyDataFilter->GetOutputPort());
>
>         ribbonactor = vtkSmartPointer<vtkActor>::New();
>         ribbonactor->SetMapper(ribbonpolydata);
>
> I have attached the output . It looks as if everything up until the 
> rendercontourFilter generates the exact same output in VTK 4.4 and the 
> current VTK
>
> But when I introduce the vtkSmoothPolyDataFilter , the output does not 
> change . There is no smoothing on the polydata .
>
> I cannot seem to pinpoint the problem . Hope someone can help
>
> Regards
> Darshan
>
>
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120410/8220abcd/attachment.htm>


More information about the vtkusers mailing list