Alternaria
fit cylinders and ellipsoids to fungus
Alternaria Documentation

Fits connected ellipsoids and cylinders to the structure of fungus imaged under a microscope in a 3-D stack. The structure follows a grammar for growth specific to Alternaria, a genus of fungus. The images are explained with a probabilistic generative model over the structure of Alternaria and the camera capturing it. Samples of geometric parts, their topology, and microscope parameters are generated during statistical inference, simultaneously fitting instances of the structure and camera to an image stack. Additional tools are included to generate and view structure models.

Licensed under Creative Commons BY-NC-SA 3.0.

Questions or comments? Contact Joseph Schlecht.


Use 'alternaria' to fit the model to an image stack.

usage: alternaria OPTIONS [img-%%d num_imgs | img-1 ... img-n]
where OPTIONS is one or more of the following:
 -h, --help                      Program usage
 -v, --version                   Program version.
     --options=ARG               Process a file of program options.
     --move-info=ARG             File to print sampler move information to.
                                 Stdout by default.
     --best-info=ARG             File to print sampler best move information to.
                                 Stdout by default.
     --threads=ARG               Number of threads to use.
     --iterations=ARG            Number of iterations to run the sampler.
     --resolution=ARG            Fraction of the data to down sample to. Has
                                 format x,y,z. Must be in (0,1].
     --seed=ARG                  Random seed to use in srand(). Must be a
                                 non-negative integer.
     --img-in=ARG                Imaging input file to read from.
     --img-out=ARG               Imaging output file to write to.
     --psf-in=ARG                PSF input file to read from.
     --psf-out=ARG               PSF output file to write to.
     --alt-in=ARG                Alternaria input file to read from.
     --alt-out=ARG               Alternaria output file to write to.
     --alt-pro=ARG               Printf-fomatted file name for Alternaria
                                 propsals.
     --dd-spores=ARG             Data-driven spores file name.
     --scene-fmt=ARG             Printf-formatted file name for the optically
                                 sectioned scene. Must contain one integer
                                 conversion
     --scene-scale=ARG           Number of alternaria world units per image
                                 pixel. Has format x,y,z.
     --scene-window=ARG          Window over the data to do the analysis on. Has
                                 format col,row,img,ncols,nrows,nimgs.
     --psf-fmt=ARG               Printf-formatted file name for the optically
                                 sectioned PSF. Must contain one integer
                                 conversion.
     --apical-hypha-length=ARG   Length of an apical hypha. Has argument format
                                 mu,sigma,min,max.
     --lateral-hypha-length=ARG  Length of a lateral hypha. Has argument format
                                 mu,sigma,min,max.
     --apical-hypha-width=ARG    Width of an apical hypha. Has argument format
                                 mu,sigma,min,max.
     --apical-hypha-dwidth=ARG   Width difference between adjacent apical hypha.
                                 Has argument format sigma,min,max.
     --lateral-hypha-width=ARG   Width of a lateral hypha. Has argument format
                                 mu,sigma,min,max.
     --apical-hypha-theta=ARG    Theta Euler angle of an apical hypha. Has
                                 argument format mu,sigma,min,max.
     --lateral-hypha-1-theta=ARG  Theta Euler angle of a lateral hypha at level
                                 1. Has argument format mu,sigma,min,max.
     --lateral-hypha-n-theta=ARG  Theta Euler angle of a lateral hypha at level
                                 > 1. Has argument format mu,sigma,min,max.
     --hypha-psi=ARG             Psi Euler angle of a hypha. Has argument format
                                 mu,sigma,min,max.
     --hypha-opacity=ARG         Opacity of a hypha. Has argument format
                                 mu,sigma,min,max.
     --lateral-hypha-dist=ARG    Distance of a lateral hypha from its parent.
                                 Has argument format mu,sigma,min,max.
     --spore-width=ARG           Width of a spore. Has argument format
                                 mu,sigma,min,max.
     --spore-length=ARG          Length of a spore. Has argument format
                                 mu,sigma,min,max.
     --spore-theta=ARG           Theta Euler angle of a spore. Has argument
                                 format mu,sigma,min,max.
     --spore-psi=ARG             Psi Euler angle of a spore. Has argument format
                                 min,max.
     --spore-opacity=ARG         Opacity of a spore. Has argument format
                                 mu,sigma,min,max.
     --psf-alpha=ARG             PSF alpha parameter. Has argument format
                                 mu,sigma,min,max.
     --psf-beta=ARG              PSF beta parameter. Has argument format
                                 mu,sigma,min,max.
     --psf-gamma=ARG             PSF gamma parameter. Has argument format
                                 mu,sigma,min,max.
     --img-bg=ARG                Image background parameter. Has argument format
                                 mu,sigma,min,max.
     --levels-p=ARG              Geometric distribution parameter over growth
                                 levels. Must be in (0,1)
     --structs-p=ARG             Distribution over structure type. Has argument
                                 format spore,apical-hypha,lateral-hypha. All
                                 must sum to 1.
     --base-level=ARG            Base level for the root Structure. Must be >=
                                 0. 


