The PlantEye scanner produces 3D point-clouds in a format known as PLY in binary format. These files essentially contain a list coordinates with X, Y and Z vector. The coordinates can be supplemented with additional information. For the F500 PlantEye that includes per coordinate:
- 3D laser reflection Intensity
- Red wavelength value
- Green wavelength value
- Blue wavelength value
- Near Infrared (NIR) value
- Normalized Difference Vegetation Index (NDVI) value
HortControl should be used to generate a working set of PLY files from a PlantEye scan. HortControl can export and generate the following point clouds on the fly:
- Raw - The whole scan as it comes from the PlantEye and not processed in any way
- Transformed - The whole scan after transformation, segmentation and triangulation
- Units - The whole scan split into the individual units. The amount files depends on the number of units in the block layout.
We can use the HortControl internal 3D viewer to visualize these. With CloudCompare we can additionally do operations on a 3D point-cloud, define the visualization more precisely or compare point-clouds.
Files generated by HortControl
When downloading a scan with all options selected from an F500 DualScan system (Raw, transformed, units and Master/Slave) the following files are produced:
0_20180605T074327_M.ply - Whole raw master PlantEye scan.0_20180605T074319_S.ply - Whole raw slave PlantEye scan.0_20180605T074327_M_trian.ply - Whole transformed, segmented and triangulated master PlantEye scan.0_20180605T074327_S_trian.ply - Whole transformed, segmented and triangulated slave PlantEye scan.0-1-1_20180605T074327_M.ply - One particular unit file from the master PlantEye, ID0, coordinate 1-1.0-1-1_20180605T074327_S.ply - One particular unit file from the slave PlantEye, ID0, coordinate 1-1.0-1-1_20180605T074327_C.ply - One particular unit file containing only the unique 3D points of the slave PlantEye scan that do not exist in the master PlantEye scan. ID0, coordinate 1-1.
Visualizing point-clouds with CloudCompare
The 3D software CloudCompare is open source and free. You can download it from http://www.danielgm.net/cc/release/
When we open a raw ply file with CloudCompare, the following dialog is presented:
The settings we are interested in here are the Scalar field and the Add Scalar field. A scalar field is the color coding per 3D point of a value from the ply file. Recall, that we have the following extra data per 3D point in the point-cloud being Intensity, NIR and NDVI. To visualize these click the Add Scalar field button twice and from the drop down menu select NIR and NDVI respectively. After clicking the Apply button we will see our point cloud colored by intensity value.
If we want to color code for instance NDVI, click on the file in the top left point-cloud browser of CloudCompare. The properties window will fill up with current settings and properties of the selected point-cloud. Scroll down if needed to the section called Scalar Fields and change the Active scalar field from intensity to NDVI. Now it will be color coded per the NDVI value.
We can do the same for other scalar fields. Basically any extra data that is supplied with a 3D point from the PLY file can be color mapped. If the triangulation (see https://en.wikipedia.org/wiki/Polygon_mesh) should be visualized, load the triangulated files produced by HortControl. The open ply file dialog will then allow you to load Faces which are the surfaces created by the triangulation.
Other relevant functions of CloudCompare
CloudCompare can transform a point-cloud. Transformation is the process of rotation and/or shifting. Point clouds can also be sheered, stretched or squashed along any dimension. To do so, select the point cloud in the point could browser and via the menu select Edit > Translate/rotate. Now the Point cloud can be visually transformed by dragging the mouse. Holding the left mouse button while dragging rotates and holding the right mouse button shifts the point cloud.
If multiple point clouds are loaded and they are overlaid, it can be hard to discern to which point-cloud 3D points belong. To make this more clear, select one of the point-clouds form the point-cloud browser, and via Edit > Colors > Set unique it can be colored to a specific value. Do so for all the point clouds if there are multiple and you want to discern them.
To make edges more pronounced and see depth a little more clear a shader can be applied. Generally speaking, the shader named Eye Dome Lighting gives the best results. To apply it go via the menu Display > Shaders & Filters > E.D.L. (Shader). The result should be a point-cloud with more pronounced edges and more visible depth.