|========================================================================|
| selfsom v1.1 (2004-08-02)  GIMP plug-in creating self-organized maps   |
| Copyright (C) 2004 Yeti (David Necas) <yeti@physics.muni.cz>           |
|========================================================================|

Self-SOM creates self-organizing maps (SOM) of colors of some other image.
It is more a SOM-research tool than something allowing to create
spectacular images.  It can be however used for smooth palete extraction
and also as a kind of [expensive] impressionist effect.

The second Self- in Self-SOM comes from the possibility to use the same
image as both initial map and training set, however silly it is from neural
networks standpoint.


Installation
------------

Requirements: Gimp 2.0.

Untar the tar file (well I guess you've got that far already), then in the
directory thus created type

      make install

to install the plug-in to the system-wide plug-in directory, or

      make install-user

to install it to your user plug-in directory.  You can uninstall it later by
`make uninstall' or `make uninstall-user', respectively. When something goes
wrong, try modify the Makefile or, if you are really desperate, the source.


Usage
-----

This plug-in installs itself in the Filters/Color menu as `Self-SOM'.

It takes the drawable it is run on as initial SOM state and trains it
on colors from selected drawable.  Both drawables have to be plain RGB.
If you know what a self-organizing map is, you should understand all the
parameters, and otherwise you are beyond any help ;-)

For the curious, a brief explanations follows:

----- Training -----
* Training set.

  Pixels of this drawable are used as training set (in a random order).

* Kernel type.

  Shape of the neighbourhood where weights will be modified towards training
  set sample (and also shape of the weights -- for Square and Circle the
  weights are uniform, for Gaussian they are ... guess what ... Gaussian).

* Iterations.

  The number of training iterations.

* Map topology.

  Some of the borders may be unified, so that weight modification are done
  over borders.  Only four topologies are currently implemented: Square (no
  unification), Horizontal cylinder (horizontally tileable), Vertical
  cylinder (vertically tileable), Torus (tileable in both directions).

* Vertically tileable.

  These options cause the image to be tileable, horizontally and/or
  vertically.  The result is different from running `Make Seamless' filter on
  the image, because no averaging (leading to blurry image) is needed.

----- Size, Weight Cooling -----
* Schedule.

  Cooling schedule, i.e., how given quantity changes from its initial value
  to its final value.

* Start size/weight.
* End size/weight.

  The initial and final values.

----- Options -----
* Create new image.

  Whether a new image with trained map should be created.

* Conserve memory sacrificing speed.

  For large a training image this option can save a lot of memory by not
  creating its local copy converted to floating point numbers.  The impact
  on speed is however significant too.


Authors
-------

Yeti (David Necas).

Report bugs to <yeti@physics.muni.cz> (please include `selfsom' in subject).

Web: http://trific.ath.cx/software/gimp-plugins/self-som/


Copying
-------

Self-SOM can be copied and/or modified under the terms of GNU General
Public License.  Please see COPYING for details.
