Logo CHIP: Chironomidae Identification Program


This is inteded to be a short description of CHIP: Chironomidae Interactive Program.  It can be used for larvae, pupae and adults of chironomids and is an interactive, dynamic, web-based determination key independent of any operating system. Written in PHP and linked to a MySQL database one can use it on any (local) computer and access to internet optionally. Features:

  • organise, include and measure images (e.g. measure distances for ratios)
  • include, manage references, cite literature
  • create formatted text, sections and sortable tables with e.g. chironomid character data and
  • creating distribution maps
  • organising taxa is possible on genus level and species level.

This program uses the free software from http://www.apachefriends.org project. After installing this basic software users can use the determination program either with internet connection or without.
To guarantee only a non-profit usage it is licensed under: Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported (see http://creativecommons.org/licenses/by-nc-sa/3.0/). That means the user is free:

  • to Share — to copy, distribute and transmit the work
  • to Remix — to adapt the work. Under the following conditions:
  • Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
  • Noncommercial. You may not use this work for commercial purposes.
  • Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.


General site structure

In general there are several ways to determine specimens, edit/mange text + images and data within the program:

  • most important: menu above
    1. MySQL database - menu to database
    2. Home - first site: version info
    3. References - all references
    4. Morphology - explained morphology
    5. Documentation - install, structure, FAQ, ...
    6. Upload pictures - upload manger for images (writes cited reference name into the image, i.e. it can only be inserted if there is a reference)
    7. Manage Names - manager to handle synonyms/names
    8. select menu to show a particular subfamily or a genus (i.e. identification)

Each genus is represented on a separate local web site that can be modified by the user with a popup text area interface with menu aside (described below). The edit pencil anywhere indicates somthing editable. For instance at sections »Notes«, »Ecology« or while managing synonym names or whatever.

General site architecture with menu above and "web"-page below: sections, images formatted text and an automatically created table of content as side menu.


Following features help to determine a specimen on specimens level:

  1. use comparing mode if a specimen was clicked at last. In this mode all specimens that appear in "similar: ..." on the top of the genus page will be compared as well.
  2. creating a sortable table as described below that can be filled with numeric data (done already with difficult taxa like Cricotopus, Orthocladius, genera within Tanytarsini: Tanytarsus, Micropsectra ...)
  3. use openoffice database frontend (I had only time to insert numerical characters for most Cricotopus and Orthocladius specimen)

On genus level:

  • select a subfamily in the menu
Comparing mode: clicked specimen appears in the frame above while specimens from own genus and similar genus-specimens appear in the lower frame.
Sortable table filled with some numeric characters
Sortable table on a genus page writable by the user and filled with numeric characters, images and references (left).
Filtering of tables by just declaring CSS classes in table headers

With a JavaScript library from Matt Kruse it is also possible to use filtering in tables. This is done by just using CSS classes as declaration in table headers. Thereyby an auto selection list can be created or manually one can filter in input fields with a regular expression search, like for instance: 1.[5-9] for 1.5 to 1.9. This enables the user to create matrix tables to quickly find a taxon by setting filter criteria.

Popup window to edit image attributes (notes, license) and measure distances of mouse clicks.

Measuring images can be done as well. For instance one can calculate then ratios like antennal ratio and so on. With this popup it's also possible to change attributes from an image, adding notes or correct morphological structure and license. All annotations can be seen then when the mouse moves over this image.

Editing Pages: Notes and Ecology

Clicking on the edit pencil either at section »Ecology« to organise ecological data or clicking at »Notes«, the user can modify genus pages and add/delete content. A menu provides help to editing content for:

  • sections, lists, tables
  • citing references
  • creating maps
  • insert images from the database directly or with mouseover effect (e.g. to help explainig what "Pedicels as long as the lauterborn organ means" by moving mouse over the text)

Most input text-syntax follows wikipedia and is explained here and within program's documentation as well. A table of content is created automatically.

How to edit and write strucured content in detail, is given here in the table  below:

Popup window to edit genus and species pages with text area as interface - input is similar to Wikipedia's (right side: menu)
table content

!| table head content
!im| table head content as image
| table data content
{| style='border-style:dashed;border-color:blue;border-width:2px;'
!im|entry as image
!im90|entry as image with 90 degrees

|Pinder and Reiss 1983:

|Heiri et.al. 2004:
|further test
Pinder and Reiss 1983:testtexttext
Heiri et.al. 2004:further testtexttext
table with sorting
Note: if you have more than 1 entry as sortable table you have to give an individual id-attribute, e.g.. id='sorttwo' or something like that for the second table.
{| style='border:1px solid;' class='sortable' id='sortone'
!|table head
!im|table head as img
!im90|table head as img + 90°

|row1 t.data1
|t.data2 row1

|row2 t.data1
|t.data2 row2


table head table head as img table head as img + 90°
row1 t.data1 t.data2 row1 9
row2 t.data1 t.data2 row2 3
row3 sum 12
'''''bold emphasis'''''
bold emphasis
<a href='url'>external link</a>
[[http://de.wikipedia.org/wiki/Hauptseite Wikipedia]]
lists (max. 4 levels)
<ul>  <li>unordered list</li></ul>
*1<sup>st</sup> unordered list
**2<sup>nd</sup> unordered list
***3<sup>rd</sup> unordered list
****4<sup>th</sup> unordered list
  • 1st unordered list
    • 2nd unordered list
      • 3rd unordered list
        • 4th unordered list
<ol>  <li>ordered list</li></ol>
#1<sup>st</sup> ordered list (numeric)
##2<sup>nd</sup> ordered list (alpha)
###3<sup>rd</sup> ordered list (ROMAN)
####4<sup>th</sup> ordered list (ALPHA)
  1. 1st ordered list (numeric)
    1. 2nd ordered list (alpha)
      1. 3rd ordered list (ROMAN)
        1. 4th ordered list (ALPHA)
<dl>   <dt>...</dt><dd>...</dd> </dl>
;definition 1 : description 1...
;definition 2 : description 2...
definition 1
description 1...
definition 2
description 2...
openlayer maps
OpenLayers Map

in general:

{{openLayer|1| (63.3434798$60$heading$description) (36°23'34''$30°0'0''$heading$description) (30.2837$29.3494$Title$possible description$o)
It's possible to use decimal coordiantes or in degrees-minutes-seconds (only complete in DMS, eg.: 30°0'0''). {{openLayer|1| means this is map number 1. So it should be possible to create multiple maps per page. Note, that coordiantes are enclosed with parentheses (...) and values are seperated by $-sign. If you want to draw only a dot, add as last argument (...$o).
general substitutions
1st, 2nd...

1st, 2nd...
&nbsp; - non breaking space
special effects (Javascript class overlib)
Mouse over Image or Text
{overlib|Mouse over Image or Text|<img align='middle' width=80 title='Paratanytarsus confusus (apex of antenna) Klink 1983' src='../../species/Pata_conf_aan_Kli1983_r.jpg' >}
Pedicels as long as the lauterborn organ

Editing: References

Inserting or editing references can be done by click on menu References › edit pencil. Now you can modify this reference. If you wish inserting a new one, just select option: »new reference (or select)« â€º »view« and insert required fields and save.
Abiskomyia and Oliveridia are also characteristic taxa of arctic lakes ({citeID|21|Cranston et.al. 1983})

References can be inserted in the popup textarea directly or indirectly:

  • inserted text like: »Abiskomyia and Oliveridia are also characteristic taxa of arctic lakes ({citeID|21|Cranston et.al. 1983})« produce this text with genus names highlighted and a reference entry at bottom's page.
  • {nociteID|21|Cranston et.al. 1983} creates a reference entry but no citation in the text
  • {numciteID|21|Cranston et.al. 1983} creates a numeric citation

Example of creating formatted text with references.

Searching Facilities

Often one needs to search for several taxa. Either in taxon databases or getting literature on taxa. Automated highlighted taxa can be searched via google by clicking on the highlighted text. Another possibility is to use search icons at the top of the genus page or to click at icons on mouse over popups in comparing modus.

Comparing mode: the upper specimen was clicked and in the lower frame is comparison with the own genus and similar taxa possible.

Outline analysis

Procedure of detecting an outline by a given image.

The determination key provides a tool to get outlines from images captured by a socalled chain code. This chain code is then analysed by normalized elliptic Fourier analysis, that is: its procedure tries to describe the ouitline by a given number of harmonics. In Fourier analysis a signal in time series is dissected in a determined number of amplitudes of cosine (cos) and sine (sin). Wheras in Elliptic Fourier analysis 'best' ellipses from large ones to small ones are used to describe outlines instead of amplitudes. The more harmonics (i.e. ellipses) the more detailed is the reconstructed outline. By using this approach one take advatage of having an equal number of landmarks, independence to size and rotation of the image and one is able to compare images by a subsequent shape analysis. For details concerning the Normalised Elliptic Fourier analysis see Kuhl and Giardina 1982 and program SHAPE at http://life.bio.sunysb.edu/morph/.


You can download the offical version by registering for free and going afterwards to  download section. This official version has full functionality but a limited number of images due to copyrights of other resources. A full image version is only for private usage and not downloadable.