Accessory Tools¶
Several accessory tools are provided with PlantCV. These tools are installed in your system or environment path or are available by downloading/cloning the GitHub repository.
Training machine learning models¶
plantcv-train.py
is a command-line tool for training machine learning classifiers or other models in PlantCV. More
detail is provided in the Machine Learning Tutorial but command/input details are
provided below:
usage: plantcv-train.py [-h] {naive_bayes,naive_bayes_multiclass}
Subcommands:
naive_bayes
usage: plantcv-train.py naive_bayes [-h] -i IMGDIR -b MASKDIR -o OUTFILE [-p]
optional arguments:
-h, --help Show this help message and exit
-i IMGDIR, --imgdir IMGDIR Input directory containing images.
-b MASKDIR, --maskdir MASKDIR Input directory containing black/white masks.
-o OUTFILE, --outfile OUTFILE Trained classifier output filename.
-p, --plots Make output plots.
naive_bayes_multiclass
usage: plantcv-train.py naive_bayes_multiclass [-h] -f FILE -o OUTFILE [-p]
optional arguments:
-h, --help Show this help message and exit
-f FILE, --file FILE Input file containing a table of pixel RGB values sampled for each input
class.
-o OUTFILE, --outfile OUTFILE Trained classifier output filename.
-p, --plots Make output plots.
PlantCV utilities¶
plantcv-utils.py
is a command-line tool for running various utilities.
Convert output JSON data files to CSV tables¶
plantcv-utils.py json2csv
is a command-line tool for converting the output JSON files from plantcv-workflow.py
to
CSV-formatted tables for downstream analysis in R,
MVApp, or other programs.
usage: plantcv-utils.py json2csv [-h] -j JSON -c CSV
optional arguments:
-h, --help Show this help message and exit
-j JSON, --json JSON Input PlantCV JSON filename.
-c CSV, --csv CSV Output CSV filename prefix.
The input JSON file is generally created by running plantcv-workflow.py
, although there are some advanced scenarios
where it is created by running plantcv.parallel.process_results
on a directory of JSON files. This
hierarchical data structure is convenient for flexible data processing but not for downstream
analysis. The tool creates two output CSV files named with the user-provided prefix. prefix-single-value-traits.csv
is a table of observations with single values (e.g. area, convex hull area, etc.). The format of this table is one row
per image. prefix-multi-value-traits.csv
is a table of observations with multiple values (e.g. frequency distribution
of hue or other color channel/properties). The format of this table is one row per value/label.
Parallel workflow processing¶
plantcv-workflow.py
is a command-line tool for parallel processing of user-defined PlantCV workflows. It is used to
process metadata and execute custom workflows on each image in a dataset. More detail is provided in the
Workflow Parallelization Tutorial but command/input details are provided below:
usage: plantcv-workflow.py [-h] -d DIR [-a ADAPTOR] -p WORKFLOW -j JSON
[-i OUTDIR] [-T CPU] [-c] [-D DATES] [-t TYPE]
[-l DELIMITER] [-f META] [-M MATCH] [-C COPROCESS]
[-w] [-o OTHER_ARGS]
Parallel imaging processing with PlantCV.
optional arguments:
-h, --help
Show this help message and exit
-d DIR, --dir DIR
Input directory containing images or snapshots.
(default: None)
-a ADAPTOR, --adaptor ADAPTOR
Image metadata reader adaptor. PhenoFront metadata is
stored in a CSV file and the image file name. For the
filename option, all metadata is stored in the image
file name. Current adaptors: phenofront, filename
(default: phenofront)
-p WORKFLOW, --workflow WORKFLOW
Workflow script file. (default: None)
-j JSON, --json JSON
Output database file name. (default: None)
-i OUTDIR, --outdir OUTDIR
Output directory for images. Not required by all
workflows. (default: .)
-T CPU, --cpu CPU
Number of CPU to use. (default: 1)
-c, --create
Will overwrite an existing database. Warning: activating
this option will delete an existing database!
(default: False)
-D DATES, --dates DATES
Date range. Format: YYYY-MM-DD-hh-mm-ss_YYYY-MM-DD-hh-
mm-ss. If the second date is excluded then the current
date is assumed. (default: None)
-t TYPE, --type TYPE
Image format type (extension). (default: png)
-l DELIMITER, --delimiter DELIMITER
Image file name metadata delimiter character.
(default: _)
-f META, --meta META
Image file name metadata format. List valid metadata
fields separated by the delimiter (-l/--delimiter).
Valid metadata fields are: camera, imgtype, zoom,
exposure, gain, frame, lifter, timestamp, id,
plantbarcode, treatment, cartag, measurementlabel,
other (default: imgtype_camera_frame_zoom_id)
-M MATCH, --match MATCH
Restrict analysis to images with metadata matching
input criteria. Input a metadata:value comma-separated
list. This is an exact match search. E.g.
imgtype:VIS,camera:SV,zoom:z500 (default: None)
-C COPROCESS, --coprocess COPROCESS
Coprocess the specified imgtype with the imgtype
specified in --match (e.g. coprocess NIR images with
VIS). (default: None)
-w, --writeimg
Include analysis images in output. (default: False)
-o OTHER_ARGS, --other_args OTHER_ARGS
Other arguments to pass to the workflow script.
(default: None)