The Ferret Toolkit

COPYRIGHT (C) 2007

Developed by
	Wei Dong
	Zhe Wang
	Qin Lv
	William K. Josephson

Department of Computer Science
Princeton University

The image segmentation module (image/srm.c) is from the Fourier image processing toolkit version 0.4.
The emd distance code (src/emd.[ch]) is originally developed by Yossi Rubner, and re-distributed under the author's permission.


WWW
http://www.cs.princeton.edu/cass

This project is supervised by Prof. Kai Li.


This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA.

