[ITK-users] itkSmoothingQuadEdgeMeshFilter Help!!

Mallikarjun K mallikarjun49 at gmail.com
Wed Aug 6 04:42:35 EDT 2014


Hi All,

Can anyone suggest me if anything wrong I am doing in this below pipeline
,Where I used itkVtkPolydataReader to convert vtk Surface polydata to Itk
QuadedgeMesh. Execution loop is being hung up for sometime(4 to 5 mins in
release mode) at itkVtkPolydataReader .


////

typedef itk::QuadEdgeMeshTraits<double, 3,double, double, double,double >
qetraits;

typedef itk::QuadEdgeMesh< vtkFloatingPointType, 3,qetraits > MeshType;

itk::OnesMatrixCoefficients< MeshType > coeff0;

typedef itk::VTKPolyDataReader< MeshType >VTKPolyDataReaderType;
//typedef itk::VTKPolyDataWriter< MeshType >VTKPolyDataWriterType;

//VTKPolyDataWriterType::Pointer
ItkToVtkWriter=VTKPolyDataWriterType::New();
VTKPolyDataReaderType::Pointer VtkToItkReader=VTKPolyDataReaderType::New();

VtkToItkReader->SetFileName("abc.vtk");
VtkToItkReader->Update();

typedef itk::SmoothingQuadEdgeMeshFilter< MeshType, MeshType >
SmoothingQuadEdgeMeshFilter;

 SmoothingQuadEdgeMeshFilter::Pointer QEMeshSmoother =
SmoothingQuadEdgeMeshFilter::New();

QEMeshSmoother->SetInput(VtkToItkReader->GetOutPut());
QEMeshSmoother->SetNumberOfIterations(5 );
QEMeshSmoother->SetRelaxationFactor( 0.5 );
QEMeshSmoother->SetDelaunayConforming(true );
QEMeshSmoother->SetCoefficientsMethod( &coeff0 );
QEMeshSmoother->Update();

////


On Fri, Aug 1, 2014 at 4:36 PM, Mallikarjun K <mallikarjun49 at gmail.com>
wrote:

> Thanks Bill for your answer.
>
> The reason I am using this pipeline is that SmoothingQEMeshFilter has an
> additional parameter for smoothing which is delaunay conforming which helps
> to optimize aspect ratio of triangles while smoothing and thus produces
> better output.Is there anything similar filter in the vtk pipeline.I used
> vtkWindowedSincPolydatafilter which is not giving the output as good as
> QEMeshSmoothing filter.
>
> Thanks for your help
>
>
> On Thu, Jul 31, 2014 at 5:14 PM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
>
>> If you have it in vtk, I suggest using the vtk pipeline to smooth the
>> data.
>>
>> On Thu, Jul 31, 2014 at 1:35 AM, Mallikarjun K <mallikarjun49 at gmail.com>
>> wrote:
>> > Hi Bill,
>> > Thanks for the replay.
>> >
>> > Yes,I built both ITK and my app with Release ,I forgot to mention it in
>> the
>> > previous post.Actually the data set is the output of
>> > vtkDiscreteMarchingCubes algorithm(around 5MB) and need to smooth .I
>> saved
>> > this marching cube's output as .vtk file and read it using
>> > itkVTKPolyDataReader and then I am giving this reader's output to
>> > itkSmoothingQuadEdgeMeshFilter's input.
>> >
>> > I checked the execution time of each step in the pipeline ,after
>> > SmothingQEMeshFilter has got it's input ,it is taking time to process
>> the
>> > data.
>> >
>> > Thank you
>> >
>> >
>> >
>> > On Wed, Jul 30, 2014 at 9:29 PM, Bill Lorensen <bill.lorensen at gmail.com
>> >
>> > wrote:
>> >>
>> >> First, make sure you are building ITK and your app with Release. A
>> >> Debug build can be 10-50 times slower.
>> >>
>> >>
>> >> On Wed, Jul 30, 2014 at 10:18 AM, Mallikarjun K <
>> mallikarjun49 at gmail.com>
>> >> wrote:
>> >> > Hi All,
>> >> > I am using itkSmoothingQuadEdgeMeshFilter for Surface Mesh
>> >> > smoothing.This
>> >> > filter is giving good results what I expected but taking more
>> execution
>> >> > time.can any one suggest me to reduce the execution time( multi
>> >> > threading
>> >> > or any parameters to add/remove )?
>> >> >
>> >> > Below is the code snippet
>> >> > ///////
>> >> > typedef itk::QuadEdgeMeshTraits<double, 3,double, double,
>> double,double
>> >> > >
>> >> > qetraits;
>> >> > typedef itk::QuadEdgeMesh< vtkFloatingPointType, 3,qetraits >
>> MeshType;
>> >> >
>> >> > //typedef itk::QuadEdgeMesh< vtkFloatingPointType, 3 > MeshType;
>> >> >
>> >> > itk::OnesMatrixCoefficients< MeshType > coeff0;
>> >> >
>> >> > typedef itk::SmoothingQuadEdgeMeshFilter< MeshType, MeshType >
>> >> > SmoothingQuadEdgeMeshFilter;
>> >> >
>> >> >     SmoothingQuadEdgeMeshFilter::Pointer QEMeshSmoother =
>> >> > SmoothingQuadEdgeMeshFilter::New();
>> >> >
>> >> > QEMeshSmoother->SetInput("abc.vtk");
>> >> > QEMeshSmoother->SetNumberOfIterations(5 );
>> >> > QEMeshSmoother->SetRelaxationFactor( 0.5 );
>> >> > QEMeshSmoother->SetDelaunayConforming(true );
>> >> > QEMeshSmoother->SetCoefficientsMethod( &coeff0 );
>> >> > QEMeshSmoother->Update();
>> >> > ////
>> >> >
>> >> > --
>> >> > Regards:
>> >> > Mallik
>> >> >
>> >> >
>> >> > _____________________________________
>> >> > Powered by www.kitware.com
>> >> >
>> >> > Visit other Kitware open-source projects at
>> >> > http://www.kitware.com/opensource/opensource.html
>> >> >
>> >> > Kitware offers ITK Training Courses, for more information visit:
>> >> > http://www.kitware.com/products/protraining.php
>> >> >
>> >> > Please keep messages on-topic and check the ITK FAQ at:
>> >> > http://www.itk.org/Wiki/ITK_FAQ
>> >> >
>> >> > Follow this link to subscribe/unsubscribe:
>> >> > http://public.kitware.com/mailman/listinfo/insight-users
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Unpaid intern in BillsBasement at noware dot com
>> >
>> >
>> >
>> >
>> > --
>> > Regards:
>> > Mallik
>> >
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>
>
>
>
> --
> *Regards:*
> Mallik
>
>


-- 
*Regards:*
Mallik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20140806/c6bf7811/attachment.html>


More information about the Insight-users mailing list