For phenotyping customers, there is a new, additional, plot delineation tool available in MapEO for which detects each individual plant and assigns a custom plant and plot identifier. As the algorithm automatically detects all individual plants, digital plot layouts with heterogenic plot size and spaces can now be easily created (eg. vegetable breeding, flower production fields, tree nurseries, ..). The user needs to delineate the rows of the plot design on top of the orthomosaic and provide a plot delineation document, ie. a CSV file which describes the number of plants per plot and the associated plot naming. Within MapEO, individual plants are detected based upon which the individual plants are delineated and named correctly. If there is something wrong with the detection algorithm and/or the plot delineation file, the user can easily adapt this to match both and ensure a high quality plot delineation to do so, three inputs are required. To create the plant based plot delineation, following steps are needed:
- Delineated 'beds', where rows of plants are planted iteratively along.
- 'User Data'annotations, derived from a count product
- A 'Plot Design Document' csv containing the structure of the field.
Beds are large plots, within which all of the plant level delineations are created.
First, select or create a new Field Layer. Once created and/or selected, select 'DRAW PLOTS' > '+BED'.
Begin by marking the corners of your bed. For simplicity, start by selecting the corners along the longest side of the bed.
A new screen will appear, allowing you to assign a unique ID and determine the starting edge.
The unique ID you choose should match the one specified in the CSV file for the 'bed' category.
The starting edge should be positioned next to the first column of plants, with the row direction being perpendicular to it.
The 'Slope' and 'Direction' settings will be determined based on your starting edge selection. These settings ensure proper plant assignment. You can adjust if needed using the 'Bed Edit' feature.
Below is an overview showing (in red) the line which the first column of plants will be next to, and the direction the rows will iteratively be constructed in, based on start edge.
Sometimes, it is useful to edit a beds boundaries, or its attribute, if an error has occurred in the expected delineation, or if
- Edit Bounds
Using 'Field Layout' and 'Modify', bed corners can be editted. Note that when doing so, future delineations will snap to the minimum bounding rectangle.
- Edit Attributes
Using 'Field Data' and 'Edit Attributes', bed Attributes can be editted. In particular, 'direction' and 'slope' can be editted to ensure assignment as in the above image, or that 'bedID' matches the design document.
User data utilizes a base 'count' product, which becomes editable to the user.
These User Annotations are included in the delineation by calculating where plants are, and using this to both detect gaps in the field where no value is assigned, as well as to centre boxes on the plants themselves.
Unlike 'count' products, users can ADD or REMOVE annotations. For example, if a weed is erroneously detected and causing delineation issues, or if some plants are missed, resulting in a column not being delineated.
Example below showing where missed plants are filled in, resulting in a column having values assigned. NOTE: This will result in all cells in that column being delineated and assigned a value on the map.
Plot Design Document
A CSV document also needs to be uploaded, with the following attributes.
PlotId; columns; rows; bed
PlotId = The parent ID which several plants will be assigned to
Columns = How many plants (or spaces for plants) are in a line within a bed
Rows = The length (in plant spaces) of the Bed. Used for initial distance estimate, as well as final assignment.
EXTRA ATTRIBUTES: Any number of extra attributes can also be added.
NOTE: plotIds but be listed iteratively in order of assignment
These elements can be combined to create a new field, by using the tool 'Draw Plots' > '+ Plot Design Document', and entering the above as variables.
Output will be a new field layer with delineations
NOTE: Once created, inspect individual boxes, which are output
Will contain a new plotId of 'DESIGNDOCUMENT$PlotId' + the number of the plant within the plot
NOTE: if a gap is detected, the algorithm will delineate the column on the next instance of a plant detection. If the input design is incorrect, you can have errors like this.
The plot design and user data need to correctly match!