[vtkusers] image island removal and hole filling

David Gobbi david.gobbi at gmail.com
Mon Dec 6 13:19:57 EST 2010


I think I made a mistake... I should have told you to use
ThresholdByLower(1).  Other than that, your code looks fine.

  David

On Mon, Dec 6, 2010 at 11:13 AM, Jonathan Morra <jonmorra at gmail.com> wrote:

> I just got your class in my version of vtk and up and running in Java, and
> it's not working for me.  I was wondering what I'm doing wrong, could you
> help me out?
>
> Thanks
>
>             // We have to remove all the islands not connected to the
> center
>             // and then fill the holes in the resulting mask
>             vtkPoints seedPoints = new vtkPoints();
>
>  seedPoints.InsertNextPoint(panel.getPicker().GetPickPosition());
>             vtkImageFloodFill fill = new vtkImageFloodFill();
>             fill.SetInput(binaryImage);
>             fill.SetSeedPoints(seedPoints);
>             fill.ThresholdByUpper(1);
>             fill.Update();
>             binaryImage = fill.GetOutput();
>
> On Fri, Dec 3, 2010 at 11:27 AM, Jonathan Morra <jonmorra at gmail.com>wrote:
>
>> Fantastic, thanks for your help!
>>
>>
>> On Fri, Dec 3, 2010 at 11:13 AM, David Gobbi <david.gobbi at gmail.com>wrote:
>>
>>> Hi Jonathan,
>>>
>>> I put my flood-fill filter on github, and tested it to make sure it
>>> still works:
>>> http://github.com/dgobbi/VTK/tree/flood-fill/Imaging/
>>>
>>> The interface is just like the vtkThresholdFilter, except that it
>>> has a method called SetSeedPoints() to allow you to set your
>>> seeds.  For a binary image, call ThresholdByUpper(1) so that
>>> you can set seeds inside any non-zero islands that you want
>>> to keep in your output.
>>>
>>> I'll probably contribute this class to VTK after I have brought
>>> it up-to-date (it was originally written for VTK 4).
>>>
>>>   David
>>>
>>>
>>> On Thu, Dec 2, 2010 at 3:39 PM, Jonathan Morra <jonmorra at gmail.com>wrote:
>>>
>>>> Thanks, let me know where I can download it from.
>>>>
>>>>
>>>> On Thu, Dec 2, 2010 at 2:36 PM, David Gobbi <david.gobbi at gmail.com>wrote:
>>>>
>>>>> For Step 1, I have a VTK flood-fill class that do the job.  I'll upload
>>>>> it to
>>>>> gerrit so that you can try it out.  I don't think anything exists for
>>>>> your
>>>>> Step 2, though.
>>>>>
>>>>>   David
>>>>>
>>>>>
>>>>> On Thu, Dec 2, 2010 at 3:14 PM, Jonathan Morra <jonmorra at gmail.com>wrote:
>>>>>
>>>>>> I have a binary vtkImageData class and I want to do 2 things with it,
>>>>>> and I don't know how.
>>>>>>
>>>>>> 1.  I want to remove all islands from the image except one.  I want to
>>>>>> identify the island not to be removed by a pixel location.  I have seen
>>>>>> vtkImageIslandRemoval2D, and I don't think that'll work for me, because I do
>>>>>> not know anything about the island's size that I want to keep (it could be
>>>>>> big, small, or in the middle), all that I know is one point which
>>>>>> is guaranteed to be interior to one island, and that's the island I want to
>>>>>> keep.
>>>>>>
>>>>>> 2.  I want to do hole filling on the output of step 1 and I don't know
>>>>>> how to do that.  I saw vtkFillHolesFilter but that appears only to work on
>>>>>> poly data.  I'd like something analogous to that for vtkImageData.
>>>>>>
>>>>>> If anyone knows how to do these things, I'd appreciate it.  Also, if
>>>>>> it matters, I'm coding in Java.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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/20101206/45be05f8/attachment.htm>


More information about the vtkusers mailing list