The Directory Hierarchy

Last modified: January 13, 2023

The Gamera source tree looks something like this:

./ Basic information files for building Gamera.
setup.py A Python setuptools-based build script. See building and installing Gamera.
doc/ Documentation for Gamera
gendoc.py Script to generate documentation. (requires that docutils be installed)
src/ Source files for the static documentation. These are written in the reStructuredText format used by docutils.
html/ The generated HTML documentation.
gamera/ All the files needed by Gamera at runtime. Since Python is interpreted, this means Python source files.
gui/ Python source related to the GUI. These are optional.
plugins/ Python source for plugins. This is mostly metadata that describes how to compile and run C++ plugins. See Writing Gamera Plugins for more info.
pixmaps/ Images and icons used by the Gamera GUI. These PNG files are converted into Python source code (gamera/gui/gamera_icons.py) using the convert_images.py script.
gamera/include/ C++ header (.hpp) files. Since the Gamera C++ code is so heavily templatized, most of the code is here.
plugins/ Source code for the C++-based plugins.
vigra/ Code from the VIGRA Computer Vision Library used by Gamera. Gamera can use these methods directly thanks to the vigra_*.hpp headers.
misc/ Other miscellaneous files for information that are not used directly by Gamera.
gamera.dtd An XML DTD for Gamera's XML file format.
src/ Source code (that compiles directly to object files.)
eodev/ EOdev: Evolving Objects (EO): an Evolutionary Computation Framework used to optimize the kNN classifier.
   
libtiff/ libtiff: A library for reading/writing Tagged Image Format Files (otherwise known as Tons of Incompatible File Formats). Included for compiling convenience on MS-Windows and Mac OS-X.
tests/ Includes unit tests for running with the pytest framework. These files are mainly useful only for the developers of Gamera.
migration_tools/ Some tools to help migrate scripts from Gamera 2.x to Gamera 3.x
examples/ Basic Gamera scripts to be used as starting points for end-user applications. See the script-writing documentation for more information