Example of a 3D fungus model
3D Fungus Generator
Focused on Alternaria

Computer vision group @ UA
In collaboration with B. Pryor
For questions or problems email Kate Spriggs at taralove @ u.arizona.edu

   In this project we develop 3D mathematical models of fungi in the genus Alternaria. These models will be used to quantify the fungal structure, automatically identify unknown samples, and will also serve as a new educational tool for scientists and students. The model is built using an L-system.

   The proposed 3D models incorporate numerous morphological parameters, and by changing their values, we can generate instances of each species of the genus. Microscopy images from unknown fungal samples can then be fit to the mathematical models with a computer program, giving an accurate representation and supporting an automatic classification of the given samples.

   It is also important that the models and the data can be displayed in a virtual environment, allowing scientists and students to literally walk on the Petri dish and examine the fungus just like any three dimensional object.

Example of a 3D fungus model

Latest stable version is: Version 6
Download a VRML viewer plug-in

Version 6 Click here for the web application for generating and manipulating the model

Gallery of images:

Gallery of animations:

New in the web form

  • Many advanced options are now available: basic spore shape, maturity age, angles for all the conidiophore developments, species-specific options, branch lengths

New in the Parser:

  • Limit chain length
  • Fix Lateral intra implementation
  • Fix the l-system rules for | - currently using +(180)-(180) instead of |
  • Add a "level" number to each structure
  • Add some pertinent parent information to structures, like length. To be used in later intra
  • Uniform and Gaussian distribution for the angles for the next hypha cell

New in the L-system design

  • All code is now C++ with various classes so that new sub-classes can be added easily, when, for example, a different genus has different rules than Alternaria

Version 5 Fungus Version 5 Fungus Version 5
The Parser
  • The L-system parser was almost fully re-written to accommodate easy integration of new parameters. For example, now it is much easier to add and implement rules that use a Gamma distribution. The L-system parser is hidden from the user - it is the program that takes the output of the online form, parses it, and produces the 3D model.
  • Parser can now draw numbers from a Gamma and a Uniform distribution
  • Probability rules have new format, but the old format is still supported
  • Implement a gamma distribution for the length of the various conidiophore developments
  • Fixed a bug with the uniform selection of rules
Web form
  • User can select if the VRML output (the 3D model) is VRML v1.0 or v2.0. Windows and MAC users most probably need v2.0, which is the default setting. Linux users (vrweb, OSG) need to select v1.0
  • Separate probability for the length of the conidiophore before it branches for the first time (yellow part) using a gamma distribution
  • Web form shows after user clicks submit - easier debug and testing. Form remembers previous values, or you can reset them
  • Added a "hidden" parameter that specifies how far back to go to create a later-intra. Will be visible in the next version

Version 4 Fungus Version 4 Fungus Version 4
  • Some sample images can be found here
New Features
  • Removed texture from the conidiophore - only the spores have texture now
  • When a spore and a sub-conidium conidiophore occur from the same location, the angle between the two changes in 4 recursion steps and then it stops changing (aging of sub-conidium elongation)
  • Added separate probabilities of the choices after an apical elongation is developed
  • Same for after a lateral intra development occurs
Web Form
  • Probabilities for the above two can be entered through the form
  • User can choose to generate a regularly colored fungus or a color-coded fungus
  • Added more detailed explanations for the parameters and added many pictures

Version 3 Fungus Version 3 Fungus Version 3
New Features:
  • Vegetative hyphae growing horizontally (to the right) with branches of conidiophores
  • Spores age - when a spore is formed in one step, it will advance to the next spore age after two iterations. Currently a spore's age can be from 1 to 6.
  • Color coded different structures: the start of the v.h is dark red; the growing v.h. is light red; branches (conidiophores) are yellow; subconidium elongation is white; intra-conidium is green; and apical coniduim terminus is purple;
  • Branch and spore development lengths are limited
  • Branches grow "upward"
Web Form
  • Probability added for sub-conidium conidiophore elongation
  • Probability for conidiophore developments - spore again, skip a turn, lateral intra-conidium or apical conidium terminus are the options

Version 2 Fungus Version 2 Fungus Version 2

New structures:
  • Sub-conidium conidiophore elongation ("knee")
  • Lateral intra-conidium conidiophore development ("from middle")
  • Apical coniduim terminus conidiophore development ("from end")
New parameters:
  • "Base" conidiophore can grow, or a branch can form (branch angle is not YET a Gaussian distribution)
  • Once a branch forms, it can grow, or it can spore in two ways ("knee" or regular)
  • Once a spore has formed, the branch will grow a longer conidiophore, so that spores are not "packed"
  • If we spored, now we can: spore again (from end of previous spore), for a lateral intra-conidium or an apical conidium terminus
  • If a lateral intra-conidium conidiophore developed, we move to another rule to avoid having two "lateral intra-" forms
  • "Base" conidiophore has only small rotations; Spores rotate with larger angles
  • Spores cannot branch (they could in version 1, but it doesn't seem this happens naturally)
  • From the need to limit the length of the branches, there could be a limited maximum number of spores that will form on each branch
  • The length of the string of spores is not strictly controlled - when deciding how to spore there is a big probability that we won't do anything
Web form:
  • Rearranged the form so more relevant fields are at the top
  • Added good default values - just hit submit and you will get a fungus; change the random seed at the bottom of the form to get a new fungus

Version 1 Fungus Version 1

The first basic version - the rules are not very good, as a spore can occur on the main hyphae, and not only on a branch; the basic rule is:
#A=(a - rotation around x)(d: rot around z)(s: straigth)(r: branch)(p: spore)(recurse)
the executable can now be called with a parameter that specifies the output filename;

VRML plug-ins: Cortona for Windows, vrweb for windows or linux

Valid HTML 4.01 Transitional   Valid CSS!