[vtkusers] How to really delete cells?

Corinne Tith cocoricore at gmail.com
Fri Jul 31 04:50:29 EDT 2009


Hi,

Finally, I used Goodwin Lawlor's filter:
http://www.bioengineering-research.com/vtk/vtkRemoveCellsFilter.htm , which
works very well. I just get a list of unconnected cells and remove them
using this filter.

I still don't understand why the connectivity filter doesn't work for me. It
removes the "big" unconnected regions but not some regions near my largest
region.

Once again, thanks!
Corinne


2009/7/29 Dominik Szczerba <dominik at itis.ethz.ch>

> Corinne Tith wrote:
>
>> Dominik,
>>
>> I know cells are not removed because i tried something like:
>> /my_polyData->GetNumberOfCells(//); // returns 100 cells
>> for(int i = 1; i < 10; i++)
>>    my_polyData->GetPointData()->//GetArray(0)->SetTuple1(i,10);  //  part
>> of my volume color changes
>> for(int i = 1; i < 50; i++)
>>    my_polyData->DeleteCell(i);
>> my_polyData->//RemovedDeletedCells();
>> my_polyData>GetNumberOfCells()//; // returns 50 cells/
>>
>> It seems ok, but on surface/wireframe mode, my volume is the same (except
>> for the color).
>>
>
> sounds like the actor/mapper is not up to date... you need to call Update()
> or Modify() somewhere (on the dataset and/or the )... Also make sure that
> the input is actually valid, if you re-created the object its address
> changes and you have to make sure the actor/mapper gets the right input. One
> way is to use SetInputConnection style, another way is to re-set the input
> via SetInput().
>
>
>> Moreover, I coded a method that color my surface by following connected
>> points. Some cells are not connected, even if I use ConnectivityFilter.
>>
>> Stephane,
>> I tried your suggestion of ShallowCopy and I get a black screen. I think I
>> understand what you mean.
>>
>> Maybe I should implement my own filter.
>> Thanks a lot for your help
>> Corinne
>>
>
> If you are after removing the disconnected regions and keeping only the
> largest one the connectivity filter has been serving me very well for years
> now.
>
> -- Dominik
>
>
>>
>>
>>
>> 2009/7/28 Dominik Szczerba <dominik at itis.ethz.ch <mailto:
>> dominik at itis.ethz.ch>>
>>
>>    Well ConnectivityFilter should do this job for you - no need for
>>    extra cell removal by foot.
>>
>>    -- Dominik
>>
>>    Stephane PLOIX wrote:
>>
>>
>>        my_polyData is at the end of a pipeline. Each time you Update it
>>        (which is done at each frame if you render it), it is reset to
>>        the output of the previous filter.
>>        If you want to break the dependency chain, you have to insert a
>>        ShallowCopy :
>>        output = my_vtkPolyDataConnectivityFilter->GetOutput();
>>        my_polyData = vtkPolyData::New();
>>        my_polyData ->ShallowCopy(output);
>>        ...
>>        and remeber to call my_polyData ->Delete() later.
>>
>>        But the best way would be to implement a filter that does the
>>        job to remove some cells, so that your pipeline is still connected.
>>
>>        Stephane
>>
>>
>>
>>
>>        *cocoricore at gmail.com <mailto:cocoricore at gmail.com>*
>>        Envoyé par : vtkusers-bounces at vtk.org
>>        <mailto:vtkusers-bounces at vtk.org>
>>
>>        28/07/2009 15:47
>>
>>                      A
>>               dominik at itis.ethz.ch <mailto:dominik at itis.ethz.ch>
>>        cc
>>               vtkusers at vtk.org <mailto:vtkusers at vtk.org>
>>        Objet
>>               Re: [vtkusers] How to really delete cells?
>>
>>
>>
>>
>>
>>
>>
>>        No change.
>>
>>        2009/7/28 Dominik Szczerba < dominik at itis.ethz.ch
>>        <mailto:dominik at itis.ethz.ch> <mailto:dominik at itis.ethz.ch
>>        <mailto:dominik at itis.ethz.ch>> >
>>        And what does calling ->Update() ?
>>
>>        Corinne Tith wrote:
>>        Thanks for your help. I tried to put your code after
>>        my_polyData->RemoveDeletedCells();
>>        Unfortunately It doesn't work.
>>        I tried to delete lot of cells, they are never really removed.
>>
>>        My VTK version is 5.2, does it matter?
>>
>>
>>        2009/7/28 Dominik Szczerba < dominik at itis.ethz.ch
>>        <mailto:dominik at itis.ethz.ch> <mailto:dominik at itis.ethz.ch
>>        <mailto:dominik at itis.ethz.ch>> <mailto: dominik at itis.ethz.ch
>>
>>        <mailto:dominik at itis.ethz.ch> <mailto:dominik at itis.ethz.ch
>>        <mailto:dominik at itis.ethz.ch>> >>
>>
>>
>>
>>          my_polyData->Modified()
>>
>>          Corinne Tith wrote:
>>
>>              Hi all,
>>
>>              I get a polydata volume with a vtkContourFilter and a
>>              vtkWindowSincPolyDataFilter.
>>              Some cells are not connected to the largest volume. They
>>        seem to
>>              be 'on' the mesh but have no vertice in common.
>>
>>              I tried the filters vtkCleanPolyData and
>>              vtkPolyDataConnectivityFilter, but most of my unconnected
>>        cells
>>              are not removed.
>>              Finally, I tried to delete them 'manually', but nothing
>>        happens.
>>
>>              How can I really remove my unconnected cells?
>>
>>              Any help is appreciated, thanks!
>>
>>
>>              // generate my volume
>>
>>  my_vtkWindowSincPolyDataFilter->SetInputConnection(my_vtkContourFilter->GetOutputPort());
>>
>>              // no effect on my cells
>>
>>  my_vtkCleanPolyData->SetInputConnection(my_vtkWindowSincPolyDataFilter->GetOutputPort());
>>
>>              my_vtkCleanPolyData->PointMergingOn();
>>
>>  my_vtkPolyDataConnectivityFilter->SetInputConnection(my_vtkContourFilter->GetOutputPort());
>>
>>  my_vtkPolyDataConnectivityFilter->SetExtractionModeToLargestRegion();
>>              // manual remove
>>              my_vtkPolyDataConnectivityFilter->Update();
>>              my_polyData = my_vtkPolyDataConnectivityFilter->GetOutput();
>>              for(int i = 0; i < n; i++){
>>                    my_polyData->DeleteCell(cellsToRemove[i]);
>>              }
>>              my_polyData->RemoveDeletedCells();
>>
>>
>>
>>  ------------------------------------------------------------------------
>>
>>              _______________________________________________
>>              Powered by www.kitware.com <http://www.kitware.com>
>>        <http://www.kitware.com/> < http://www.kitware.com
>>        <http://www.kitware.com/> >
>>
>>
>>
>>              Visit other Kitware open-source projects at
>>               http://www.kitware.com/opensource/opensource.html
>>        <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
>>        <http://www.vtk.org/Wiki/VTK_FAQ>
>>
>>
>>              Follow this link to subscribe/unsubscribe:
>>               http://www.vtk.org/mailman/listinfo/vtkusers
>>        <http://www.vtk.org/mailman/listinfo/vtkusers>
>>
>>
>>
>>
>>
>>        _______________________________________________
>>        Powered by www.kitware.com <http://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 <http://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
>>
>>
>>
>>
>
> --
> d o m i n i k   s z c z e r b a ,   p h d . . . . . . . . . . .
> c o m p u t a t i o n a l   l i f e   s c i e n c e   g r o u p
> . . . . . . . i t ' i s   r e s e a r c h   f o u n d a t i o n
> . . . . . . . . . . . . . . . . . . . . http://www.itis.ethz.ch
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090731/e8408601/attachment.htm>


More information about the vtkusers mailing list