[vtkusers] Fwd: Problem with vtksmoothPolyDataFilter

Darshan Pai darshanpai at gmail.com
Tue Apr 10 15:18:17 EDT 2012


Even with your setup it does not work .

On Tue, Apr 10, 2012 at 4:27 AM, pj gouttenoire <goutteno at esrf.fr> wrote:

>  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>
> Date: Fri, Mar 2, 2012 at 2:03 AM
> Subject: Problem with vtksmoothPolyDataFilter
> To: 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
>
>
>
> _______________________________________________
> 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/c5a44641/attachment.htm>


More information about the vtkusers mailing list