Changes made between Gamera File Releases
=========================================

Version 3.2.6, Jun 08, 2010
----------------------------

 - plugin args Class, ImageList, and Pixel now support
   default value NoneDefault

 - new plugin graph_color_ccs (category "Color")

 - new plugin contour_samplepoints (category "Analysis/Contour")

 - new plugin delaunay_from_points (category "Geometry")
   for Delaunay triangulation

 - fixed bug in runlength smearing that could split smeared lines


Version 3.2.5, Apr 14, 2010
----------------------------

 - CIE L*a*b* values can be queried from RGBPixels

 - new plugin trim_image (category "Utilities")

 - new plugins kfill and kfill_modified (category "Filter")

 - rank and mean now allow larger window sizes than 3x3
   and an optional border treatment (clip or reflect)

 - runlength_smearing and projection_cutting now also work
   on views with non zero offset

 - computation of some features corrected:
    o nholes (white rows/cols made whole count negative)
    o nholes_extended (normalization for scale invariance was missing)
    o compactness (border pixels were formerly ignored in computation)
    o skeleton_features (crossings through x/y-axis was erronously computed)
    o volume[16|64]regions (zones occasionally not covered entire images)
    o moments (no longer overflow errors on larger glyphs)
    o Zernike moments now have the desired invariance properties

 - new Python image methods white() and black() for obtaining
   these colors in the pixel type representation of the image

 - should now also compile on MacOS X 10.6 out-of-the-box

 - changes for 64bit architecture:
    o default range of Int, Real, Point made smaller than sys.maxint
    o writing TIFFs corrected

 - necessary changes for libpng 1.4.0 with #if's on PNG_LIBPNG_VER


Version 3.2.4, Feb 12, 2010
----------------------------

 - new deformation plugins degrade_kanungo and white_speckles

 - new plugins colors_to_labels (category "Color") and
   ccs_from_labeled_image (category "Utility") for reading
   manually labeled ground truth data (thanks to Hasan Yilidz)

 - corrected border treatment in neighbor.hpp (affected mean
   and rank) and fixed another error in the rank filter

 - plugin category cleanup:
    o "Convolution" moved to "Filter"
    o new category "Thinning"
    o new category "Transformation" for rotate, scale etc.
    o category "Threshold" moved to "Binarization"

 - new plugins for area Voronoi tesselation (category "Geometry")

 - new plugin labeled_region_edges (category "Edge")

 - display of classifier glyphs corrected when adding
   glyphs to the classifier (can be slow for large databases)

 - new image type MultiLabelCC (C++) resp. MlCc (Python)

 - the set() method now works for connected components


Version 3.2.3, Oct 08, 2009
----------------------------

 - documentation licensed under CC-BY-SA
   see the bottom of doc/src/index.txt for details

 - newer VIGRA version 1.6 included with some backports
   (see the file include/vigra/README for a list of modifications)

 - warnings about unavailable optional packages only printed
   when config.set("verbosity_level",1) has been set


Version 3.2.2, Oct 01, 2009
----------------------------

 - plugin loading message no longer printed in non-GUI scripts;
   in case these messages are needed, they can optionally be 
   enabled by config.set("verbosity_level",1)

 - bugfix in graph API: node values are now compared by value,
   not by PyObject pointer => nodes with labels greater than 256
   are now reliably found

 - plugin projection_cutting now works as expected


Version 3.2.1, Sep 17, 2009
----------------------------

 - sourceforge logo can optionally be suppressed in gendoc by
   passing sourceforge_logo=False to gendoc.gendoc

 - draw_text works again (thanks to S\oren Bjerregaard Vrist)

 - new page segmentation plugin bbox_merging

 - plugin projection_cutting no longer crashes, but still 
   needs further improvement in the presence of noise

 - extensions in kdtree:
    o new method set_distance for dimension weighting
    o k_nearest_neighbors now supports an optional search predicate

 - classifier display can be closed and opened again

 - corrected slider display in Biollante

 - fixed errors in draw_hollow_rect and knn_editing


Version 3.2.0, Jun 17, 2009
----------------------------

 - plugins to_numpy and from_numpy added for support of numpy;
   the deprecated numeric and numarry modules have been replaced with numpy

 - highlight also works with GREYSCALE and ONEBIT images

 - corrected resize function in VIGRA

 - the knn classifier can now return different confidence
   measures for the main id that are selectable by the
   user. See the classifier API documentation for details.

 - knn classifier now works as expected when k > 1;
   up to now, id_name was sorted by confidence, which meant
   that always the farthest among the k nearest neighbors
   was returned as main_id

 - now compiles with Python 2.6 (thanks to Prapat Suriyaphol)


Version 3.1.2, Apr 14, 2009
----------------------------

 - fixed an infinite loop in classifier dialog on Windows

 - new module KdTree for fast two dimensional searches

 - now also builds out-of-the box on FreeBSD (thanks to David Blewett)

 - new plugin median() in category "List"
   also available on the C++ side as a template in listutilities.hpp

 - new C++ wrapper class canonicPyObject in gameramodule.hpp to make
   PyObject* usable in STL container classes, e.g. vector<canonicPyObject>

 - fixed problem with weak image references in classifier dialog

 - Don't show right-click menu when there is no shell


Version 3.1.1, Jun 09, 2008
---------------------------

 - new plugin textline_reading_order() in category "Page Segmentation"

 - corrected the moments() feature to actually return
   the normalized central moments

 - fixed a severe bug in the rotate() function


Version 3.1.0, Apr 14, 2008
---------------------------

 - added automatic editing algorithms for removing outliers and superfluos
   samples to kNN classifiers
   see the classifier API documentation for details
   (thanks to Colin Baumgarten)

 - new plugin category "Page Segmentation"
   with two basic algorithms based on runlength smearing and projections
   see the plugin documentation for details

 - ported to wxPython 2.8
