Skip to content

Development environment

Jelle Spijker edited this page Jul 15, 2015 · 33 revisions

Development Environment

The software for the VSA is written in C++ on a Desktop computer running Linux 3.19.0-18-generic #. Ubuntu 15.04 is the environment of choice. The prefered IDE is QT Creator Community edition This is an opensource IDE and available for Linux/Windows/Mac. Version control is done via Github the main project page is VisionSoilAnalyzer - project page. The following page all installed packages by Jelle is a good starting reference. The packages below are the absolute minimum needed to start development.

It is advised to make a clone of your harddisk after the development environment setup is complete. Clonezilla is the recommended tool.

Below is a list of used libraries during and their installation instructions, make sure you installed Qt Creator first:

$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libv4l-dev v4l-utils libqt5multimediawidgets5 clang libboost-all-dev cheese cmake-qt-gui

  • OpenCV 3.0 beta
    cd ~/\<my_working _directory\>/
    git clone https://github.com/Itseez/opencv.git
    cd opencv
    mkdir release
    cd release
    cmake-gui
    Select the option WITH_QT and press the configure button. Make sure the correct QT directories are found. If not select them yourself.
    make -jnumber of processors
    sudo make install

    1. cd to the directory containing the package's source code and type ./configure to configure the package for your system.
      Running configure takes awhile. While running, it prints some messages telling which features it is checking for.
    2. Type make to compile the package.
    3. Optionally, type make check to run any self-tests that come with the package.
    4. Type make install to install the programs and any data files and documentation.
    5. You can remove the program binaries and object files from the source code directory by typing make clean. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), type make distclean. There is also a make maintainer-clean target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.

Furthermore it is advised to install the following packages

  • cmake
  • Clang
  • build-essential
  • git
  • doxygen
  • kcachegrind
  • v4l-utils
  • libv4l-dev
  • libgtk2.0-dev
  • pkg-config
  • libavcodec-dev
  • libavformat-dev
  • libswscale-dev
  • python-dev
  • python-numpy
  • libtbb2
  • libtbb-dev
  • libjpeg-dev
  • libpng-dev
  • libtiff-dev
  • libjasper-dev
  • libdc1394-22-dev

Testing and benchmarking

Testing is done using the QT unit test framework resulst are verified against know results. Which are calculated via Matlab, Mathematica or Python. Benchmarks are done using the QT unit test framework and will test multiple solutions. Solutions that are deemed obsolete by the benchmark results will not be removed but be renamed with a _ in front of the functionname _<FunctionName>. Valgrind is used to determine memomory leakages and function profiles. These function profiles will be the guide which determine the priority of functions to be optimized.

Source documention

The detailed Doxygen documentation of the current program and libs can be found source documentation. It consists of detailed graphs, the complete source code and the internal structure of the program. This page is generated using Doxygen. This programs grabs user comments and converts them to source code documentation. Documentation [Rules](Doxygen Rules) are to be followed when writing code

Clone this wiki locally