[ITK] Add Seed in SimpleITK.IsolatedConnectedImageFilter

Padfield, Dirk R (GE Global Research) padfield at research.ge.com
Tue May 13 09:36:07 EDT 2014


Hi Brad and Chiara,

In IsolatedConnected, the SetSeed1() and SetSeed2() are deprecated methods marked as such both in the doxygen and using the ITK_FUTURE_LEGACY_REMOVE in the code: http://www.itk.org/Doxygen/html/classitk_1_1IsolatedConnectedImageFilter.html.  When I recently was looking at this filter, I found that these methods were listed as deprecated, so I added the ITK_FUTURE_LEGACY_REMOVE blocks around them.  In the code, these methods simply call the corresponding AddSeed1() and AddSeed2() methods (after clearing the seeds).

Although I wasn't the one who initially marked these methods as deprecated, I can understand why they are.  AddSeed makes more sense because it enables the setting of multiple seeds for each of the two regions to be isolated from each other, and once you have AddSeed, there is no longer any reason to have SetSeed.

The SetSeed methods are also marked as deprecated in ConfidenceConnected.  They should be marked as deprecated in both ConnectedThreshold and NeighborhoodConnected.  In all cases, the SetSeed methods are just shells that call AddSeed.

It would be good to have an ITK patch that marks SetSeed as deprecated in all of these region growing algorithms and also adds corresponding ITK_FUTURE_LEGACY_REMOVE blocks around the code.

I have had success passing lists of seed points into ConfidenceConnected using SimpleITK, and it works very well.  The best approach for SimpleITK would probably be to enable this for all of these region growing filters and to get rid of SetSeed for all of them.

Dirk


________________________________
From: Bradley Lowekamp [blowekamp at mail.nih.gov]
Sent: Tuesday, May 13, 2014 9:09 AM
To: Chiara Caborni
Cc: insight-users at itk.org; community at itk.org; slicer-users at bwh.harvard.edu; Padfield, Dirk R (GE Global Research)
Subject: Re: [ITK] Add Seed in SimpleITK.IsolatedConnectedImageFilter

Hello Chaira,

1) I don't think those methods should be deprecated. I think that the Seed interfaces for the two filters you mentioned should match. That means this method should not be removed.

2) The SimpleITK filter currently doesn't consider Seed1 and Seed2 to be list it's just treating them like single points. In my experience when I tries to use many seeds very frequently the filter would fail to find a valid value and fail.

I think it's most useful for the procedural method to stay as it is just accepting the two points. What could be done is to add a methods just to the class interface which allows for the Set/Get as a list. I would not be inclined to add the Clear and Add function methods as the interface.

What is your time frame on this?

Brad

On May 13, 2014, at 7:02 AM, Chiara Caborni <chiara.caborni at gmail.com<mailto:chiara.caborni at gmail.com>> wrote:


Hello,

 I'm using Slicer 4.3.1, which has SimpleFilters module in it.

 I'm trying adding seeds (using methods SetSeed1/SetSeed2) to a SimpleITK.IsolatedConnectedImageFilter.

I succedeed adding a list of seeds as input to a SimpleITK.ConnectedThresholdImageFilter,
using the method, AddSeed(), so that I can iteratively add seeds and then obtain a list of seeds with the method GetSeedList().

But since the IsolatedConnectedImageFilter has no method addSeed, but just SetSeed#, I can just add one seed using SetSeed1 and another one using SetSeed2.
How can I specify more than one seed for both regions 1&2 to separate?

In the DOxygen page, http://www.itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1IsolatedConnectedImageFilter.html
, I read the method SetSeed1/2 is deprecated, please use AddSeed, but there's no AddSeed method in IsolatedConnectedImageFilter.

Any help appreciated, thank you
kind regards
Chiara
--
Chiara
_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community



More information about the Community mailing list