OpenImageIO

Damian Eads eads at soe.ucsc.edu
Sat Oct 3 18:47:33 EDT 2009


2009/10/3 Stéfan van der Walt <stefan at sun.ac.za>:
>
> 2009/10/3 Chris Colbert <sccolbert at gmail.com>:
>>
>> but then again, if we want to include anything from OpenCV we might as
>> well use that imageIO because it supports quite a bit as well..
>
> This is an important issue that we should clarify: "general" vs.
> "specific" dependencies.

It is an important distinction. Along these lines, LIBCVD has no
general dependencies other than a C++ compiler and compiles on both
GCC and Visual Studio. If chosen as a specific dependency, it wouldn't
increase the size of our dependency DAG by very much at all.

> With a "general" dependency, I refer to a library that developers are
> encourage to use throughout the scikit code.  If OpenCV is chosen as
> such a library, we can use its image loading, processing, vision etc.
> routines.
>
> On the other hand, a specific dependency states that only a certain
> function depends on, for example, OpenCV.  We could say: "If you want
> to execute optical_flow(...) you'll have to have OpenCV installed."
>
> With a general dependency, code becomes inextricably intertwined, and
> you won't be able to get rid of the dependency without invasive
> surgery.  A specific dependency is much more easily removed.
>
> My personal feeling is that we should stay away from general
> dependencies, if possible.  I don't intend for scikits.image to become
> a wrapper around libcvd or opencv -- those wrappers already exist.
> Rather, I want to focus on implementing novel image processing
> techniques that are not easily available elsewhere.  [Of course, if a
> function is easy enough to implement and useful for general purpose
> image processing (such as the color conversion routines), there's
> little reason to exclude it.]

Novel image processing algorithms not available elsewhere? Like what?
Can you give examples? If we restrict our attention to novel
algorithms, then we greatly limit the breadth of functionality, and
scikits.image is less likely to be adopted by other researchers.
Python is not currently the preferred language for Computer Vision or
Image Processing. Most researchers use MATLAB, C++, or a combination
of both. We should think of ways to broaden the appeal of Python to
such researchers and the development of scikits.image should reflect
it.

Damian



More information about the scikit-image mailing list