Use 'alternaria-gen' to generate instances of the model.

usage: alternaria-gen OPTIONS
where OPTIONS is one or more of the following:
 -h, --help                      Program usage
 -v, --version                   Program version.
     --options=ARG               Process a file of program options.
 -i, --interactive               Show the generated Alternaria in an interactive
                                 GLUT/GL window.
     --view-size=ARG             Interactive window View size with format
                                 width,height. Default is 400,400.
     --glasses=ARG               Type of colored glasses for anaglyph mode in
                                 the interactive window. Possible left-right
                                 filter types include include red-blue,
                                 red-green, red-cyan, blue-red, green-red,
                                 cyan-red. Default is cyan-red.
     --capture=ARG               Printf-formatted file write captured view
                                 images to.
     --seed=ARG                  Random seed to use in srand(). Must be a
                                 non-negative integer.
     --img-in=ARG                Imaging input file to read from.
     --img-out=ARG               Imaging output file to write to.
     --psf-in=ARG                PSF input file to read from.
     --psf-out=ARG               PSF output file to write to.
     --alt-in=ARG                Alternaria input file to read from.
     --alt-out=ARG               Alternaria output file to write to.
     --scene-fmt=ARG             Printf-formatted file name for the optically
                                 sectioned scene. Must contain one integer
                                 conversion
     --scene-scale=ARG           Number of alternaria world units per image
                                 pixel. Has format x,y,z.
     --scene-size=ARG            Width, height, and number of images to write
                                 the optically sectioned scene to. Has format
                                 ncols,nrows,nimgs.
     --psf-fmt=ARG               Printf-formatted file name for the optically
                                 sectioned PSF. Must contain one integer
                                 conversion.
     --num-structs=ARG           Number of structure elements to generate in the
                                 Alternaria. Must be an integer.
     --apical-hypha-length=ARG   Length of an apical hypha. Has argument format
                                 mu,sigma,min,max.
     --lateral-hypha-length=ARG  Length of a lateral hypha. Has argument format
                                 mu,sigma,min,max.
     --apical-hypha-width=ARG    Width of an apical hypha. Has argument format
                                 mu,sigma,min,max.
     --lateral-hypha-width=ARG   Width of a lateral hypha. Has argument format
                                 mu,sigma,min,max.
     --apical-hypha-theta=ARG    Theta Euler angle of an apical hypha. Has
                                 argument format mu,sigma,min,max.
     --lateral-hypha-1-theta=ARG  Theta Euler angle of a lateral hypha at level
                                 1. Has argument format mu,sigma,min,max.
     --lateral-hypha-n-theta=ARG  Theta Euler angle of a lateral hypha at level
                                 > 1. Has argument format mu,sigma,min,max.
     --hypha-psi=ARG             Psi Euler angle of a hypha. Has argument format
                                 mu,sigma,min,max.
     --hypha-opacity=ARG         Opacity of a hypha. Has argument format
                                 mu,sigma,min,max.
     --lateral-hypha-dist=ARG    Distance of a lateral hypha from its parent.
                                 Has argument format mu,sigma,min,max.
     --spore-width=ARG           Width of a spore. Has argument format
                                 mu,sigma,min,max.
     --spore-length=ARG          Length of a spore. Has argument format
                                 mu,sigma,min,max.
     --spore-theta=ARG           Theta Euler angle of a spore. Has argument
                                 format mu,sigma,min,max.
     --spore-psi=ARG             Psi Euler angle of a spore. Has argument format
                                 min,max.
     --spore-opacity=ARG         Opacity of a spore. Has argument format
                                 mu,sigma,min,max.
     --psf-alpha=ARG             PSF alpha parameter. Has argument format
                                 mu,sigma,min,max.
     --psf-beta=ARG              PSF beta parameter. Has argument format
                                 mu,sigma,min,max.
     --psf-gamma=ARG             PSF gamma parameter. Has argument format
                                 mu,sigma,min,max.
     --img-bg=ARG                Image background parameter. Has argument format
                                 mu,sigma,min,max.
     --levels-p=ARG              Geometric distribution parameter over growth
                                 levels. Must be in (0,1)
     --structs-p=ARG             Distribution over structure type. Has argument
                                 format spore,apical-hypha,lateral-hypha. All
                                 must sum to 1.
     --base-level=ARG            Base level for the root Structure. Must be >=
                                 0.