[Numpy-discussion] Update for IM. a small image processing system

Peter Verveer verveer at embl-heidelberg.de
Mon Jan 5 04:20:11 CST 2004

On Saturday 03 January 2004 03:11, Edward C. Jones wrote:
>                                  IM
> I have uploaded a new version of my small image processing system IM to
> "http://members.tripod.com/~edcjones/IM-01.01.04.tar.gz". Most of the code
> in IM (pronounced "I'm") is inferior to "nd_image" so I will eventually
> convert it all to "nd_image".

I had a look and I guess that indeed you could use the nd_image package for 
some low level stuff (I am the author of nd_image). nd_image is however also 
still being developed and I am looking for directions to further work on. I 
wondered if there is anything you would like to see in there? 

>                               THOUGHTS
> There are many open source image processing systems but most of them get
> only to the Canny edge operator and then stop.  A sample of the better ones
> are:
>     ImageMagick   http://www.imagemagick.org/
>     OpenCV        http://www.intel.com/research/mrl/research/opencv/
>     Xite         
> http://www.ifi.uio.no/forskning/grupper/dsb/Software/Xite/ VXL          
> http://vxl.sourceforge.net/
>     Gandalf       http://sourceforge.net/projects/gandalf-library/
>     imgSeek       http://imgseek.sourceforge.net/

I think not all of these are general image processing systems and often a bit 
limited. One problem that I have with most of these packages is that they 
stop at processing 8bit or 16bit two-dimensional images. That is a limit for 
quite a lot of image analysis research, for instance medical imaging. That is 
why numarray is so great, it supports multi-dimensional arrays of arbritrary 
type. nd_image is designed to support multiple dimensions and any data type. 
That is not always easy and may prevent some optimizations, but I think it is 
an important feature. That idea is of course not new, matlab is starting to 
support multi-dimensional image routines and I am aware of at least one C 
library that does this, although it is not free software: 

> And then there is the huge and hard to use "Image Understanding
> Environment" (IUE) at "http://www.aai.com/AAI/IUE/IUE.html". Has anyone
> used this?

The website appears to updated last in 1999, which is not encouraging. Looks 
hideously complex too.

> A good starting point is "The Computer Vision Homepage" at
> "http://www-2.cs.cmu.edu/~cil/vision.html". At this site there is a list of
> published software. A well-known example is the Kanade-Lucas-Tomasi Feature
> Tracker coded by Stan Birchfield at
> "http://vision.stanford.edu/~birch/klt/". Thanks. Note how short the
> software list is compared with the size of the computer vision lterature.
> Why does so little software exists for the more advanced parts of computer
> vision? I feel this is mostly because academic researchers seldom publish
> their software. In some cases (for example, face recognition software)
> there are financial motives. In most cases. I suspect that there is no
> pressure on the researchers from journals or department chairmen to publish
> the software. So they avoid the work of making their software presentable
> by not releasing it. The result are many unreproduced experiments and slow
> transitions of new algorithms out of academia.

This is certainly true. I know from experience that often you simply cannot 
afford to design and maintain a software package after you came up with 
something new and published it. So a lot of things never leave the laboratory 
simply because it is hard to do properly. I hope that having a system around 
like numarray with packages will help.

> A good computer vision system
>     Has an easy to use and widely used scripting language.
>         Python
>     Has powerful array processing capabilities.
>         numarray, nd_image
>     Wraps a variety of other computer vision systems. The wrapping process
>     should be straightforward.
>         SWIG, Pyrex, Psyco, ..., and the Python API.
>     Provides a uniform interface to its components.
>     Is used by many people.

I intend to develop nd_image further as a basic component for multidimensional 
image analysis. It would be great if it would get picked up to be part of a 
system like to propose. Maybe in the future SciPy could play that role.

What I would like to hear from people that use this type of software is what 
kind of basic operations you would like to see become part of nd_image. That 
will help me to further develop the package. Contributed code is obviously 
also welcome.


Dr. Peter J. Verveer
Cell Biology and Cell Biophysics Programme
European Molecular Biology Laboratory
Meyerhofstrasse 1
D-69117 Heidelberg
Tel. : +49 6221 387245
Fax  : +49 6221 387306

More information about the Numpy-discussion mailing list