unique id: ID which will be a folder name in the working directory. Integer value needed.
mask threshold: multiplier for the automatically determined mask threshold. 1.0 works fine and is default. For example, if a flashlight is used to take root images, then 0.6 is a good choice.
excised roots: number of roots placed at the right of the root crown, 0 - excised root analysis is off
crown root: 1 - crown root analysis is on, 0 - crown root analysis is off
segmentation: 1 - is on, 0 - is off. Off refers to a pre-existing segmention done with DIRT. Binary masks as input images are detected automatically.
marker diameter: a simple decimal e.g. 25.4. If 0.0 is used, then the output will have pixels as unit.
stem reconstruction: 1 - reconstruction is turned on, 0 - reconstruction is turned off
plots: 1 - plotting data is stored, 0 - plotting data is not stored
output format: 1 - the full trait set is put into one excel file containing empty cells for traits that were not computed, 0 - only computed files are written to the output file
working directory: full path to folder were the result is stored
trait file path: full path to .csv file containing the traits to be computed'
It is not possible to analyze only an excised root when a root crown is in the image. However, it is possible to analyze compute images containing only excised roots.
For convenience we provide the runOnFolder script, that executes DIRT on all images in a specified folder.
Note we made the masking threshold available on the command line because of user requests.
Please adjust line 86 according to the description above and note that the script uses 6 cores to compute images in parallel. The number of cores can be adjusted in line 80.
Some bug fixes on the avg. root density. There was a problem with very young and sparse root system. The formula changed and is now normed to the max. width instead of the max. width of the line.
The bug was found by Peng Wang at the University of Nebraska.
Minor bug fixes in Preprocessing.py to allow smaller circle markers and fix a possible missdetection of the experiment tag as the circle.
Thanks to Linda Zamariola (U Bologna) for finding this issue.
storage of trait values is changed from a list data structure to a dictionary to allow trait selection controlled by the file traits.csv
added support for trait selection to reduce computation time. See example file traits.csv (1 - trait is computed, 0 - trait is not computed)
removed unused tip-diameter switch on the command line
add stem reconstruction switch on the command line to turn the experimental stem reconstruction on/off
output file now uses the codes in the trait.csv file and only contains selected traits
removed several unused variables and minor bugs fixed
added command line option to turn storage of numpy arrays on/off. These files can be used to plot the individual root statistics and can be found in the "Plots" folders.
new (experimental, not validated) traits added due to community requests: projected root area, width and depth of the skeleton (medial axis), top and bottom angle for monocots, segmentation of adventious and basal roots for legumes to retrieve taproot and hypocotyl diameter and adventious and basal root counts.
added computational statistics such as computation time and graph size to help balancing grid installations
added an option to have an output file with all possible traits that contains empty cells for not computed traits in the output.csv file. This was a developer request to enable faster ingestion into data bases