Next / Previous / Contents / TCC Help System / NM Tech homepage


Describes a system that indexes bird photos using an XML-based catalog.

This publication is available in Web form and also as a PDF document. Please forward any comments to

Table of Contents

1. Requirements
2. Design notes
3. Online files
4. The schema
4.1. Schema prologue
4.2. image-catalog: The root element
4.3. original: Data for one exposure
4.4. The info pattern
5. Small example
6. A Python object for the catalog
6.1. The ImageCatalog object
6.2. class Original: One bird slide catalog entry
7. Internals
7.1. Prologue
7.2. Imports
7.3. Manifest constants
7.4. class ImageCatalog: Catalog object
7.5. ImageCatalog.__init__(): Constructor
7.6. ImageCatalog.addOriginal(): Add a new catalog entry
7.7. ImageCatalog.getOriginal(): Retrieve an original by catalog number
7.8. ImageCatalog.genOriginals(): Generate all catalog entries
7.9. ImageCatalog.genAb6(): Generate all entries with a given bird code
7.10. ImageCatalog.readFile(): Read an XML file
7.11. class Original: One catalog entry
7.12. Original.__init__(): Constructor
7.13. Original.readNode(): Build a catalog entry from an Element node
7.14. childText(): Get text from a child node
7.15. nodeText(): Get text from an element
7.16. cattest: A test driver for ImageCatalog

1. Requirements

My collection of bird images runs into the thousands. I'd like to be able to manage it and be able to retrieve images by bird type, locality, time period, and such constraints.

Scanning an image in a proper scanner takes several minutes. I want to avoid wasting time scanning poor photos of species for which I already have better shots.