From dd81ab3520c059eac7a0d83aecc21c9f6c6575d4 Mon Sep 17 00:00:00 2001
From: Dario Lodi Rizzini <dario@maclavellus.ce.unipr.it>
Date: Fri, 29 Apr 2016 09:50:41 +0200
Subject: [PATCH] modified README.md

---
 README.md | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 126 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 883e35a..28b4a17 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,126 @@
-# falkolib
-A library containing keypoint detectors for the stable detection of interest points in laser measurements and two descriptors for robust associations.
+
+* FALKOLib - Fast Adaptive Laser Keypoint Orientation-invariant
+* Copyright (C) 2016 Fabjan Kallasi and Dario Lodi Rizzini.
+
+
+OVERVIEW
+-------------------------------------------------
+
+FALKOLib is a library that implements two keypoint detectors 
+and two descriptors designed for 2D LIDARs.
+The two detectors are:
+- FALKO (Fast Adaptive Laser Keypoint Orientation-invariant), a 
+  general purpose keypoint detector which gives the name to 
+  the whole library;
+- OC (Orthogonal Corner), a keypoint specific for enviroments 
+  with straight linear walls and architectural elements 
+  arranged along orthogonal directions.
+The two descriptors are:
+- BSC (Binary Shape Context), a binary version of standard 
+  shape context descriptor;
+- CGH (Cumulative Gaussian Histogram), which represents the 
+  neighborhood of a point with an histogram.
+
+Moreover, the library provides the implementation of methods 
+for keypoint/feature data association. 
+In particular, the following methods have been implemented:
+- NN (Nearest Neighbor): each keypoint/feature of one set 
+  are associated to the nearest keypoint/features of another set;
+- CCDA (Combined Constraint Data Association): features are 
+  associated by finding the maximal sets of corresponding
+  feature pairs, which are compatible with constraints to 
+  a set;
+- AHT (Affine Hough Transform): the corresponding features
+  are found by voting the affine/rigid transformation 
+  that overlaps them according to Hough technique.
+
+If you use this library, please cite the following paper: 
+
+F. Kallasi, D. Lodi Rizzini, and S. Caselli. 
+Fast Keypoint Features from Laser Scanner for Robot Localization and Mapping. 
+IEEE Robotics and Automation Letters (RA-L), 1(1):176-183, jan 2016. 
+DOI 10.1109/LRA.2016.2517210
+
+or the most relevant publication associated by visiting: 
+http://rimlab.ce.unipr.it/FALKOLib.html
+
+
+DEPENDENCIES
+-------------------------------------------------
+
+The software depends on the following external libraries
+
+Boost >= 1.36 (submodule lexical_cast)
+Eigen 3.0 
+
+The library also requires the third party library mcqd
+developed by Janez Konc (see http://www.sicmm.org/konc/), 
+which has been included in folder EXTERNAL.
+
+
+HOW TO COMPILE
+-------------------------------------------------
+
+Let ${falkolib_ROOT} be the install directory of your local copy 
+of library falkolib. 
+The following standard commands are required to compile it:
+
+  cd ${falkolib_ROOT}
+  mkdir build
+  cd build
+  cmake ..
+  make
+
+You can also install the library into a system directory. 
+To change the install directory you must set cmake environment
+variable ${CMAKE_INSTALL_PREFIX} (e.g. using command "ccmake .."
+before calling "cmake .."). 
+Its default value on UNIX-like/Linux systems is "/usr/local".
+After compiling library falkolib, run the command:
+
+  sudo make install
+
+The command "sudo" is required only if ${CMAKE_INSTALL_PREFIX} 
+is a system diretory managed by administrator user root.
+Such command copies:
+- header files of ${falkolib_ROOT}/include/falkolib to
+   ${CMAKE_INSTALL_PREFIX}/include/falkolib/
+- library files ${falkolib_ROOT}/lib/libfalkolib.a to
+   ${CMAKE_INSTALL_PREFIX}/lib/
+- cmake script ${falkolib_ROOT}/cmake_modules/falkolibConfig.cmake to
+   ${CMAKE_INSTALL_PREFIX}/share/falkolib/
+
+
+HOW TO USE LIBRARY falkolib IN YOUR PROJECT
+-------------------------------------------------
+
+If library falkolib has been installed in system directory "/usr/local",
+then it is straighforward to use it in your projects.
+You needs to add the following lines to your project as in this example:
+
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+PROJECT(foobar)
+
+find_package(falkolib REQUIRED)  
+message(STATUS "falkolib_FOUND ${falkolib_FOUND}")
+message(STATUS "falkolib_INCLUDE_DIRS ${falkolib_INCLUDE_DIRS}")
+message(STATUS "falkolib_LIBRARY_DIRS ${falkolib_LIBRARY_DIRS}")
+message(STATUS "falkolib_LIBRARIES ${falkolib_LIBRARIES}")
+
+if(${falkolib_FOUND}) 
+  include_directories(${falkolib_INCLUDE_DIRS})
+  link_directories(${falkolib_LIBRARY_DIRS})
+endif()
+
+add_executable(foobar foobar.cpp)
+target_link_libraries(foobar ${falkolib_LIBRARIES})
+
+The above example uses the variables defined in falkolibConfig.cmake:
+
+  falkolib_FOUND - system has falkolib module
+  falkolib_INCLUDE_DIRS - the falkolib include directories
+  falkolib_LIBRARY_DIRS - the falkolib library directories
+  falkolib_LIBRARIES - link these to use falkolib
+
+
-- 
GitLab