Contouring a large set of ungridded data

John: I've now a got a toolkit built with no CDAT code in

    > it, using the NCAR natgrid library which is GPL. I've done a
    > fair amount of searching and haven't found anything else
    > that provides similar functionality with better
    > (i.e. BSD-like) licensing. The prototype natgrid toolkit is
    > at /Public/jsw/natgrid-0.1.tar.gz if you'd like to take a
    > look. All it does is provide a single function, griddata,
    > which works much the same as the matlab version. I'm ready
    > to put it CVS if you give the go ahead.

I'm hesitant to include any GPL code even as a toolkit. For one
thing, it decreases the impetus for someone to provide a version that
is compatible with the mpl license. Perhaps this would be better
placed on the wiki?

I know that VTK is BSD compatible and has delaunay triangulation, but
obviously it is impractical to try and pull anything out of VTK. I
think the qhull license is less restrictive:
http://www.qhull.org/COPYING.txt. In short, I wonder if we have
really exhausted all the possibilities. Something from netlib?
There was a recent thread on scipy in which Eric Jones posted a link
to some code (FORTRAN I believe) that does something analogous. It
would be nice to have something in C/C++ and something that is BSD
compatible. Perhaps I'm dreaming.

JDH

John Hunter wrote:

"Jeff" == Jeff Whitaker <jswhit@...146...> writes:

    > John: I've now a got a toolkit built with no CDAT code in
    > it, using the NCAR natgrid library which is GPL. I've done a
    > fair amount of searching and haven't found anything else
    > that provides similar functionality with better
    > (i.e. BSD-like) licensing. The prototype natgrid toolkit is
    > at /Public/jsw/natgrid-0.1.tar.gz if you'd like to take a
    > look. All it does is provide a single function, griddata,
    > which works much the same as the matlab version. I'm ready
    > to put it CVS if you give the go ahead.

I'm hesitant to include any GPL code even as a toolkit. For one
thing, it decreases the impetus for someone to provide a version that
is compatible with the mpl license. Perhaps this would be better
placed on the wiki?

I know that VTK is BSD compatible and has delaunay triangulation, but
obviously it is impractical to try and pull anything out of VTK. I
think the qhull license is less restrictive:
http://www.qhull.org/COPYING.txt. In short, I wonder if we have
really exhausted all the possibilities. Something from netlib?
There was a recent thread on scipy in which Eric Jones posted a link
to some code (FORTRAN I believe) that does something analogous. It
would be nice to have something in C/C++ and something that is BSD
compatible. Perhaps I'm dreaming.

I've spent time looking. Everything that I've found with a BSD-like
license isn't a very good library. Global variables are usually the
culprit. qhull, for example, is a real PITA in this regard. The code
that Eric found was from ACM TOMS, I believe, and so I'd question its
license.

In any case, natgrid isn't Delaunay triangulation, but natural neighbors
interpolation which is better (and probably state of the art for these
kinds of graphics). It might be easiest to contact Dave Watson and ask
if we can distribute his code in matplotlib under matplotlib's license.
I can't find any contact information for him, however.

···

--
Robert Kern
rkern@...376...

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
  -- Richard Harter

Robert Kern wrote:

qhull, for example, is a real PITA in this regard.

Darn, it looked pretty promising from the web site.

In any case, natgrid isn't Delaunay triangulation, but natural neighbors
interpolation which is better (and probably state of the art for these
kinds of graphics).

Although there are other uses for delaunay triangulization, so it would be nice to have a python lib that does it well.

What about Jonathan Shewchuk's Triangle? I don't know how clean the code is but it's fast and powerful. As for license:

"""
Please note that although Triangle is freely available, it is copyrighted by the author and may not be sold or included in commercial products without a license.
"""

I wish he'd just a pick a license and be done with it, but given that Python. MPL, and SciPy are not commercial, he'd probably be OK with it.

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer
                                          
NOAA/OR&R/HAZMAT (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@...259...

Chris Barker wrote:

Robert Kern wrote:

qhull, for example, is a real PITA in this regard.

Darn, it looked pretty promising from the web site.

It's not. It's well-known to be a bad library. There's a Python
interface to qhull, but it uses pipes to communicate with a separate
qhull process.

In any case, natgrid isn't Delaunay triangulation, but natural neighbors
interpolation which is better (and probably state of the art for these
kinds of graphics).

Although there are other uses for delaunay triangulization, so it would
be nice to have a python lib that does it well.

What about Jonathan Shewchuk's Triangle? I don't know how clean the code
is but it's fast and powerful. As for license:

"""
Please note that although Triangle is freely available, it is
copyrighted by the author and may not be sold or included in commercial
products without a license.
"""

I wish he'd just a pick a license and be done with it, but given that
Python. MPL, and SciPy are not commercial, he'd probably be OK with it.

MPL and Scipy won't take code that can't be redistributed commercially
(much less proprietarily). There's no indication that Shewchuk will
allow that.

···

--
Robert Kern
rkern@...376...

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
  -- Richard Harter