[vtkusers] image island removal and hole filling
Jonathan Morra
jonmorra at gmail.com
Mon Dec 6 13:13:10 EST 2010
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/2b8a879d/attachment.htm>
More information about the vtkusers
mailing list