# Welcome to the Interactive Documentation for PlantCV
The [PlantCV project](http://plantcv.danforthcenter.org/) is an open-source imaging processing package for plant phenotyping. The Jupyter notebooks contained here are the interactive version of some of the [PlantCV documentation](http://plantcv.readthedocs.io/en/latest/). The Jupyter notebooks can be used directly in an executable environment provided by [Binder](https://mybinder.org/), or they can be cloned and run locally.
Please note, intermediate images output while running the tutorials below will not look identical to images found in the [PlantCV documentation](http://plantcv.readthedocs.io/en/latest/). Various changes have been made to suit the image size, but please refer to the [troubleshooting](https://plantcv.readthedocs.io/en/latest/analysis_approach/#troubleshooting) section of the PlantCV documentation if you run into any issues. Also, feel free to upload your own images and adjust parameters and Workflows to fit them.
## Table of Contents
### Tutorials
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- [Thresholding Tools](notebooks/threshold.ipynb)
- [Input/Output Tools](notebooks/input_output.ipynb)
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- [Thermal Workflow](notebooks/thermal.ipynb)
### Example Use of Functions
- **plantcv.acute_vertex**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_bound_horizontal**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_bound_vertical**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_color**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_nir_intensity**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_objects**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.analyze_thermal_values**
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.apply_mask**
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.auto_crop**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.background_subtraction**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.canny_edge_detect**
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- **plantcv.closing**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.cluster_contour**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.cluster_contour_splitimg**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.crop_position_mask**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.dilate**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.distance_transform**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.erode**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.fill**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.fluor_fvfm**
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- **plantcv.gaussian_blur**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.get_nir**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.hist_equalization**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.image_add**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.image_subtract**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.invert**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- **plantcv.laplace_filter**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.logical_and**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.logical_or**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.logical_xor**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.median_blur**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.morphology.find_branch_pts**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.find_tips**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.prune**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_angles**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_curvature**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_euclidean_length**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_id**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_insertion_angle**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_path_length**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_skeleton**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_sort**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.segment_tangent_angle**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.morphology.skeletonize**
- [Morphology Workflow](notebooks/morphology_tutorial.ipynb)
- **plantcv.naive_bayes_classifier**
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- **plantcv.object_composition**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.opening**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.outputs.add_observation**
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- **plantcv.output_mask**
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- **plantcv.plot_hist**
- [Input/Output Tools](notebooks/input_output.ipynb)
- **plantcv.plot_image**
- [Input/Output Tools](notebooks/input_output.ipynb)
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- **plantcv.print_image**
- [Input/Output Tools](notebooks/input_output.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.readbayer**
- [Input/Output Tools](notebooks/input_output.ipynb)
- **plantcv.rectangle_mask**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- **plantcv.report_size_marker_area**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.resize**
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- **plantcv.rgb2gray**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.rgb2gray_hsv**
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Thresholding Tools](notebooks/threshold.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.rgb2gray_lab**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- [Thresholding Tools](notebooks/threshold.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.roi.circle**
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- **plantcv.roi.ellipse**
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- **plantcv.roi.from_binary_image**
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- **plantcv.roi.rectangle**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.roi_objects**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Region of Interest Tools](notebooks/roi_package.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.rotate**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.scharr_filter**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.shift_img**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.sobel_filter**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- **plantcv.threshold.binary**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- [Thresholding Tools](notebooks/threshold.ipynb)
- [VIS/NIR Workflow](notebooks/vis_nir_tutorial.ipynb)
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.threshold.gaussian**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.threshold.mean**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.threshold.otsu**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.threshold.texture**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.threshold.triangle**
- [Thresholding Tools](notebooks/threshold.ipynb)
- **plantcv.transform.correct_color**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- **plantcv.transform.create_color_card_mask**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- **plantcv.transform.find_color_card**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- **plantcv.transform.quick_color_check**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- **plantcv.transform.rescale**
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.transform.save_matrix**
- [Color Correction Workflow](notebooks/color_correct_tutorial.ipynb)
- **plantcv.visualzie.clustered_contours**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.visualize.colorize_masks**
- [Machine Learning Workflow](notebooks/machine_learning.ipynb)
- **plantcv.visualize.pseudocolor**
- [NIR Workflow](notebooks/nir_tutorial.ipynb)
- [PSII Workflow](notebooks/psII_tutorial.ipynb)
- [Thermal Workflow](notebooks/thermal.ipynb)
- **plantcv.watershed_segmentation**
- [Watershed Segmentation Workflow](notebooks/segmentation.ipynb)
- **plantcv.white_balance**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.within_frame**
- [Multi-Plant Workflow](notebooks/multi_plant_tutorial.ipynb)
- **plantcv.x_axis_pseudolandmarks**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)
- **plantcv.y_axis_pseudolandmarks**
- [VIS Workflow](notebooks/vis_tutorial.ipynb)