From 7df78ab1852d2ef1eba699b213c78359d56694be Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 13:45:09 -0600 Subject: [PATCH 01/25] Create requirements.txt --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..59fde8e --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +mkdocs>1 From 13eed3d29b60f11616d2922e07abcbc02ccd32c4 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 13:51:42 -0600 Subject: [PATCH 02/25] Create mkdocs.yml --- mkdocs.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 mkdocs.yml diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..7aa38cf --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,26 @@ +site_name: PlantCV-annotate +site_url: https://plantcv-annotate.readthedocs.io/ +site_description: Plant phenotyping annotation using computer vision +site_author: PlantCV Development Team +repo_url: https://github.com/danforthcenter/plantcv-annotate +copyright: Copyright 2020, Donald Danforth Plant Science Center +theme: readthedocs + +nav: +- Home: index.md +- Documentation: + - 'Installation': installation.md + - 'Analysis Approaches': analysis_approach.md + - 'Using Jupyter Notebooks': jupyter.md + - 'Contributing': + - 'Contributing to PlantCV-annotate': CONTRIBUTING.md + - 'Code of Conduct': CODE_OF_CONDUCT.md + - 'Adding/Editing Documentation': documentation.md + - 'Pull Request Review Process' : pr_review_process.md + - 'PlantCV Namespace': + - 'Annotation Tools': + - 'Points': Points.md +markdown_extensions: + - toc: + permalink: True + - admonition From d55a05c34a45cd1461b78a3d0340e6c6975b6d8f Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 13:58:31 -0600 Subject: [PATCH 03/25] Create installation.md --- docs/installation.md | 84 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 docs/installation.md diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..62ed1e5 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,84 @@ +## Installation + +### Table of contents +1. [Supported platforms and dependencies](#dependencies) +2. [Install via a package manager](#install) + 1. [Conda](#conda) + 2. [PyPI](#pypi) +3. [Installing PlantCV for contributors](#contributors) + +### Supported platforms and dependencies +- Linux 64-bit, x86 processors +- macOS x86 (Intel) and M (ARM) processors +- Windows 64-bit, x86 processors + +PlantCV requires Python (tested with versions 3.8, 3.9, and 3.10) and these [Python packages](https://github.com/danforthcenter/plantcv/blob/main/requirements.txt). +Additionally, we recommend installing [JupyterLab](https://jupyter.org/). + +### Install via a package manager + +!!!note + We recommend installing PlantCV in a virtual environment, which is a self-contained Python environment that includes + PlantCV and its dependencies. Virtual environments are used to avoid conflicts between packages and can increase the + reproducability of your work by isolating package versions for specific projects. + +Stable releases of PlantCV are available through both the [Python Package Index (PyPI)](https://pypi.org/) and +`conda` through the [conda-forge channel](https://conda-forge.org/). + +#### Conda +First install `conda` if you do not already have it. We recommend using the [Miniconda](https://conda.io/miniconda.html), +but the full [Anaconda](https://www.anaconda.com/download/) distribution will also work. + +```bash +conda create -n plantcv -c conda-forge plantcv + +``` + +Or with optional (but recommended) dependencies: + +```bash +conda create -n plantcv -c conda-forge plantcv jupyterlab ipympl nodejs + +``` + +#### PyPI + +```bash +pip install plantcv + +``` + +Or with optional (but recommended) dependencies: + +```bash +pip install plantcv jupyterlab ipympl + +``` + +### Installing PlantCV for contributors +Before getting started, please read our [contributor guidelines](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md). + +You can build PlantCV from the source code if you are a developer or want the absolute latest version available. +As noted above, we recommend installing PlantCV in a virtual environment. We will outline how to do this using `conda`. +You will also need a [GitHub](https://github.com) account. You will need to +[clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) the PlantCV +repository from GitHub before getting started. + +To set up your environment, follow these steps in your command-line terminal: + +```bash +# Enter the PlantCV directory +cd plantcv + +# Create a conda environment named "plantcv" (or whatever you like) and automatically install the developer dependencies +conda env create -n plantcv -f environment.yml + +# Activate the plantcv environment (you will have to do this each time you start a new session) +conda activate plantcv + +# Install PlantCV in editable mode so that it updates as you work on new features/updates +pip install -e . + +pip install plantcv-annotate +pip install -e . +``` From be1ebcce5dbf0888a105f2d915e1eab18b14aa91 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 14:01:03 -0600 Subject: [PATCH 04/25] Create CODE_OF_CONDUCT.md --- docs/CODE_OF_CONDUCT.md | 137 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 docs/CODE_OF_CONDUCT.md diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..deb3b69 --- /dev/null +++ b/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,137 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement, Noah Fahlgren +[nfahlgren@danforthcenter.org](mailto:nfahlgren@danforthcenter.org) and +Malia Gehan [mgehan@danforthcenter.org](mailto:mgehan@danforthcenter.org). +Alternatively, information about contacting the Danforth Center Human Resources +department (including anonymous reporting) can be found at +[https://www.danforthcenter.org/about-us/accountability/][accountability]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations +[accountability]: https://www.danforthcenter.org/about-us/accountability From c85975b3446bc18ac88b9f09289c658aa41da3a5 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 14:09:33 -0600 Subject: [PATCH 05/25] Create index.md --- docs/index.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..9718885 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,33 @@ +# Welcome to the documentation for PlantCV-Annotate + +## Overview + +[PlantCV-annotate](https://github.com/danforthcenter/plantcv-annotate) is composed of modular functions in order to be applicable to a +variety of plant types and imaging systems. In the following documentation we will describe use of each function and +provide tutorials on how each function is used in the context of an overall image-processing workflow. Development of +PlantCV is ongoing---we encourage input from the greater plant phenomics community. Please post questions and comments +on the [GitHub issues page](https://github.com/danforthcenter/plantcv-annotate/issues). + +## Getting started + +The documentation can be navigated using the sidebar table of contents. Documentation for individual PlantCV functions +are listed under the headings "PlantCV Namespace". For general information on installation, +updating, and other questions, see: + +* [Installing PlantCV](installation.md) + +## Contributing + +If you are interested in contributing to PlantCV, please see: + +* [Contribution Guide](CONTRIBUTING.md) +* [Code of Conduct](CODE_OF_CONDUCT.md) + +## Versions + +The documentation defaults to the `stable` version of PlantCV which is the current release version available from +PyPI and Bioconda. Documentation for all releases from v1.1 on are also available via the standard Read the Docs +popup/pulldown menu (bottom right corner). Select the `latest` version to get the most up-to-date documentation +associated with the current code in GitHub. + +[Return to the PlantCV homepage](http://plantcv.danforthcenter.org) From b95133aaaaf2b3a3321414446c9b6e400808028e Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 14:16:01 -0600 Subject: [PATCH 06/25] Create documentation.md --- docs/documentation.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docs/documentation.md diff --git a/docs/documentation.md b/docs/documentation.md new file mode 100644 index 0000000..e2040ed --- /dev/null +++ b/docs/documentation.md @@ -0,0 +1,19 @@ +## Documentation + +PlantCV documentation is hosted on [Read the Docs](https://readthedocs.org/). +Using Read the Docs allows the documentation to be versioned along with +the code. Because Read the Docs supports static content build tools like +[Mkdocs](http://www.mkdocs.org/), documentation can be written in simple +Markdown format that will be built into HTML automatically whenever a +new version of code is pushed to the PlantCV GitHub repository. + +### Updating PlantCV documentation + +Follow the [contribution guide](CONTRIBUTING.md) to learn how clone a copy of the PlantCV-Annotate +repository, edit files, and generate a `pull` request to merge your updates back into the +main repository. Changes to PlantCV should be done in a branch, and pull against the +`main` branch which corresponds to the `latest` version of the documentation on Read the Docs. + +PlantCV-Annotate is an add-on package to compliment functionality of +[PlantCV](http://plantcv.danforthcenter.org) so please refer to the +[updating guide here](https://plantcv.readthedocs.io/en/latest/documentation/). From 4ca5964772cd112a44b507da74986ff6f474e02c Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 14:30:59 -0600 Subject: [PATCH 07/25] Create .readthedocs.yaml --- .readthedocs.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..c5587fb --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,19 @@ +# Read the Docs configuration file for MkDocs projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +mkdocs: + configuration: mkdocs.yml + +# Optionally declare the Python requirements required to build your docs +python: + install: + - requirements: docs/requirements.txt From 3a4e9e28e8ba504505221aad146e5b50f77e291a Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 15:58:20 -0600 Subject: [PATCH 08/25] Update installation.md --- docs/installation.md | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 62ed1e5..1d07bcd 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -3,8 +3,7 @@ ### Table of contents 1. [Supported platforms and dependencies](#dependencies) 2. [Install via a package manager](#install) - 1. [Conda](#conda) - 2. [PyPI](#pypi) + - [PyPI](#pypi) 3. [Installing PlantCV for contributors](#contributors) ### Supported platforms and dependencies @@ -12,35 +11,9 @@ - macOS x86 (Intel) and M (ARM) processors - Windows 64-bit, x86 processors -PlantCV requires Python (tested with versions 3.8, 3.9, and 3.10) and these [Python packages](https://github.com/danforthcenter/plantcv/blob/main/requirements.txt). +PlantCV requires Python and these [Python packages](https://github.com/danforthcenter/plantcv/blob/main/requirements.txt). Additionally, we recommend installing [JupyterLab](https://jupyter.org/). -### Install via a package manager - -!!!note - We recommend installing PlantCV in a virtual environment, which is a self-contained Python environment that includes - PlantCV and its dependencies. Virtual environments are used to avoid conflicts between packages and can increase the - reproducability of your work by isolating package versions for specific projects. - -Stable releases of PlantCV are available through both the [Python Package Index (PyPI)](https://pypi.org/) and -`conda` through the [conda-forge channel](https://conda-forge.org/). - -#### Conda -First install `conda` if you do not already have it. We recommend using the [Miniconda](https://conda.io/miniconda.html), -but the full [Anaconda](https://www.anaconda.com/download/) distribution will also work. - -```bash -conda create -n plantcv -c conda-forge plantcv - -``` - -Or with optional (but recommended) dependencies: - -```bash -conda create -n plantcv -c conda-forge plantcv jupyterlab ipympl nodejs - -``` - #### PyPI ```bash From 6359dc7f80a9cfd6da3f622ab71a1eb5bead619f Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Tue, 5 Mar 2024 15:58:52 -0600 Subject: [PATCH 09/25] Update mkdocs.yml --- mkdocs.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 7aa38cf..5adb667 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ site_url: https://plantcv-annotate.readthedocs.io/ site_description: Plant phenotyping annotation using computer vision site_author: PlantCV Development Team repo_url: https://github.com/danforthcenter/plantcv-annotate -copyright: Copyright 2020, Donald Danforth Plant Science Center +copyright: Copyright 2024, Donald Danforth Plant Science Center theme: readthedocs nav: @@ -13,10 +13,8 @@ nav: - 'Analysis Approaches': analysis_approach.md - 'Using Jupyter Notebooks': jupyter.md - 'Contributing': - - 'Contributing to PlantCV-annotate': CONTRIBUTING.md - 'Code of Conduct': CODE_OF_CONDUCT.md - 'Adding/Editing Documentation': documentation.md - - 'Pull Request Review Process' : pr_review_process.md - 'PlantCV Namespace': - 'Annotation Tools': - 'Points': Points.md From ba2c3a456537970f4890b65f7899b27b5d2422e9 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Thu, 7 Mar 2024 10:17:07 -0600 Subject: [PATCH 10/25] move repetitive chunks and reference main package docs --- docs/documentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation.md b/docs/documentation.md index e2040ed..629d268 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -15,5 +15,5 @@ main repository. Changes to PlantCV should be done in a branch, and pull against `main` branch which corresponds to the `latest` version of the documentation on Read the Docs. PlantCV-Annotate is an add-on package to compliment functionality of -[PlantCV](http://plantcv.danforthcenter.org) so please refer to the +[PlantCV](https://plantcv.org) so please refer to the [updating guide here](https://plantcv.readthedocs.io/en/latest/documentation/). From 91293e69fc6bfcfe9bf81147b8aef564b5f4face Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Thu, 7 Mar 2024 10:17:28 -0600 Subject: [PATCH 11/25] update homepage website --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 9718885..ddeabcd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -30,4 +30,4 @@ PyPI and Bioconda. Documentation for all releases from v1.1 on are also availabl popup/pulldown menu (bottom right corner). Select the `latest` version to get the most up-to-date documentation associated with the current code in GitHub. -[Return to the PlantCV homepage](http://plantcv.danforthcenter.org) +[Return to the PlantCV homepage](https://plantcv.org) From bc31a5ab339a13e07e386564e37988def075cf45 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Thu, 7 Mar 2024 10:18:08 -0600 Subject: [PATCH 12/25] requested updates remove repetitive chunks and reference installation docs from main package --- docs/installation.md | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 1d07bcd..725b867 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -14,44 +14,16 @@ PlantCV requires Python and these [Python packages](https://github.com/danforthcenter/plantcv/blob/main/requirements.txt). Additionally, we recommend installing [JupyterLab](https://jupyter.org/). -#### PyPI - -```bash -pip install plantcv - -``` - -Or with optional (but recommended) dependencies: - -```bash -pip install plantcv jupyterlab ipympl - -``` - ### Installing PlantCV for contributors Before getting started, please read our [contributor guidelines](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md). -You can build PlantCV from the source code if you are a developer or want the absolute latest version available. -As noted above, we recommend installing PlantCV in a virtual environment. We will outline how to do this using `conda`. -You will also need a [GitHub](https://github.com) account. You will need to -[clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) the PlantCV -repository from GitHub before getting started. - -To set up your environment, follow these steps in your command-line terminal: +You can follow the [PlantCV Installation for Contributor Guide](https://plantcv.readthedocs.io/en/latest/installation/#contributors) and then continue with the instructions below to add PlantCV-Annotate to +your development environment. ```bash -# Enter the PlantCV directory -cd plantcv - -# Create a conda environment named "plantcv" (or whatever you like) and automatically install the developer dependencies -conda env create -n plantcv -f environment.yml - # Activate the plantcv environment (you will have to do this each time you start a new session) conda activate plantcv - -# Install PlantCV in editable mode so that it updates as you work on new features/updates -pip install -e . - +# Install plantcv-annotate in editable mode so that it updates as you work on new features/updates pip install plantcv-annotate pip install -e . ``` From 4981e4db401a032c635ac735233b4d49197362d3 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:14:42 -0500 Subject: [PATCH 13/25] Create CONTRIBUTING.md --- docs/CONTRIBUTING.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/CONTRIBUTING.md diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..c00e247 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,25 @@ +# Contrbution to PlantCV-Annotate + +!!! note + PlantCV-Annotate is an add-on package to PlantCV so please first refer to the main package's [contributing guide](https://plantcv.readthedocs.io/en/latest/CONTRIBUTING/) for the majority of the information on what and how to contribute to either project (including but not limited to reporting bugs, requesting new features, add/revise documentation, and adding tutorials). + +## Overview Of What To Contribute to PlantCV-Annotate vs. Other Packages + +This document aims to give an overview of what to contribute to PlantCV-Annotate, and guidelines to +decide which repository is the most appropriate place for new features. Please +[create an issue in GitHub](https://github.com/danforthcenter/plantcv-annotate/issues) assuming one +does not already exist. + +Functions in the Annotate toolbox are considered lower throughput, since they +usually involve interacting with data on a per-image basis, compared to tools from the main PlantCV +package which aim to build modularly into workflows that can be batch processed. + +Data annotation is helpful when downstream analysis steps include machine learning or deep learning, +but it's also helpful for tuning computer vision algorithm approaches by ground truthing a +dataset with annotation and comparing results from the two methods. + +### Other Packages + +There is also [PlantCV-Geospatial](https://github.com/danforthcenter/plantcv-geospatial) for features +that are specific to UAV and satellite data. If you are unsure where a feature should go default to PlantCV for +[new issues in GitHub](https://github.com/danforthcenter/plantcv/issues) since it is the most active repository. \ No newline at end of file From f43a03a809866d6b35d749e521a9b64b77c65cbd Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:14:58 -0500 Subject: [PATCH 14/25] Update documentation.md --- docs/documentation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/documentation.md b/docs/documentation.md index 629d268..ed43a4e 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -9,9 +9,9 @@ new version of code is pushed to the PlantCV GitHub repository. ### Updating PlantCV documentation -Follow the [contribution guide](CONTRIBUTING.md) to learn how clone a copy of the PlantCV-Annotate -repository, edit files, and generate a `pull` request to merge your updates back into the -main repository. Changes to PlantCV should be done in a branch, and pull against the +Follow the [installation guide](installation.md#installing-plantcv-for-contributors) to learn how clone a copy of the PlantCV-Annotate +repository. Then see the main PlantCV [contribution guide](https://plantcv.readthedocs.io/en/latest/CONTRIBUTING/) for an overview on how to edit files, and generate a `pull` request to merge your updates. +Changes to PlantCV-Annotate should be done in a branch, and pull against the `main` branch which corresponds to the `latest` version of the documentation on Read the Docs. PlantCV-Annotate is an add-on package to compliment functionality of From 84a7833bce83762d6fc0c4c1ef126b0b5377f07d Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:15:07 -0500 Subject: [PATCH 15/25] Update index.md --- docs/index.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/docs/index.md b/docs/index.md index ddeabcd..d61d74a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,29 +5,22 @@ [PlantCV-annotate](https://github.com/danforthcenter/plantcv-annotate) is composed of modular functions in order to be applicable to a variety of plant types and imaging systems. In the following documentation we will describe use of each function and provide tutorials on how each function is used in the context of an overall image-processing workflow. Development of -PlantCV is ongoing---we encourage input from the greater plant phenomics community. Please post questions and comments +PlantCV-Annotate is ongoing---we encourage input from the greater plant phenomics community. Please post questions and comments on the [GitHub issues page](https://github.com/danforthcenter/plantcv-annotate/issues). ## Getting started -The documentation can be navigated using the sidebar table of contents. Documentation for individual PlantCV functions +The documentation can be navigated using the sidebar table of contents. Documentation for individual PlantCV-Annotate functions are listed under the headings "PlantCV Namespace". For general information on installation, updating, and other questions, see: -* [Installing PlantCV](installation.md) +* [Installing PlantCV-Annotate](installation.md) ## Contributing -If you are interested in contributing to PlantCV, please see: +If you are interested in contributing to PlantCV-Annotate, please see: * [Contribution Guide](CONTRIBUTING.md) * [Code of Conduct](CODE_OF_CONDUCT.md) -## Versions - -The documentation defaults to the `stable` version of PlantCV which is the current release version available from -PyPI and Bioconda. Documentation for all releases from v1.1 on are also available via the standard Read the Docs -popup/pulldown menu (bottom right corner). Select the `latest` version to get the most up-to-date documentation -associated with the current code in GitHub. - [Return to the PlantCV homepage](https://plantcv.org) From 829c2571c54416d6ca796cbd8414057c4433e40d Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:16:24 -0500 Subject: [PATCH 16/25] Update installation.md remove nonexistent files --- docs/installation.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 725b867..f9f52d0 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -2,9 +2,7 @@ ### Table of contents 1. [Supported platforms and dependencies](#dependencies) -2. [Install via a package manager](#install) - - [PyPI](#pypi) -3. [Installing PlantCV for contributors](#contributors) +2. [Installing PlantCV for contributors](#contributors) ### Supported platforms and dependencies - Linux 64-bit, x86 processors @@ -17,7 +15,7 @@ Additionally, we recommend installing [JupyterLab](https://jupyter.org/). ### Installing PlantCV for contributors Before getting started, please read our [contributor guidelines](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md). -You can follow the [PlantCV Installation for Contributor Guide](https://plantcv.readthedocs.io/en/latest/installation/#contributors) and then continue with the instructions below to add PlantCV-Annotate to +You can follow the [PlantCV Installation for Contributors Guide](https://plantcv.readthedocs.io/en/latest/installation/#contributors) and then continue with the instructions below to add PlantCV-Annotate to your development environment. ```bash From d4b06cb668be58132e22b3bf430d31944cc2c3e8 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:16:35 -0500 Subject: [PATCH 17/25] Update mkdocs.yml remove nonexistent files --- mkdocs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 5adb667..d8b39b8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,9 +10,8 @@ nav: - Home: index.md - Documentation: - 'Installation': installation.md - - 'Analysis Approaches': analysis_approach.md - - 'Using Jupyter Notebooks': jupyter.md - 'Contributing': + - 'Contributing guide': CONTRBUTING.md - 'Code of Conduct': CODE_OF_CONDUCT.md - 'Adding/Editing Documentation': documentation.md - 'PlantCV Namespace': From e0118c044488eb52ccac25dd19250dd470bde3e3 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:23:19 -0500 Subject: [PATCH 18/25] Update mkdocs.yml remove Points.md doesnt exist yet --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index d8b39b8..ab71751 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,12 +11,12 @@ nav: - Documentation: - 'Installation': installation.md - 'Contributing': - - 'Contributing guide': CONTRBUTING.md + - 'Contributing Guide': CONTRBUTING.md - 'Code of Conduct': CODE_OF_CONDUCT.md - 'Adding/Editing Documentation': documentation.md - 'PlantCV Namespace': - 'Annotation Tools': - - 'Points': Points.md + - markdown_extensions: - toc: permalink: True From 021f21d8042d2f7ca8e319cea3975b8571c82a82 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:30:07 -0500 Subject: [PATCH 19/25] Create Points.md create skeleton of doc page for the Points annotation functionality --- docs/Points.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/Points.md diff --git a/docs/Points.md b/docs/Points.md new file mode 100644 index 0000000..5e4a970 --- /dev/null +++ b/docs/Points.md @@ -0,0 +1,41 @@ +## Interactive Point Annotation Tool + +Using [Jupyter Notebooks](jupyter.md) it is possible to interactively click to collect coordinates from an image, which can be used in various downstream applications. Left click on the image to collect a point. Right click removes the +closest collected point. + +**plantcv.annotate.Points**(*img, *) + +**returns** interactive image class + +- **Parameters:** + - img - Image data + - figsize - Interactive plot figure size (default = (12,6)) + - + +- **Attributes:** + - coords - + +- **Context:** + - Used to define a list of coordinates of interest. + - +- **Example use:** + - (pcv.roi.multi) + - (pcv.roi.custom) + + +```python +import plantcv.plantcv as pcv +import plantcv.annotate as an + +# Create an instance of the Points class +marker = an.Points(img=img, figsize=(12,6)) + +# Click on the plotted image to collect coordinates + +# Use the identified coordinates to create a custom polygon ROI +roi = pcv.roi.custom(img=img, vertices=marker.coords['default']) + +``` + + +**Source Code:** [Here](https://github.com/danforthcenter/plantcv-annotate/blob/main/plantcv/annoate/classes.py) From 65df660a7db15164742fe1e198bef18d967953c6 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:30:28 -0500 Subject: [PATCH 20/25] Update mkdocs.yml add Points back in for structure --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index ab71751..fca14e2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,7 +16,7 @@ nav: - 'Adding/Editing Documentation': documentation.md - 'PlantCV Namespace': - 'Annotation Tools': - - + - Points: Points.md markdown_extensions: - toc: permalink: True From ec2d5b5d8e3f6fcebf4568b4e9984e954fbd9c92 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:35:11 -0500 Subject: [PATCH 21/25] Update Points.md add current attributes --- docs/Points.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/Points.md b/docs/Points.md index 5e4a970..a1fd3a4 100644 --- a/docs/Points.md +++ b/docs/Points.md @@ -3,17 +3,25 @@ Using [Jupyter Notebooks](jupyter.md) it is possible to interactively click to collect coordinates from an image, which can be used in various downstream applications. Left click on the image to collect a point. Right click removes the closest collected point. -**plantcv.annotate.Points**(*img, *) +**plantcv.annotate.Points**(*img, figsize=(12,6), label="dafault"*) **returns** interactive image class - **Parameters:** - img - Image data - figsize - Interactive plot figure size (default = (12,6)) - - + - label - The current label (default = "default") - **Attributes:** - - coords - + - coords - dictionary of all coordinates per group label + - events - includes right and left click events + - count - dictionary that save the counts of different groups (labels) + - label - the current label + - sample_labels - list of all sample labels, one to one with coordinates collected + - view_all - flag indicating whether or not to view all labels + - color - current color + - colors - all used colors + - figsize - size of the interactive plotting figure - **Context:** - Used to define a list of coordinates of interest. From 90f60f9f083f46e1062874dfa730ebd9cb1af0f8 Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 11:36:37 -0500 Subject: [PATCH 22/25] Update mkdocs.yml typo in contrbuting --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index fca14e2..4e8f0af 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,7 +11,7 @@ nav: - Documentation: - 'Installation': installation.md - 'Contributing': - - 'Contributing Guide': CONTRBUTING.md + - 'Contributing Guide': CONTRIBUTING.md - 'Code of Conduct': CODE_OF_CONDUCT.md - 'Adding/Editing Documentation': documentation.md - 'PlantCV Namespace': From 1cee25c04750566812ffd1186b4878c5dd5d817f Mon Sep 17 00:00:00 2001 From: HaleySchuhl Date: Mon, 11 Mar 2024 14:02:39 -0500 Subject: [PATCH 23/25] Update CONTRIBUTING.md remove Other Packages --- docs/CONTRIBUTING.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index c00e247..4d1482a 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -17,9 +17,3 @@ package which aim to build modularly into workflows that can be batch processed. Data annotation is helpful when downstream analysis steps include machine learning or deep learning, but it's also helpful for tuning computer vision algorithm approaches by ground truthing a dataset with annotation and comparing results from the two methods. - -### Other Packages - -There is also [PlantCV-Geospatial](https://github.com/danforthcenter/plantcv-geospatial) for features -that are specific to UAV and satellite data. If you are unsure where a feature should go default to PlantCV for -[new issues in GitHub](https://github.com/danforthcenter/plantcv/issues) since it is the most active repository. \ No newline at end of file From c516a093e673c27c63134b9588392dd8ca0a32cb Mon Sep 17 00:00:00 2001 From: Noah Fahlgren Date: Mon, 11 Mar 2024 15:58:08 -0500 Subject: [PATCH 24/25] Add changelog docs file Equivalent to the PlantCV updating.md file --- docs/changelog.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/changelog.md diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000..820a7f1 --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,3 @@ +## Changelog + +All notable changes to this project will be documented below. From 11f09836ae597f3d2f1cce06568a31eeaa2034b7 Mon Sep 17 00:00:00 2001 From: Noah Fahlgren Date: Mon, 11 Mar 2024 15:59:26 -0500 Subject: [PATCH 25/25] Add changelog to the TOC --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 4e8f0af..7d71deb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,6 +10,7 @@ nav: - Home: index.md - Documentation: - 'Installation': installation.md + - 'Change Log': changelog.md - 'Contributing': - 'Contributing Guide': CONTRIBUTING.md - 'Code of Conduct': CODE_OF_CONDUCT.md