Alternaria
fit cylinders and ellipsoids to fungus
|
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.