Skip to content

Installing the ROMI softwareLink

Use casesLink

In the following subsections we will detail how to install ROMI software for a few usage cases:

  1. Create a database server here.
  2. Plant scans acquisition using the ROMI plant scanner to a database here.
  3. Plant reconstruction pipelines from existing plant scans in a database here.
  4. Virtual plant creation (3D modelling of plant architecture with LPY), virtual scan (mimic plant scanner with blender) & reconstruction (same as 2.) here.
  5. Create a web server hosting the plant 3d explorer GUI here.

Note

You can find docker images for use cases #1, #3 & #5 in the dockerhub repository of the ROMI project here.

General requirementsLink

Cloning sourcesLink

To clone the git repository, you will need:

  • git
  • ca-certificates

Start with these system dependencies:

sudo apt-get install git ca-certificates

Downloading from URLsLink

Sometimes the documentation will provide commands with wget to download archives or other types of files, here is the command line to install it if you do not have it:

sudo apt install wget

Creating isolated Python environmentsLink

Important

We recommend using conda to create isolated environments as some packages, like openalea.lpy, are available as conda packages but not from pip and can be tricky to install from sources!

Follow this link to learn how to install miniconda3 & create isolated Python environments with conda.

If you have no idea why you should use isolated Python environments, here is a quote from the official Python documentation:

Quote

venv (for Python 3) and virtualenv (for Python 2) allow you to manage separate package installations for different projects. They essentially allow you to create a "virtual" isolated Python installation and install packages into that virtual installation. When you switch projects, you can simply create a new virtual environment and not have to worry about breaking the packages installed in the other environments. It is always recommended using a virtual environment while developing Python applications.

List of sourcesLink

For the ROMI projects, several libraries have been developed in various languages and made available on GitHub. Here is a list of the important repositories for the plant scanner project:

  • plantdb: the database module is accessible here;
  • plantimager: the scanner interface, and the virtual scanner is accessible here;
  • plant3dvision: the computer vision algorithms to reconstruct the plants is accessible here;
  • romiseg: the ML-based plant segmentation models is accessible here;
  • plant-3d-explorer: the Node JS web viewer for plant scan, reconstruction and quantification is accessible here

Additionally, we also have:

  • romicgal: some CGAL bindings used for skeletonization & meshing is accessible here
  • bldc_featherwing: the controller for BLDC motor on a feather wing is accessible here