Skip to content
Snippets Groups Projects
Select Git revision
  • ee6d230655447a9f4e5d90a7978f09f14e4f367a
  • master default protected
  • v3.0.14
3 results

sample_tracker

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    nebw authored
    ee6d2306
    History

    SampleTracker

    This repository showcases how you can implement a new tracking algorithm for BioTracker.

    Just fork this repository and you're ready to go.

    Please note that tracking algorithms are only certain to work with BioTracker if they are compiled with the same compiler using the same C++ standard library.

    Manual setup

    CMake config

    We use CMake in combination with the CPM package manager for our projects.

    Initialization of CPM in CMakeLists.txt

    set(CPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpm_packages" CACHE TYPE STRING)
    find_package(Git)
    if(NOT GIT_FOUND)
      message(FATAL_ERROR "CPM requires Git.")
    endif()
    if (NOT EXISTS ${CPM_DIR}/CPM.cmake)
      message(STATUS "Cloning repo (https://github.com/iauns/cpm)")
      execute_process(
        COMMAND "${GIT_EXECUTABLE}" clone https://github.com/iauns/cpm ${CPM_DIR}
        RESULT_VARIABLE error_code
        OUTPUT_QUIET ERROR_QUIET)
      if(error_code)
        message(FATAL_ERROR "CPM failed to get the hash for HEAD")
      endif()
    endif()
    include(${CPM_DIR}/CPM.cmake)

    Now you can use our shared c++ compilation settings and add the BioTracker Core as a CPM dependency.

    if(NOT DEFINED CMAKECONFIG_PATH)
        CPM_AddModule("cmakeconfig"
            GIT_REPOSITORY "https://github.com/BioroboticsLab/cmakeconfig.git"
            GIT_TAG "master")
    else()
        CPM_AddModule("cmakeconfig"
            SOURCE_DIR "${CMAKECONFIG_PATH}")
    endif()
    
    include_biotracker_core("master")
    
    CPM_Finish()
    
    biorobotics_config()

    Registration

    extern "C" {
        void registerTracker() {
            BioTracker::Core::Registry::getInstance().registerTrackerType<SampleTracker>("SampleTracker");
        }
    }