On 12-Jul-12 23:22, Curtis Rueden wrote:
Hi Steffi & J-Y,
> if ( img instanceOf ImagePlusImg )
I think using instanceof in this way is quite evil, and should be
avoided whenever possible. It is something I very much want to avoid
in the core ImgLib2 and ImageJ2 code, because it prohibits
extensibility. Better is to put the common functionality into an
interface method declaration and then implement it differently in the
different subclasses.
That said, how to avoid writing code like this depends on the
situation. We'd have to look over the various places in code that it
is currently happening...
> 1) break it and maybe it is just fine
> 2) make a wrapImgPlus method
> Maybe 1) is the better way to go, I just wanted to bring up
potential implications ....
In this case, given that it would be easy to simply add the
wrapImgPlus methods, that may be a safer way to go. Anyone else have
an opinion?
Maybe
we could take the thing in reverse:
- have wrap() methods return an actual ImagePlusImg
- have ImagePlusImg be an ImgPlus
I quickly looked and this is not trivial: ImagePlusImg is already a
PlanarImg, and we would have to add some hierarchy in the middle...
_______________________________________________
ImageJ-devel mailing list
[email protected]
http://imagej.net/mailman/listinfo/imagej-devel