<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hey guys,<br>
    <br>
    I use the vtkPolyDataConnectivityFilter from polydata to extract
    several different and more or less unknown regions. <br>
    My problem is that I want to extract regions from this filter, but
    if I do this, the update process for all regions takes up to
    10minutes:<br>
    <br>
    filter->SetExtractionModeToAllRegions();<br>
    filter->Update();<br>
    ...<br>
    <br>
    for (int i = 0; i < filter->GetNumberOfExtractedRegions();
    i++)<br>
    {<br>
        extractFilter->InitializeSpecifiedRegionList();<br>
        extractFilter->AddSpecifiedRegion(i);<br>
        extractFilter->Modified();<br>
        extractFilter->Update();<br>
        extractRegionData->DeepCopy(extractFilter->GetOutput());<br>
    }<br>
    extractFilter->InitializeSpecifiedRegionList();<br>
    <br>
    Background for this: I want to use the points of each region to
    check whether they lie within an object in my binary<br>
    mask image. So the pipeline would be like this:<br>
    <br>
    1) Get all Regions <br>
        2) get region <i>i</i><br>
             3) get points of region <i>i</i><br>
                 4) check if point <i>j</i> lies within the binary mask
    <i>B</i>     (<i>B</i>_<i>j</i> == 255)<br>
                     4a) if true then add region to the extractFilter
    and break (-> next region <i>i</i>)<br>
                     4b) if false then continue with next point <i>j</i><br>
    5) Mark all regions red (done easily)<br>
    6) Mark some regions green that are above a specific size (can be
    accessed with filter->GetRegionSizes() )<br>
    7) Mark some regions yellow (the regions that are extracted during
    step 1-4a) <br>
    <br>
    I do not know if the PolyDataConnectivityFilter is the right class
    for this, I think it is. <br>
    If I store the extractRegionData in a vector, all regions have the
    same number of points (which is kind of strange) but different
    number of cells (region size == number of cells is correct).<br>
    <br>
    I would now try to get the points from the cells and check the
    binary mask, because the <br>
    <br>
    vtkPolyData->GetNumberOfPoints()<br>
    <br>
    and<br>
    <br>
    vtkPolyData->GetPoint(pointCounter, point); <br>
    <br>
    are not working correctly in this scenario (all regions are
    extracted because every single region has every point?<br>
    i did not verify my guess but I think there would be the problem)<br>
    <br>
    The binary mask is a vtkImageData, that could be transformed to
    vtkPolyData.<br>
    The input image (already filtered with vtkMarchingCubes) and the
    binary mask have the same dimensions (x,y,z).<br>
    <br>
    I hope you can imagine what I'm trying to do and have some tips for
    me, if my approach is correct.<br>
    <br>
    Regards<br>
    Imre<br>
  </body>
</html>