├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── camrig.jpg ├── cmake ├── FindEigen3.cmake ├── FindOpenCV.cmake ├── FindmvIMPACT.cmake ├── cook_lcmtypes.cmake ├── iraps.cmake ├── libhandler.cmake ├── libhandler_boost.cmake ├── libhandler_eigen3.cmake ├── libhandler_glib.cmake ├── libhandler_lcm.cmake ├── libhandler_mvimpact.cmake ├── libhandler_opencv.cmake └── pods.cmake ├── config ├── README ├── bluefox-stereo.json ├── bluefox2-1931.json ├── bluefox2-2109.json └── bluefox2-2122.json ├── data ├── 0908.csv ├── 090823a.csv ├── 090823b.csv ├── 090823c.csv ├── 090823d.csv ├── 090823e.csv ├── 090823f.csv ├── 090823g.csv ├── 0908a.csv ├── 0908b.csv ├── 0908c.csv ├── 0909.csv ├── 110_1.png ├── 110_13.png ├── 110_20.png ├── 110_7.png ├── 110_7_12.png ├── 2.png ├── 20170908.dat ├── 3.png ├── 4.png ├── 5.png ├── 86_1.png ├── 86_13.png ├── 86_20.png ├── 86_7.png ├── 86_7_12.png ├── crf_fitting │ ├── 1.png │ ├── 13.png │ ├── 25.png │ └── 39.png ├── exp_gain.csv ├── exp_gain2.csv ├── exp_gain_table.csv ├── exp_gain_table_index1.csv ├── exp_gain_table_index2.csv ├── exp_gain_table_index3.csv ├── indoor_sample │ ├── 1.png │ ├── 18.png │ ├── 28.png │ ├── 38.png │ └── crf.csv ├── outdoor_sample │ ├── 1.png │ ├── 15.png │ ├── 70.png │ ├── 90.png │ ├── crf.csv │ └── times.txt └── sample.png ├── lcmdefs ├── PACKAGES.cmake └── bot_core │ ├── bot_core_image_sync_t.lcm │ └── bot_core_image_t.lcm ├── matlab ├── controller │ ├── arxiv │ │ ├── exp_gain_controller_old.m │ │ ├── gpgo.m │ │ ├── gpgo_fixed_control.m │ │ ├── gpgo_for_figures.m │ │ ├── gpgo_inner.m │ │ └── gpgo_normalize.m │ ├── exp_gain_controller.m │ ├── gp_expo_gain_controller.m │ └── gpgo_hyperparam_optim.m ├── data │ ├── gp_hyperparam_tuning │ │ ├── 2pm_310.csv │ │ ├── 2pm_380.csv │ │ ├── 2pm_750.csv │ │ ├── 4pm_110.csv │ │ ├── 4pm_260.csv │ │ ├── 4pm_458.csv │ │ ├── 4pm_86.csv │ │ ├── 5pm_19.csv │ │ ├── 5pm_372.csv │ │ ├── 5pm_43.csv │ │ ├── 6pm_0.csv │ │ ├── 6pm_152.csv │ │ ├── 6pm_18.csv │ │ ├── 6pm_344.csv │ │ ├── 7pm_137.csv │ │ ├── 7pm_18.csv │ │ ├── 7pm_213.csv │ │ ├── 7pm_358.csv │ │ ├── data_checker.m │ │ └── figs │ │ │ ├── 3d0.pdf │ │ │ ├── 3d110.pdf │ │ │ ├── 3d137.pdf │ │ │ ├── 3d152.pdf │ │ │ ├── 3d18.pdf │ │ │ ├── 3d19.pdf │ │ │ ├── 3d213.pdf │ │ │ ├── 3d260.pdf │ │ │ ├── 3d310.pdf │ │ │ ├── 3d344.pdf │ │ │ ├── 3d358.pdf │ │ │ ├── 3d372.pdf │ │ │ ├── 3d380.pdf │ │ │ ├── 3d43.pdf │ │ │ ├── 3d458.pdf │ │ │ ├── 3d750.pdf │ │ │ ├── 3d7_18.pdf │ │ │ ├── 3d86.pdf │ │ │ ├── et0.pdf │ │ │ ├── et110.pdf │ │ │ ├── et137.pdf │ │ │ ├── et152.pdf │ │ │ ├── et18.pdf │ │ │ ├── et19.pdf │ │ │ ├── et213.pdf │ │ │ ├── et260.pdf │ │ │ ├── et310.pdf │ │ │ ├── et344.pdf │ │ │ ├── et358.pdf │ │ │ ├── et372.pdf │ │ │ ├── et380.pdf │ │ │ ├── et43.pdf │ │ │ ├── et458.pdf │ │ │ ├── et750.pdf │ │ │ ├── et7_18.pdf │ │ │ ├── et86.pdf │ │ │ ├── gain0.pdf │ │ │ ├── gain110.pdf │ │ │ ├── gain137.pdf │ │ │ ├── gain152.pdf │ │ │ ├── gain18.pdf │ │ │ ├── gain19.pdf │ │ │ ├── gain213.pdf │ │ │ ├── gain260.pdf │ │ │ ├── gain310pdf.pdf │ │ │ ├── gain344.pdf │ │ │ ├── gain358.pdf │ │ │ ├── gain372.pdf │ │ │ ├── gain380pdf.pdf │ │ │ ├── gain43.pdf │ │ │ ├── gain458.pdf │ │ │ ├── gain750pdf.pdf │ │ │ ├── gain7_18.pdf │ │ │ └── gain86.pdf │ ├── indoor_sample │ │ ├── 1.png │ │ ├── 18.png │ │ ├── 28.png │ │ ├── 38.png │ │ └── crf.csv │ └── outdoor_sample │ │ ├── 1.png │ │ ├── 15.png │ │ ├── 70.png │ │ ├── 90.png │ │ └── crf.csv ├── fcns_gp │ ├── gp_cov_fcns.m │ ├── gp_cov_init.m │ ├── gp_cov_init_normalize.m │ ├── gp_cov_k_EXP.m │ ├── gp_cov_k_GEXP.m │ ├── gp_cov_k_MATERN.m │ ├── gp_cov_k_MEL.m │ ├── gp_cov_k_NN.m │ ├── gp_cov_k_POLY.m │ ├── gp_cov_k_RQ.m │ ├── gp_cov_k_SE.m │ ├── gp_cov_k_noise.m │ ├── gp_predict.m │ ├── gp_train.m │ ├── gpmi_optim.m │ ├── log_prob_k_EXP.m │ ├── log_prob_k_GEXP.m │ ├── log_prob_k_MATERN.m │ ├── log_prob_k_MEL.m │ ├── log_prob_k_NN.m │ ├── log_prob_k_POLY.m │ ├── log_prob_k_RQ.m │ ├── log_prob_k_SE.m │ └── sort_nat.m ├── fcns_img │ ├── calc_img_newg.m │ ├── calc_img_snr.m │ ├── extract_img_metric.m │ ├── gsolve.m │ ├── hat_weight_func.m │ ├── hdr_curve_fitting.m │ ├── img_synth.m │ ├── img_synth_factor_exp.m │ └── img_synth_factor_gain.m └── synthetic │ ├── calc_img_newg.m │ ├── calc_img_snr.m │ ├── extract_img_metric.m │ ├── gsolve.m │ ├── hat_weight_func.m │ ├── hdr_curve_fitting.m │ ├── img_synth.m │ ├── img_synth_factor_exp.m │ ├── img_synth_factor_gain.m │ └── run_synth_gen.m ├── src ├── CMakeLists.txt ├── crf_fitting │ ├── CMakeLists.txt │ └── crf_fitting.cpp ├── data_collector │ ├── CMakeLists.txt │ ├── Parser.cpp │ ├── Parser.h │ ├── main.cpp │ ├── param_util.cpp │ └── param_util.h ├── exp_ctrl │ ├── CMakeLists.txt │ ├── Parser.cpp │ ├── Parser.h │ ├── main.cpp │ ├── param_util.cpp │ └── param_util.h ├── irp_gpgo++ │ ├── CMakeLists.txt │ ├── config.h │ ├── gp_optimize.cpp │ ├── gp_optimize.h │ ├── kernelfunction.cpp │ ├── kernelfunction.h │ └── main.cpp ├── irp_imgeval++ │ ├── CMakeLists.txt │ ├── img_eval.cpp │ └── img_eval.h ├── synthetic ├── testers │ ├── CMakeLists.txt │ ├── exp_ctrl_1step │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ ├── param_util.cpp │ │ └── param_util.h │ ├── gp_exp_tester │ │ ├── 0908.csv │ │ ├── 37datar.csv │ │ ├── 38datar.csv │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── gp_gain_tester │ │ ├── 2pm_310.csv │ │ ├── CMakeLists.txt │ │ └── main.cpp │ ├── img_evaluator │ │ ├── CMakeLists.txt │ │ └── main.cpp │ └── img_synthesizer │ │ ├── CMakeLists.txt │ │ └── main.cpp └── third-party │ ├── BotUtil │ ├── BotUtils.h │ ├── CMakeLists.txt │ ├── ImageConversion.cpp │ ├── ImageConversion.h │ ├── TimeStamp.cpp │ └── TimeStamp.h │ ├── CMakeLists.txt │ ├── bluefox_driver │ ├── Bluefox2Config.cpp │ ├── Bluefox2Config.h │ ├── CMakeLists.txt │ ├── bluefox2.cpp │ ├── bluefox2.h │ ├── bluefox2_enumerator.h │ ├── bluefox2_setting.cpp │ └── bluefox2_setting.h │ └── irp-common │ ├── CMakeLists.txt │ ├── timestamp.c │ └── timestamp.h └── third-party ├── install_mvBlueFOX.sh ├── lcm-1.4.0.zip └── mvBlueFOX-x86_64_ABI2-2.18.1.tgz /.gitignore: -------------------------------------------------------------------------------- 1 | CMakeLists.txt.user 2 | build 3 | config/master.json 4 | *~ 5 | third-party/lcm-1.4.0/ 6 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | # CMAKE TWEAKS 4 | #======================================================================== 5 | cmake_minimum_required (VERSION 2.8) 6 | cmake_policy (VERSION 2.8) 7 | #cmake_policy (SET CMP0054 OLD) 8 | cmake_policy (SET CMP0002 OLD) 9 | 10 | set (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) 11 | set (FIND_LIBRARY_USE_LIB64_PATHS 1) 12 | if (NOT CMAKE_BUILD_TYPE) 13 | set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING 14 | "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." 15 | FORCE) 16 | endif () 17 | 18 | # INCLUDE LOCAL MODULES 19 | #======================================================================== 20 | set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "cmake") 21 | file (GLOB MODULES "${CMAKE_MODULE_PATH}/*.cmake") 22 | foreach (MODULE ${MODULES}) 23 | include (${MODULE}) 24 | endforeach () 25 | 26 | find_package(PkgConfig REQUIRED) 27 | 28 | # CONFIGURE C/C++ 29 | #======================================================================== 30 | set (CMAKE_C_CXX_COMMON_FLAGS "-Wall -Wfloat-equal -Wundef -Wno-strict-aliasing -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-macros -Wno-unknown-pragmas") 31 | set (CMAKE_C_FLAGS "-u MAIN__ -std=gnu99 -fopenmp ${CMAKE_C_CXX_COMMON_FLAGS}") 32 | set (CMAKE_CXX_FLAGS "-u MAIN__ -std=gnu++11 -fopenmp -msse4.1 ${CMAKE_C_CXX_COMMON_FLAGS}") 33 | 34 | 35 | # CONFIG FILES 36 | #======================================================================== 37 | set (CONFIG_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/config) 38 | 39 | add_custom_target (config ALL 40 | COMMAND mkdir -p ${CMAKE_SOURCE_DIR}/build/share 41 | COMMAND ln -sf ${CONFIG_SOURCE_PATH} ${CMAKE_SOURCE_DIR}/build/share/. 42 | ) 43 | 44 | install (DIRECTORY ${CONFIG_SOURCE_PATH} 45 | DESTINATION ${CMAKE_SOURCE_DIR}/build/share/. 46 | FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE WORLD_READ WORLD_WRITE 47 | DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE 48 | PATTERN ".svn" EXCLUDE 49 | ) 50 | 51 | set(CMAKE_EXPORT_COMPILE_COMMANDS "ON") 52 | set(CMAKE_GENERATOR "Unix Makefiles" CACHE INTERNAL "" FORCE) 53 | set(CMAKE_EXTRA_GENERATOR "Sublime Text 2" CACHE INTERNAL "" FORCE) 54 | 55 | 56 | # Gen and cook lcmtypes 57 | #======================================================================== 58 | include(${PROJECT_SOURCE_DIR}/lcmdefs/PACKAGES.cmake) 59 | lcmtypes_build() 60 | 61 | # INCLUDE COMMON LIBRARIES 62 | #======================================================================== 63 | include_directories(${PROJECT_SOURCE_DIR}/src/) 64 | 65 | 66 | 67 | # OUTPUT DIRECTORIES 68 | #======================================================================== 69 | # set where files should be output locally 70 | set (LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) 71 | if (NOT IS_DIRECTORY ${LIBRARY_OUTPUT_PATH}) 72 | file (MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}) 73 | endif () 74 | 75 | set (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 76 | if (NOT IS_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) 77 | file (MAKE_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) 78 | endif () 79 | 80 | 81 | # INCLUDE SRC 82 | #======================================================================== 83 | add_subdirectory(src) 84 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | To be updated. 2 | -------------------------------------------------------------------------------- /camrig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/camrig.jpg -------------------------------------------------------------------------------- /cmake/FindEigen3.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find Eigen3 lib 2 | # 3 | # This module supports requiring a minimum version, e.g. you can do 4 | # find_package(Eigen3 3.1.2) 5 | # to require version 3.1.2 or newer of Eigen3. 6 | # 7 | # Once done this will define 8 | # 9 | # EIGEN3_FOUND - system has eigen lib with correct version 10 | # EIGEN3_INCLUDE_DIR - the eigen include directory 11 | # EIGEN3_VERSION - eigen version 12 | 13 | # Copyright (c) 2006, 2007 Montel Laurent, 14 | # Copyright (c) 2008, 2009 Gael Guennebaud, 15 | # Copyright (c) 2009 Benoit Jacob 16 | # Redistribution and use is allowed according to the terms of the 2-clause BSD license. 17 | 18 | if(NOT Eigen3_FIND_VERSION) 19 | if(NOT Eigen3_FIND_VERSION_MAJOR) 20 | set(Eigen3_FIND_VERSION_MAJOR 2) 21 | endif(NOT Eigen3_FIND_VERSION_MAJOR) 22 | if(NOT Eigen3_FIND_VERSION_MINOR) 23 | set(Eigen3_FIND_VERSION_MINOR 91) 24 | endif(NOT Eigen3_FIND_VERSION_MINOR) 25 | if(NOT Eigen3_FIND_VERSION_PATCH) 26 | set(Eigen3_FIND_VERSION_PATCH 0) 27 | endif(NOT Eigen3_FIND_VERSION_PATCH) 28 | 29 | set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") 30 | endif(NOT Eigen3_FIND_VERSION) 31 | 32 | macro(_eigen3_check_version) 33 | file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) 34 | 35 | string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") 36 | set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") 37 | string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") 38 | set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") 39 | string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") 40 | set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") 41 | 42 | set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) 43 | if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) 44 | set(EIGEN3_VERSION_OK FALSE) 45 | else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) 46 | set(EIGEN3_VERSION_OK TRUE) 47 | endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) 48 | 49 | if(NOT EIGEN3_VERSION_OK) 50 | 51 | message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " 52 | "but at least version ${Eigen3_FIND_VERSION} is required") 53 | endif(NOT EIGEN3_VERSION_OK) 54 | endmacro(_eigen3_check_version) 55 | 56 | if (EIGEN3_INCLUDE_DIR) 57 | 58 | # in cache already 59 | _eigen3_check_version() 60 | set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) 61 | 62 | else (EIGEN3_INCLUDE_DIR) 63 | 64 | # specific additional paths for some OS 65 | if (WIN32) 66 | set(EIGEN_ADDITIONAL_SEARCH_PATHS ${EIGEN_ADDITIONAL_SEARCH_PATHS} "C:/Program Files/Eigen/include" "C:/Program Files (x86)/Eigen/include") 67 | endif(WIN32) 68 | 69 | find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library 70 | PATHS 71 | ${CMAKE_INSTALL_PREFIX}/include 72 | ${EIGEN_ADDITIONAL_SEARCH_PATHS} 73 | ${KDE4_INCLUDE_DIR} 74 | PATH_SUFFIXES eigen3 eigen 75 | ) 76 | 77 | if(EIGEN3_INCLUDE_DIR) 78 | _eigen3_check_version() 79 | endif(EIGEN3_INCLUDE_DIR) 80 | 81 | include(FindPackageHandleStandardArgs) 82 | find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) 83 | 84 | mark_as_advanced(EIGEN3_INCLUDE_DIR) 85 | 86 | endif(EIGEN3_INCLUDE_DIR) 87 | 88 | -------------------------------------------------------------------------------- /cmake/libhandler_boost.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_boost) 2 | 3 | set (Boost_USE_STATIC_LIBS ON) 4 | set (Boost_USE_MULTITHREADED ON) 5 | set (Boost_USE_STATIC_RUNTIME OFF) 6 | set (Boost_DETAILED_FAILURE_MSG ON) 7 | 8 | foreach (arg ${ARGN}) 9 | if ("${arg}" MATCHES "COMPONENTS") 10 | # continue 11 | else () # pass to find_library() 12 | if (COMPONENTS) 13 | set (COMPONENTS "${COMPONENTS} ${arg}") 14 | set (DEB_PACKAGES "${DEB_PACKAGES} libboost-${arg}-dev") # debian package name formatting assumes 15 | # that programmer passed component name correctly 16 | else () 17 | set (COMPONENTS "${arg}") 18 | set (DEB_PACKAGES "libboost-${arg}-dev") 19 | endif () 20 | endif () 21 | endforeach () 22 | 23 | if (COMPONENTS) 24 | string (REPLACE "_" "-" DEB_PACKAGES ${DEB_PACKAGES}) 25 | libhandler_find_package (Boost "on ubuntu `sudo apt-get install libboost-dev ${DEB_PACKAGES}`" ${ARGN}) 26 | else () 27 | libhandler_find_package (Boost "on ubuntu `sudo apt-get install libboost-dev`" ${ARGN}) 28 | endif () 29 | 30 | if (Boost_FOUND) 31 | include_directories (${Boost_INCLUDE_DIRS}) 32 | set (IRPLIB_BOOST ${Boost_LIBRARIES}) 33 | mark_as_advanced (Boost_DIR) 34 | endif () 35 | endmacro () 36 | -------------------------------------------------------------------------------- /cmake/libhandler_eigen3.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_eigen3) 2 | libhandler_find_package (Eigen3 "on ubuntu `sudo apt-get install libeigen3-dev`" ${ARGN}) 3 | if (EIGEN3_FOUND) 4 | set (IRPLIB_EIGEN3) 5 | include_directories (${EIGEN3_INCLUDE_DIR}) 6 | 7 | if (CMAKE_CXX_FLAGS) 8 | set (CMAKE_CXX_FLAGS_ORIG ${CMAKE_CXX_FLAGS}) 9 | string (REPLACE "-Wfloat-equal" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 10 | if (NOT CMAKE_CXX_FLAGS STREQUAL CMAKE_CXX_FLAGS_ORIG) 11 | message (STATUS "libhandler_eigen3: Stripping -Wfloat-equal from CMAKE_CXX_FLAGS ${CMAKE_CURRENT_SOURCE_DIR}") 12 | endif () 13 | endif () 14 | 15 | if (NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND NOT CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") 16 | libhandler_warning ("For maximum performance, compile exe's linking against Eigen3 with Release or RelWithDebInfo. Current CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}") 17 | endif () 18 | endif () 19 | endmacro () 20 | -------------------------------------------------------------------------------- /cmake/libhandler_glib.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_glib) 2 | # note, not using libhandler_find_package() here, b/c we are only 3 | # checking for the GLIB *subset* of the GTK package 4 | if (NOT GTK2_GLIB_LIBRARY) 5 | find_package (GTK2) 6 | endif () 7 | 8 | if (GTK2_GLIB_LIBRARY) 9 | include_directories (${GTK2_GLIB_INCLUDE_DIR} ${GTK2_GLIBCONFIG_INCLUDE_DIR}) 10 | set (GLIB_FOUND TRUE) 11 | set (IRPLIB_GLIB ${GTK2_GLIB_LIBRARY}) 12 | else () 13 | libhandler_error ("on ubuntu `sudo apt-get install libglib2.0-dev`") 14 | endif () 15 | endmacro () 16 | -------------------------------------------------------------------------------- /cmake/libhandler_lcm.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_lcm) 2 | libhandler_find_library (lcm "did you build lcm in third-party?" ${ARGN}) 3 | if (LCM_FOUND) 4 | set (IRPLIB_LCM ${LCM_LIBRARIES}) 5 | endif () 6 | endmacro () 7 | -------------------------------------------------------------------------------- /cmake/libhandler_mvimpact.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_mvimpact) 2 | libhandler_find_library (mvIMPACT "Did you install mvIMPACT?") 3 | if (mvIMPACT_FOUND) 4 | include_directories (${mvIMPACT_INCLUDE_DIRS}) 5 | set (IRPLIB_MVIMPT ${mvIMPACT_LIBRARIES}) 6 | endif () 7 | endmacro () 8 | -------------------------------------------------------------------------------- /cmake/libhandler_opencv.cmake: -------------------------------------------------------------------------------- 1 | macro (libhandler_opencv) 2 | libhandler_find_package (OpenCV " 3 | on ubuntu <12.04 `sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev` 4 | on ubuntu >=12.04 `sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev libopencv-dev`" ${ARGN}) 5 | if (OpenCV_FOUND) 6 | include (${OpenCV_CMAKE_INCLUDE}) 7 | include_directories (${OpenCV_INCLUDE_DIR}) 8 | set (IRPLIB_OPENCV ${OpenCV_LIBS}) 9 | #message ("version ${OpenCV_VERSION_MAJOR}${OpenCV_VERSION_MINOR}${OpenCV_VERSION_PATCH}") 10 | add_definitions ("-D OpenCV_VERSION=${OpenCV_VERSION_MAJOR}${OpenCV_VERSION_MINOR}${OpenCV_VERSION_PATCH}") 11 | 12 | # for many case we use cuda with opencv 13 | libhandler_find_library (cuda "opencv exclude cuda library" ${ARGN} OPTIONAL) 14 | if (CUDA_FOUND) 15 | set (IRPLIB_OPENCV ${OpenCV_LIBS} ${CUDA_LIBRARIES}) 16 | endif () 17 | 18 | endif () 19 | 20 | endmacro () 21 | -------------------------------------------------------------------------------- /config/README: -------------------------------------------------------------------------------- 1 | ln -s master.json 2 | -------------------------------------------------------------------------------- /config/bluefox2-1931.json: -------------------------------------------------------------------------------- 1 | { 2 | "camera": 3 | { 4 | "serial":"25001931", 5 | "config": 6 | { 7 | "width": 752, 8 | "height": 480, 9 | "idpf": "ibpfBGR888Packed", 10 | "idpf2": "ibpfMono16", 11 | "cbm": "cbmOff", 12 | "agc": false, 13 | "gain_db": 0.0, 14 | "aec": true, 15 | "expose_us": 1000, 16 | "acs": "acs_unavailable", 17 | "des_gray_val": 85, 18 | "wbp": "wbp_user1", 19 | "wbp2": "wbp_unavailable", 20 | "r_gain": 1.175, 21 | "g_gain": 1.0, 22 | "b_gain": 1.5, 23 | "hdr": false, 24 | "dcfm": "dcfm_off", 25 | "cpc": "cpc_40000", 26 | "ctm": "ctm_on_high_level", 27 | "cts": "cts_RTCtrl", 28 | "request": 1, 29 | "cem": "cemOverlapped", 30 | "cticme": true, 31 | "cticmm": "cticmmBlueFOX_x00wC_WPPLS", 32 | "cte":true, 33 | "ctocme": true, 34 | "ctocmm": "ctocmmXYZTosRGB_D50", 35 | "lute": true, 36 | "lutmode": "LUTmGamma", 37 | "lutimpl": "LUTiSoftware", 38 | "lutmapping": "LUTm8To8", 39 | "cfm": "cfmDigout0", 40 | "cft": "cftStandard", 41 | "ctr": 42 | { 43 | "row0":[1.0,0.0,0.0], 44 | "row1":[0.0,1.0,0.0], 45 | "row2":[0.0,0.0,1.0] 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /config/bluefox2-2109.json: -------------------------------------------------------------------------------- 1 | { 2 | "camera": 3 | { 4 | "serial":"25002109" , 5 | "config": 6 | { 7 | "width": 752, 8 | "height": 480, 9 | "idpf": "ibpfBGR888Packed", 10 | "idpf2": "ibpfMono8", 11 | "cbm": "cbmOff", 12 | "agc": false, 13 | "gain_db": 0.0, 14 | "aec": false, 15 | "expose_us": 700, 16 | "acs": "acs_unavailable", 17 | "des_gray_val": 85, 18 | "wbp": "wbp_user1", 19 | "wbp2": "wbp_unavailable", 20 | "r_gain": 1.175, 21 | "g_gain": 1.0, 22 | "b_gain": 1.5, 23 | "hdr": false, 24 | "dcfm": "dcfm_off", 25 | "cpc": "cpc_40000", 26 | "ctm": "ctm_on_dement", 27 | "cts": "cts_unavailable", 28 | "request": 1, 29 | "cem": "cemOverlapped", 30 | "cticme": true, 31 | "cticmm": "cticmmBlueFOX_x00wC_WPPLS", 32 | "cte":true, 33 | "ctocme": true, 34 | "ctocmm": "ctocmmXYZTosRGB_D50", 35 | "lute": true, 36 | "lutmode": "LUTmGamma", 37 | "lutimpl": "LUTiSoftware", 38 | "lutmapping": "LUTm8To8", 39 | "cfm": "cfmDigout0", 40 | "cft": "cftStandard", 41 | "ctr": 42 | { 43 | "row0":[1.0,0.0,0.0], 44 | "row1":[0.0,1.0,0.0], 45 | "row2":[0.0,0.0,1.0] 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /config/bluefox2-2122.json: -------------------------------------------------------------------------------- 1 | { 2 | "camera": 3 | { 4 | "serial":"25002122" , 5 | "config": 6 | { 7 | "width": 752, 8 | "height": 480, 9 | "idpf": "ibpfBGR888Packed", 10 | "idpf2": "ibpfMono8", 11 | "cbm": "cbmOff", 12 | "agc": false, 13 | "gain_db": 0.0, 14 | "aec": false, 15 | "expose_us": 5000, 16 | "acs": "acs_unavailable", 17 | "des_gray_val": 85, 18 | "wbp": "wbp_user1", 19 | "wbp2": "wbp_unavailable", 20 | "r_gain": 1.175, 21 | "g_gain": 1.0, 22 | "b_gain": 1.5, 23 | "hdr": false, 24 | "dcfm": "dcfm_off", 25 | "cpc": "cpc_40000", 26 | "ctm": "ctm_on_dement", 27 | "cts": "cts_unavailable", 28 | "request": 1, 29 | "cem": "cemOverlapped", 30 | "cticme": true, 31 | "cticmm": "cticmmBlueFOX_x00wC_WPPLS", 32 | "cte":true, 33 | "ctocme": true, 34 | "ctocmm": "ctocmmXYZTosRGB_D50", 35 | "lute": true, 36 | "lutmode": "LUTmGamma", 37 | "lutimpl": "LUTiSoftware", 38 | "lutmapping": "LUTm8To8", 39 | "cfm": "cfmDigout0", 40 | "cft": "cftStandard", 41 | "ctr": 42 | { 43 | "row0":[1.0,0.0,0.0], 44 | "row1":[0.0,1.0,0.0], 45 | "row2":[0.0,0.0,1.0] 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /data/0908.csv: -------------------------------------------------------------------------------- 1 | 500,759.914 2 | 550,1053.52 3 | 600,1585.6 4 | 650,1712.6 5 | 700,1780.53 6 | 750,1808.84 7 | 800,1860.47 8 | 850,1872.74 9 | 900,1897.6 10 | 950,1906.4 11 | 1000,1928.9 12 | 1050,1932.61 13 | 1100,1944.43 14 | 1150,1957.69 15 | 1200,1985.27 16 | 1250,1996.47 17 | 1300,2033.49 18 | 1350,2054.39 19 | 1400,2005.93 20 | 1450,2047.98 21 | 1500,2066.03 22 | 1550,2107.22 23 | 1600,2128.19 24 | 1650,2158.88 25 | 1700,2172.24 26 | 1750,2213.09 27 | 1800,2238.23 28 | 1850,2276.22 29 | 1900,2294.26 30 | 1950,2334.33 31 | 2000,2368.79 32 | 2050,2385.02 33 | 2100,2415.05 34 | 2150,2437.95 35 | 2200,2469.46 36 | 2250,2483 37 | 2300,2520.57 38 | 2350,2534.03 39 | 2400,2566.76 40 | 2450,2583.09 41 | 2500,2611.89 42 | 2550,2622.55 43 | 2600,2654.34 44 | 2650,2670.83 45 | 2700,2680.29 46 | 2750,2706.67 47 | 2800,2706.1 48 | 2850,2739.68 49 | 2900,2742.31 50 | 2950,2752.03 51 | 3000,2758.26 52 | 3050,2777.33 53 | 3100,2783.28 54 | 3150,2794.93 55 | 3200,2803.05 56 | 3250,2807.57 57 | 3300,2815.28 58 | 3350,2819.89 59 | 3400,2825.29 60 | 3450,2826.91 61 | 3500,2834.92 62 | 3550,2768.05 63 | 3600,2770.74 64 | 3650,2769.31 65 | 3700,2761.15 66 | 3750,2755.53 67 | 3800,2753.02 68 | 3850,2749.96 69 | 3900,2748.2 70 | 3950,2741.58 71 | 4000,2744.27 72 | 4050,2734.2 73 | 4100,2728.47 74 | 4150,2717.71 75 | 4200,2711.73 76 | 4250,2700.53 77 | 4300,2693.58 78 | 4350,2673.52 79 | 4400,2669.04 80 | 4450,2654.36 81 | 4500,2636.91 82 | 4550,2630.93 83 | 4600,2621.03 84 | 4650,2611.63 85 | 4700,2589.35 86 | 4750,2583.83 87 | 4800,2560.86 88 | 4850,2553.01 89 | 4900,2523.87 90 | 4950,2516.69 91 | 5000,2499.88 92 | 5050,2482.67 93 | 5100,2453.98 94 | 5150,2434.99 95 | 5200,2422.71 96 | 5250,2396.05 97 | 5300,2389.93 98 | 5350,2361.83 99 | 5400,2346.16 100 | 5450,2330.23 101 | 5500,2319.33 102 | 5550,2298.6 103 | 5600,2287.45 104 | 5650,2276.69 105 | 5700,2267.98 106 | 5750,2259.93 107 | 5800,2243.76 108 | 5850,2240.5 109 | 5900,2228.68 110 | 5950,2225.7 111 | 6000,2212.43 112 | 6050,2206.15 113 | 6100,2197.49 114 | 6150,2188.97 115 | 6200,2175.12 116 | 6250,2166.47 117 | 6300,2157.09 118 | 6350,2145.01 119 | 6400,2146.97 120 | 6450,2132.74 121 | 6500,2129.87 122 | 6550,2114.92 123 | 6600,2105.23 124 | 6650,2095.26 125 | 6700,2092.64 126 | 6750,2081.12 127 | 6800,2073.88 128 | 6850,2065.78 129 | 6900,2055.76 130 | 6950,2046.63 131 | 7000,2039.36 132 | 7050,2038.01 133 | 7100,2024.57 134 | 7150,2022.43 135 | 7200,2013.43 136 | 7250,2005.72 137 | 7300,1995.92 138 | 7350,1955.83 139 | 7400,1950.5 140 | 7450,1944.04 141 | 7500,1932.23 142 | 7550,1928.9 143 | 7600,1919.86 144 | 7650,1910.58 145 | 7700,1905.83 146 | 7750,1898.97 147 | 7800,1897.73 148 | 7850,1879.97 149 | 7900,1874.5 150 | 7950,1868.39 151 | 8000,1866.09 152 | 8050,1856.86 153 | 8100,1854.87 154 | 8150,1843.58 155 | 8200,1836.56 156 | 8250,1839.4 157 | 8300,1830.1 158 | 8350,1819.98 159 | 8400,1816.86 160 | 8450,1814.53 161 | 8500,1808.71 162 | 8550,1803.98 163 | 8600,1793.81 164 | 8650,1794.95 165 | 8700,1793.22 166 | 8750,1794.22 167 | 8800,1791.99 168 | 8850,1793.22 169 | 8900,1787.76 170 | 8950,1785.91 171 | 9000,1782.57 172 | 9050,1782.55 173 | 9100,1776.95 174 | 9150,1778.31 175 | 9200,1779.04 176 | 9250,1770.42 177 | 9300,1772 178 | 9350,1774.11 179 | 9400,1772.84 180 | 9450,1768.09 181 | 9500,1766.03 182 | 9550,1769.71 183 | 9600,1765.01 184 | 9650,1769.4 185 | 9700,1770.66 186 | 9750,1769.28 187 | 9800,1768.87 188 | 9850,1767.49 189 | 9900,1767.58 190 | 9950,1768.67 191 | -------------------------------------------------------------------------------- /data/0908a.csv: -------------------------------------------------------------------------------- 1 | 500,1478.6 2 | 550,1738.14 3 | 600,1149.7 4 | 650,1277.49 5 | 700,1359.13 6 | 750,1407.24 7 | 800,1513.24 8 | 850,1557.42 9 | 900,1566.55 10 | 950,1600.29 11 | 1000,1664.06 12 | 1050,1679.32 13 | 1100,1711.84 14 | 1150,1719.19 15 | 1200,1736.1 16 | 1250,1737.19 17 | 1300,1742.55 18 | 1350,1750.01 19 | 1400,1750.22 20 | 1450,1760.07 21 | 1500,1756.96 22 | 1550,1762.6 23 | 1600,1762.38 24 | 1650,1777.84 25 | 1700,1781.86 26 | 1750,1800 27 | 1800,1813.81 28 | 1850,1838.6 29 | 1900,1844.76 30 | 1950,1876.6 31 | 2000,1897.43 32 | 2050,1907.95 33 | 2100,1934.64 34 | 2150,1943.6 35 | 2200,1969.52 36 | 2250,1980.19 37 | 2300,2010.15 38 | 2350,2020.55 39 | 2400,1983.93 40 | 2450,1987.6 41 | 2500,2018.95 42 | 2550,2028.1 43 | 2600,2054.12 44 | 2650,2073.75 45 | 2700,2082.72 46 | 2750,2114.65 47 | 2800,2119.89 48 | 2850,2152.75 49 | 2900,2162.65 50 | 2950,2179.8 51 | 3000,2196.51 52 | 3050,2218.38 53 | 3100,2231 54 | 3150,2253.43 55 | 3200,2270.77 56 | 3250,2284.12 57 | 3300,2301.32 58 | 3350,2316.89 59 | 3400,2345.21 60 | 3450,2355.45 61 | 3500,2383.42 62 | 3550,2393.11 63 | 3600,2419.07 64 | 3650,2433.43 65 | 3700,2452 66 | 3750,2465.33 67 | 3800,2485.99 68 | 3850,2500.56 69 | 3900,2510.8 70 | 3950,2530.83 71 | 4000,2546.1 72 | 4050,2564.91 73 | 4100,2575.83 74 | 4150,2594.56 75 | 4200,2606.58 76 | 4250,2620.62 77 | 4300,2631.53 78 | 4350,2649.16 79 | 4400,2654.63 80 | 4450,2660.62 81 | 4500,2677.09 82 | 4550,2683.08 83 | 4600,2696.35 84 | 4650,2699.6 85 | 4700,2711.26 86 | 4750,2717.1 87 | 4800,2731.22 88 | 4850,2733.24 89 | 4900,2747.38 90 | 4950,2748.95 91 | 5000,2764.09 92 | 5050,2761.87 93 | 5100,2778.66 94 | 5150,2782.46 95 | 5200,2780.04 96 | 5250,2787.16 97 | 5300,2787.74 98 | 5350,2795.69 99 | 5400,2800.2 100 | 5450,2809.7 101 | 5500,2806.84 102 | 5550,2815.44 103 | 5600,2816.14 104 | 5650,2757.86 105 | 5700,2761.2 106 | 5750,2761.39 107 | 5800,2764.15 108 | 5850,2768.4 109 | 5900,2771.69 110 | 5950,2771.27 111 | 6000,2778.02 112 | 6050,2778.14 113 | 6100,2780.93 114 | 6150,2781.48 115 | 6200,2783.23 116 | 6250,2786.48 117 | 6300,2790.77 118 | 6350,2787.71 119 | 6400,2788.91 120 | 6450,2790.93 121 | 6500,2791.04 122 | 6550,2791.49 123 | 6600,2791.73 124 | 6650,2786.25 125 | 6700,2789.44 126 | 6750,2789.5 127 | 6800,2788.88 128 | 6850,2781.6 129 | 6900,2784.84 130 | 6950,2779.32 131 | 7000,2774.47 132 | 7050,2773.68 133 | 7100,2767.51 134 | 7150,2767.56 135 | 7200,2761.3 136 | 7250,2755.6 137 | 7300,2748.81 138 | 7350,2745.77 139 | 7400,2744.74 140 | 7450,2744.99 141 | 7500,2736.58 142 | 7550,2733.23 143 | 7600,2720.38 144 | 7650,2714.01 145 | 7700,2715.07 146 | 7750,2708.29 147 | 7800,2709.02 148 | 7850,2697.39 149 | 7900,2696.13 150 | 7950,2691.54 151 | 8000,2689.87 152 | 8050,2682.08 153 | 8100,2680.42 154 | 8150,2670.62 155 | 8200,2669.14 156 | 8250,2666.26 157 | 8300,2652.03 158 | 8350,2647.75 159 | 8400,2642.99 160 | 8450,2638.54 161 | 8500,2633.14 162 | 8550,2631.01 163 | 8600,2618.95 164 | 8650,2613.92 165 | 8700,2605.44 166 | 8750,2600.08 167 | 8800,2592.21 168 | 8850,2580.87 169 | 8900,2578.36 170 | 8950,2565.91 171 | 9000,2562.24 172 | 9050,2557.61 173 | 9100,2550.3 174 | 9150,2541.62 175 | 9200,2536.99 176 | 9250,2521.43 177 | 9300,2521.66 178 | 9350,2503.58 179 | 9400,2502.04 180 | 9450,2487.9 181 | 9500,2475.94 182 | 9550,2469.78 183 | 9600,2455.55 184 | 9650,2454.92 185 | 9700,2444.01 186 | 9750,2438.91 187 | 9800,2431.26 188 | 9850,2427.08 189 | 9900,2421.4 190 | 9950,2418.29 191 | -------------------------------------------------------------------------------- /data/0908b.csv: -------------------------------------------------------------------------------- 1 | 500,1465.35 2 | 550,1649.66 3 | 600,1303.29 4 | 650,1421.2 5 | 700,1498.18 6 | 750,1540.97 7 | 800,1634.9 8 | 850,1593.26 9 | 900,1674.66 10 | 950,1705.93 11 | 1000,1742.05 12 | 1050,1760.11 13 | 1100,1777.57 14 | 1150,1779.85 15 | 1200,1788.55 16 | 1250,1792.62 17 | 1300,1794.86 18 | 1350,1800.87 19 | 1400,1798.84 20 | 1450,1795.07 21 | 1500,1796.46 22 | 1550,1806.48 23 | 1600,1811.82 24 | 1650,1823.52 25 | 1700,1828.96 26 | 1750,1850.76 27 | 1800,1858.28 28 | 1850,1881.28 29 | 1900,1891.76 30 | 1950,1908.41 31 | 2000,1924.16 32 | 2050,1934.7 33 | 2100,1961.96 34 | 2150,1966.73 35 | 2200,1991.78 36 | 2250,1999.16 37 | 2300,2022.68 38 | 2350,2030.53 39 | 2400,1993.01 40 | 2450,2002.64 41 | 2500,2027.61 42 | 2550,2038.84 43 | 2600,2056.89 44 | 2650,2076.92 45 | 2700,2087.46 46 | 2750,2112.89 47 | 2800,2123.96 48 | 2850,2146.64 49 | 2900,2154.19 50 | 2950,2182.34 51 | 3000,2190.83 52 | 3050,2214.31 53 | 3100,2221.52 54 | 3150,2248.51 55 | 3200,2261.98 56 | 3250,2277.86 57 | 3300,2298.33 58 | 3350,2311.59 59 | 3400,2336.07 60 | 3450,2343.44 61 | 3500,2365.18 62 | 3550,2377.49 63 | 3600,2394.64 64 | 3650,2403.13 65 | 3700,2418.8 66 | 3750,2432.94 67 | 3800,2450.88 68 | 3850,2465.03 69 | 3900,2475.31 70 | 3950,2489.94 71 | 4000,2493.26 72 | 4050,2515.09 73 | 4100,2522.53 74 | 4150,2533.21 75 | 4200,2540.13 76 | 4250,2543.33 77 | 4300,2546.51 78 | 4350,2558.73 79 | 4400,2566.17 80 | 4450,2570.83 81 | 4500,2575.79 82 | 4550,2579.54 83 | 4600,2583.49 84 | 4650,2585.16 85 | 4700,2588.85 86 | 4750,2587.33 87 | 4800,2594.35 88 | 4850,2586.67 89 | 4900,2586.21 90 | 4950,2588.77 91 | 5000,2585.48 92 | 5050,2587.8 93 | 5100,2581.21 94 | 5150,2578.82 95 | 5200,2576.7 96 | 5250,2575.34 97 | 5300,2570.71 98 | 5350,2561.97 99 | 5400,2560.98 100 | 5450,2552.91 101 | 5500,2552.3 102 | 5550,2543.04 103 | 5600,2541.06 104 | 5650,2531.77 105 | 5700,2524.07 106 | 5750,2515.42 107 | 5800,2509.66 108 | 5850,2503.63 109 | 5900,2488.94 110 | 5950,2485.88 111 | 6000,2475.86 112 | 6050,2470.38 113 | 6100,2460.29 114 | 6150,2453.34 115 | 6200,2442.22 116 | 6250,2436.65 117 | 6300,2417.75 118 | 6350,2406.05 119 | 6400,2398.8 120 | 6450,2388.28 121 | 6500,2378.79 122 | 6550,2364.16 123 | 6600,2357.86 124 | 6650,2338.89 125 | 6700,2325.79 126 | 6750,2314.31 127 | 6800,2308.19 128 | 6850,2294.63 129 | 6900,2285.63 130 | 6950,2269.12 131 | 7000,2252.88 132 | 7050,2241.46 133 | 7100,2223.43 134 | 7150,2217.74 135 | 7200,2201.99 136 | 7250,2200.74 137 | 7300,2184.55 138 | 7350,2180.04 139 | 7400,2166.33 140 | 7450,2159.96 141 | 7500,2145.43 142 | 7550,2137.78 143 | 7600,2125 144 | 7650,2116.18 145 | 7700,2114.83 146 | 7750,2094.85 147 | 7800,2090.62 148 | 7850,2064.1 149 | 7900,2064.36 150 | 7950,2044.59 151 | 8000,2040.44 152 | 8050,2023.21 153 | 8100,2020.12 154 | 8150,2009.97 155 | 8200,1999.86 156 | 8250,2001.2 157 | 8300,1989.45 158 | 8350,1989.59 159 | 8400,1975.65 160 | 8450,1974.22 161 | 8500,1962.48 162 | 8550,1956.36 163 | 8600,1951.03 164 | 8650,1947.78 165 | 8700,1936.95 166 | 8750,1939.79 167 | 8800,1890.4 168 | 8850,1884.02 169 | 8900,1883.83 170 | 8950,1875.53 171 | 9000,1873.74 172 | 9050,1867.98 173 | 9100,1867.42 174 | 9150,1858.82 175 | 9200,1857.44 176 | 9250,1843.71 177 | 9300,1842.85 178 | 9350,1833 179 | 9400,1830.57 180 | 9450,1827.01 181 | 9500,1824.15 182 | 9550,1821.59 183 | 9600,1817.87 184 | 9650,1816.82 185 | 9700,1810.31 186 | 9750,1810.13 187 | 9800,1807.05 188 | 9850,1804.59 189 | 9900,1802.52 190 | 9950,1799.8 191 | -------------------------------------------------------------------------------- /data/0908c.csv: -------------------------------------------------------------------------------- 1 | 500,2359.94 2 | 550,1594.49 3 | 600,1359.58 4 | 650,1475.43 5 | 700,1561.36 6 | 750,1606.95 7 | 800,1629.1 8 | 850,1671.74 9 | 900,1778.21 10 | 950,1819.94 11 | 1000,1901.79 12 | 1050,1930.05 13 | 1100,1980.54 14 | 1150,1992.27 15 | 1200,2022.47 16 | 1250,2038.45 17 | 1300,2060.6 18 | 1350,2071.03 19 | 1400,2082.59 20 | 1450,2093.67 21 | 1500,2103.86 22 | 1550,2046.86 23 | 1600,2051.33 24 | 1650,2062.01 25 | 1700,2070.91 26 | 1750,2101.6 27 | 1800,2111.04 28 | 1850,2138.04 29 | 1900,2148.29 30 | 1950,2179.43 31 | 2000,2199.82 32 | 2050,2213.71 33 | 2100,2251 34 | 2150,2270.24 35 | 2200,2308.09 36 | 2250,2318.3 37 | 2300,2358.55 38 | 2350,2370.72 39 | 2400,2404.69 40 | 2450,2416.23 41 | 2500,2449.03 42 | 2550,2464.87 43 | 2600,2494.49 44 | 2650,2520.26 45 | 2700,2528.35 46 | 2750,2560.3 47 | 2800,2573.93 48 | 2850,2602.9 49 | 2900,2615.78 50 | 2950,2639.74 51 | 3000,2653.04 52 | 3050,2679.08 53 | 3100,2690.89 54 | 3150,2719.83 55 | 3200,2743.23 56 | 3250,2754.28 57 | 3300,2782.01 58 | 3350,2792.51 59 | 3400,2819.91 60 | 3450,2829.06 61 | 3500,2858.94 62 | 3550,2869.49 63 | 3600,2887.86 64 | 3650,2895.43 65 | 3700,2921.93 66 | 3750,2931.24 67 | 3800,2950.43 68 | 3850,2968 69 | 3900,2908.29 70 | 3950,2928.49 71 | 4000,2935.86 72 | 4050,2954.97 73 | 4100,2967.58 74 | 4150,2988.27 75 | 4200,2997.79 76 | 4250,2999.51 77 | 4300,3005.28 78 | 4350,3023.31 79 | 4400,3026.03 80 | 4450,3041.99 81 | 4500,3051.59 82 | 4550,3058.73 83 | 4600,3069.16 84 | 4650,3073.8 85 | 4700,3078.22 86 | 4750,3078.47 87 | 4800,3084.95 88 | 4850,3089.6 89 | 4900,3088.02 90 | 4950,3086.29 91 | 5000,3083.4 92 | 5050,3087.4 93 | 5100,3088.74 94 | 5150,3084.92 95 | 5200,3088.1 96 | 5250,3075.87 97 | 5300,3079.29 98 | 5350,3074.86 99 | 5400,3067.65 100 | 5450,3053.96 101 | 5500,3047.39 102 | 5550,3040.92 103 | 5600,3037.28 104 | 5650,3025.9 105 | 5700,3020.29 106 | 5750,3009.48 107 | 5800,2993.3 108 | 5850,2981.44 109 | 5900,2957.49 110 | 5950,2955.75 111 | 6000,2932.87 112 | 6050,2922.47 113 | 6100,2903.3 114 | 6150,2900.96 115 | 6200,2879.78 116 | 6250,2866.95 117 | 6300,2850.04 118 | 6350,2830.29 119 | 6400,2822.78 120 | 6450,2796.88 121 | 6500,2788.58 122 | 6550,2716.25 123 | 6600,2714.45 124 | 6650,2690.78 125 | 6700,2688.63 126 | 6750,2659.04 127 | 6800,2655.96 128 | 6850,2638.02 129 | 6900,2630.85 130 | 6950,2613.84 131 | 7000,2593.39 132 | 7050,2593.43 133 | 7100,2575.72 134 | 7150,2566.14 135 | 7200,2554.46 136 | 7250,2543.62 137 | 7300,2525.91 138 | 7350,2511.96 139 | 7400,2495.46 140 | 7450,2485.57 141 | 7500,2468.83 142 | 7550,2455.79 143 | 7600,2447.43 144 | 7650,2439.62 145 | 7700,2430.97 146 | 7750,2414.33 147 | 7800,2406.12 148 | 7850,2392.54 149 | 7900,2384.47 150 | 7950,2368.64 151 | 8000,2359.6 152 | 8050,2353.19 153 | 8100,2351.08 154 | 8150,2340.09 155 | 8200,2328.07 156 | 8250,2327.39 157 | 8300,2312.28 158 | 8350,2315.21 159 | 8400,2296.11 160 | 8450,2289.96 161 | 8500,2282.56 162 | 8550,2272.96 163 | 8600,2264.94 164 | 8650,2265.77 165 | 8700,2253.27 166 | 8750,2246.88 167 | 8800,2246.71 168 | 8850,2239.24 169 | 8900,2234.24 170 | 8950,2223.04 171 | 9000,2222.92 172 | 9050,2211.42 173 | 9100,2209.32 174 | 9150,2200.51 175 | 9200,2203.11 176 | 9250,2197.64 177 | 9300,2191.16 178 | 9350,2185.97 179 | 9400,2182.45 180 | 9450,2168.78 181 | 9500,2161.52 182 | 9550,2157.45 183 | 9600,2154.9 184 | 9650,2150.39 185 | 9700,2147.92 186 | 9750,2148.07 187 | 9800,2139.38 188 | 9850,2141.87 189 | 9900,2138.95 190 | 9950,2134.7 191 | -------------------------------------------------------------------------------- /data/110_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/110_1.png -------------------------------------------------------------------------------- /data/110_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/110_13.png -------------------------------------------------------------------------------- /data/110_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/110_20.png -------------------------------------------------------------------------------- /data/110_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/110_7.png -------------------------------------------------------------------------------- /data/110_7_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/110_7_12.png -------------------------------------------------------------------------------- /data/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/2.png -------------------------------------------------------------------------------- /data/20170908.dat: -------------------------------------------------------------------------------- 1 | 500 735.262 2 | 550 973.843 3 | 600 1657.53 4 | 650 1772.09 5 | 700 1825.24 6 | 750 1845.16 7 | 800 1880.78 8 | 850 1893.47 9 | 900 1908.42 10 | 950 1921.81 11 | 1000 1926.02 12 | 1050 1925.23 13 | 1100 1951.43 14 | 1150 1965.01 15 | 1200 1998.23 16 | 1250 2006.93 17 | 1300 2049.88 18 | 1350 2004.38 19 | 1400 2027.8 20 | 1450 2065.66 21 | 1500 2079.34 22 | 1550 2120.6 23 | 1600 2132.67 24 | 1650 2174.11 25 | 1700 2191.55 26 | 1750 2234.22 27 | 1800 2243.57 28 | 1850 2287.76 29 | 1900 2304.37 30 | 1950 2344.69 31 | 2000 2363.09 32 | 2050 2380.67 33 | 2100 2416.29 34 | 2150 2430.47 35 | 2200 2467.49 36 | 2250 2484.48 37 | 2300 2522.7 38 | 2350 2533.55 39 | 2400 2568.65 40 | 2450 2577.38 41 | 2500 2609.98 42 | 2550 2624.79 43 | 2600 2644.29 44 | 2650 2662.91 45 | 2700 2667.9 46 | 2750 2697.34 47 | 2800 2700.15 48 | 2850 2715.64 49 | 2900 2720.26 50 | 2950 2742.53 51 | 3000 2749.47 52 | 3050 2760.51 53 | 3100 2766.31 54 | 3150 2776.92 55 | 3200 2786.96 56 | 3250 2787.51 57 | 3300 2793.49 58 | 3350 2796.51 59 | 3400 2796.84 60 | 3450 2801.1 61 | 3500 2792.93 62 | 3550 2725.89 63 | 3600 2722.61 64 | 3650 2726.52 65 | 3700 2721.29 66 | 3750 2726.92 67 | 3800 2718.39 68 | 3850 2718.3 69 | 3900 2715.23 70 | 3950 2706.84 71 | 4000 2700.44 72 | 4050 2688.95 73 | 4100 2683.27 74 | 4150 2667.5 75 | 4200 2663.22 76 | 4250 2645.68 77 | 4300 2636.57 78 | 4350 2622.65 79 | 4400 2615.57 80 | 4450 2601.61 81 | 4500 2588.91 82 | 4550 2581.48 83 | 4600 2558.6 84 | 4650 2554.6 85 | 4700 2532.43 86 | 4750 2524.08 87 | 4800 2497.94 88 | 4850 2486.96 89 | 4900 2454.61 90 | 4950 2450.65 91 | 5000 2416.68 92 | 5050 2409.58 93 | 5100 2372.91 94 | 5150 2356.23 95 | 5200 2346.2 96 | 5250 2320.73 97 | 5300 2316.52 98 | 5350 2295.09 99 | 5400 2292.5 100 | 5450 2274.28 101 | 5500 2264.04 102 | 5550 2247.85 103 | 5600 2241.03 104 | 5650 2231.21 105 | 5700 2217.6 106 | 5750 2213.79 107 | 5800 2201.22 108 | 5850 2197.32 109 | 5900 2188.6 110 | 5950 2182.31 111 | 6000 2163.85 112 | 6050 2164.86 113 | 6100 2148.62 114 | 6150 2141.09 115 | 6200 2136.21 116 | 6250 2130.41 117 | 6300 2118.33 118 | 6350 2106.33 119 | 6400 2100.01 120 | 6450 2091.81 121 | 6500 2079.61 122 | 6550 2064.81 123 | 6600 2059.59 124 | 6650 2048.14 125 | 6700 2044 126 | 6750 2034.13 127 | 6800 2033.34 128 | 6850 2022.43 129 | 6900 2019.89 130 | 6950 2007.06 131 | 7000 2001.97 132 | 7050 1998.51 133 | 7100 1988.64 134 | 7150 1983.82 135 | 7200 1978.14 136 | 7250 1973.79 137 | 7300 1966.98 138 | 7350 1959.53 139 | 7400 1915 140 | 7450 1899.9 141 | 7500 1887.65 142 | 7550 1883.26 143 | 7600 1872.45 144 | 7650 1868.92 145 | 7700 1864.24 146 | 7750 1858.73 147 | 7800 1856.45 148 | 7850 1843.92 149 | 7900 1839.9 150 | 7950 1835.65 151 | 8000 1830.37 152 | 8050 1822.71 153 | 8100 1818.1 154 | 8150 1812.08 155 | 8200 1807.06 156 | 8250 1807.02 157 | 8300 1793.25 158 | 8350 1792.03 159 | 8400 1787.94 160 | 8450 1788.77 161 | 8500 1782.1 162 | 8550 1781.23 163 | 8600 1779.4 164 | 8650 1773.68 165 | 8700 1771.1 166 | 8750 1771.95 167 | 8800 1762.91 168 | 8850 1767.37 169 | 8900 1765.81 170 | 8950 1765.38 171 | 9000 1766.43 172 | 9050 1768.15 173 | 9100 1760.72 174 | 9150 1759.97 175 | 9200 1764.13 176 | 9250 1756.32 177 | 9300 1755.25 178 | 9350 1757.53 179 | 9400 1757.52 180 | 9450 1758.58 181 | 9500 1757.43 182 | 9550 1756.64 183 | 9600 1758.04 184 | 9650 1754.34 185 | 9700 1758.6 186 | 9750 1754.91 187 | 9800 1753.23 188 | 9850 1756.33 189 | 9900 1752.67 190 | 9950 1751.67 191 | -------------------------------------------------------------------------------- /data/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/3.png -------------------------------------------------------------------------------- /data/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/4.png -------------------------------------------------------------------------------- /data/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/5.png -------------------------------------------------------------------------------- /data/86_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/86_1.png -------------------------------------------------------------------------------- /data/86_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/86_13.png -------------------------------------------------------------------------------- /data/86_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/86_20.png -------------------------------------------------------------------------------- /data/86_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/86_7.png -------------------------------------------------------------------------------- /data/86_7_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/86_7_12.png -------------------------------------------------------------------------------- /data/crf_fitting/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/crf_fitting/1.png -------------------------------------------------------------------------------- /data/crf_fitting/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/crf_fitting/13.png -------------------------------------------------------------------------------- /data/crf_fitting/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/crf_fitting/25.png -------------------------------------------------------------------------------- /data/crf_fitting/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/crf_fitting/39.png -------------------------------------------------------------------------------- /data/exp_gain_table_index2.csv: -------------------------------------------------------------------------------- 1 | 1,1 2 | 1,2 3 | 1,3 4 | 1,4 5 | 1,5 6 | 1,6 7 | 1,7 8 | 1,8 9 | 1,9 10 | 1,10 11 | 1,11 12 | 1,12 13 | 1,13 14 | 3,1 15 | 3,2 16 | 3,3 17 | 3,4 18 | 3,5 19 | 3,6 20 | 3,7 21 | 3,8 22 | 3,9 23 | 3,10 24 | 3,11 25 | 3,12 26 | 3,13 27 | 5,1 28 | 5,2 29 | 5,3 30 | 5,4 31 | 5,5 32 | 5,6 33 | 5,7 34 | 5,8 35 | 5,9 36 | 5,10 37 | 5,11 38 | 5,12 39 | 5,13 40 | 7,1 41 | 7,2 42 | 7,3 43 | 7,4 44 | 7,5 45 | 7,6 46 | 7,7 47 | 7,8 48 | 7,9 49 | 7,10 50 | 7,11 51 | 7,12 52 | 7,13 53 | 9,1 54 | 9,2 55 | 9,3 56 | 9,4 57 | 9,5 58 | 9,6 59 | 9,7 60 | 9,8 61 | 9,9 62 | 9,10 63 | 9,11 64 | 9,12 65 | 9,13 66 | 10,1 67 | 10,2 68 | 10,3 69 | 10,4 70 | 10,5 71 | 10,6 72 | 10,7 73 | 10,8 74 | 10,9 75 | 10,10 76 | 10,11 77 | 10,12 78 | 10,13 79 | 11,1 80 | 11,2 81 | 11,3 82 | 11,4 83 | 11,5 84 | 11,6 85 | 11,7 86 | 11,8 87 | 11,9 88 | 11,10 89 | 11,11 90 | 11,12 91 | 11,13 92 | 12,1 93 | 12,2 94 | 12,3 95 | 12,4 96 | 12,5 97 | 12,6 98 | 12,7 99 | 12,8 100 | 12,9 101 | 12,10 102 | 12,11 103 | 12,12 104 | 12,13 105 | 13,1 106 | 13,2 107 | 13,3 108 | 13,4 109 | 13,5 110 | 13,6 111 | 13,7 112 | 13,8 113 | 13,9 114 | 13,10 115 | 13,11 116 | 13,12 117 | 13,13 118 | 14,1 119 | 14,2 120 | 14,3 121 | 14,4 122 | 14,5 123 | 14,6 124 | 14,7 125 | 14,8 126 | 14,9 127 | 14,10 128 | 14,11 129 | 14,12 130 | 14,13 131 | 15,1 132 | 15,2 133 | 15,3 134 | 15,4 135 | 15,5 136 | 15,6 137 | 15,7 138 | 15,8 139 | 15,9 140 | 15,10 141 | 15,11 142 | 15,12 143 | 15,13 144 | 16,1 145 | 16,2 146 | 16,3 147 | 16,4 148 | 16,5 149 | 16,6 150 | 16,7 151 | 16,8 152 | 16,9 153 | 16,10 154 | 16,11 155 | 16,12 156 | 16,13 157 | 17,1 158 | 17,2 159 | 17,3 160 | 17,4 161 | 17,5 162 | 17,6 163 | 17,7 164 | 17,8 165 | 17,9 166 | 17,10 167 | 17,11 168 | 17,12 169 | 17,13 170 | 18,1 171 | 18,2 172 | 18,3 173 | 18,4 174 | 18,5 175 | 18,6 176 | 18,7 177 | 18,8 178 | 18,9 179 | 18,10 180 | 18,11 181 | 18,12 182 | 18,13 183 | 19,1 184 | 19,2 185 | 19,3 186 | 19,4 187 | 19,5 188 | 19,6 189 | 19,7 190 | 19,8 191 | 19,9 192 | 19,10 193 | 19,11 194 | 19,12 195 | 19,13 196 | 20,1 197 | 20,2 198 | 20,3 199 | 20,4 200 | 20,5 201 | 20,6 202 | 20,7 203 | 20,8 204 | 20,9 205 | 20,10 206 | 20,11 207 | 20,12 208 | 20,13 209 | 21,1 210 | 21,2 211 | 21,3 212 | 21,4 213 | 21,5 214 | 21,6 215 | 21,7 216 | 21,8 217 | 21,9 218 | 21,10 219 | 21,11 220 | 21,12 221 | 21,13 222 | 22,1 223 | 22,2 224 | 22,3 225 | 22,4 226 | 22,5 227 | 22,6 228 | 22,7 229 | 22,8 230 | 22,9 231 | 22,10 232 | 22,11 233 | 22,12 234 | 22,13 235 | 23,1 236 | 23,2 237 | 23,3 238 | 23,4 239 | 23,5 240 | 23,6 241 | 23,7 242 | 23,8 243 | 23,9 244 | 23,10 245 | 23,11 246 | 23,12 247 | 23,13 248 | 24,1 249 | 24,2 250 | 24,3 251 | 24,4 252 | 24,5 253 | 24,6 254 | 24,7 255 | 24,8 256 | 24,9 257 | 24,10 258 | 24,11 259 | 24,12 260 | 24,13 261 | 25,1 262 | 25,2 263 | 25,3 264 | 25,4 265 | 25,5 266 | 25,6 267 | 25,7 268 | 25,8 269 | 25,9 270 | 25,10 271 | 25,11 272 | 25,12 273 | 25,13 274 | 26,1 275 | 26,2 276 | 26,3 277 | 26,4 278 | 26,5 279 | 26,6 280 | 26,7 281 | 26,8 282 | 26,9 283 | 26,10 284 | 26,11 285 | 26,12 286 | 26,13 287 | 28,1 288 | 28,2 289 | 28,3 290 | 28,4 291 | 28,5 292 | 28,6 293 | 28,7 294 | 28,8 295 | 28,9 296 | 28,10 297 | 28,11 298 | 28,12 299 | 28,13 300 | 30,1 301 | 30,2 302 | 30,3 303 | 30,4 304 | 30,5 305 | 30,6 306 | 30,7 307 | 30,8 308 | 30,9 309 | 30,10 310 | 30,11 311 | 30,12 312 | 30,13 313 | 34,1 314 | 34,2 315 | 34,3 316 | 34,4 317 | 34,5 318 | 34,6 319 | 34,7 320 | 34,8 321 | 34,9 322 | 34,10 323 | 34,11 324 | 34,12 325 | 34,13 326 | -------------------------------------------------------------------------------- /data/indoor_sample/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/indoor_sample/1.png -------------------------------------------------------------------------------- /data/indoor_sample/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/indoor_sample/18.png -------------------------------------------------------------------------------- /data/indoor_sample/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/indoor_sample/28.png -------------------------------------------------------------------------------- /data/indoor_sample/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/indoor_sample/38.png -------------------------------------------------------------------------------- /data/indoor_sample/crf.csv: -------------------------------------------------------------------------------- 1 | -5.0208 2 | -4.9046 3 | -4.7884 4 | -4.6722 5 | -4.5559 6 | -4.4397 7 | -4.3235 8 | -4.2073 9 | -4.0911 10 | -3.9748 11 | -3.8587 12 | -3.743 13 | -3.6282 14 | -3.5148 15 | -3.4034 16 | -3.2944 17 | -3.1881 18 | -3.085 19 | -2.9851 20 | -2.8886 21 | -2.7955 22 | -2.706 23 | -2.6198 24 | -2.5371 25 | -2.4576 26 | -2.3813 27 | -2.3081 28 | -2.2378 29 | -2.1704 30 | -2.1056 31 | -2.0434 32 | -1.9837 33 | -1.9262 34 | -1.871 35 | -1.818 36 | -1.767 37 | -1.7179 38 | -1.6707 39 | -1.6254 40 | -1.5817 41 | -1.5397 42 | -1.4992 43 | -1.4602 44 | -1.4226 45 | -1.3864 46 | -1.3514 47 | -1.3176 48 | -1.285 49 | -1.2534 50 | -1.2228 51 | -1.1932 52 | -1.1645 53 | -1.1367 54 | -1.1097 55 | -1.0835 56 | -1.0579 57 | -1.0331 58 | -1.0089 59 | -0.98527 60 | -0.96222 61 | -0.93972 62 | -0.91772 63 | -0.89621 64 | -0.87515 65 | -0.85452 66 | -0.83431 67 | -0.8145 68 | -0.79507 69 | -0.776 70 | -0.75728 71 | -0.73889 72 | -0.72082 73 | -0.70306 74 | -0.68559 75 | -0.6684 76 | -0.6515 77 | -0.63486 78 | -0.61848 79 | -0.60235 80 | -0.58646 81 | -0.5708 82 | -0.55537 83 | -0.54015 84 | -0.52513 85 | -0.5103 86 | -0.49567 87 | -0.48122 88 | -0.46695 89 | -0.45285 90 | -0.43892 91 | -0.42516 92 | -0.41156 93 | -0.39812 94 | -0.38484 95 | -0.37171 96 | -0.35873 97 | -0.34591 98 | -0.33323 99 | -0.32069 100 | -0.3083 101 | -0.29605 102 | -0.28393 103 | -0.27194 104 | -0.26008 105 | -0.24836 106 | -0.23676 107 | -0.2253 108 | -0.21396 109 | -0.20274 110 | -0.19166 111 | -0.18069 112 | -0.16984 113 | -0.1591 114 | -0.14848 115 | -0.13796 116 | -0.12755 117 | -0.11723 118 | -0.107 119 | -0.096865 120 | -0.086818 121 | -0.076857 122 | -0.066979 123 | -0.057182 124 | -0.047465 125 | -0.037824 126 | -0.02826 127 | -0.018768 128 | -0.009349 129 | 5.6842e-11 130 | 0.0092801 131 | 0.018486 132 | 0.027618 133 | 0.036674 134 | 0.045655 135 | 0.054562 136 | 0.063395 137 | 0.072153 138 | 0.080838 139 | 0.089448 140 | 0.097985 141 | 0.10645 142 | 0.11484 143 | 0.12315 144 | 0.1314 145 | 0.13957 146 | 0.14767 147 | 0.1557 148 | 0.16366 149 | 0.17155 150 | 0.17938 151 | 0.18715 152 | 0.19484 153 | 0.20247 154 | 0.21004 155 | 0.21753 156 | 0.22496 157 | 0.23233 158 | 0.23962 159 | 0.24684 160 | 0.254 161 | 0.26109 162 | 0.26813 163 | 0.2751 164 | 0.28202 165 | 0.28889 166 | 0.2957 167 | 0.30246 168 | 0.30917 169 | 0.31583 170 | 0.32245 171 | 0.32901 172 | 0.33553 173 | 0.34201 174 | 0.34844 175 | 0.35483 176 | 0.36119 177 | 0.3675 178 | 0.37379 179 | 0.38005 180 | 0.38628 181 | 0.3925 182 | 0.39869 183 | 0.40488 184 | 0.41105 185 | 0.41722 186 | 0.42338 187 | 0.42955 188 | 0.43572 189 | 0.44189 190 | 0.44806 191 | 0.45425 192 | 0.46044 193 | 0.46664 194 | 0.47285 195 | 0.47906 196 | 0.48528 197 | 0.49149 198 | 0.49771 199 | 0.50392 200 | 0.51013 201 | 0.51633 202 | 0.52251 203 | 0.52868 204 | 0.53484 205 | 0.54096 206 | 0.54706 207 | 0.55313 208 | 0.55916 209 | 0.56515 210 | 0.5711 211 | 0.577 212 | 0.58285 213 | 0.58865 214 | 0.5944 215 | 0.60011 216 | 0.60577 217 | 0.61138 218 | 0.61696 219 | 0.6225 220 | 0.628 221 | 0.63346 222 | 0.63888 223 | 0.64427 224 | 0.64962 225 | 0.65494 226 | 0.66023 227 | 0.66548 228 | 0.67071 229 | 0.67591 230 | 0.68109 231 | 0.68625 232 | 0.69138 233 | 0.69649 234 | 0.7016 235 | 0.70669 236 | 0.71179 237 | 0.71689 238 | 0.72199 239 | 0.72711 240 | 0.73223 241 | 0.73736 242 | 0.7425 243 | 0.74765 244 | 0.7528 245 | 0.75797 246 | 0.76313 247 | 0.76828 248 | 0.77343 249 | 0.77857 250 | 0.78371 251 | 0.78884 252 | 0.79398 253 | 0.79911 254 | 0.80423 255 | 0.80936 256 | 1.6507 257 | -------------------------------------------------------------------------------- /data/outdoor_sample/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/outdoor_sample/1.png -------------------------------------------------------------------------------- /data/outdoor_sample/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/outdoor_sample/15.png -------------------------------------------------------------------------------- /data/outdoor_sample/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/outdoor_sample/70.png -------------------------------------------------------------------------------- /data/outdoor_sample/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/outdoor_sample/90.png -------------------------------------------------------------------------------- /data/outdoor_sample/crf.csv: -------------------------------------------------------------------------------- 1 | -8.3864 2 | -8.2303 3 | -8.0742 4 | -7.9182 5 | -7.7621 6 | -7.606 7 | -7.4499 8 | -7.2939 9 | -7.1378 10 | -6.9817 11 | -6.8256 12 | -6.6696 13 | -6.5135 14 | -6.3574 15 | -6.2016 16 | -6.0466 17 | -5.8926 18 | -5.7402 19 | -5.5898 20 | -5.4417 21 | -5.2963 22 | -5.1541 23 | -5.0155 24 | -4.8807 25 | -4.7502 26 | -4.6242 27 | -4.5028 28 | -4.3862 29 | -4.2744 30 | -4.1673 31 | -4.065 32 | -3.9672 33 | -3.8738 34 | -3.7845 35 | -3.699 36 | -3.6169 37 | -3.5379 38 | -3.4617 39 | -3.388 40 | -3.3165 41 | -3.247 42 | -3.1793 43 | -3.1134 44 | -3.0489 45 | -2.9858 46 | -2.9236 47 | -2.8625 48 | -2.8022 49 | -2.7428 50 | -2.6842 51 | -2.6263 52 | -2.5691 53 | -2.5127 54 | -2.4572 55 | -2.4024 56 | -2.3486 57 | -2.2956 58 | -2.2437 59 | -2.1927 60 | -2.1426 61 | -2.0936 62 | -2.0456 63 | -1.9986 64 | -1.9527 65 | -1.9079 66 | -1.8642 67 | -1.8217 68 | -1.7804 69 | -1.7402 70 | -1.7012 71 | -1.6631 72 | -1.6261 73 | -1.5898 74 | -1.5543 75 | -1.5195 76 | -1.4852 77 | -1.4514 78 | -1.418 79 | -1.3848 80 | -1.3518 81 | -1.3189 82 | -1.2861 83 | -1.2534 84 | -1.2207 85 | -1.1881 86 | -1.1554 87 | -1.1227 88 | -1.09 89 | -1.0572 90 | -1.0243 91 | -0.9914 92 | -0.9585 93 | -0.9257 94 | -0.8929 95 | -0.8602 96 | -0.8278 97 | -0.7956 98 | -0.7637 99 | -0.7321 100 | -0.7009 101 | -0.6701 102 | -0.6396 103 | -0.6096 104 | -0.5801 105 | -0.5511 106 | -0.5225 107 | -0.4945 108 | -0.4669 109 | -0.4399 110 | -0.4134 111 | -0.3874 112 | -0.362 113 | -0.337 114 | -0.3126 115 | -0.2887 116 | -0.2653 117 | -0.2424 118 | -0.2199 119 | -0.1979 120 | -0.1764 121 | -0.1553 122 | -0.1346 123 | -0.1143 124 | -0.0944 125 | -0.0749 126 | -0.0557 127 | -0.0368 128 | -0.0182 129 | 0 130 | 0.018 131 | 0.0356 132 | 0.0529 133 | 0.07 134 | 0.0868 135 | 0.1033 136 | 0.1195 137 | 0.1355 138 | 0.1512 139 | 0.1667 140 | 0.182 141 | 0.1971 142 | 0.212 143 | 0.2266 144 | 0.241 145 | 0.2551 146 | 0.2689 147 | 0.2825 148 | 0.2958 149 | 0.3089 150 | 0.3216 151 | 0.3341 152 | 0.3464 153 | 0.3585 154 | 0.3705 155 | 0.3822 156 | 0.3939 157 | 0.4054 158 | 0.4169 159 | 0.4282 160 | 0.4395 161 | 0.4507 162 | 0.4618 163 | 0.4728 164 | 0.4838 165 | 0.4946 166 | 0.5055 167 | 0.5162 168 | 0.527 169 | 0.5377 170 | 0.5484 171 | 0.5592 172 | 0.57 173 | 0.5808 174 | 0.5916 175 | 0.6025 176 | 0.6135 177 | 0.6245 178 | 0.6355 179 | 0.6467 180 | 0.6579 181 | 0.6692 182 | 0.6806 183 | 0.6922 184 | 0.7038 185 | 0.7157 186 | 0.7277 187 | 0.7399 188 | 0.7523 189 | 0.7649 190 | 0.7777 191 | 0.7907 192 | 0.8038 193 | 0.817 194 | 0.8302 195 | 0.8435 196 | 0.8568 197 | 0.8701 198 | 0.8834 199 | 0.8967 200 | 0.9101 201 | 0.9233 202 | 0.9365 203 | 0.9494 204 | 0.9622 205 | 0.9746 206 | 0.9869 207 | 0.9988 208 | 1.0105 209 | 1.0219 210 | 1.0329 211 | 1.0436 212 | 1.0541 213 | 1.0643 214 | 1.0743 215 | 1.0842 216 | 1.0939 217 | 1.1034 218 | 1.1128 219 | 1.122 220 | 1.1311 221 | 1.14 222 | 1.1489 223 | 1.1577 224 | 1.1666 225 | 1.1755 226 | 1.1845 227 | 1.1936 228 | 1.2027 229 | 1.2119 230 | 1.2211 231 | 1.2304 232 | 1.2399 233 | 1.2495 234 | 1.2593 235 | 1.2693 236 | 1.2794 237 | 1.2896 238 | 1.2998 239 | 1.3101 240 | 1.3203 241 | 1.3305 242 | 1.3408 243 | 1.351 244 | 1.3614 245 | 1.3718 246 | 1.3822 247 | 1.3927 248 | 1.4033 249 | 1.414 250 | 1.4247 251 | 1.4354 252 | 1.4462 253 | 1.457 254 | 1.4678 255 | 1.4785 256 | 3.1675 257 | -------------------------------------------------------------------------------- /data/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/data/sample.png -------------------------------------------------------------------------------- /lcmdefs/PACKAGES.cmake: -------------------------------------------------------------------------------- 1 | # list packages in dependency order 2 | set (LCM_PCK_LIST 3 | 4 | "bot_core" 5 | 6 | ) 7 | -------------------------------------------------------------------------------- /lcmdefs/bot_core/bot_core_image_sync_t.lcm: -------------------------------------------------------------------------------- 1 | package bot_core; 2 | 3 | // image_sync_t is used by libcam plugins to synchronize playback of a libcam 4 | // log file with playback of an LCM log file. 5 | // 6 | // The expected usage scenario is when an image stream is recorded to a libcam 7 | // log file, and a lcm-syncpub unit is in the libcam chain that publishes 8 | // image_sync_t messages to an LCM network, where they may be logged to the 9 | // an LCM logfile. 10 | // 11 | // Later, when playing back an LCM log file, the image_sync_t messages can be 12 | // used by a libcam log playback unit to synchronize its playback of the 13 | // libcam log file with the LCM log file. 14 | // 15 | // The existence of this message type is largely predicated on the notion that 16 | // we may not always want full resolution image data in an LCM log file, and 17 | // may instead store it in a dedicated libcam log file. 18 | 19 | struct image_sync_t 20 | { 21 | int64_t utime; 22 | } 23 | -------------------------------------------------------------------------------- /lcmdefs/bot_core/bot_core_image_t.lcm: -------------------------------------------------------------------------------- 1 | package bot_core; 2 | 3 | // Describes an image 4 | // 5 | // This type should be kept compatible with camlcm.image_t, as defined 6 | // in camunits-extra 7 | 8 | struct image_t 9 | { 10 | // microseconds since the epoch 11 | int64_t utime; 12 | 13 | int32_t width; 14 | int32_t height; 15 | int32_t row_stride; 16 | 17 | int32_t pixelformat; 18 | 19 | int32_t size; 20 | byte data[size]; 21 | 22 | // metadata dictionary 23 | // int32_t nmetadata; 24 | //image_metadata_t metadata[nmetadata]; 25 | 26 | // these values are to be kept in sync with the CamPixelFormat enumeration 27 | // in the Camunits library. See camunits/pixels.h in Camunits 28 | const int32_t PIXEL_FORMAT_UYVY = 1498831189; 29 | const int32_t PIXEL_FORMAT_YUYV = 1448695129; 30 | const int32_t PIXEL_FORMAT_IYU1 = 827677001; 31 | const int32_t PIXEL_FORMAT_IYU2 = 844454217; 32 | const int32_t PIXEL_FORMAT_YUV420 = 842093913; 33 | const int32_t PIXEL_FORMAT_YUV411P = 1345401140; 34 | const int32_t PIXEL_FORMAT_I420 = 808596553; 35 | const int32_t PIXEL_FORMAT_NV12 = 842094158; 36 | const int32_t PIXEL_FORMAT_GRAY = 1497715271; 37 | const int32_t PIXEL_FORMAT_RGB = 859981650; 38 | const int32_t PIXEL_FORMAT_BGR = 861030210; 39 | const int32_t PIXEL_FORMAT_RGBA = 876758866; 40 | const int32_t PIXEL_FORMAT_BGRA = 877807426; 41 | const int32_t PIXEL_FORMAT_BAYER_BGGR = 825770306; 42 | const int32_t PIXEL_FORMAT_BAYER_GBRG = 844650584; 43 | const int32_t PIXEL_FORMAT_BAYER_GRBG = 861427800; 44 | const int32_t PIXEL_FORMAT_BAYER_RGGB = 878205016; 45 | const int32_t PIXEL_FORMAT_BE_BAYER16_BGGR = 826360386; 46 | const int32_t PIXEL_FORMAT_BE_BAYER16_GBRG = 843137602; 47 | const int32_t PIXEL_FORMAT_BE_BAYER16_GRBG = 859914818; 48 | const int32_t PIXEL_FORMAT_BE_BAYER16_RGGB = 876692034; 49 | const int32_t PIXEL_FORMAT_LE_BAYER16_BGGR = 826360396; 50 | const int32_t PIXEL_FORMAT_LE_BAYER16_GBRG = 843137612; 51 | const int32_t PIXEL_FORMAT_LE_BAYER16_GRBG = 859914828; 52 | const int32_t PIXEL_FORMAT_LE_BAYER16_RGGB = 876692044; 53 | const int32_t PIXEL_FORMAT_MJPEG = 1196444237; 54 | const int32_t PIXEL_FORMAT_BE_GRAY16 = 357; 55 | const int32_t PIXEL_FORMAT_LE_GRAY16 = 909199180; 56 | const int32_t PIXEL_FORMAT_BE_RGB16 = 358; 57 | const int32_t PIXEL_FORMAT_LE_RGB16 = 1279412050; 58 | const int32_t PIXEL_FORMAT_BE_SIGNED_GRAY16 = 359; 59 | const int32_t PIXEL_FORMAT_BE_SIGNED_RGB16 = 360; 60 | const int32_t PIXEL_FORMAT_FLOAT_GRAY32 = 842221382; 61 | const int32_t PIXEL_FORMAT_INVALID = -2; 62 | const int32_t PIXEL_FORMAT_ANY = -1; 63 | } 64 | -------------------------------------------------------------------------------- /matlab/controller/arxiv/gpgo_normalize.m: -------------------------------------------------------------------------------- 1 | clear all; close all; 2 | 3 | %datanum = 2; 4 | %data = csvread(sprintf('../dat/d%d_Ours.csv',datanum)); 5 | 6 | data = csvread('../dat/test1.csv'); 7 | % data = csvread('../dat/37datar.csv'); 8 | 9 | time = data(:,1); % ms 10 | metric = data(:,2); % sum of w grad 11 | 12 | %% figure 13 | figure(1) 14 | plot(time, metric, 'b.','LineWidth', 2); 15 | hold on; 16 | grid on; 17 | [val,topt_idx] = max(metric); 18 | plot(time(topt_idx), val, 'ro', 'LineWidth', 2) 19 | title(sprintf('Exposure Control using GPGO \n t opt = %d [ms]\n' , time(topt_idx))) 20 | xlabel('Exposue time'); 21 | % font size for axis, label, and title 22 | axis_fontsize = 10; 23 | label_fontsize = 20; 24 | title_fontsize = 16; 25 | 26 | 27 | 28 | %% train 29 | fidx = length(time); 30 | % next_in(1) = round(fidx*.05); 31 | next_in(1) = 1; 32 | % next_in(1) = 1; 33 | psi = 0; 34 | for i = 1:20 35 | i 36 | % idx = [next_in, round(fidx*0.95)] % 38,50,26,8 37 | % idx = [next_in, next_in(1)+5] % 38,50,26,8 38 | idx = [next_in]; 39 | t_train = time(idx); 40 | y_train = metric(idx); 41 | 42 | cfg = gp_cov_init (); 43 | K = gp_train (t_train, y_train, cfg); 44 | 45 | %% predict 46 | % idx = next_in(1):1:round(fidx*0.95); 47 | idx = next_in(1):1:fidx; 48 | t_pred = time(idx); 49 | y_true = metric(idx); 50 | 51 | [y_pred, var_pred] = gp_predict (t_pred, t_train, K, y_train, cfg); 52 | [vals, id] = max(y_pred); 53 | % 54 | % % selection by GPMI 55 | % alpha = 3; 56 | % max_var = max(diag(var_pred)) 57 | % [next_in(i+1), psi, acq_func] = gpmi_optim(y_pred, var_pred, alpha, psi); 58 | % % % stop criteria 59 | % if abs(next_in(i+1)-next_in(i)) < 1 60 | % [max_val, optimal_idx] = max(y_pred); 61 | % fprintf('break, Optimal exposure time is %d \n', t_pred(optimal_idx)); 62 | % break; 63 | % end 64 | 65 | % selection by var max 66 | acq_func = diag(var_pred); 67 | max_var = max(diag(var_pred)) 68 | [va, in] = max(acq_func); 69 | in(i) = in; 70 | next_in(i+1) = in(i) 71 | t_pred(next_in(i+1)) 72 | 73 | % stop criteria 74 | if abs(t_pred(next_in(i+1))-t_pred(next_in(i))) < 15 || va < 100 75 | [max_val, optimal_idx] = max(y_pred); 76 | fprintf('break, Optimal exposure time is %d \n', t_pred(optimal_idx)); 77 | break; 78 | end 79 | 80 | 81 | 82 | 83 | % plot graph 84 | figure(1); 85 | plot(t_train, y_train,'kx', 'LineWidth', 3); 86 | 87 | % plot(t_pred, y_pred, 'r:', 'LineWidth', 5) 88 | % errorbar (t_pred, y_pred, diag(var_pred), 'm', 'LineWidth',.1); 89 | 90 | % plot acquisition function 91 | figure(2); 92 | plot(t_pred, acq_func, 'b'); 93 | 94 | pause(1) 95 | %% Adjust font size 96 | set(gca,'FontSize',axis_fontsize); 97 | xlable_h = get(gca, 'xlabel'); set(xlable_h, 'FontSize', label_fontsize); 98 | ylable_h = get(gca, 'ylabel'); set(ylable_h, 'FontSize', label_fontsize); 99 | 100 | legend_h = legend('GT' , 'optimal', 'Training Points','GPGO', 'Cov', 'Location','southeast'); 101 | 102 | end 103 | 104 | figure(1); 105 | t_selected = t_pred(id); 106 | y_selected = y_pred(id); 107 | plot(t_selected, y_selected,'go', 'LineWidth', 3); 108 | 109 | 110 | 111 | 112 | %% Change file save option 113 | print_pdf = 0; 114 | 115 | if (print_pdf) 116 | print -dpdf ../figs/GPGO6.pdf 117 | end -------------------------------------------------------------------------------- /matlab/controller/exp_gain_controller.m: -------------------------------------------------------------------------------- 1 | clear all; close all; 2 | 3 | %% Configuration, Data load 4 | addpath('../data'); 5 | addpath('../fcns_img'); 6 | addpath('../fcns_gp'); 7 | 8 | %% HDR CRF curve fitting from a set of images 9 | global E; % irradiance 10 | global B; % sample time array for crf curve fitting 11 | global time_itv; % exposure time interval 12 | 13 | global is_indoor; 14 | 15 | is_indoor = 0; % 0 for outdoor 16 | 17 | %% Configuration, Data load 18 | if (is_indoor) 19 | datapath = '../data/indoor_sample'; 20 | E = 18; %mean(mean(img_series{1}))/2;-exclude saturated region\TODO 21 | 22 | else 23 | datapath = '../data/outdoor_sample'; 24 | E = 180; %mean(mean(img_series{1}))/2;-exclude saturated region\TODO 25 | 26 | end 27 | seqs = 1:1; 28 | 29 | attr_list = zeros(66, 2); 30 | 31 | for i = 1:length(seqs) 32 | o_img = imread(strcat(datapath, '/1.png')); 33 | if size(o_img,3) > 1 34 | o_img = rgb2gray(o_img); 35 | end 36 | [opt_expo, opt_gain, opt_img] = gp_expo_gain_controller(o_img, true); 37 | figure(1); 38 | clf; 39 | imshow([o_img, opt_img]); 40 | title(strcat('frame: ', num2str(i), ' expo/gain: ', num2str(opt_expo), ' / ', num2str(opt_gain))); 41 | attr_list(i, :) = [opt_expo, opt_gain]; 42 | drawnow; 43 | 44 | end 45 | 46 | 47 | -------------------------------------------------------------------------------- /matlab/controller/gpgo_hyperparam_optim.m: -------------------------------------------------------------------------------- 1 | clear all; close all; 2 | 3 | datalist = dir('../data/gp_hyperparam_tuning/*.csv'); 4 | hyperparam_list = zeros(length(datalist), 2); 5 | 6 | for i = 1:length(datalist) 7 | disp(datalist(i).name); 8 | 9 | data = csvread(['../data/gp_hyperparam_tuning/' '/' datalist(i).name]); 10 | [exposure, gain] = meshgrid(1:size(data,2),1:size(data,1)); 11 | data = data - mean(data(:)); 12 | metric = data; 13 | 14 | exp_arr = exposure(:);% ./ 39; 15 | gain_arr = gain(:);% ./ 13; 16 | metric_arr = metric(:) ./ max(metric(:)); 17 | 18 | fidx = length(exp_arr(:)); 19 | % next_in(1) = round(fidx*.05); 20 | idx_train = [1:10:fidx]; 21 | 22 | t_train = [exp_arr(idx_train), gain_arr(idx_train)]'; 23 | y_train = metric_arr(idx_train); 24 | 25 | idx_pred = 1:1:fidx; 26 | t_pred = [exp_arr(idx_pred), gain_arr(idx_pred)]'; 27 | 28 | % gpm = fitrgp(t_train', y_train','KernelFunction','squaredexponential',... 29 | % 'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',... 30 | % struct('AcquisitionFunctionName','expected-improvement-plus')); 31 | gpm = fitrgp(t_train', y_train','KernelFunction','squaredexponential',... 32 | 'OptimizeHyperparameters','auto'); 33 | % [y_pred, var_pred] = gpm.predict(t_pred'); 34 | 35 | hyperparam_list(i,:) = gpm.KernelInformation.KernelParameters'; 36 | 37 | 38 | 39 | end 40 | save('optimized_hyperparam_10_ei.mat', 'hyperparam_list'); 41 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/2pm_310.csv: -------------------------------------------------------------------------------- 1 | 22.341,24.981,26.457,27.597,28.006,28.105,27.648,27.256,27.046,26.967,26.887,26.286,25.356,25.34,24.573,24.636,24.86,24.134,23.923,23.933,24.302,24.109,24.181,23.931,22.145,22.626,21.425,20.997,18.948,14.604,14.038,9.9566,7.6941,7.6772,5.5006,5.8753,4.9891,6.4918,6.6173 2 | 23.101,25.516,26.755,27.709,27.853,27.437,27.107,26.932,26.855,26.659,26.539,25.867,24.288,24.757,24.935,25.18,23.927,23.521,23.468,23.438,23.778,23.058,22.74,22.398,21.38,21.349,20.589,18.68,14.474,9.8145,8.9132,5.3644,4.1063,3.7749,2.9505,3.0234,2.2053,2.4465,2.4524 3 | 23.96,25.651,27.309,27.741,27.256,26.779,26.692,26.701,26.527,26.675,26.391,25.02,24.611,25.139,25.303,24.606,23.527,23.188,22.262,21.635,22.248,21.822,21.862,21.775,19.45,19.349,17.803,15.036,9.2492,6.2386,5.7626,2.6704,2.0038,1.788,1.1519,1.4289,1.2024,1.5683,1.5644 4 | 24.471,26.535,27.521,26.887,26.474,26.374,26.5,26.525,26.464,26.365,25.553,25.03,25.107,24.911,24.376,23.734,21.598,21.201,21.37,21.463,21.326,20.723,20.135,18.905,15.034,14.038,10.707,8.7904,4.1071,2.2535,2.0281,1.2099,1.1578,0.87311,0.73711,0.73431,0.68585,0.9314,1.1057 5 | 24.874,26.792,27.337,26.575,26.256,26.158,26.245,26.321,26.37,25.62,25.14,25.537,24.303,24.305,23.864,22.005,21.381,20.466,19.61,18.925,18.429,16.951,15.439,12.989,9.571,9.396,7.089,3.5958,1.8464,1.2597,1.2919,0.59077,0.54716,0.23772,-0.027897,0.063327,0.067972,0.20395,0.19683 6 | 25.294,27.304,26.638,25.828,25.881,25.919,26.212,26.294,25.562,25.278,25.767,24.79,23.744,23.84,22.75,21.5,20.129,17.974,16.11,15.236,13.26,12.698,10.904,9.3016,5.8143,5.0326,2.9093,2.073,1.2187,0.85969,0.57902,0.15707,0.19112,0.45647,0.64584,0.71417,0.82398,0.77862,0.69522 7 | 25.488,26.931,25.886,25.352,25.654,25.94,25.894,25.398,25.042,25.747,25.072,24.127,22.668,22.251,21.518,19.153,15.909,14.394,10.861,10.202,9.7455,8.8494,7.3937,4.7061,2.761,2.462,1.8856,1.4031,0.54411,0.25201,0.1133,0.98341,0.86103,1.1114,1.1402,1.1835,1.1329,1.1842,1.1011 8 | 26.116,26.628,25.313,25.248,25.621,25.951,25.319,25.045,25.664,25.287,24.808,22.656,21.559,21.176,20.057,15.574,10.269,8.9324,7.2821,6.6638,5.7154,4.1391,2.9299,2.2185,1.7211,1.6938,1.4439,0.65463,0.31561,0.76468,0.85135,1.5166,1.2945,1.4736,1.4491,1.5065,1.4928,1.5184,1.4102 9 | 26.219,25.613,24.88,25.205,25.477,25.147,25.009,25.797,25.29,25.078,23.77,21.56,20.479,18.779,15.474,9.5751,6.9424,4.94,2.7905,2.6835,2.5064,2.2272,1.9902,1.5015,1.2348,1.3067,0.62594,0.18173,0.92146,1.1765,1.2811,1.7615,1.5762,1.6453,1.597,1.6154,1.5703,1.6214,1.567 10 | 26.574,25.306,24.919,25.035,25.268,25.161,25.647,25.243,24.986,23.806,23.002,20.601,18.128,14.57,10.532,6.2815,3.1183,2.2984,1.8328,1.9097,1.7657,1.6766,1.6029,1.2128,0.37602,0.22469,0.16854,0.6917,1.3029,1.4711,1.6337,1.6654,1.5855,1.5829,1.5274,1.5129,1.5142,1.4769,1.4612 11 | 26.048,24.612,24.989,25.124,25.028,25.601,25.445,24.974,23.979,23.169,21.326,16.385,12.36,9.2295,5.5765,2.0581,1.5679,1.5323,1.418,1.5176,1.4925,1.1631,0.71944,0.085023,0.29812,0.47722,0.78434,1.2287,1.6768,1.6354,1.6322,1.4347,1.3881,1.2291,1.1541,1.0516,1.1407,1.0798,1.0417 12 | 25.589,24.578,25.141,24.701,25.345,25.542,25.032,24.174,23.434,20.84,17.667,10.406,8.0276,4.4649,2.4078,1.4757,1.4941,1.1528,0.62004,0.56829,0.77201,0.16646,0.3446,0.6452,0.77063,0.97759,1.1496,1.5962,1.6623,1.5141,1.335,0.88066,0.95451,0.65021,0.56638,0.44019,0.56414,0.49046,0.39926 13 | 24.697,24.605,24.77,24.725,25.604,24.93,24.12,23.285,21.914,18.34,12.292,6.8524,3.5644,2.2703,1.701,1.3807,0.8849,0.098567,0.40315,0.20759,0.50988,0.59395,0.74842,1.1577,1.0717,1.2818,1.4363,1.5945,1.3516,1.1567,0.74685,0.29148,0.34296,0.1936,0.1683,0.11325,0.17597,0.15789,0.39926 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/4pm_110.csv: -------------------------------------------------------------------------------- 1 | 18.887,21.371,23.704,25.588,27.367,28.17,28.255,28.57,29.036,29.11,28.86,28.684,28.525,28.396,28.25,28.223,28.336,28.423,28.303,28.38,28.549,27.94,27.419,27.21,27.188,27.384,27.362,27.378,27.412,27.556,27.647,27.859,28.066,27.916,27.735,27.569,27.268,27.315,27.1 2 | 19.788,22.053,24.653,26.575,27.824,28.033,28.647,28.808,28.931,28.704,28.501,28.101,28.192,28.128,28.215,28.359,28.164,28.321,28.132,27.458,27.21,27.31,27.374,27.373,27.318,27.496,27.656,27.765,27.872,27.92,27.604,27.277,27.106,27.225,27.106,26.61,26.096,26.25,26.239 3 | 20.476,22.792,25.473,27.354,28.174,28.429,28.709,28.661,28.378,28.468,28.065,27.971,28.071,28.354,28.197,28.195,28.372,27.75,26.994,27.173,27.442,27.406,27.537,27.552,27.682,27.778,27.729,27.57,27.221,27.045,27.229,27.101,26.396,26.126,26.143,26.368,25.82,24.657,24.567 4 | 21.052,23.889,26.514,27.939,28.146,28.579,28.387,28.082,28.045,27.86,27.927,28.232,28.053,28.199,28.181,27.584,27.788,27.231,27.368,27.528,27.437,27.697,27.857,27.539,27.153,27.002,26.848,27.097,26.321,25.993,26.182,26.36,25.132,24.416,23.325,22.022,20.772,19.912,18.507 5 | 21.662,24.904,27.468,27.759,28.42,28.446,27.949,27.443,27.693,27.771,28.194,28.022,28.419,28.068,27.084,27.327,27.378,27.502,27.635,27.923,27.552,27.242,27.135,26.898,26.39,25.891,25.983,26.292,25.238,24.111,23.202,21.932,20.967,19.801,17.803,16.037,14.686,13.326,12.62 6 | 22.374,25.567,27.836,28.021,28.359,27.943,27.297,27.404,27.618,28.148,28.021,28.346,26.96,27.18,27.343,27.511,27.615,27.81,27.471,27.024,27.131,26.574,26.379,25.895,26.203,25.267,24.043,23.373,21.442,20.27,18.893,16.632,14.956,13.851,12.48,11.451,9.1705,8.326,7.13 7 | 23.013,26.31,27.793,28.067,27.8,27.451,27.142,27.329,27.963,27.857,27.656,26.875,27.259,27.404,27.366,27.662,27.547,26.882,27.046,26.429,26.032,25.939,25.844,24.52,23.386,22.073,20.261,18.454,16.166,14.453,13.324,11.643,10.443,8.327,7.0741,5.9214,4.7245,3.7847,3.0098 8 | 23.944,27.363,27.608,27.709,27.301,27.075,27.075,27.489,27.843,27.647,26.984,27.407,27.483,27.75,27.721,27.221,26.72,26.265,26.215,25.969,25.21,23.764,21.803,20.072,17.25,15.53,14.079,12.615,11.017,8.6246,6.8371,5.6295,4.7936,3.5133,2.8893,2.2817,1.2681,1.1412,1.0514 9 | 24.788,27.681,27.723,27.377,27.016,26.97,27.504,27.734,27.484,27.063,27.415,27.703,27.85,27.477,27.186,26.481,26.229,25.993,24.655,23.132,21.115,18.757,15.535,14.666,12.491,10.715,8.8882,6.7275,5.505,3.572,2.9535,1.5174,1.3213,1.1319,1.0813,0.88472,0.298,-0.25709,-0.56606 10 | 25.497,27.288,27.645,27.018,27.071,27.348,27.429,28.243,26.958,27.529,27.632,27.994,27.527,26.902,26.329,26.12,25.464,23.661,21.597,18.71,15.691,13.777,11.542,10.533,7.4737,5.7888,4.3513,3.0551,1.5343,1.3029,1.1344,0.97657,0.63599,0.15367,-0.38465,-0.81684,-1.0572,-1.4738,-1.5664 11 | 26.56,27.422,27.007,26.904,27.497,27.409,28.064,27.078,27.74,27.937,27.703,27.013,26.724,26.281,25.527,23.659,20.447,16.979,14.645,12.309,9.3411,7.0195,5.0524,4.314,2.9105,1.3285,1.146,1.0035,0.62397,-0.21623,-0.56065,-0.83105,-1.3142,-1.5142,-2.1487,-2.0541,-1.9605,-1.8799,-1.7815 12 | 27.399,27.32,27.171,27.143,27.884,28.027,27.083,27.723,28.082,27.579,26.887,26.769,26.384,24.066,21.209,17.412,14.415,11.82,8.7416,6.3075,4.6293,3.1562,1.3612,1.1144,1.0209,0.58367,-0.19583,-0.77475,-1.1025,-1.6026,-2.2387,-2.1024,-2.0247,-1.9235,-1.8028,-1.7245,-1.6385,-1.5238,-1.519 13 | 27.193,27.022,26.648,27.446,27.885,26.883,27.252,27.567,27.63,26.768,26.129,25.227,22.937,18.805,15.124,12.581,9.4922,6.4338,4.3083,2.9944,1.2666,1.0161,0.72112,-0.29424,-0.51183,-1.0843,-1.1367,-1.6822,-2.1379,-2.0097,-1.8982,-1.8038,-1.7159,-1.6087,-1.5452,-1.5127,-1.5011,-1.5185,-1.519 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/4pm_86.csv: -------------------------------------------------------------------------------- 1 | 18.247,20.197,22.042,23.791,25.259,26.288,26.664,27.008,27.69,27.978,27.866,27.545,27.566,27.149,26.813,26.71,26.56,26.484,26.482,26.356,26.028,26.033,26.111,26.159,26.185,26.126,26.049,25.983,25.936,25.894,25.956,25.835,25.724,25.514,25.221,25.076,24.502,24.411,24.161 2 | 18.79,20.817,22.942,24.473,26.205,26.422,26.942,27.59,27.774,27.632,27.398,27.013,26.65,26.517,26.379,26.218,26.272,25.985,25.653,25.795,25.839,26.026,25.901,25.946,25.921,25.874,25.913,25.933,26.024,25.97,25.643,25.179,24.733,24.65,24.542,24.327,24.141,23.945,23.872 3 | 19.288,21.49,23.667,25.302,26.397,26.652,27.294,27.669,27.584,26.995,26.834,26.397,26.405,26.159,26.051,25.854,25.411,25.486,25.651,25.704,25.635,25.759,25.938,25.821,25.916,25.934,25.923,25.38,24.882,24.798,24.868,24.758,24.717,24.141,24.181,23.716,23.737,23.223,22.967 4 | 19.709,22.365,24.368,26.144,26.492,27.153,27.456,27.244,26.835,26.278,26.093,25.887,25.707,25.584,25.163,25.288,25.47,25.365,25.48,25.639,25.584,25.798,25.933,25.805,25.421,24.9,24.934,24.908,24.986,24.579,24.415,24.093,23.86,23.442,23.134,22.796,22.689,22.582,22.195 5 | 20.395,23.289,25.448,26.243,26.803,27.242,26.996,26.651,25.88,25.589,25.533,25.262,25.005,25.035,25.16,25.049,25.169,25.289,25.518,25.725,25.699,25.39,24.867,24.951,25.032,24.761,24.765,24.573,24.379,24.211,23.402,23.311,23.036,22.999,22.388,21.716,21.568,21.548,21.639 6 | 21.074,23.91,26.086,26.39,26.984,26.887,26.393,25.703,25.464,25.381,25.031,24.676,24.928,25.003,25.066,25.149,25.348,25.499,25.424,24.686,24.765,24.909,25.1,24.814,24.911,24.727,24.24,23.724,23.552,23.359,22.749,22.351,21.954,21.838,21.902,21.811,21.811,21.419,20.846 7 | 21.637,24.44,26.051,26.465,26.77,26.139,25.64,25.198,24.968,24.823,24.365,24.546,24.675,24.802,24.868,25.15,24.819,24.411,24.54,24.655,24.563,24.571,24.541,24.49,24.044,23.689,23.526,23.16,22.468,22.193,22.19,22.047,21.855,21.778,21.54,20.767,20.429,20.132,20.046 8 | 22.578,25.609,26,26.433,26.168,25.295,24.959,24.691,24.533,24.262,24.479,24.62,24.755,24.866,24.899,24.284,24.5,24.584,24.409,24.667,24.558,24.125,23.749,23.606,22.774,22.603,22.404,22.499,22.504,22.19,21.509,21.153,20.528,20.513,20.448,19.84,19.459,19.27,18.387 9 | 23.287,25.804,26.16,26.166,24.986,24.814,24.328,24.256,24.08,24.313,24.399,24.602,24.729,24.091,24.235,24.378,24.299,24.706,24.373,23.919,23.842,23.416,22.799,22.636,22.727,22.686,22.362,21.667,21.188,20.734,20.783,20.242,20.061,19.751,18.644,18.447,18.246,17.017,16.523 10 | 23.945,25.866,26.162,25.604,24.659,24.346,24.156,23.859,24.166,24.279,24.519,24.667,24.212,24.284,24.169,24.419,24.344,24.113,23.861,23.583,22.838,22.71,22.904,22.479,22.121,21.368,21.177,21.01,20.381,20.125,19.981,19.086,18.556,18.079,16.97,16.304,15.665,15.161,14.676 11 | 25.857,25.858,25.682,24.432,23.951,24.043,23.773,24.112,24.315,24.641,24.711,24.173,24.426,24.353,24.28,23.834,23.809,22.796,22.823,22.899,22.698,22.14,21.369,21.253,20.634,20.258,19.895,19.021,18.366,17.548,16.614,15.89,15.339,14.53,13.789,12.975,12.157,11.061,9.8365 12 | 25.807,25.75,24.873,23.888,23.82,23.63,24.019,24.272,24.709,23.986,24.284,24.217,24.355,24.1,23.821,23.521,22.742,22.902,22.568,22.325,21.182,21.162,20.395,19.92,18.968,18.252,17.457,16.346,15.638,14.759,13.953,13.242,12.019,10.312,9.7215,9.1668,8.2422,7.1404,6.6104 13 | 25.858,25.394,24.375,23.676,23.301,23.585,23.98,24.467,23.852,24.101,24.314,24.075,23.983,23.371,22.74,22.719,22.474,21.522,21.131,20.832,20.122,19.256,18.446,17.789,16.672,15.388,14.541,13.543,12.041,11.669,9.9441,9.5408,8.2371,7.2012,6.6867,6.0137,5.6427,5.0986,6.6104 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/5pm_19.csv: -------------------------------------------------------------------------------- 1 | 7.1293,9.1943,11.452,13.554,15.317,16.96,18.147,19.096,19.621,19.903,20.084,20.503,20.91,21.235,21.624,21.966,22.258,22.544,22.988,23.321,23.577,23.888,24.008,24.16,24.461,24.723,25.023,25.31,25.21,25.418,25.501,25.564,25.449,25.415,25.244,25.186,25.408,25.525,25.658 2 | 7.7316,10.073,12.464,14.548,16.494,17.865,18.969,19.626,19.824,20.165,20.624,20.982,21.491,21.86,22.165,22.622,22.965,23.399,23.521,23.988,24.022,24.344,24.58,24.909,25.262,25.222,25.441,25.534,25.567,25.327,25.22,25.222,25.271,25.505,25.724,25.772,25.708,25.76,25.926 3 | 8.3078,10.785,13.402,15.561,17.331,18.719,19.566,19.908,20.243,20.624,21.092,21.512,21.915,22.391,22.849,23.332,23.5,23.946,23.983,24.357,24.706,24.974,25.18,25.338,25.453,25.55,25.382,25.391,25.149,25.279,25.556,25.726,25.538,25.7,25.878,25.957,26.043,26.154,26.108 4 | 9.0974,11.938,14.627,16.921,18.531,19.502,19.748,20.268,20.802,21.291,21.856,22.288,22.812,23.283,23.613,24.045,24.147,24.455,24.895,25.104,25.33,25.528,25.529,25.38,25.369,25.218,25.542,25.691,25.548,25.703,25.835,25.884,26.131,26.149,25.985,25.901,25.943,25.779,25.795 5 | 9.9393,13.043,15.844,17.868,19.387,19.934,20.263,20.824,21.417,21.995,22.542,23.024,23.358,23.975,24.086,24.429,24.9,25.205,25.359,25.438,25.264,25.199,25.17,25.417,25.42,25.588,25.706,25.902,25.967,25.989,25.825,25.749,25.664,25.604,25.617,25.221,25.114,24.968,24.755 6 | 10.689,14.004,16.964,18.852,19.793,20.021,20.682,21.403,21.973,22.626,23.151,23.58,24.021,24.269,24.811,25.099,25.257,25.48,25.272,25.234,25.124,25.343,25.576,25.552,25.821,25.871,25.973,25.86,25.616,25.512,25.401,25.352,24.952,24.909,24.61,24.487,24.327,24.358,24.341 7 | 11.38,14.944,17.657,19.369,20.016,20.437,21.118,21.885,22.493,23.048,23.62,24.042,24.349,24.944,24.984,25.386,25.402,25.013,25.019,25.33,25.33,25.464,25.606,25.705,25.622,25.439,25.335,25.233,25.146,24.733,24.487,24.396,24.084,24.049,24.065,23.866,23.941,24,23.878 8 | 12.747,16.111,18.947,19.8,20.213,21.15,21.894,22.628,23.237,23.87,24.118,24.754,25.125,25.338,25.416,25.253,24.964,25.454,25.312,25.473,25.633,25.603,25.294,25.066,25.005,24.78,24.803,24.265,23.927,23.963,23.818,23.657,23.764,23.73,23.73,23.579,23.647,23.549,23.62 9 | 13.492,17.382,19.672,20.044,20.927,21.778,22.581,23.343,23.89,24.25,24.964,25.023,25.333,25.184,24.86,25.24,25.224,25.402,25.457,25.426,25.05,24.82,24.69,24.626,24.222,23.815,23.555,23.716,23.541,23.61,23.632,23.461,23.526,23.444,23.436,23.285,23.328,23.217,23.35 10 | 14.697,18.337,19.984,20.594,21.536,22.381,23.182,23.896,24.322,24.889,25.066,25.328,25.167,25.028,25.352,25.255,25.419,25.374,24.965,24.678,24.48,24.442,24.034,23.612,23.571,23.459,23.379,23.518,23.462,23.517,23.36,23.368,23.331,23.312,23.334,23.386,23.528,23.586,23.641 11 | 15.993,19.657,20.516,21.467,22.152,23.261,24.067,24.531,25.238,25.342,25.202,24.834,25.096,25.058,25.359,25.066,24.714,24.371,24.307,23.857,23.608,23.377,23.227,23.35,23.414,23.316,23.449,23.407,23.166,23.298,23.44,23.463,23.57,23.806,23.983,23.897,24.043,24.093,24.032 12 | 17.483,20.559,21.027,22.069,23.094,23.998,24.599,25.386,25.446,25.318,25.115,25.003,25.023,25.058,24.536,24.327,24.235,23.661,23.349,23.343,23.203,23.199,23.392,23.294,23.39,23.35,23.353,23.431,23.679,23.759,23.887,23.944,23.945,24.219,24.115,24.281,24.34,24.509,24.626 13 | 18.762,20.912,21.605,22.606,23.835,24.536,25.143,25.414,25.273,24.874,24.804,24.901,24.472,24.247,24.078,23.853,23.48,23.124,23.172,23.167,23.422,23.241,23.239,23.316,23.327,23.597,23.734,23.837,24.008,24.04,24.165,24.141,24.202,24.423,24.589,24.747,24.865,24.848,24.626 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/5pm_43.csv: -------------------------------------------------------------------------------- 1 | 10.362,14.037,17.449,20.738,23.006,24.452,25.36,25.978,27.063,27.952,28.817,29.61,30.636,31.173,31.721,32.049,32.658,33.422,33.79,34.064,34.299,34.874,35.26,35.549,34.945,34.156,33.236,33.254,33.083,33.254,33.309,33.457,33.305,33.342,33.424,33.575,33.625,33.855,34.023 2 | 11.231,15.309,18.986,22.111,23.991,25.124,26.09,27.083,27.946,28.92,29.852,30.823,31.51,31.869,32.448,33.157,33.633,33.994,34.629,34.921,35.23,35.493,34.119,33.176,33.184,33.07,33.009,33.191,33.152,33.274,33.265,33.366,33.455,33.692,34,34.114,33.94,34.041,34.228 3 | 12.228,16.45,20.314,23.209,24.934,25.687,26.862,27.892,28.848,30.007,30.755,31.555,32.079,32.795,33.33,33.638,34.256,34.705,35.139,34.717,33.922,33.196,32.901,32.829,32.937,32.953,33.034,33.383,33.337,33.52,33.679,33.92,33.918,33.945,34.097,34.349,34.453,34.617,34.922 4 | 13.61,17.931,21.866,24.381,25.558,26.758,27.96,29.021,30.329,31.094,31.636,32.503,33.472,33.646,34.203,34.654,35.03,34.096,32.842,32.908,32.675,32.854,32.841,32.933,33.198,33.377,33.742,33.884,33.798,33.916,34.043,34.194,34.389,34.802,35.195,35.521,35.392,35.846,35.895 5 | 14.709,19.633,23.333,24.984,26.343,27.762,29.026,30.279,31.123,31.686,32.686,33.407,34.125,34.372,34.841,33.664,32.631,32.571,32.634,32.902,32.858,32.922,33.122,33.493,33.827,33.767,33.812,34.106,34.452,34.7,34.971,35.251,35.383,35.622,35.613,35.109,35.001,34.199,34.309 6 | 15.965,20.798,24.052,25.656,27.323,28.728,30.223,31.118,31.586,32.816,33.087,34.127,34.786,34.238,33.1,32.501,32.469,32.684,32.813,32.974,33.175,33.351,33.769,33.639,33.96,34.165,34.582,35.118,35.557,35.557,35.493,35.64,35.238,34.181,34.4,34.001,33.772,33.693,33.226 7 | 17,21.944,24.861,26.137,27.872,29.667,31.011,31.425,32.636,33.203,33.802,34.583,33.305,32.413,32.097,32.511,32.465,32.739,33.004,33.469,33.476,33.45,33.82,34.086,34.542,34.953,35.145,35.628,35.476,35.114,34.149,34.07,33.692,33.569,33.345,32.428,31.642,29.626,27.483 8 | 18.571,23.342,25.203,27.228,29.014,30.638,31.426,32.484,32.974,33.818,34.526,32.734,32.194,32.297,32.538,32.665,33.052,33.528,33.579,33.864,33.851,34.209,34.879,34.966,35.287,35.179,34.565,34.232,34.061,33.549,33.363,32.947,31.392,29.218,27.027,23.642,21.357,20.109,18.912 9 | 20.194,24.165,25.867,28.269,30.064,31.219,32.597,32.826,33.588,34.223,32.496,32.016,32.411,32.564,32.742,33.528,33.553,33.762,34.24,34.693,35.144,35.216,35.284,34.972,33.973,34.038,33.761,33.548,32.093,30.475,28.552,25.316,22.801,20.42,18.665,17.241,13.233,11.661,10.296 10 | 21.343,24.799,26.836,29.138,30.958,31.875,32.873,33.582,34.172,32.363,31.883,32.349,32.77,33.153,33.496,33.64,34.044,34.731,35.203,35.362,35.265,35.104,34.031,34.094,33.474,33.419,31.913,29.502,25.425,22.198,20.669,18.821,15.852,13.318,11.166,9.6169,7.9961,6.3539,4.5741 11 | 23.182,25.219,27.665,30.125,31.595,32.638,33.539,33.888,32.091,32.245,32.203,33.11,33.874,33.696,34.204,34.82,35.496,35.611,35.261,34.191,34.302,33.749,32.67,31.846,28.749,24.767,21.071,19.005,15.316,12.297,11.024,9.5728,7.5934,5.4234,3.8334,2.753,1.4735,-0.016786,-1.0067 12 | 24.309,26.166,29.059,30.987,32.515,33.187,33.741,31.713,32.265,32.333,33.099,33.818,34.147,34.74,35.571,35.575,35.119,34.505,33.977,33.597,32.594,30.732,26.06,23.234,19.86,17.266,12.142,10.291,8.4867,6.3654,4.8259,3.5822,1.8521,0.28365,-0.57103,-1.2863,-1.7675,-2.1454,-2.3991 13 | 24.955,26.644,29.549,31.502,32.431,33.622,31.729,31.742,32.29,32.925,33.367,34.195,35.09,35.318,35.647,34.894,34.205,33.519,32.477,29.974,26.056,21.916,19.522,14.071,11.55,9.4799,7.1979,4.2384,3.0783,1.8773,0.054822,-0.81592,-1.4858,-1.9294,-2.1074,-2.8405,-3.3141,-3.6161,-2.3991 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/6pm_0.csv: -------------------------------------------------------------------------------- 1 | 2.7413,2.7746,2.7753,2.7947,2.7689,2.7977,2.8227,2.8798,2.9074,2.9438,2.9495,2.9142,2.9429,2.9651,2.966,2.9936,3.0174,3.0229,3.0307,3.0447,3.0522,3.0591,3.086,3.0699,3.0617,3.1305,3.1493,3.1532,3.1853,3.1721,3.2083,3.2159,3.2307,3.2797,3.2677,3.2852,3.33,3.3355,3.3203 2 | 2.7475,3.0856,3.1032,3.1241,3.1169,3.1609,3.1504,3.1965,3.2124,3.2714,3.2439,3.2641,3.3008,3.2991,3.3066,3.319,3.335,3.3374,3.3708,3.3833,3.4057,3.387,3.4191,3.4577,3.443,2.9877,3.0028,3.0434,3.0522,3.0488,3.0845,3.1419,3.142,3.177,3.1917,3.1843,3.2025,3.2544,3.2233 3 | 3.2556,3.2626,3.2857,3.297,3.3064,3.2837,3.3415,3.3666,3.4195,3.4149,3.4023,3.4738,3.4549,3.5335,3.4941,3.5392,3.1059,3.1283,3.1507,3.1626,3.2061,3.2168,3.2374,3.2378,3.2856,3.2822,3.3294,3.3604,3.3595,3.394,3.42,3.4595,3.4426,3.4752,3.477,3.562,3.5188,3.5863,3.5907 4 | 3.4553,3.4989,3.4916,3.5195,3.5657,3.5823,3.6028,3.6202,3.2008,3.28,3.2723,3.2627,3.3174,3.3424,3.3551,3.4153,3.426,3.4704,3.4951,3.5296,3.5286,3.5693,3.5879,3.6442,3.6139,3.7045,3.6868,3.7248,3.7777,3.8109,3.8282,3.8591,3.8792,3.9004,3.9662,3.9434,4.0343,3.994,4.0478 5 | 3.3677,3.3991,3.4147,3.4701,3.4529,3.4981,3.5185,3.5633,3.5899,3.5775,3.6441,3.6695,3.6887,3.728,3.7329,3.7786,3.8469,3.8392,3.8508,3.8845,3.9692,3.9495,3.9819,4.0091,4.0418,4.089,4.0987,4.1573,4.1664,4.1882,4.2611,4.2839,4.2614,4.3259,4.3629,4.4228,4.3841,4.4355,4.4683 6 | 3.7781,3.778,3.8036,3.8301,3.8571,3.9076,3.9146,3.9252,4.008,3.9832,4.0665,4.0849,4.0841,4.1477,4.1767,4.1942,4.2329,4.267,4.3008,4.3241,4.3214,4.3727,4.4039,4.4554,4.4992,4.4892,4.5465,4.5404,4.2369,4.2711,4.2772,4.3361,4.3566,4.3645,4.4196,4.5048,4.466,4.5176,4.5432 7 | 4.1489,4.1502,4.1889,4.2163,4.224,4.2502,4.2856,4.3477,4.3421,4.3692,4.4106,4.4366,4.458,4.495,4.5786,4.568,4.5678,4.6363,4.3065,4.3271,4.3856,4.3986,4.4289,4.4692,4.528,4.6233,4.5682,4.65,4.6908,4.7158,4.7027,4.7813,4.8349,4.8573,4.874,4.9602,4.9783,4.9956,5.0184 8 | 4.639,4.6648,4.6724,4.7201,4.7191,4.762,4.8368,4.8677,4.5757,4.5731,4.581,4.6553,4.6945,4.7222,4.7754,4.8347,4.8403,4.8546,4.8738,4.9578,5.0079,5.0163,5.0854,5.1262,5.1403,5.1804,5.2245,5.2666,5.3076,5.3926,5.3602,5.3968,5.4445,5.4805,5.5606,5.5477,5.6423,5.6763,5.6643 9 | 4.8704,4.9093,4.9544,4.9299,4.975,5.0006,5.0201,5.0874,5.1337,5.1402,5.1939,5.2272,5.2549,5.2844,5.3784,5.4093,5.394,5.4609,5.5376,5.5635,5.5895,5.6227,5.6844,5.7519,5.7526,5.814,5.8406,5.91,5.9818,6.0536,6.0466,6.0747,6.114,6.1069,6.2313,6.2642,6.2442,6.2923,6.3672 10 | 5.4192,5.4557,5.4749,5.4847,5.5294,5.5631,5.5888,5.648,5.6943,5.7472,5.7563,5.7798,5.8699,5.8159,5.9404,6.0163,5.9982,6.0028,6.0705,6.1301,6.1474,6.2121,6.2936,6.3333,6.4308,6.3523,6.4788,6.5146,6.5569,6.5908,6.7082,6.4141,6.446,6.4775,6.5615,6.627,6.6235,6.7283,6.7557 11 | 6.3705,6.3562,6.3515,6.4021,6.4554,6.4485,6.4492,6.5539,6.5711,6.6322,6.6166,6.7175,6.7601,6.56,6.5912,6.6732,6.7615,6.7241,6.8041,6.8853,6.9012,6.9326,7.0439,7.0343,7.0915,7.171,7.226,7.2944,7.2949,7.3039,7.4167,6.9983,7.0674,7.0238,7.1255,7.2355,7.266,7.3141,7.2991 12 | 6.4809,6.4624,6.6377,6.6927,6.7223,6.888,6.8777,6.7575,6.9011,6.9182,6.9259,7.0661,7.0701,7.123,7.1936,7.2678,7.2605,7.4101,7.4719,7.0785,7.1539,7.1719,7.3212,7.3335,7.3987,7.5183,7.5236,7.5793,7.6452,7.7095,7.7743,7.8662,7.9181,7.9486,8.0069,8.0566,8.1944,8.2107,8.2661 13 | 7.3901,7.4156,7.5006,7.4897,7.541,7.6234,7.6723,7.3162,7.3267,7.3575,7.4407,7.5052,7.6046,7.6081,7.6923,7.761,7.7926,7.8705,7.9162,7.9846,8.0491,8.0801,8.0975,8.1743,8.2706,8.306,8.3973,8.479,8.5483,8.6136,8.6582,8.6551,8.7317,8.8045,8.9141,8.9246,9.0014,9.1363,8.2661 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/6pm_152.csv: -------------------------------------------------------------------------------- 1 | 6.765,8.5612,9.952,11.612,13.093,14.703,16.24,17.899,19.636,21.098,21.992,23.072,24.47,25.731,26.819,27.877,28.708,29.491,30.529,31.447,31.953,32.614,32.836,33.133,33.516,34.291,34.769,35.396,35.716,35.819,35.693,35.487,35.216,35.187,35.6,35.537,35.922,35.843,36.289 2 | 6.7438,8.8412,10.717,12.443,14.238,15.927,17.772,19.476,21.364,22.678,23.671,24.774,26.232,27.616,28.594,29.583,30.356,31.259,32.173,32.664,33.047,33.268,34.069,34.633,35.22,35.892,35.851,35.603,35.553,35.065,35.351,35.61,35.71,35.935,36.26,35.621,34.87,33.865,33.445 3 | 8.0388,9.5804,11.672,13.301,15.223,17.181,19.076,20.963,22.756,24.279,25.23,26.487,27.849,29.242,30.075,31.014,31.792,32.567,33.008,33.379,33.96,34.524,35.21,35.875,35.721,35.638,35.124,35.44,35.553,35.916,35.975,36.292,35.376,34.362,33.774,33.348,32.336,32.014,31.497 4 | 8.8041,10.501,12.682,15.004,17.04,19.067,21.029,22.94,24.872,26.406,27.487,28.66,30.01,31.167,31.933,32.757,33.187,33.664,34.559,35.204,35.819,35.711,35.543,34.98,35.494,35.826,36.121,36.335,35.164,34.527,33.428,32.551,32.001,31.502,30.769,30.135,29.768,28.127,27.532 5 | 9.0803,11.647,13.914,16.154,18.474,20.802,22.76,24.812,26.91,28.283,29.438,30.491,31.856,32.704,33.217,33.688,34.56,35.259,35.591,35.535,35.543,35.367,35.752,35.953,36.418,34.466,33.749,32.485,32.237,31.859,31.321,29.741,29.323,28.325,27.364,27.437,24.839,24.724,23.86 6 | 10.01,12.413,15.013,17.584,20.067,22.248,24.287,26.6,28.602,29.934,30.994,32.115,32.925,33.427,34.189,35.091,35.812,35.658,35.271,35.295,35.765,36.14,35.997,34.197,32.895,32.245,31.58,31.013,29.584,29.016,27.828,27.353,24.802,24.866,23.265,21.462,18.151,16.675,12.669 7 | 10.434,13.106,15.982,18.941,21.365,23.748,25.798,28.012,29.967,31.427,32.141,32.985,33.5,34.487,35.358,35.701,35.512,35.029,35.752,36.031,36.324,34.077,32.329,31.716,30.748,29.393,28.482,27.407,27.081,25.89,24.526,23.573,18.157,18.131,15.461,12.239,6.5657,5.2298,5.2577 8 | 11.671,14.743,17.709,20.685,23.207,25.635,27.855,29.851,31.812,32.622,33.094,33.917,35.069,35.527,35.654,35.086,35.475,35.997,34.902,33.391,32.172,31.043,29.844,29.038,27.276,26.547,24.575,24.141,20.243,18.115,16.599,10.958,6.7726,5.1945,5.0684,5.1031,4.3066,3.6008,2.6418 9 | 12.459,15.739,19.165,22.253,24.851,27.329,29.472,31.537,33.072,33.547,34.349,35.532,35.639,35.211,35.51,35.792,35.745,33.498,31.954,30.706,29.268,28.109,26.871,25.207,23.96,19.102,17.972,15.468,9.7023,4.9893,5.2093,5.0612,4.9582,3.843,3.284,2.5874,2.5887,1.262,1.0259 10 | 13.269,16.945,20.592,23.82,26.466,29.023,30.887,32.615,33.75,34.834,35.727,35.676,35.199,35.809,36.206,34.485,32.738,31.348,29.411,27.958,26.781,24.814,24.396,18.73,17.452,11.064,5.1284,5.2513,5.1816,4.9501,4.0806,3.1093,2.5715,1.6887,1.4316,0.9057,0.59589,0.28334,-0.46515 11 | 15.115,18.825,22.711,25.844,28.846,30.916,32.955,33.801,35.739,36.086,35.483,35.758,36.202,34.406,32.145,31.055,29.139,26.974,25.241,24.454,19.845,17.759,13.337,6.134,4.9627,4.8629,3.4071,3.3862,2.4385,2.0153,1.3253,0.66221,0.56955,0.0064019,-0.20407,-1.3275,-2.5061,-3.0659,-3.5494 12 | 16.28,20.437,24.424,27.689,30.422,32.566,33.751,35.465,36.148,35.66,35.881,36.669,33.381,31.506,29.65,27.673,26.704,24.112,19.145,16.794,12.15,5.0736,5.1254,4.4983,3.3571,2.4742,1.5196,0.71576,0.47812,0.27559,0.066651,-0.84184,-2.3577,-2.7056,-3.4242,-4.0202,-5.106,-5.9264,-6.7856 13 | 17.596,21.742,25.823,29.394,31.601,33.322,34.732,35.704,35.463,35.845,36.332,32.822,30.488,28.524,26.813,24.639,22.969,17.594,9.3777,4.9544,4.7779,4.2512,3.3268,2.5048,1.432,0.48054,0.0080984,-0.43281,-1.2843,-2.4985,-2.5491,-3.4624,-4.504,-5.2698,-6.6038,-6.8222,-7.1513,-7.6493,-10.0218 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/6pm_18.csv: -------------------------------------------------------------------------------- 1 | 3.4762,4.2194,4.63,5.091,5.6056,6.3356,6.8607,7.0332,7.773,8.3479,8.9392,9.4134,10.227,10.854,11.649,12.354,12.934,13.559,14.405,15.245,15.76,16.307,16.952,17.627,18.238,18.715,19.246,19.75,20.179,20.65,21.121,21.622,22.026,22.486,22.999,23.371,23.812,24.066,24.616 2 | 3.8356,4.6207,5.1979,5.6436,6.2697,6.7911,7.1155,7.9873,8.6,9.3068,9.8271,10.693,11.316,12.169,12.759,13.446,14.417,15.117,15.828,16.671,17.568,18.176,18.683,19.203,19.641,20.231,20.87,21.236,21.776,22.289,22.803,23.289,23.83,24.334,24.797,25.16,25.616,26.18,26.739 3 | 4.1212,4.6099,5.7177,6.2517,6.5528,6.9485,7.978,8.6769,9.3776,9.9926,10.7,11.708,12.334,13.169,14.043,15.03,15.633,16.464,17.426,18.275,19.062,19.318,19.945,20.553,21.182,21.62,22.099,22.675,23.235,23.756,24.196,24.838,25.382,26.081,26.601,27.024,27.405,27.874,28.606 4 | 4.682,5.3152,6.1769,6.7453,6.9085,8.0621,9.0004,9.4981,10.521,11.333,12.306,13.065,13.984,14.917,15.826,16.77,17.789,18.646,19.202,19.965,20.85,21.307,21.755,22.381,22.935,23.619,24.19,24.719,25.234,26.024,26.573,27.308,27.823,28.616,29.229,29.694,30.232,30.896,31.632 5 | 4.8445,5.9998,6.9781,7.0046,7.9138,8.9098,9.6465,10.562,11.688,12.429,13.404,14.725,15.427,16.552,17.665,18.743,19.36,20.131,20.984,21.647,22.408,23.028,23.561,24.163,24.817,25.351,26.197,26.807,27.465,28.206,28.876,29.66,30.399,31.248,34.706,32.495,33.235,34.028,34.831 6 | 5.4431,6.4262,7.2292,7.8954,8.6488,9.4313,10.544,11.837,12.596,13.737,14.866,15.971,17.136,18.176,19.194,19.95,20.773,21.534,22.426,23.264,23.943,24.614,25.228,25.969,26.51,27.293,28.116,28.922,29.625,30.483,31.338,32.219,32.942,33.877,34.778,35.241,36.155,36.92,38.04 7 | 5.9505,7.0073,7.9757,8.7402,9.3488,10.464,11.732,12.603,13.718,14.903,16.104,17.281,18.641,19.513,20.469,21.298,22.21,22.879,23.737,24.704,25.54,26.169,26.767,27.453,28.367,29.241,30.05,30.913,31.791,32.776,33.533,34.701,35.473,36.542,37.608,38.39,39.364,40.382,41.582 8 | 6.6165,7.4151,8.8239,9.4139,10.307,11.692,12.971,14.189,15.271,16.664,18.07,19.171,20.277,21.211,22.192,23.072,23.797,24.818,25.837,26.65,27.534,28.386,29.072,30.094,30.896,31.962,33.034,34.043,34.867,35.977,37.053,38.225,39.52,40.995,41.989,42.66,43.684,44.829,45.703 9 | 7.1485,8.4331,9.7141,10.187,11.261,12.643,14.339,15.503,16.914,18.324,19.828,20.681,21.654,22.64,23.622,24.621,25.716,26.636,27.696,28.781,29.946,30.774,31.627,32.613,33.677,34.612,35.877,37.172,38.449,39.938,41.161,42.428,43.608,44.91,45.927,46.506,47.359,48.325,49.352 10 | 7.4085,9.1001,10.342,10.998,12.493,13.85,15.338,16.936,18.384,19.933,20.97,21.994,23.108,24.142,25.23,26.174,27.33,28.441,29.646,31.005,32.132,33.082,34.253,35.203,36.281,37.654,39.295,40.784,41.99,43.369,44.551,45.837,46.973,48.129,49.011,49.748,50.584,51.551,52.504 11 | 8.6065,10.011,11.663,12.674,13.844,15.512,17.436,18.913,20.793,21.666,22.886,23.926,25.16,26.223,27.566,28.737,30.155,31.405,32.815,34.211,35.729,36.976,38.077,39.622,41.34,42.872,44.394,45.742,46.954,48.143,49.044,50.221,51.483,54.308,53.132,53.787,54.621,53.965,51.588 12 | 9.395,11.251,12.592,13.505,15.343,17.489,19.174,20.959,22.071,23.105,24.433,25.821,27.042,28.511,29.807,31.165,32.665,34.172,35.87,37.616,39.438,41.203,42.588,44.147,45.356,47.097,48.441,49.659,50.675,51.93,52.792,53.839,54.733,54.289,52.358,51.223,50.385,49.778,46.033 13 | 10.271,12.236,13.54,15.214,16.591,18.918,21.076,22.008,23.401,24.525,25.927,27.476,28.723,30.414,31.781,33.77,35.346,36.972,38.928,41.336,43.28,44.629,46.011,47.537,48.736,50.051,51.362,52.541,53.678,54.645,54.313,51.218,50.324,49.953,47.628,44.59,42.487,40.664,46.033 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/7pm_137.csv: -------------------------------------------------------------------------------- 1 | 6.2214,7.3597,8.7804,10.393,11.707,13.039,14.616,15.922,17.281,18.54,19.818,21.018,21.897,23.229,24.347,25.356,26.374,27.452,28.517,29.301,29.549,30.392,31.169,32.008,32.557,32.924,33.26,33.441,33.933,34.38,34.655,34.634,34.426,34.188,34.373,34.651,34.522,34.797,34.636 2 | 6.8141,8.0231,9.3473,11.177,12.483,14.199,15.768,17.406,18.781,20.25,21.579,22.692,23.676,24.983,26.134,27.25,28.227,29.331,30.168,30.862,31.141,32.15,32.705,33.168,33.461,33.796,34.226,34.627,34.504,34.09,34.214,34.582,34.514,34.769,34.545,34.494,34.533,35.23,35.699 3 | 7.38,8.4771,10.203,12.05,13.433,15.116,16.977,18.657,20.225,21.746,23.178,24.307,25.19,26.767,27.756,28.875,29.807,30.694,31.581,32.233,32.79,33.13,33.517,34.288,34.616,34.777,34.455,34.079,34.487,34.535,34.718,34.394,34.435,34.792,35.209,35.523,33.606,33.016,32.422 4 | 8.2207,8.82,11.258,13.033,14.86,16.79,18.743,20.668,22.321,23.989,25.245,26.523,27.501,28.986,29.984,30.851,31.743,32.682,33.193,33.449,33.655,34.361,34.887,34.191,34.378,34.716,34.506,34.519,34.506,34.922,35.385,34.322,33.537,32.613,31.854,31.699,30.646,30.301,29.231 5 | 8.7278,9.8015,12.204,14.487,16.192,18.287,20.542,22.528,24.08,25.811,27.254,28.411,29.413,30.65,31.671,32.661,33.075,33.547,34.427,34.71,34.702,34.165,34.715,34.919,34.482,34.425,34.786,35.566,33.569,32.891,31.949,31.655,30.986,29.987,29.197,28.531,28.077,26.929,26.132 6 | 8.8764,10.427,13.16,15.454,17.623,19.856,22.07,24.05,25.945,27.701,29.126,30.16,30.992,32.161,33.052,33.574,34.216,34.944,34.626,34.378,34.51,34.622,34.602,34.886,35.361,34.198,33.54,32.109,31.532,30.732,29.51,28.963,28.408,26.912,26.814,25.63,24.05,22.787,21.51 7 | 9.5982,11.372,14.384,16.619,18.701,21.253,23.711,25.64,27.548,29.16,30.483,31.482,32.269,33.04,33.619,34.428,34.645,34.213,34.419,34.665,34.357,34.696,35.512,33.847,32.851,31.523,31.061,29.918,28.519,28.336,27.156,26.737,25.744,24.137,23.12,18.953,18.869,16.801,15.391 8 | 10.676,12.239,15.468,18.027,20.699,23.2,25.436,27.731,29.568,31.009,32.155,32.957,33.62,34.457,34.868,34.226,34.582,34.428,34.589,34.894,35.3,32.769,32.087,30.954,30.013,28.658,28.051,26.544,25.428,24.288,23.907,20.765,18.94,16.745,16.045,12.729,8.711,5.7348,4.4387 9 | 11.356,13.191,16.971,19.61,22.322,25.043,27.381,29.546,31.228,32.601,33.446,33.882,34.745,34.505,34.689,34.671,34.382,35.055,33.61,33.213,31.817,30.272,28.963,28.079,27.42,26.222,25.066,23.695,19.607,18.159,16.345,14.053,9.3769,6.4634,6.101,4.5374,4.6085,3.4763,2.7413 10 | 12.222,14.554,18.199,21.018,23.79,26.551,29.025,31.006,32.486,33.568,34.3,34.932,34.606,34.766,34.455,34.621,35.732,33.132,31.52,30.862,28.939,27.92,26.829,25.921,24.503,22.913,19.271,16.673,13.949,11.406,6.2119,5.5304,4.5445,4.4659,3.5898,2.8041,2.3181,1.4988,0.88363 11 | 13.299,16.013,20.155,23.373,26.153,28.855,31.228,33.096,33.859,34.933,34.892,34.804,34.921,34.703,35.825,33.106,31.492,29.649,28.187,27.718,26.385,24.457,23.793,18.785,16.589,14.273,10.129,5.5337,4.5273,4.143,3.329,2.5225,2.1557,1.455,0.77855,0.66982,0.56563,0.12629,-0.80175 12 | 14.6,17.402,22.006,25.188,28.03,30.85,33.002,34.022,35.241,34.813,35.157,34.698,35.264,34.067,31.72,30.301,28.45,27.008,25.722,25.252,23.271,17.145,14.68,8.2268,5.1989,4.3434,4.5796,3.1227,2.4197,2.0685,1.3339,0.66245,0.39364,0.24916,-0.065354,-0.85177,-2.7258,-3.0404,-4.1529 13 | 15.468,18.716,23.733,26.781,29.485,32.02,33.901,34.947,34.508,34.98,34.698,35.491,33.271,30.862,29.038,27.703,26.291,25.368,22.974,19.765,15.506,9.1473,4.2851,4.2241,3.6492,3.1393,2.3685,1.4399,0.53598,0.23349,-0.0014396,-0.085827,-1.6526,-2.554,-3.4575,-4.1272,-5.0325,-5.6677,-6.393536667 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/7pm_18.csv: -------------------------------------------------------------------------------- 1 | 3.1589,3.802,4.5191,4.7711,5.6065,6.0713,6.8504,6.9903,7.6775,8.4367,8.8045,9.2574,10.076,10.622,11.394,12.045,12.652,13.36,13.916,14.733,15.285,15.912,16.561,17.21,17.928,18.582,19.116,19.454,19.94,20.281,20.793,21.364,21.735,22.057,22.661,22.997,23.343,23.671,24.094 2 | 3.5379,4.2239,4.5662,5.4035,6.2942,6.8359,7.0652,7.9037,8.4859,9.1511,9.5924,10.493,11.114,11.875,12.486,13.252,13.989,14.879,15.299,16.257,16.971,17.7,18.399,18.933,19.349,20.018,20.624,21.084,21.451,21.783,22.209,22.732,23.274,23.875,24.293,24.666,25.157,25.442,26.039 3 | 3.8744,4.6336,5.099,6.0322,6.6803,7.0332,7.9338,8.6077,9.2789,9.8432,10.489,11.403,12.297,12.96,13.711,14.544,15.187,16.167,16.954,17.781,18.453,19.021,19.559,20.177,20.889,21.398,21.816,22.484,22.911,23.212,23.733,24.224,24.907,25.357,26.043,26.529,26.86,27.275,27.852 4 | 4.3576,4.8516,5.8522,6.6025,7.1064,8.2295,8.7968,9.4167,10.398,11.14,12.048,12.76,13.672,14.753,15.32,16.272,17.333,18.192,19.058,19.649,20.186,20.876,21.34,21.991,22.622,23.208,23.77,24.366,24.967,25.283,26.051,26.581,27.25,27.931,28.604,29.173,29.579,30.116,30.783 5 | 4.4379,5.4605,6.2624,6.8995,8.1566,8.9268,9.7143,10.488,11.571,12.381,13.229,14.413,15.145,16.197,17.324,18.164,19.104,19.912,20.592,21.164,21.76,22.443,23.1,23.641,24.356,25.007,25.91,26.463,26.93,27.382,28.228,28.964,29.619,30.416,31.232,31.933,32.326,32.931,33.752 6 | 5.0239,6.0818,6.9933,7.8092,8.9832,9.7248,10.611,11.861,12.51,13.572,14.851,15.693,16.843,17.88,18.945,19.688,20.495,21.281,21.884,22.637,23.462,23.941,24.683,25.437,26.117,26.843,27.777,28.604,29.119,29.724,30.578,31.339,32.129,33.047,33.912,34.797,35.161,35.917,36.889 7 | 5.5023,6.3227,7.2014,8.6765,9.2762,10.438,11.854,12.629,13.717,14.809,15.785,17.216,18.306,19.341,20.152,20.836,21.64,22.453,23.261,23.91,24.663,25.469,26.347,26.987,27.912,28.759,29.659,30.542,31.296,31.952,32.781,33.829,34.728,35.512,36.758,37.666,38.29,39.164,40.502 8 | 6.1974,7.1797,8.2409,9.4367,10.746,11.901,12.976,14.179,15.19,16.569,17.724,18.962,20.113,20.793,21.599,22.526,23.326,24.234,24.995,25.896,26.848,27.658,28.642,29.577,30.577,31.532,32.496,33.431,34.354,35.079,36.211,37.397,38.61,39.892,41.188,42.006,42.73,43.598,44.733 9 | 6.635,7.5705,9.0667,10.264,11.807,13.1,14.523,15.539,16.954,18.169,19.596,20.666,21.357,22.388,23.125,24.078,25.007,26.034,26.831,27.939,28.898,29.954,31.202,32.05,33.256,34.383,35.538,36.712,37.602,38.589,40.057,41.48,42.805,43.732,45.089,45.847,46.38,47.31,48.298 10 | 7.3266,8.4235,9.4235,11.198,12.61,14.268,15.483,17.042,18.425,19.853,20.722,21.823,22.911,23.595,24.569,25.67,26.762,27.856,28.868,29.988,31.261,32.266,33.587,34.614,36.044,37.335,38.819,40.021,41.38,42.266,43.676,44.833,46.099,47.142,48.274,48.891,49.585,50.421,51.291 11 | 7.934,9.5411,11.108,12.536,14.499,15.849,17.663,18.958,20.652,21.525,22.59,23.604,24.661,25.858,26.995,28.1,29.327,30.531,31.865,33.295,34.537,35.897,37.456,38.989,40.733,42.181,43.781,45.125,46.03,46.884,48.391,49.083,50.559,51.483,52.33,53.315,53.626,53.919,51.462 12 | 8.9449,10.268,12.277,14.073,15.934,17.788,19.432,21.047,22.226,23.026,24.326,25.507,26.736,27.871,29.095,30.464,32.01,33.604,34.959,36.474,38.03,40.008,41.83,43.261,45.046,46.56,47.845,48.965,49.914,50.921,51.906,52.8,54.191,54.058,51.146,50.69,50.011,49.433,47.49 13 | 9.6696,11.41,13.039,15.321,17.362,19.237,21.141,22.183,23.389,24.363,25.779,27.153,28.45,29.963,31.273,32.924,34.496,36.046,38.098,39.956,41.893,43.481,45.331,46.78,48.376,49.606,50.786,51.817,52.793,53.498,54.117,51.282,50.132,49.886,47.536,43.652,43.067,40.869,46.28 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/data_checker.m: -------------------------------------------------------------------------------- 1 | clear; close all; 2 | 3 | data1 = csvread('redata_d1.csv'); 4 | data2 = csvread('redata_d2.csv'); 5 | data3 = csvread('redata_d3.csv'); 6 | data4 = csvread('redata_d4.csv'); 7 | 8 | 9 | figure; 10 | subplot(2,2,1); surf(data1); xlabel('exposure'); ylabel('gain'); view(2); 11 | subplot(2,2,2); surf(data2); xlabel('exposure'); ylabel('gain'); view(2); 12 | subplot(2,2,3); surf(data3); xlabel('exposure'); ylabel('gain'); view(2); 13 | subplot(2,2,4); surf(data4); xlabel('exposure'); ylabel('gain'); view(2); 14 | -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d0.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d110.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d110.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d137.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d137.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d152.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d152.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d19.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d213.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d213.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d260.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d260.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d310.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d310.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d344.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d344.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d358.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d358.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d372.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d372.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d380.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d380.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d43.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d43.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d458.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d458.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d750.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d750.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d7_18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d7_18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/3d86.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/3d86.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et0.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et110.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et110.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et137.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et137.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et152.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et152.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et19.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et213.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et213.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et260.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et260.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et310.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et310.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et344.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et344.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et358.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et358.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et372.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et372.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et380.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et380.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et43.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et43.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et458.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et458.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et750.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et750.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et7_18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et7_18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/et86.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/et86.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain0.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain110.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain110.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain137.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain137.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain152.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain152.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain19.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain213.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain213.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain260.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain260.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain310pdf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain310pdf.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain344.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain344.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain358.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain358.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain372.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain372.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain380pdf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain380pdf.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain43.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain43.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain458.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain458.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain750pdf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain750pdf.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain7_18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain7_18.pdf -------------------------------------------------------------------------------- /matlab/data/gp_hyperparam_tuning/figs/gain86.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/gp_hyperparam_tuning/figs/gain86.pdf -------------------------------------------------------------------------------- /matlab/data/indoor_sample/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/indoor_sample/1.png -------------------------------------------------------------------------------- /matlab/data/indoor_sample/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/indoor_sample/18.png -------------------------------------------------------------------------------- /matlab/data/indoor_sample/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/indoor_sample/28.png -------------------------------------------------------------------------------- /matlab/data/indoor_sample/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/indoor_sample/38.png -------------------------------------------------------------------------------- /matlab/data/indoor_sample/crf.csv: -------------------------------------------------------------------------------- 1 | -5.0208 2 | -4.9046 3 | -4.7884 4 | -4.6722 5 | -4.5559 6 | -4.4397 7 | -4.3235 8 | -4.2073 9 | -4.0911 10 | -3.9748 11 | -3.8587 12 | -3.743 13 | -3.6282 14 | -3.5148 15 | -3.4034 16 | -3.2944 17 | -3.1881 18 | -3.085 19 | -2.9851 20 | -2.8886 21 | -2.7955 22 | -2.706 23 | -2.6198 24 | -2.5371 25 | -2.4576 26 | -2.3813 27 | -2.3081 28 | -2.2378 29 | -2.1704 30 | -2.1056 31 | -2.0434 32 | -1.9837 33 | -1.9262 34 | -1.871 35 | -1.818 36 | -1.767 37 | -1.7179 38 | -1.6707 39 | -1.6254 40 | -1.5817 41 | -1.5397 42 | -1.4992 43 | -1.4602 44 | -1.4226 45 | -1.3864 46 | -1.3514 47 | -1.3176 48 | -1.285 49 | -1.2534 50 | -1.2228 51 | -1.1932 52 | -1.1645 53 | -1.1367 54 | -1.1097 55 | -1.0835 56 | -1.0579 57 | -1.0331 58 | -1.0089 59 | -0.98527 60 | -0.96222 61 | -0.93972 62 | -0.91772 63 | -0.89621 64 | -0.87515 65 | -0.85452 66 | -0.83431 67 | -0.8145 68 | -0.79507 69 | -0.776 70 | -0.75728 71 | -0.73889 72 | -0.72082 73 | -0.70306 74 | -0.68559 75 | -0.6684 76 | -0.6515 77 | -0.63486 78 | -0.61848 79 | -0.60235 80 | -0.58646 81 | -0.5708 82 | -0.55537 83 | -0.54015 84 | -0.52513 85 | -0.5103 86 | -0.49567 87 | -0.48122 88 | -0.46695 89 | -0.45285 90 | -0.43892 91 | -0.42516 92 | -0.41156 93 | -0.39812 94 | -0.38484 95 | -0.37171 96 | -0.35873 97 | -0.34591 98 | -0.33323 99 | -0.32069 100 | -0.3083 101 | -0.29605 102 | -0.28393 103 | -0.27194 104 | -0.26008 105 | -0.24836 106 | -0.23676 107 | -0.2253 108 | -0.21396 109 | -0.20274 110 | -0.19166 111 | -0.18069 112 | -0.16984 113 | -0.1591 114 | -0.14848 115 | -0.13796 116 | -0.12755 117 | -0.11723 118 | -0.107 119 | -0.096865 120 | -0.086818 121 | -0.076857 122 | -0.066979 123 | -0.057182 124 | -0.047465 125 | -0.037824 126 | -0.02826 127 | -0.018768 128 | -0.009349 129 | 5.6842e-11 130 | 0.0092801 131 | 0.018486 132 | 0.027618 133 | 0.036674 134 | 0.045655 135 | 0.054562 136 | 0.063395 137 | 0.072153 138 | 0.080838 139 | 0.089448 140 | 0.097985 141 | 0.10645 142 | 0.11484 143 | 0.12315 144 | 0.1314 145 | 0.13957 146 | 0.14767 147 | 0.1557 148 | 0.16366 149 | 0.17155 150 | 0.17938 151 | 0.18715 152 | 0.19484 153 | 0.20247 154 | 0.21004 155 | 0.21753 156 | 0.22496 157 | 0.23233 158 | 0.23962 159 | 0.24684 160 | 0.254 161 | 0.26109 162 | 0.26813 163 | 0.2751 164 | 0.28202 165 | 0.28889 166 | 0.2957 167 | 0.30246 168 | 0.30917 169 | 0.31583 170 | 0.32245 171 | 0.32901 172 | 0.33553 173 | 0.34201 174 | 0.34844 175 | 0.35483 176 | 0.36119 177 | 0.3675 178 | 0.37379 179 | 0.38005 180 | 0.38628 181 | 0.3925 182 | 0.39869 183 | 0.40488 184 | 0.41105 185 | 0.41722 186 | 0.42338 187 | 0.42955 188 | 0.43572 189 | 0.44189 190 | 0.44806 191 | 0.45425 192 | 0.46044 193 | 0.46664 194 | 0.47285 195 | 0.47906 196 | 0.48528 197 | 0.49149 198 | 0.49771 199 | 0.50392 200 | 0.51013 201 | 0.51633 202 | 0.52251 203 | 0.52868 204 | 0.53484 205 | 0.54096 206 | 0.54706 207 | 0.55313 208 | 0.55916 209 | 0.56515 210 | 0.5711 211 | 0.577 212 | 0.58285 213 | 0.58865 214 | 0.5944 215 | 0.60011 216 | 0.60577 217 | 0.61138 218 | 0.61696 219 | 0.6225 220 | 0.628 221 | 0.63346 222 | 0.63888 223 | 0.64427 224 | 0.64962 225 | 0.65494 226 | 0.66023 227 | 0.66548 228 | 0.67071 229 | 0.67591 230 | 0.68109 231 | 0.68625 232 | 0.69138 233 | 0.69649 234 | 0.7016 235 | 0.70669 236 | 0.71179 237 | 0.71689 238 | 0.72199 239 | 0.72711 240 | 0.73223 241 | 0.73736 242 | 0.7425 243 | 0.74765 244 | 0.7528 245 | 0.75797 246 | 0.76313 247 | 0.76828 248 | 0.77343 249 | 0.77857 250 | 0.78371 251 | 0.78884 252 | 0.79398 253 | 0.79911 254 | 0.80423 255 | 0.80936 256 | 1.6507 257 | -------------------------------------------------------------------------------- /matlab/data/outdoor_sample/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/outdoor_sample/1.png -------------------------------------------------------------------------------- /matlab/data/outdoor_sample/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/outdoor_sample/15.png -------------------------------------------------------------------------------- /matlab/data/outdoor_sample/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/outdoor_sample/70.png -------------------------------------------------------------------------------- /matlab/data/outdoor_sample/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/matlab/data/outdoor_sample/90.png -------------------------------------------------------------------------------- /matlab/data/outdoor_sample/crf.csv: -------------------------------------------------------------------------------- 1 | -8.3864 2 | -8.2303 3 | -8.0742 4 | -7.9182 5 | -7.7621 6 | -7.606 7 | -7.4499 8 | -7.2939 9 | -7.1378 10 | -6.9817 11 | -6.8256 12 | -6.6696 13 | -6.5135 14 | -6.3574 15 | -6.2016 16 | -6.0466 17 | -5.8926 18 | -5.7402 19 | -5.5898 20 | -5.4417 21 | -5.2963 22 | -5.1541 23 | -5.0155 24 | -4.8807 25 | -4.7502 26 | -4.6242 27 | -4.5028 28 | -4.3862 29 | -4.2744 30 | -4.1673 31 | -4.065 32 | -3.9672 33 | -3.8738 34 | -3.7845 35 | -3.699 36 | -3.6169 37 | -3.5379 38 | -3.4617 39 | -3.388 40 | -3.3165 41 | -3.247 42 | -3.1793 43 | -3.1134 44 | -3.0489 45 | -2.9858 46 | -2.9236 47 | -2.8625 48 | -2.8022 49 | -2.7428 50 | -2.6842 51 | -2.6263 52 | -2.5691 53 | -2.5127 54 | -2.4572 55 | -2.4024 56 | -2.3486 57 | -2.2956 58 | -2.2437 59 | -2.1927 60 | -2.1426 61 | -2.0936 62 | -2.0456 63 | -1.9986 64 | -1.9527 65 | -1.9079 66 | -1.8642 67 | -1.8217 68 | -1.7804 69 | -1.7402 70 | -1.7012 71 | -1.6631 72 | -1.6261 73 | -1.5898 74 | -1.5543 75 | -1.5195 76 | -1.4852 77 | -1.4514 78 | -1.418 79 | -1.3848 80 | -1.3518 81 | -1.3189 82 | -1.2861 83 | -1.2534 84 | -1.2207 85 | -1.1881 86 | -1.1554 87 | -1.1227 88 | -1.09 89 | -1.0572 90 | -1.0243 91 | -0.9914 92 | -0.9585 93 | -0.9257 94 | -0.8929 95 | -0.8602 96 | -0.8278 97 | -0.7956 98 | -0.7637 99 | -0.7321 100 | -0.7009 101 | -0.6701 102 | -0.6396 103 | -0.6096 104 | -0.5801 105 | -0.5511 106 | -0.5225 107 | -0.4945 108 | -0.4669 109 | -0.4399 110 | -0.4134 111 | -0.3874 112 | -0.362 113 | -0.337 114 | -0.3126 115 | -0.2887 116 | -0.2653 117 | -0.2424 118 | -0.2199 119 | -0.1979 120 | -0.1764 121 | -0.1553 122 | -0.1346 123 | -0.1143 124 | -0.0944 125 | -0.0749 126 | -0.0557 127 | -0.0368 128 | -0.0182 129 | 0 130 | 0.018 131 | 0.0356 132 | 0.0529 133 | 0.07 134 | 0.0868 135 | 0.1033 136 | 0.1195 137 | 0.1355 138 | 0.1512 139 | 0.1667 140 | 0.182 141 | 0.1971 142 | 0.212 143 | 0.2266 144 | 0.241 145 | 0.2551 146 | 0.2689 147 | 0.2825 148 | 0.2958 149 | 0.3089 150 | 0.3216 151 | 0.3341 152 | 0.3464 153 | 0.3585 154 | 0.3705 155 | 0.3822 156 | 0.3939 157 | 0.4054 158 | 0.4169 159 | 0.4282 160 | 0.4395 161 | 0.4507 162 | 0.4618 163 | 0.4728 164 | 0.4838 165 | 0.4946 166 | 0.5055 167 | 0.5162 168 | 0.527 169 | 0.5377 170 | 0.5484 171 | 0.5592 172 | 0.57 173 | 0.5808 174 | 0.5916 175 | 0.6025 176 | 0.6135 177 | 0.6245 178 | 0.6355 179 | 0.6467 180 | 0.6579 181 | 0.6692 182 | 0.6806 183 | 0.6922 184 | 0.7038 185 | 0.7157 186 | 0.7277 187 | 0.7399 188 | 0.7523 189 | 0.7649 190 | 0.7777 191 | 0.7907 192 | 0.8038 193 | 0.817 194 | 0.8302 195 | 0.8435 196 | 0.8568 197 | 0.8701 198 | 0.8834 199 | 0.8967 200 | 0.9101 201 | 0.9233 202 | 0.9365 203 | 0.9494 204 | 0.9622 205 | 0.9746 206 | 0.9869 207 | 0.9988 208 | 1.0105 209 | 1.0219 210 | 1.0329 211 | 1.0436 212 | 1.0541 213 | 1.0643 214 | 1.0743 215 | 1.0842 216 | 1.0939 217 | 1.1034 218 | 1.1128 219 | 1.122 220 | 1.1311 221 | 1.14 222 | 1.1489 223 | 1.1577 224 | 1.1666 225 | 1.1755 226 | 1.1845 227 | 1.1936 228 | 1.2027 229 | 1.2119 230 | 1.2211 231 | 1.2304 232 | 1.2399 233 | 1.2495 234 | 1.2593 235 | 1.2693 236 | 1.2794 237 | 1.2896 238 | 1.2998 239 | 1.3101 240 | 1.3203 241 | 1.3305 242 | 1.3408 243 | 1.351 244 | 1.3614 245 | 1.3718 246 | 1.3822 247 | 1.3927 248 | 1.4033 249 | 1.414 250 | 1.4247 251 | 1.4354 252 | 1.4462 253 | 1.457 254 | 1.4678 255 | 1.4785 256 | 3.1675 257 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_init.m: -------------------------------------------------------------------------------- 1 | function cfg = gp_cov_init (cfg) 2 | % function cfg = gp_cov_init 3 | % 4 | %----------------------------------------------------------------- 5 | % History: 6 | % Date Who What 7 | % ----------- ------- ----------------------------- 8 | % 2013.12.15 ak created and written 9 | % 2017.08.30 ak generalization 10 | 11 | cfg.gp.k_SE = 1; % Squared exponential 12 | cfg.gp.k_NN = 2; % neural network 13 | cfg.gp.k_MEL = 3; % mel 14 | cfg.gp.k_POLY = 4; % polynomial 15 | cfg.gp.k_MATERN = 5; % matern family 16 | cfg.gp.k_EXP = 6; % exponential 17 | cfg.gp.k_GEXP = 7; % gamma exponential 18 | cfg.gp.k_RQ = 8; % rational quadratic 19 | 20 | % covariance function 21 | cfg.gp.k = cfg.gp.k_SE; 22 | 23 | switch (cfg.gp.k) 24 | case cfg.gp.k_SE 25 | % % for prev dataset 26 | % param.l = 2; % length term 27 | % param.s_f = 3; % exp term 28 | param.l = 15.5; % length term 29 | param.s_f = 4.85; % exp term 30 | param.h1_range = 10:10:500; % == l 31 | param.h2_range = 10:10:500; % == s_f 32 | param.h1_name = 'l'; 33 | param.h2_name = 's_f'; 34 | param.s_n = 0.25; 35 | log_p = @log_prob_k_SE; 36 | case cfg.gp.k_NN 37 | % NN S = diag (so,s,s,....) 38 | param.s_o = 20.78; 39 | param.s = 22.55; 40 | param.h1_range = 1e6:1e6:1e7; % == s_o 41 | param.h2_range = 1e6:1e6:1e7; % == s 42 | param.h1_name = 's_o'; 43 | param.h2_name = 's'; 44 | param.s_n = 0.75; 45 | log_p = @log_prob_k_NN; 46 | case cfg.gp.k_MEL 47 | param.l = 10; %6.49; 48 | param.s = 10; %10.59; 49 | param.h1_range = 1:2:20; % == l 50 | param.h2_range = 1:2:20; % == s 51 | param.h1_name = 'l'; 52 | param.h2_name = 's'; 53 | param.s_n = 0.75; 54 | log_p = @log_prob_k_MEL; 55 | case cfg.gp.k_POLY 56 | param.s_o = 9.0; 57 | param.p = 0.4; 58 | param.h1_range = 1:2:10; % == s_o 59 | param.h2_range = 0.1:0.1:1; % == p 60 | param.h1_name = 's_o'; 61 | param.h2_name = 'p'; 62 | param.s_n = 1.0; 63 | log_p = @log_prob_k_POLY; 64 | case cfg.gp.k_MATERN 65 | param.l = 6.93; 66 | param.nu = 5/2; 67 | param.h1_range = 1:1:10; % == l 68 | param.h2_range = []; 69 | param.h1_name = 'l'; 70 | param.h2_name = ''; 71 | param.s_n = 1.0; 72 | log_p = @log_prob_k_MATERN; 73 | case cfg.gp.k_EXP 74 | param.l = 6; 75 | param.h1_range = 1:1:20; % == l 76 | param.h2_range = []; 77 | param.h1_name = 'l'; 78 | param.h2_name = ''; 79 | param.s_n = 0.5; 80 | log_p = @log_prob_k_EXP; 81 | case cfg.gp.k_GEXP 82 | param.l = 11.0; 83 | param.g = 0.9; 84 | param.h1_range = 5:1:15; % == l 85 | param.h2_range = 0.5:0.1:1.5; % == g 86 | param.h1_name = 'l'; 87 | param.h2_name = 'g'; 88 | param.s_n = 1.0; 89 | log_p = @log_prob_k_GEXP; 90 | case cfg.gp.k_RQ 91 | param.l = 1.6; 92 | param.a = 0.2; 93 | param.h1_range = 0.1:0.5:5; % == l 94 | param.h2_range = 0.1:0.1:1; % == a 95 | param.h1_name = 'l'; 96 | param.h2_name = 'a'; 97 | param.s_n = 1.0; 98 | log_p = @log_prob_k_RQ; 99 | end 100 | 101 | cfg.gp.k_log_p = log_p; 102 | cfg.gp.param = param; 103 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_init_normalize.m: -------------------------------------------------------------------------------- 1 | function cfg = gp_cov_init (cfg) 2 | % function cfg = gp_cov_init 3 | % 4 | %----------------------------------------------------------------- 5 | % History: 6 | % Date Who What 7 | % ----------- ------- ----------------------------- 8 | % 2013.12.15 ak created and written 9 | % 2017.08.30 ak generalization 10 | 11 | cfg.gp.k_SE = 1; % Squared exponential 12 | cfg.gp.k_NN = 2; % neural network 13 | cfg.gp.k_MEL = 3; % mel 14 | cfg.gp.k_POLY = 4; % polynomial 15 | cfg.gp.k_MATERN = 5; % matern family 16 | cfg.gp.k_EXP = 6; % exponential 17 | cfg.gp.k_GEXP = 7; % gamma exponential 18 | cfg.gp.k_RQ = 8; % rational quadratic 19 | 20 | % covariance function 21 | cfg.gp.k = cfg.gp.k_SE; 22 | 23 | switch (cfg.gp.k) 24 | case cfg.gp.k_SE 25 | param.l = 1000; % length term 26 | param.s_f = 35; % exp term 27 | param.h1_range = 10:10:500; % == l 28 | param.h2_range = 10:10:500; % == s_f 29 | param.h1_name = 'l'; 30 | param.h2_name = 's_f'; 31 | param.s_n = 10; 32 | log_p = @log_prob_k_SE; 33 | case cfg.gp.k_NN 34 | % NN S = diag (so,s,s,....) 35 | param.s_o = 20.78; 36 | param.s = 22.55; 37 | param.h1_range = 1e6:1e6:1e7; % == s_o 38 | param.h2_range = 1e6:1e6:1e7; % == s 39 | param.h1_name = 's_o'; 40 | param.h2_name = 's'; 41 | param.s_n = 0.75; 42 | log_p = @log_prob_k_NN; 43 | case cfg.gp.k_MEL 44 | param.l = 10; %6.49; 45 | param.s = 10; %10.59; 46 | param.h1_range = 1:2:20; % == l 47 | param.h2_range = 1:2:20; % == s 48 | param.h1_name = 'l'; 49 | param.h2_name = 's'; 50 | param.s_n = 0.75; 51 | log_p = @log_prob_k_MEL; 52 | case cfg.gp.k_POLY 53 | param.s_o = 9.0; 54 | param.p = 0.4; 55 | param.h1_range = 1:2:10; % == s_o 56 | param.h2_range = 0.1:0.1:1; % == p 57 | param.h1_name = 's_o'; 58 | param.h2_name = 'p'; 59 | param.s_n = 1.0; 60 | log_p = @log_prob_k_POLY; 61 | case cfg.gp.k_MATERN 62 | param.l = 6.93; 63 | param.nu = 5/2; 64 | param.h1_range = 1:1:10; % == l 65 | param.h2_range = []; 66 | param.h1_name = 'l'; 67 | param.h2_name = ''; 68 | param.s_n = 1.0; 69 | log_p = @log_prob_k_MATERN; 70 | case cfg.gp.k_EXP 71 | param.l = 6; 72 | param.h1_range = 1:1:20; % == l 73 | param.h2_range = []; 74 | param.h1_name = 'l'; 75 | param.h2_name = ''; 76 | param.s_n = 0.5; 77 | log_p = @log_prob_k_EXP; 78 | case cfg.gp.k_GEXP 79 | param.l = 11.0; 80 | param.g = 0.9; 81 | param.h1_range = 5:1:15; % == l 82 | param.h2_range = 0.5:0.1:1.5; % == g 83 | param.h1_name = 'l'; 84 | param.h2_name = 'g'; 85 | param.s_n = 1.0; 86 | log_p = @log_prob_k_GEXP; 87 | case cfg.gp.k_RQ 88 | param.l = 1.6; 89 | param.a = 0.2; 90 | param.h1_range = 0.1:0.5:5; % == l 91 | param.h2_range = 0.1:0.1:1; % == a 92 | param.h1_name = 'l'; 93 | param.h2_name = 'a'; 94 | param.s_n = 1.0; 95 | log_p = @log_prob_k_RQ; 96 | end 97 | 98 | cfg.gp.k_log_p = log_p; 99 | cfg.gp.param = param; 100 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_EXP.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_EXP (Xi, Xj, l, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | r = norm (Xi-Xj); 10 | Kij = exp (-r/l); -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_GEXP.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_GEXP (Xi, Xj, l, g, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | r = norm (Xi-Xj); 10 | Kij = exp (-r/l)^g; 11 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_MATERN.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_MATERN (Xi, Xj, l, nu, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | r = norm (Xi-Xj); 10 | 11 | %term1 = 1/(gamma(nu)*2^(nu-1)); 12 | %term2 = (sqrt(2*nu)*r/l); 13 | %term3 = term2^nu; 14 | %C = term1 * term2 * Knu *term3; 15 | 16 | % from GPML nu = 3/2 or 5/2 suggested 17 | 18 | if nu == 3/2 19 | Kij = (1+sqrt(3)*r/l)*exp(-sqrt(3)*r/l); 20 | elseif nu == 5/2 21 | Kij = (1+sqrt(5)*r/l+5*r^2/(3*l^2))*exp(-sqrt(5)*r/l); 22 | else 23 | fprintf (1,'nu = 3/2 or 5/2 suggestedn'); 24 | end 25 | 26 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_MEL.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_MEL (Xi, Xj, l, s, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | d = sqrt((Xi-Xj)'*(Xi-Xj)); 10 | 11 | %d = norm (Xi-Xj); 12 | 13 | if (d < l) % if distance is smaller than l 14 | term1 = ((2+cos(2*pi*d/l))/3)*(1-d/l); 15 | term2 = 1/(2*pi)*sin(2*pi*d/l); 16 | Kij = s*(term1 + term2); 17 | else 18 | Kij = 0; 19 | end 20 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_NN.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_NN (xi,xj,s0,s, cfg) 2 | % gp covariance function for NN 3 | % 4 | %----------------------------------------------------------------- 5 | % History: 6 | % Date Who What 7 | % ----------- ------- ----------------------------- 8 | % 2013.12.20 ak created and written 9 | 10 | [d, N] = size(xi); 11 | Xi = [ones(N,1); xi]; 12 | Xj = [ones(N,1); xj]; 13 | S = diag([s0,ones(1,d)*s].^2); 14 | 15 | num = 2*Xi'*S*Xj; 16 | den = sqrt((1+2*Xi'*S*Xi)*(1+2*Xj'*S*Xj)); 17 | 18 | Kij = asin (num/den); 19 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_POLY.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_POLY (Xi, Xj, p, s0, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | Kij = (Xi'*Xj + s0*s0).^p; -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_RQ.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_RQ (Xi, Xj, l, a, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | r = norm (Xi-Xj); 10 | 11 | Kij = (1+r^2/(2*a*l^2))^(-a); 12 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_SE.m: -------------------------------------------------------------------------------- 1 | function C = gp_cov_k_SE (Xi, Xj, l, s_f, cfg) 2 | % gp covariance function for SE 3 | % 4 | %----------------------------------------------------------------- 5 | % History: 6 | % Date Who What 7 | % ----------- ------- ----------------------------- 8 | % 2013.12.20 ak created and written 9 | 10 | dim = size(Xi, 1); 11 | M = eye(dim)/(l^2); 12 | %M = diag(1./[0.2,3.0,1.0].^2)/(l^2); 13 | C = s_f.^2*exp(-0.5*(Xi-Xj)'*M*(Xi-Xj)); 14 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_cov_k_noise.m: -------------------------------------------------------------------------------- 1 | function Kij = gp_cov_k_noise (Xi, Xj, s_n) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | del = 0; if (norm(Xi-Xj)==0), del = 1; end 10 | Kij = s_n.^2*del; 11 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_predict.m: -------------------------------------------------------------------------------- 1 | function [mu, var] = gp_predict (x_test, x_train, K, y_train, cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.09.09 ak created and written 8 | 9 | mu = []; 10 | var = []; 11 | 12 | r = size(x_train, 2); 13 | c = size(x_test, 2); 14 | k_star = zeros(r,c); 15 | 16 | for kk=1:r 17 | Xkk = x_train(:, kk); 18 | for ii=1:c 19 | Xnew = x_test(:, ii); 20 | k_star(kk,ii) = gp_cov_fcns (Xkk, Xnew, cfg); 21 | end 22 | end 23 | 24 | % A=K+sigma_n*eye(n_test); inv(A)*y 25 | s_n = cfg.gp.param.s_n; 26 | K_sub = K; 27 | y_sub = y_train; 28 | L = chol(K_sub + (s_n^2)*eye(r)); 29 | alpha = L\(L'\y_sub); 30 | 31 | % mu prediction 32 | mu = k_star'*alpha; 33 | 34 | % var prediction 35 | v = L' \ k_star; 36 | var = gp_cov_fcns (Xnew, Xnew, cfg) - v'*v; 37 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gp_train.m: -------------------------------------------------------------------------------- 1 | function K = gp_train (x_train, y_train, cfg) 2 | % 3 | % x_train: x data to train 4 | % cfg: contain cov function params 5 | % 6 | %----------------------------------------------------------------- 7 | % History: 8 | % Date Who What 9 | % ----------- ------- ----------------------------- 10 | % 2017.08.16 ak created and written 11 | 12 | num = size(x_train, 2); 13 | K = zeros(num,num); 14 | 15 | for ii=1:num 16 | for jj=ii:num 17 | Xii = x_train(:, ii); 18 | Xjj = x_train(:, jj); 19 | Kij = gp_cov_fcns (Xii, Xjj, cfg); 20 | K(ii,jj) = Kij; 21 | if (ii~=jj), K(jj,ii) = Kij; end; 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /matlab/fcns_gp/gpmi_optim.m: -------------------------------------------------------------------------------- 1 | function [ idx, psi_update, acquisition_func ] = gpmi_optim( y_pred, var_pred, alpha, psi) 2 | %GPMI_OPTIM Summary of this function goes here 3 | % Detailed explanation goes here 4 | 5 | if (size(var_pred,1) == size(var_pred,2)) 6 | var_diag = diag(var_pred); 7 | else 8 | var_diag = var_pred; 9 | end 10 | 11 | var_eval = sqrt(alpha) * (sqrt(var_diag.^2 + psi) - sqrt(psi)); 12 | acquisition_func = y_pred + var_eval; 13 | 14 | [val, idx] = max(acquisition_func); 15 | psi_update = psi + var_diag(idx); 16 | 17 | end 18 | 19 | -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_EXP.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_EXP (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | l = x(1); 16 | s_n = cfg.gp.param.s_n; 17 | 18 | for ii=1:n 19 | Xi = X(:,ii); 20 | for jj=1:ii 21 | Xj = X(:,jj); 22 | Kij = gp_cov_k_EXP (Xi, Xj, l) + gp_cov_k_noise (Xi, Xj, s_n); 23 | K(ii,jj) = Kij; 24 | if (ii~=jj), K(jj,ii) = Kij; end 25 | end 26 | end 27 | 28 | logprob = y'/K*y+log(det(K)); -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_GEXP.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_GEXP (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | l = x(1); 16 | g = x(2); 17 | s_n = cfg.gp.param.s_n; 18 | 19 | for ii=1:n 20 | Xi = X(:,ii); 21 | for jj=1:ii 22 | Xj = X(:,jj); 23 | Kij = gp_cov_k_GEXP (Xi, Xj, l, g) + gp_cov_k_noise (Xi, Xj, s_n); 24 | K(ii,jj) = Kij; 25 | if (ii~=jj), K(jj,ii) = Kij; end 26 | end 27 | end 28 | 29 | logprob = y'/K*y+log(det(K)); -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_MATERN.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_MATERN (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | l = x(1); 16 | nu = cfg.gp.param.nu; 17 | s_n = cfg.gp.param.s_n; 18 | 19 | for ii=1:n 20 | Xi = X(:,ii); 21 | for jj=1:ii 22 | Xj = X(:,jj); 23 | Kij = gp_cov_k_MATERN (Xi, Xj, l, nu) + gp_cov_k_noise (Xi, Xj, s_n); 24 | K(ii,jj) = Kij; 25 | if (ii~=jj), K(jj,ii) = Kij; end 26 | end 27 | end 28 | 29 | logprob = y'/K*y+log(det(K)); -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_MEL.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_MEL (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | l = x(1); 16 | s = x(2); 17 | s_n = cfg.gp.param.s_n; 18 | 19 | for ii=1:n 20 | Xi = X(:,ii); 21 | for jj=1:ii 22 | Xj = X(:,jj); 23 | Kij = gp_cov_k_MEL (Xi, Xj, l, s) + gp_cov_k_noise (Xi, Xj, s_n); 24 | K(ii,jj) = Kij; 25 | if (ii~=jj), K(jj,ii) = Kij; end 26 | end 27 | end 28 | 29 | logprob = y'/K*y+log(det(K)); -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_NN.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_NN (x,data,cfg) 2 | % 3 | % log prob for NN cov function 4 | % 5 | %----------------------------------------------------------------- 6 | % History: 7 | % Date Who What 8 | % ----------- ------- ----------------------------- 9 | % 2013.12.20 ak created and written 10 | % 2013.12.26 ak added noise term to k_NN 11 | 12 | X = data(1:3,:); 13 | y = data(4,:)'; 14 | 15 | n = length(y); 16 | K = zeros(n,n); 17 | 18 | s0 = x(1); 19 | s = x(2); 20 | s_n = cfg.gp.param.s_n; 21 | 22 | for ii=1:n 23 | Xi = X(:,ii); 24 | for jj=1:ii 25 | Xj = X(:,jj); 26 | Kij = gp_cov_k_NN (Xi,Xj,s0,s) + gp_cov_k_noise (Xi, Xj, s_n); 27 | K(ii,jj) = Kij; 28 | if (ii~=jj), K(jj,ii) = Kij; end 29 | end 30 | end 31 | 32 | logprob = y'/K*y+log(det(K)); 33 | -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_POLY.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_POLY (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | so = x(1); 16 | p = x(2); 17 | s_n = cfg.gp.param.s_n; 18 | 19 | for ii=1:n 20 | Xi = X(:,ii); 21 | for jj=1:ii 22 | Xj = X(:,jj); 23 | Kij = gp_cov_k_POLY (Xi, Xj, p, so) + gp_cov_k_noise (Xi, Xj, s_n); 24 | K(ii,jj) = Kij; 25 | if (ii~=jj), K(jj,ii) = Kij; end 26 | end 27 | end 28 | 29 | logprob = y'/K*y+log(det(K)); 30 | -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_RQ.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_RQ (x,data,cfg) 2 | % 3 | %----------------------------------------------------------------- 4 | % History: 5 | % Date Who What 6 | % ----------- ------- ----------------------------- 7 | % 2013.12.26 ak created and written 8 | 9 | X = data(1:3,:); 10 | y = data(4,:)'; 11 | 12 | n = length(y); 13 | K = zeros(n,n); 14 | 15 | l = x(1); 16 | a = x(2); 17 | s_n = cfg.gp.param.s_n; 18 | 19 | for ii=1:n 20 | Xi = X(:,ii); 21 | for jj=1:ii 22 | Xj = X(:,jj); 23 | Kij = gp_cov_k_RQ (Xi, Xj, l, a) + gp_cov_k_noise (Xi, Xj, s_n); 24 | K(ii,jj) = Kij; 25 | if (ii~=jj), K(jj,ii) = Kij; end 26 | end 27 | end 28 | 29 | logprob = y'/K*y+log(det(K)); -------------------------------------------------------------------------------- /matlab/fcns_gp/log_prob_k_SE.m: -------------------------------------------------------------------------------- 1 | function logprob = log_prob_k_SE (x,data,cfg) 2 | % 3 | % log prob for SE cov function 4 | % x = [l 5 | % s_f 6 | % s_n] 7 | % 8 | %----------------------------------------------------------------- 9 | % History: 10 | % Date Who What 11 | % ----------- ------- ----------------------------- 12 | % 2013.12.20 ak created and written 13 | 14 | X = data(1:3,:); 15 | y = data(4,:)'; 16 | 17 | n = length(y); 18 | K = zeros(n,n); 19 | 20 | l = x(1); 21 | s_f = x(2); 22 | s_n = cfg.gp.param.s_n; 23 | 24 | for ii=1:n 25 | Xi = X(:,ii); 26 | for jj=1:ii 27 | Xj = X(:,jj); 28 | Kij = gp_cov_k_SE (Xi, Xj, l, s_f) + gp_cov_k_noise (Xi, Xj, s_n); 29 | K(ii,jj) = Kij; 30 | if (ii~=jj), K(jj,ii) = Kij; end 31 | end 32 | end 33 | 34 | logprob = y'/K*y+log(det(K)); 35 | -------------------------------------------------------------------------------- /matlab/fcns_gp/sort_nat.m: -------------------------------------------------------------------------------- 1 | function [cs,index] = sort_nat(c,mode) 2 | %sort_nat: Natural order sort of cell array of strings. 3 | % usage: [S,INDEX] = sort_nat(C) 4 | % 5 | % where, 6 | % C is a cell array (vector) of strings to be sorted. 7 | % S is C, sorted in natural order. 8 | % INDEX is the sort order such that S = C(INDEX); 9 | % 10 | % Natural order sorting sorts strings containing digits in a way such that 11 | % the numerical value of the digits is taken into account. It is 12 | % especially useful for sorting file names containing index numbers with 13 | % different numbers of digits. Often, people will use leading zeros to get 14 | % the right sort order, but with this function you don't have to do that. 15 | % For example, if C = {'file1.txt','file2.txt','file10.txt'}, a normal sort 16 | % will give you 17 | % 18 | % {'file1.txt' 'file10.txt' 'file2.txt'} 19 | % 20 | % whereas, sort_nat will give you 21 | % 22 | % {'file1.txt' 'file2.txt' 'file10.txt'} 23 | % 24 | % See also: sort 25 | % Version: 1.4, 22 January 2011 26 | % Author: Douglas M. Schwarz 27 | % Email: dmschwarz=ieee*org, dmschwarz=urgrad*rochester*edu 28 | % Real_email = regexprep(Email,{'=','*'},{'@','.'}) 29 | % Set default value for mode if necessary. 30 | if nargin < 2 31 | mode = 'ascend'; 32 | end 33 | % Make sure mode is either 'ascend' or 'descend'. 34 | modes = strcmpi(mode,{'ascend','descend'}); 35 | is_descend = modes(2); 36 | if ~any(modes) 37 | error('sort_nat:sortDirection',... 38 | 'sorting direction must be ''ascend'' or ''descend''.') 39 | end 40 | % Replace runs of digits with '0'. 41 | c2 = regexprep(c,'\d+','0'); 42 | % Compute char version of c2 and locations of zeros. 43 | s1 = char(c2); 44 | z = s1 == '0'; 45 | % Extract the runs of digits and their start and end indices. 46 | [digruns,first,last] = regexp(c,'\d+','match','start','end'); 47 | % Create matrix of numerical values of runs of digits and a matrix of the 48 | % number of digits in each run. 49 | num_str = length(c); 50 | max_len = size(s1,2); 51 | num_val = NaN(num_str,max_len); 52 | num_dig = NaN(num_str,max_len); 53 | for i = 1:num_str 54 | num_val(i,z(i,:)) = sscanf(sprintf('%s ',digruns{i}{:}),'%f'); 55 | num_dig(i,z(i,:)) = last{i} - first{i} + 1; 56 | end 57 | % Find columns that have at least one non-NaN. Make sure activecols is a 58 | % 1-by-n vector even if n = 0. 59 | activecols = reshape(find(~all(isnan(num_val))),1,[]); 60 | n = length(activecols); 61 | % Compute which columns in the composite matrix get the numbers. 62 | numcols = activecols + (1:2:2*n); 63 | % Compute which columns in the composite matrix get the number of digits. 64 | ndigcols = numcols + 1; 65 | % Compute which columns in the composite matrix get chars. 66 | charcols = true(1,max_len + 2*n); 67 | charcols(numcols) = false; 68 | charcols(ndigcols) = false; 69 | % Create and fill composite matrix, comp. 70 | comp = zeros(num_str,max_len + 2*n); 71 | comp(:,charcols) = double(s1); 72 | comp(:,numcols) = num_val(:,activecols); 73 | comp(:,ndigcols) = num_dig(:,activecols); 74 | % Sort rows of composite matrix and use index to sort c in ascending or 75 | % descending order, depending on mode. 76 | [unused,index] = sortrows(comp); 77 | if is_descend 78 | index = index(end:-1:1); 79 | end 80 | index = reshape(index,size(c)); 81 | cs = c(index); -------------------------------------------------------------------------------- /matlab/fcns_img/calc_img_newg.m: -------------------------------------------------------------------------------- 1 | function EWG = calc_img_newg (img) 2 | % function NEWG = calc_img_newg () 3 | 4 | global is_indoor; 5 | img = im2double(img); % normalize 6 | % img = im2double(o_img); % normalize 7 | img = imresize(img,0.25); % image down scale 8 | 9 | if (size(img,3) > 1) 10 | img = rgb2gray(img); 11 | end 12 | 13 | % local entropy mask size = (3x3) 14 | H = entropyfilt(img, ones(3)); 15 | mu = mean(sum(H)); 16 | sigma=std2(sum(H)); 17 | norm_entropy = normpdf(H, mu, sigma); 18 | 19 | % generate saturation mask 20 | [rs, cs] = find(H <= 0.01); % Saturated region 21 | 22 | M = [rs, cs]; 23 | 24 | 25 | % entropy weight 26 | H_weight = norm_entropy / sum(sum(norm_entropy)); % optional 27 | 28 | % image Gradient 29 | [Gmag, Gdir] = imgradient(img,'sobel'); 30 | 31 | % Ours 32 | G_weight= Gmag >= (mean(mean(Gmag))) * 0.01 ; 33 | 34 | % Saturation weight 35 | Smask = uint8(zeros(size(img))) ; 36 | Sval = (mean(mean(Gmag))) ; 37 | Smask(sub2ind([size(H)], rs, cs)) =255; 38 | 39 | if (is_indoor) 40 | Sval = (mean(mean(Gmag))) ; 41 | Smask = Smask.*Sval; 42 | else 43 | Sval = (mean(mean(Gmag))) ; 44 | Smask = Smask.*Sval; 45 | end 46 | 47 | 48 | saturation = sum(sum(Smask)) / 255; 49 | gradient = sum(sum(Gmag)); 50 | 51 | % Metric 52 | EWG = sum(sum(G_weight .* Gmag )) - saturation; 53 | 54 | GsE= [gradient saturation EWG]; 55 | 56 | 57 | -------------------------------------------------------------------------------- /matlab/fcns_img/calc_img_snr.m: -------------------------------------------------------------------------------- 1 | function Nsnr = calc_img_snr (img, ref_img) 2 | % function NEWG = calc_img_snr () 3 | 4 | img = im2double(img); % normalize 5 | img = imresize(img,0.25); % image down scale 6 | [Gmag] = imgradient(img,'sobel'); 7 | 8 | ref_img = im2double(ref_img); % normalize 9 | ref_img = imresize(ref_img,0.25); % image down scale 10 | 11 | 12 | % Calculate snr 13 | [peaksnr, snr] = psnr(img, ref_img); 14 | % acceptance snr 15 | ref_snr = 20; 16 | % calculate snr compensate 17 | Nsnr = (1- peaksnr/ref_snr) * mean(mean(Gmag)) * (size(img,1) * size(img,2))/5^3; 18 | 19 | 20 | -------------------------------------------------------------------------------- /matlab/fcns_img/extract_img_metric.m: -------------------------------------------------------------------------------- 1 | function [ metric, s_img] = extract_img_metric(is_newg, o_img, target_exp_index, target_gain, crf ) 2 | %EXTRACT_IMG_METRIC Summary of this function goes here 3 | % Detailed explanation goes here 4 | 5 | is_newg =1; 6 | 7 | [s_img, K_t, K_g] = img_synth (o_img, target_exp_index, target_gain, crf); 8 | 9 | if (target_gain < 1) 10 | Nsnr = 0; 11 | else 12 | Nsnr = calc_img_snr (s_img, o_img); 13 | end 14 | 15 | % figure(3); 16 | % imshow(s_img); 17 | % title(strcat(num2str(target_exp_index), '/', num2str(target_gain))); 18 | % pause; 19 | 20 | EWG = calc_img_newg (s_img) 21 | if (is_newg) 22 | %% image metric evaluation with snr considered 23 | NEWG = EWG - Nsnr; 24 | metric = NEWG; 25 | else 26 | %% image metric evaluation 27 | metric = EWG ; 28 | end 29 | 30 | metric = metric / 50 ; %scale adjust 31 | 32 | end 33 | 34 | -------------------------------------------------------------------------------- /matlab/fcns_img/gsolve.m: -------------------------------------------------------------------------------- 1 | function [g]=gsolve(Z,B,l,w) 2 | % function [g,LE]=gsolve(Z,B,l,w) 3 | 4 | % gsolve.m − Solve for imaging system response function 5 | % Given a set of pixel values observed for several pixels in several 6 | % images with different exposure times, this function returns the 7 | % imaging system’s response function g as well as the log film irradiance 8 | % values for the observed pixels. 9 | % Assumes: 10 | % Zmin = 0 11 | % Zmax = 255 12 | % Arguments: 13 | % Z(i,j) the pixel values of pixel location number i in image j 14 | % B(j) the log delta t, or log shutter speed, for image j 15 | % l lamdba, the constant that determines the amount of smoothness 16 | % w(z) the weighting function value for pixel value z 17 | 18 | % Returns: 19 | % g(z) is the log exposure corresponding to pixel value z 20 | % lE(i)is the log film irradiance at pixel location i 21 | 22 | n = 256; 23 | A = zeros(size(Z,1)*size(Z,2)+n+1,n+size(Z,1)); 24 | b = zeros(size(A,1),1); 25 | %% Include the data−fitting equations 26 | k = 1; 27 | for i=1:size(Z,1) 28 | for j=1:size(Z,2) 29 | wij = w(Z(i,j)+1); 30 | A(k,Z(i,j)+1) = wij; 31 | A(k,n+i) = -wij; 32 | b(k,1) = wij * B(j); 33 | k=k+1; 34 | end 35 | end 36 | %% Fix the curve by setting its middle value to 0 37 | A(k,129) = 1; 38 | k=k+1; 39 | %% Include the smoothness equations 40 | for i=1:n-2 41 | A(k,i)=l*w(i+1); 42 | A(k,i+1)=-2*l*w(i+1); 43 | A(k,i+2)=l*w(i+1); 44 | k=k+1; 45 | end 46 | 47 | %% Solve the system using SVD 48 | x = A\b; 49 | g = x(1:n); 50 | % LE = x(n+1:size(x,1)); 51 | 52 | -------------------------------------------------------------------------------- /matlab/fcns_img/hat_weight_func.m: -------------------------------------------------------------------------------- 1 | function [ value ] = hat_weight_func( intensity ) 2 | %HAT_WEIGHT_FUNC Summary of this function goes here 3 | % Detailed explanation goes here 4 | if(intensity <= 129) 5 | value = intensity; 6 | else 7 | value = 255 - intensity; 8 | end 9 | 10 | -------------------------------------------------------------------------------- /matlab/fcns_img/hdr_curve_fitting.m: -------------------------------------------------------------------------------- 1 | function crf = hdr_curve_fitting(img_series) 2 | % function crf = hdr_curve_fitting(img_series) 3 | 4 | % Input: 5 | % img_series = cell array of image series for curve fitting (we use 4) 6 | % Output: 7 | % crf = 256xN_band vector containing curve information with each axis 8 | % N_band = # of channels (1 for grayscale) 9 | % x-axis [0, ..., 255] 10 | % y-axis [crf(1), ..., crf(256)] 11 | 12 | global B 13 | 14 | % Smoothness parameter used in equation (3). Increase it, if you have a lot 15 | % of noise in your images. 16 | l = 200; 17 | 18 | 19 | 20 | % Number of randomly selected sample pixel points from each image. 21 | % This amount will affect the quality of the approximation of the 22 | % real response function. 23 | % You need at least N(P-1) > (Z_max - Z_min) 24 | % N - amount of sample points 25 | % P - amount of images % Assumes:% Zmin = 0% Zmax = 255 26 | N_sample_pxpts = 500; 27 | 28 | % Bands (=channel) in each of the images. Usually RGB(3) or grayscale(1) 29 | N_bands = 1; % 3 for RGB 30 | 31 | % Number of images for curve fitting 32 | N_imgs = length(img_series); 33 | 34 | % Create random indexes to get random points from each image 35 | N_row = size(img_series{1}, 1); 36 | N_col = size(img_series{1}, 2); 37 | N_point = N_row*N_col; 38 | random_indexes = ceil(rand(1, N_sample_pxpts)*N_point); 39 | 40 | % Load all values from random points into Z 41 | Z = zeros(N_sample_pxpts, N_imgs, N_bands); 42 | 43 | for img_ii = 1:N_imgs 44 | for band_ii = 1:N_bands 45 | Z(:, img_ii, band_ii) = img_series{img_ii}(random_indexes + (band_ii-1)*N_point); 46 | end 47 | end 48 | 49 | % Create response function for each band 50 | radiance_map = zeros(256, N_bands); 51 | crf = zeros(256,N_bands); 52 | 53 | for band = 1:N_bands 54 | radiance_map(:, band) = gsolve(Z(:,:,band), B, l, @hat_weight_func); 55 | crf(:,band) = radiance_map(:, band); 56 | end 57 | -------------------------------------------------------------------------------- /matlab/fcns_img/img_synth.m: -------------------------------------------------------------------------------- 1 | function [synth_img,K_t,K_g] = img_synth(o_img, target_dt, target_gain, crf) 2 | %function [synth_img,K_t,K_g] = img_synth(o_img, target_dt, target_gain, crf) 3 | % 4 | % Input: 5 | % o_img = original input seed image 6 | % g = gain 7 | % t = exposure time 8 | % Output: 9 | % synth_img = output synthesized image 10 | 11 | % We compute two scaling factors for target exposure time and gain 12 | K_t = img_synth_factor_exp (crf, target_dt); % factor from exposure time 13 | K_g = img_synth_factor_gain (target_gain); % factor from gain 14 | 15 | if (K_t < 0 || K_g < 0) 16 | disp('[ERROR: img_synth] No scale factor K found'); 17 | synth_img = []; 18 | return; 19 | end 20 | 21 | K = K_t * K_g; 22 | synth_img = o_img * K; 23 | -------------------------------------------------------------------------------- /matlab/fcns_img/img_synth_factor_exp.m: -------------------------------------------------------------------------------- 1 | function K_t = img_synth_factor_exp (crf, target_dt) 2 | % function K_t = img_synth_factor_exp (crf, target_dt) 3 | % Input: 4 | % crf = computed CRF 5 | % target_dt = target exposure time (ms) 6 | % Output: 7 | % K_t = scaling factor for image synthesis 8 | 9 | % B1 = log(E* 1 * exp_itv) 10 | % target_exp = log(E* (1 * target_dt * exp_itv)) 11 | % = log(E * 1 * target_dt * exp_itv) = B1 + log(target_dt) 12 | 13 | global B; 14 | global E; 15 | global time_itv; 16 | global target_exp_index; 17 | global is_indoor; 18 | 19 | K_t = -1; 20 | 21 | 22 | % find point on CRF for initial exposure time B(1) 23 | init_index = find (crf >= B(1)); 24 | if (isempty(init_index)) 25 | disp('[ERROR: img_synth_factor_exp] No value found in CRF correponding to init exposure time'); 26 | return; 27 | end 28 | 29 | gi = init_index(1); 30 | 31 | 32 | if (is_indoor) 33 | target_exp = log(E* (0.0001+ (target_dt.* time_itv))); 34 | else 35 | target_exp = log(E* (0.00005+ (target_dt.* time_itv))); 36 | end 37 | 38 | % find point on CRF for target exposure time 39 | target_index = find (crf >= target_exp); 40 | if (isempty(target_index)) 41 | disp('[ERROR: img_synth_factor_exp] No value found in CRF correponding to target exposure time'); 42 | return; 43 | end 44 | go = target_index(1); 45 | 46 | % compute ratio and return 47 | K_t = (go) / (gi) ; 48 | -------------------------------------------------------------------------------- /matlab/fcns_img/img_synth_factor_gain.m: -------------------------------------------------------------------------------- 1 | function K_g = img_synth_factor_gain (target_gain) 2 | % function K_g = img_synth_factor_gain (target_gain) 3 | % Input: 4 | % target_gain = target gain (db) 5 | % Output: 6 | % K_g = scaling factor for image synthesis 7 | 8 | K_g = (10 / sqrt(2))^(target_gain/20); -------------------------------------------------------------------------------- /matlab/synthetic/calc_img_newg.m: -------------------------------------------------------------------------------- 1 | function EWG = calc_img_newg (o_img) 2 | % function NEWG = calc_img_newg () 3 | 4 | global is_indoor; 5 | 6 | tmp_img = im2double(o_img); % normalize 7 | img = imresize(tmp_img,0.25); % image down scale 8 | 9 | if (size(img,3) > 1) 10 | img = rgb2gray(img); 11 | end 12 | 13 | % local entropy mask size = (3x3) 14 | H = entropyfilt(img, ones(1)); 15 | mu = mean(sum(H)); 16 | sigma=std2(sum(H)); 17 | norm_entropy = normpdf(H, mu, sigma); 18 | 19 | % generate saturation mask 20 | [rs, cs] = find(H <= 0.01); % Saturated region 21 | M = [rs, cs]; 22 | 23 | % entropy weight 24 | H_weight = norm_entropy / sum(sum(norm_entropy)); % optional 25 | 26 | % image Gradient 27 | [Gmag, Gdir] = imgradient(img,'Sobel'); 28 | Gmag = Gmag / 4.4867; 29 | 30 | % Ours 31 | G_weight= Gmag >= (mean(mean(Gmag))) * 0.01 ; 32 | 33 | % Saturation weight 34 | S = zeros(size(img)); 35 | if (is_indoor) 36 | S(M(:,1), M(:,2)) = (mean(mean(Gmag)))/sqrt(2) ; 37 | else 38 | S(M(:,1), M(:,2)) = (mean(mean(Gmag)))/sqrt(2) ; 39 | end 40 | 41 | saturation = sum(sum(S)); 42 | gradient = sum(sum(Gmag)); 43 | 44 | % Metric 45 | EWG = sum(sum(G_weight .* Gmag - S)) ; 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /matlab/synthetic/calc_img_snr.m: -------------------------------------------------------------------------------- 1 | function Nsnr = calc_img_snr (img, ref_img) 2 | % function NEWG = calc_img_snr () 3 | kappa = 5; 4 | img = im2double(img); % normalize 5 | img = imresize(img,0.25); % image down scale 6 | [Gmag] = imgradient(img,'sobel'); 7 | 8 | ref_img = im2double(ref_img); % normalize 9 | ref_img = imresize(ref_img,0.25); % image down scale 10 | 11 | 12 | % Calculate snr 13 | [peaksnr, snr] = psnr(img, ref_img); 14 | % acceptance snr 15 | ref_snr = 30; 16 | % calculate snr compensate 17 | Nsnr = (1- peaksnr/ref_snr) / kappa; 18 | 19 | 20 | -------------------------------------------------------------------------------- /matlab/synthetic/extract_img_metric.m: -------------------------------------------------------------------------------- 1 | function [ metric, s_img] = extract_img_metric(is_newg, o_img, target_exp_index, target_gain, crf ) 2 | %EXTRACT_IMG_METRIC Summary of this function goes here 3 | % Detailed explanation goes here 4 | 5 | 6 | [s_img, K_t, K_g] = img_synth (o_img, target_exp_index, target_gain, crf); 7 | 8 | if (target_gain < 1) 9 | Nsnr = 0; 10 | else 11 | Nsnr = calc_img_snr (s_img, o_img); 12 | end 13 | 14 | % figure(3); 15 | % imshow(s_img); 16 | % title(strcat(num2str(target_exp_index), '/', num2str(target_gain))); 17 | % pause; 18 | 19 | EWG = calc_img_newg (s_img); 20 | if (is_newg) 21 | %% image metric evaluation with snr considered 22 | NEWG = EWG - Nsnr; 23 | metric = NEWG; 24 | else 25 | %% image metric evaluation 26 | metric = EWG ; 27 | end 28 | 29 | metric = metric ; 30 | 31 | end 32 | 33 | -------------------------------------------------------------------------------- /matlab/synthetic/gsolve.m: -------------------------------------------------------------------------------- 1 | function [g]=gsolve(Z,B,l,w) 2 | % function [g,LE]=gsolve(Z,B,l,w) 3 | 4 | % gsolve.m − Solve for imaging system response function 5 | % Given a set of pixel values observed for several pixels in several 6 | % images with different exposure times, this function returns the 7 | % imaging system’s response function g as well as the log film irradiance 8 | % values for the observed pixels. 9 | % Assumes: 10 | % Zmin = 0 11 | % Zmax = 255 12 | % Arguments: 13 | % Z(i,j) the pixel values of pixel location number i in image j 14 | % B(j) the log delta t, or log shutter speed, for image j 15 | % l lamdba, the constant that determines the amount of smoothness 16 | % w(z) the weighting function value for pixel value z 17 | 18 | % Returns: 19 | % g(z) is the log exposure corresponding to pixel value z 20 | % lE(i)is the log film irradiance at pixel location i 21 | 22 | n = 256; 23 | A = zeros(size(Z,1)*size(Z,2)+n+1,n+size(Z,1)); 24 | b = zeros(size(A,1),1); 25 | %% Include the data−fitting equations 26 | k = 1; 27 | for i=1:size(Z,1) 28 | for j=1:size(Z,2) 29 | wij = w(Z(i,j)+1); 30 | A(k,Z(i,j)+1) = wij; 31 | A(k,n+i) = -wij; 32 | b(k,1) = wij * B(j); 33 | k=k+1; 34 | end 35 | end 36 | %% Fix the curve by setting its middle value to 0 37 | A(k,129) = 1; 38 | k=k+1; 39 | %% Include the smoothness equations 40 | for i=1:n-2 41 | A(k,i)=l*w(i+1); 42 | A(k,i+1)=-2*l*w(i+1); 43 | A(k,i+2)=l*w(i+1); 44 | k=k+1; 45 | end 46 | 47 | %% Solve the system using SVD 48 | x = A\b; 49 | g = x(1:n); 50 | % LE = x(n+1:size(x,1)); 51 | 52 | -------------------------------------------------------------------------------- /matlab/synthetic/hat_weight_func.m: -------------------------------------------------------------------------------- 1 | function [ value ] = hat_weight_func( intensity ) 2 | %HAT_WEIGHT_FUNC Summary of this function goes here 3 | % Detailed explanation goes here 4 | if(intensity <= 129) 5 | value = intensity; 6 | else 7 | value = 255 - intensity; 8 | end 9 | 10 | -------------------------------------------------------------------------------- /matlab/synthetic/hdr_curve_fitting.m: -------------------------------------------------------------------------------- 1 | function crf = hdr_curve_fitting(img_series) 2 | % function crf = hdr_curve_fitting(img_series) 3 | 4 | % Input: 5 | % img_series = cell array of image series for curve fitting (we use 4) 6 | % Output: 7 | % crf = 256xN_band vector containing curve information with each axis 8 | % N_band = # of channels (1 for grayscale) 9 | % x-axis [0, ..., 255] 10 | % y-axis [crf(1), ..., crf(256)] 11 | 12 | global B 13 | 14 | % Smoothness parameter used in equation (3). Increase it, if you have a lot 15 | % of noise in your images. 16 | l = 200; 17 | 18 | 19 | 20 | % Number of randomly selected sample pixel points from each image. 21 | % This amount will affect the quality of the approximation of the 22 | % real response function. 23 | % You need at least N(P-1) > (Z_max - Z_min) 24 | % N - amount of sample points 25 | % P - amount of images % Assumes:% Zmin = 0% Zmax = 255 26 | N_sample_pxpts = 500; 27 | 28 | % Bands (=channel) in each of the images. Usually RGB(3) or grayscale(1) 29 | N_bands = 1; % 3 for RGB 30 | 31 | % Number of images for curve fitting 32 | N_imgs = length(img_series); 33 | 34 | % Create random indexes to get random points from each image 35 | N_row = size(img_series{1}, 1); 36 | N_col = size(img_series{1}, 2); 37 | N_point = N_row*N_col; 38 | random_indexes = ceil(rand(1, N_sample_pxpts)*N_point); 39 | 40 | % Load all values from random points into Z 41 | Z = zeros(N_sample_pxpts, N_imgs, N_bands); 42 | size(Z); 43 | 44 | for img_ii = 1:N_imgs 45 | for band_ii = 1:N_bands 46 | Z(:, img_ii, band_ii) = img_series{img_ii}(random_indexes + (band_ii-1)*N_point); 47 | end 48 | end 49 | 50 | % Create response function for each band 51 | radiance_map = zeros(256, N_bands); 52 | crf = zeros(256,N_bands); 53 | 54 | for band = 1:N_bands 55 | radiance_map(:, band) = gsolve(Z(:,:,band), B, l, @hat_weight_func); 56 | crf(:,band) = radiance_map(:, band); 57 | size(radiance_map); 58 | end 59 | -------------------------------------------------------------------------------- /matlab/synthetic/img_synth.m: -------------------------------------------------------------------------------- 1 | function [synth_img,K_t,K_g] = img_synth(o_img, target_dt, target_gain, crf) 2 | %function [synth_img,K_t,K_g] = img_synth(o_img, target_dt, target_gain, crf) 3 | % 4 | % Input: 5 | % o_img = original input seed image 6 | % g = gain 7 | % t = exposure time 8 | % Output: 9 | % synth_img = output synthesized image 10 | 11 | % We compute two scaling factors for target exposure time and gain 12 | K_t = img_synth_factor_exp (crf, target_dt); % factor from exposure time 13 | K_g = img_synth_factor_gain (target_gain); % factor from gain 14 | 15 | if (K_t < 0 || K_g < 0) 16 | disp('[ERROR: img_synth] No scale factor K found'); 17 | synth_img = []; 18 | return; 19 | end 20 | 21 | K = K_t * K_g; 22 | synth_img = o_img * K; 23 | -------------------------------------------------------------------------------- /matlab/synthetic/img_synth_factor_exp.m: -------------------------------------------------------------------------------- 1 | function K_t = img_synth_factor_exp (crf, target_dt) 2 | % function K_t = img_synth_factor_exp (crf, target_dt) 3 | % Input: 4 | % crf = computed CRF 5 | % target_dt = target exposure time (ms) 6 | % Output: 7 | % K_t = scaling factor for image synthesis 8 | 9 | % B1 = log(E* 1 * exp_itv) 10 | % target_exp = log(E* (1 * target_dt * exp_itv)) 11 | % = log(E * 1 * target_dt * exp_itv) = B1 + log(target_dt) 12 | 13 | global B; 14 | global E; 15 | global time_itv; 16 | global target_exp_index; 17 | global is_indoor; 18 | 19 | K_t = -1; 20 | 21 | 22 | % find point on CRF for initial exposure time B(1) 23 | init_index = find (crf >= B(1)); 24 | if (isempty(init_index)) 25 | disp('[ERROR: img_synth_factor_exp] No value found in CRF correponding to init exposure time'); 26 | return; 27 | end 28 | 29 | gi = init_index(1); 30 | 31 | 32 | if (is_indoor) 33 | target_exp = log(E* (0.0001+ (target_dt.* time_itv))); 34 | else 35 | target_exp = log(E* (0.00005+ (target_dt.* time_itv))); 36 | end 37 | 38 | % find point on CRF for target exposure time 39 | target_index = find (crf >= target_exp); 40 | if (isempty(target_index)) 41 | disp('[ERROR: img_synth_factor_exp] No value found in CRF correponding to target exposure time'); 42 | return; 43 | end 44 | go = target_index(1); 45 | 46 | % compute ratio and return 47 | K_t = (go) / (gi) ; 48 | -------------------------------------------------------------------------------- /matlab/synthetic/img_synth_factor_gain.m: -------------------------------------------------------------------------------- 1 | function K_g = img_synth_factor_gain (target_gain) 2 | % function K_g = img_synth_factor_gain (target_gain) 3 | % Input: 4 | % target_gain = target gain (db) 5 | % Output: 6 | % K_g = scaling factor for image synthesis 7 | 8 | K_g = (10 / sqrt(2))^(target_gain/20); -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | irap_add_folder (crf_fitting "Build HDR curve?" ON) 2 | irap_add_folder (data_collector "Build data_collector?" OFF) 3 | 4 | irap_add_folder (exp_ctrl "Build exp controller?" ON) 5 | #irap_add_folder (gp_gain_tester "Build gp tester?" ON) 6 | 7 | irap_add_folder (irp_gpgo++ "Build gp optimizer?" ON) 8 | irap_add_folder (irp_imgeval++ "Build image evaluator library?" ON) 9 | 10 | irap_add_folder (testers "Build testers?" ON) 11 | irap_add_folder (third-party "Build third-party?" ON ) 12 | 13 | -------------------------------------------------------------------------------- /src/crf_fitting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # EXTERNAL DEPS 2 | libhandler_opencv () 3 | # BUILD EXE 4 | add_executable (crf_fitting crf_fitting.cpp) 5 | target_link_libraries (crf_fitting 6 | irp-imgeval++ 7 | ${IRPLIB_OPENCV} 8 | ) 9 | -------------------------------------------------------------------------------- /src/crf_fitting/crf_fitting.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include 6 | #include 7 | #include "opencv2/imgcodecs.hpp" 8 | 9 | using namespace cv; 10 | using namespace std; 11 | 12 | 13 | void readImagesAndTimes(vector &images, vector ×) 14 | { 15 | 16 | int numImages = 4; 17 | 18 | // static const float timesArray[] = {0.001, 0.007, 0.013, 0.020 }; //1ms, 7ms, 13. 20ms 19 | static const float timesArray[] = {1/30.0f,0.25,2.5,15.0}; 20 | times.assign(timesArray, timesArray + numImages); 21 | 22 | static const char* filenames[] = {"../../data/crf_fitting/1.png", 23 | "../../data/crf_fitting/13.png", 24 | "../../data/crf_fitting/25.png", 25 | "../../data/crf_fitting/39.png"}; 26 | for(int i=0; i < numImages; i++) 27 | { 28 | Mat im = imread(filenames[i]); 29 | images.push_back(im); 30 | } 31 | 32 | } 33 | 34 | void writeCSV(string filename, Mat m) 35 | { 36 | std::ofstream myfile; 37 | myfile.open(filename.c_str()); 38 | myfile<< cv::format(m, cv::Formatter::FMT_CSV) << std::endl; 39 | myfile.close(); 40 | } 41 | 42 | 43 | int main(int, char**argv) 44 | { 45 | // Read images and exposure times 46 | cout << "Reading images ... " << endl; 47 | vector images; 48 | vector times; 49 | readImagesAndTimes(images, times); 50 | 51 | 52 | // Align input images 53 | cout << "Aligning images ... " << endl; 54 | Ptr alignMTB = createAlignMTB(); 55 | alignMTB->process(images, images); 56 | 57 | // Obtain Camera Response Function (CRF) 58 | cout << "Calculating Camera Response Function (CRF) ... " << endl; 59 | Mat responseDebevec; 60 | Ptr calibrateDebevec = createCalibrateDebevec(); 61 | calibrateDebevec->process(images, responseDebevec, times); 62 | cout << "CRF = " << responseDebevec << endl; 63 | writeCSV("crf.csv", responseDebevec); 64 | 65 | return EXIT_SUCCESS; 66 | } 67 | -------------------------------------------------------------------------------- /src/data_collector/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (SRC 3 | main.cpp 4 | Parser.cpp Parser.h 5 | param_util.cpp param_util.h 6 | ) 7 | 8 | 9 | # externals 10 | libhandler_opencv () 11 | libhandler_mvimpact() 12 | libhandler_eigen3 () 13 | libhandler_boost (COMPONENTS program_options system filesystem) 14 | 15 | add_executable (data_collector ${SRC}) 16 | target_link_libraries (data_collector 17 | Bluefox2Driver 18 | irp-imgeval++ 19 | ${IRPLIB_BOOST} 20 | ${IRAP_LCMTYPES} 21 | ${IRPLIB_LCM} 22 | ${IRPLIB_MVIMPT} 23 | ) 24 | 25 | -------------------------------------------------------------------------------- /src/data_collector/param_util.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "param_util.h" 5 | 6 | using namespace std; 7 | 8 | namespace ipms_param { 9 | 10 | IpmsParam::IpmsParam(const string &fileName) : fileName_(fileName) { 11 | cerr << "[IpmsParam]\tInput config file name : " << fileName_ << endl; 12 | boost::property_tree::read_json(fileName_, param_); 13 | } 14 | 15 | IpmsParam::~IpmsParam() 16 | { 17 | } 18 | 19 | vector IpmsParam::param_get_int_array (const string &key) 20 | { 21 | vector vString = param_get_str_array(key); 22 | 23 | vector vInt; 24 | castContainer(vString, vInt); 25 | 26 | return vInt; 27 | } 28 | 29 | vector IpmsParam::param_get_float_array (const string &key) 30 | { 31 | vector vString = param_get_str_array(key); 32 | 33 | vector vFloat; 34 | castContainer(vString, vFloat); 35 | 36 | return vFloat; 37 | } 38 | 39 | vector IpmsParam::param_get_double_array (const string &key) 40 | { 41 | vector vString = param_get_str_array(key); 42 | 43 | vector vDouble; 44 | castContainer(vString, vDouble); 45 | 46 | return vDouble; 47 | } 48 | 49 | vector IpmsParam::param_get_str_array (const string &key) 50 | { 51 | vector vString; 52 | for (auto &strVal : param_.get_child(key)) { 53 | vString.push_back(strVal.second.data()); 54 | } 55 | 56 | return vString; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/data_collector/param_util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #define PARAM_DEFAULT_CFG "../share/config/master_cfg.json" 13 | 14 | using namespace std; 15 | using boost::property_tree::ptree; 16 | 17 | namespace ipms_param { 18 | 19 | class IpmsParam { 20 | public: 21 | explicit IpmsParam(const string &fileName); 22 | 23 | ~IpmsParam(); 24 | 25 | template 26 | void castContainer(const C1& source, C2& destination) 27 | { 28 | typedef typename C1::value_type source_type; 29 | typedef typename C2::value_type destination_type; 30 | destination.resize(source.size()); 31 | transform(source.begin(), source.end(), destination.begin(), boost::lexical_cast); 32 | } 33 | 34 | bool param_get_boolean (const string &key) { return param_.get (key); } 35 | int param_get_int (const string &key) { return param_.get (key); } 36 | float param_get_float (const string &key) { return param_.get (key); } 37 | double param_get_double (const string &key) { return param_.get (key); } 38 | string param_get_string (const string &key) { return param_.get (key); } 39 | 40 | vector param_get_int_array (const string &key); 41 | vector param_get_float_array (const string &key); 42 | vector param_get_double_array (const string &key); 43 | vector param_get_str_array (const string &key); 44 | 45 | private: 46 | string fileName_; 47 | ptree param_; 48 | }; 49 | 50 | } -------------------------------------------------------------------------------- /src/exp_ctrl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (SRC 3 | main.cpp 4 | Parser.cpp Parser.h 5 | param_util.cpp param_util.h 6 | ) 7 | 8 | 9 | # externals 10 | libhandler_opencv () 11 | libhandler_mvimpact() 12 | libhandler_eigen3 () 13 | libhandler_boost (COMPONENTS program_options system filesystem) 14 | libhandler_glib () 15 | 16 | add_executable (exp_ctrl ${SRC}) 17 | target_link_libraries (exp_ctrl 18 | Bluefox2Driver 19 | irp-imgeval++ 20 | irp-common 21 | irp_gpgo++ 22 | ${IRPLIB_BOOST} 23 | ${IRAP_LCMTYPES} 24 | ${IRPLIB_LCM} 25 | ${IRPLIB_MVIMPT} 26 | ) 27 | 28 | -------------------------------------------------------------------------------- /src/exp_ctrl/param_util.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "param_util.h" 5 | 6 | using namespace std; 7 | 8 | namespace ipms_param { 9 | 10 | IpmsParam::IpmsParam(const string &fileName) : fileName_(fileName) { 11 | cerr << "[IpmsParam]\tInput config file name : " << fileName_ << endl; 12 | boost::property_tree::read_json(fileName_, param_); 13 | } 14 | 15 | IpmsParam::~IpmsParam() 16 | { 17 | } 18 | 19 | vector IpmsParam::param_get_int_array (const string &key) 20 | { 21 | vector vString = param_get_str_array(key); 22 | 23 | vector vInt; 24 | castContainer(vString, vInt); 25 | 26 | return vInt; 27 | } 28 | 29 | vector IpmsParam::param_get_float_array (const string &key) 30 | { 31 | vector vString = param_get_str_array(key); 32 | 33 | vector vFloat; 34 | castContainer(vString, vFloat); 35 | 36 | return vFloat; 37 | } 38 | 39 | vector IpmsParam::param_get_double_array (const string &key) 40 | { 41 | vector vString = param_get_str_array(key); 42 | 43 | vector vDouble; 44 | castContainer(vString, vDouble); 45 | 46 | return vDouble; 47 | } 48 | 49 | vector IpmsParam::param_get_str_array (const string &key) 50 | { 51 | vector vString; 52 | for (auto &strVal : param_.get_child(key)) { 53 | vString.push_back(strVal.second.data()); 54 | } 55 | 56 | return vString; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/exp_ctrl/param_util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #define PARAM_DEFAULT_CFG "../share/config/master_cfg.json" 13 | 14 | using namespace std; 15 | using boost::property_tree::ptree; 16 | 17 | namespace ipms_param { 18 | 19 | class IpmsParam { 20 | public: 21 | explicit IpmsParam(const string &fileName); 22 | 23 | ~IpmsParam(); 24 | 25 | template 26 | void castContainer(const C1& source, C2& destination) 27 | { 28 | typedef typename C1::value_type source_type; 29 | typedef typename C2::value_type destination_type; 30 | destination.resize(source.size()); 31 | transform(source.begin(), source.end(), destination.begin(), boost::lexical_cast); 32 | } 33 | 34 | bool param_get_boolean (const string &key) { return param_.get (key); } 35 | int param_get_int (const string &key) { return param_.get (key); } 36 | float param_get_float (const string &key) { return param_.get (key); } 37 | double param_get_double (const string &key) { return param_.get (key); } 38 | string param_get_string (const string &key) { return param_.get (key); } 39 | 40 | vector param_get_int_array (const string &key); 41 | vector param_get_float_array (const string &key); 42 | vector param_get_double_array (const string &key); 43 | vector param_get_str_array (const string &key); 44 | 45 | private: 46 | string fileName_; 47 | ptree param_; 48 | }; 49 | 50 | } -------------------------------------------------------------------------------- /src/irp_gpgo++/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (SRC 3 | gp_optimize.h gp_optimize.cpp 4 | config.h 5 | kernelfunction.h kernelfunction.cpp 6 | ) 7 | 8 | libhandler_eigen3 () 9 | 10 | # BUIlD LIB 11 | add_library (irp_gpgo++ ${SRC}) 12 | target_link_libraries(irp_gpgo++ 13 | ${IRPLIB_EIGEN3} 14 | ) 15 | 16 | # then pod install 17 | pods_install_libraries (irp_gpgo++) 18 | 19 | file(GLOB HEADER *.h) 20 | pods_install_headers(${HEADER} DESTINATION irp_gpgo++) 21 | -------------------------------------------------------------------------------- /src/irp_gpgo++/config.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIG_H 2 | #define CONFIG_H 3 | #include 4 | 5 | enum AcqType { 6 | MAXVAR = 0, // Maximum variance 7 | MAXMI // Maximum (approx) mutual information 8 | }; 9 | 10 | class Config 11 | { 12 | public: 13 | Config () { } 14 | Config(double ls, double s_f, double s_n, AcqType acq_type, double alpha) 15 | { ls_ = ls; s_f_ = s_f; s_n_ = s_n; 16 | acq_type_ = acq_type; 17 | alpha_ = alpha; 18 | num_iter_ = 10; } 19 | 20 | Config(double ls, double s_f, double s_n, AcqType acq_type, double alpha, int num_iter) 21 | { ls_ = ls; s_f_ = s_f; s_n_ = s_n; 22 | acq_type_ = acq_type; 23 | alpha_ = alpha; 24 | num_iter_ = num_iter; } 25 | 26 | 27 | void set_cfg(double ls, double s_f, double s_n) 28 | { ls_ = ls; s_f_ = s_f; s_n_ = s_n; 29 | acq_type_ = AcqType::MAXVAR; } 30 | 31 | void set_cfg(double ls, double s_f, double s_n, AcqType acq_type, double alpha) 32 | { ls_ = ls; s_f_ = s_f; s_n_ = s_n; 33 | acq_type_ = acq_type; 34 | alpha_ = alpha; } 35 | 36 | double ls() { return ls_; } 37 | double s_f() { return s_f_; } 38 | double s_n() { return s_n_; } 39 | int num_iter() { return num_iter_; } 40 | 41 | void ls(double ls) { ls_ = ls; } 42 | void s_f(double s_f) { s_f_ = s_f; } 43 | void s_n(double s_n) { s_n_ = s_n; } 44 | 45 | double alpha() { return alpha_; } 46 | void alpha(double alpha) { alpha_ = alpha; } 47 | 48 | void acq_type(AcqType acq_type) { acq_type_ = acq_type; } 49 | AcqType acq_type() { return acq_type_; } 50 | 51 | private: 52 | // Hyperparameters 53 | double ls_; 54 | double s_f_; 55 | double s_n_; 56 | 57 | // Iteration number 58 | int num_iter_; 59 | 60 | // Parameters for GPMI 61 | double alpha_; 62 | 63 | // Acquisition Function Type 64 | AcqType acq_type_; 65 | 66 | }; 67 | 68 | #endif // CONFIG_H 69 | -------------------------------------------------------------------------------- /src/irp_gpgo++/gp_optimize.h: -------------------------------------------------------------------------------- 1 | #ifndef GPOPTIMIZE_H 2 | #define GPOPTIMIZE_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include "config.h" 12 | 13 | using namespace std; 14 | using namespace Eigen; 15 | 16 | 17 | inline uint64_t CurrentTime_microseconds() 18 | { 19 | return std::chrono::duration_cast 20 | (std::chrono::high_resolution_clock::now().time_since_epoch()).count(); 21 | } 22 | 23 | class GPOptimize 24 | { 25 | public: 26 | GPOptimize(); 27 | void initialize(double ls, double s_f, double s_n, vector &x_pred); 28 | void initialize(double ls, double s_f, double s_n); 29 | void initialize(Config &cfg); 30 | void initialize(); 31 | 32 | bool evaluate(double x_val, double y_val); 33 | bool evaluate(VectorXd &x_val, double y_val); 34 | 35 | void add_data(double x_val, double y_val); 36 | void add_data(VectorXd &x_vec, double y_val); 37 | 38 | MatrixXd train(); 39 | MatrixXd train(vector x_train, vector y_train); 40 | 41 | void set_predict(vector &x_pred); 42 | void set_predict(vector &x_pred); 43 | void set_autopredict(); 44 | 45 | void predict(); 46 | 47 | void find_query_point(); 48 | 49 | bool is_optimal() { return is_optimal_; } 50 | 51 | double query_exposure() { return query_exposure_; } 52 | int query_index() { return query_index_; } 53 | 54 | double optimal_expose() { return optimal_exposure_; } 55 | double optimal_gain() { return optimal_gain_; } 56 | int optimal_index() { return optimal_index_; } 57 | 58 | VectorXd optimal_attr() { return optimal_attr_; } 59 | 60 | protected: 61 | MatrixXd gp_cov_k_SE (VectorXd x_i, VectorXd x_j, double l, double s_f); 62 | void check_optimal(); 63 | void set_optimal(); 64 | 65 | private: 66 | Config cfg_; 67 | bool is_optimal_; 68 | int iter_count_; 69 | 70 | // training input 71 | vector x_train_; 72 | vector y_train_; 73 | 74 | // inference input 75 | vector x_pred_; 76 | 77 | // kernel matrix 78 | MatrixXd K_; 79 | 80 | // inference output 81 | VectorXd y_pred_; 82 | MatrixXd var_pred_; 83 | 84 | // Param for acq by mi (TODO: move to acq class) 85 | double psi_; 86 | double alpha_; 87 | 88 | double query_exposure_; 89 | int query_index_; 90 | 91 | double optimal_exposure_; 92 | double optimal_gain_; 93 | int optimal_index_; 94 | VectorXd optimal_attr_; 95 | 96 | double cost_; 97 | 98 | }; 99 | 100 | #endif // GPOPTIMIZE_H 101 | -------------------------------------------------------------------------------- /src/irp_gpgo++/kernelfunction.cpp: -------------------------------------------------------------------------------- 1 | #include "kernelfunction.h" 2 | 3 | KernelFunction::KernelFunction() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/irp_gpgo++/kernelfunction.h: -------------------------------------------------------------------------------- 1 | #ifndef KERNELFUNCTION_H 2 | #define KERNELFUNCTION_H 3 | 4 | 5 | class KernelFunction 6 | { 7 | public: 8 | KernelFunction(); 9 | }; 10 | 11 | #endif // KERNELFUNCTION_H -------------------------------------------------------------------------------- /src/irp_gpgo++/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "gp_optimize.h" 5 | 6 | int main(int argc, char** argv) 7 | { 8 | VectorXd x_i(2); 9 | x_i << 2, 2; 10 | VectorXd x_j(2); 11 | x_j << 3, 3; 12 | double l = 100; 13 | double s = 100; 14 | 15 | std::ifstream file_path("/home/yg/svn/docs/papers/conferences/icra2018-jwkim/trunk/matlab/dat/38datar.csv"); 16 | string line; 17 | vector x_data; 18 | vector y_data; 19 | 20 | while(getline(file_path, line)) 21 | { 22 | int index = 0; 23 | std::stringstream lineStream(line); 24 | std::string cell; 25 | while(std::getline(lineStream,cell,',')) 26 | { 27 | double x, y; 28 | if(index == 0){ 29 | x = std::strtod(cell.c_str(),0); 30 | x_data.push_back(x); 31 | }else if(index == 1){ 32 | y = std::strtod(cell.c_str(),0); 33 | y_data.push_back(y); 34 | } 35 | index ++; 36 | } 37 | } 38 | 39 | // for (auto x : x_data) { 40 | // cout << "x = " << x << endl; 41 | // } 42 | // for (auto y : y_data) { 43 | // cout << "y = " << y << endl; 44 | // } 45 | 46 | 47 | // cout << "XDATA" << x_data.size() << endl; 48 | // cout << "YDATA" << y_data.size() << endl; 49 | 50 | double best_exposure; 51 | GPOptimize gpo; 52 | gpo.initialize(l, s); 53 | gpo.set_predict(x_data); 54 | // gpo.add_data(x_data[0], y_data[0]); 55 | double x = x_data[0]; 56 | double y = y_data[0]; 57 | // while (!gpo.is_optimal()) { 58 | for (int i = 0; i < 20; ++i) { 59 | 60 | if (gpo.evaluate(x, y)) { 61 | best_exposure = gpo.optimal_expose(); 62 | break; 63 | } 64 | else { 65 | int next_index = gpo.query_index(); 66 | x = x_data[next_index]; 67 | y = y_data[next_index]; 68 | } 69 | } 70 | 71 | 72 | // cout << "DONE!! Best exposure is " << best_exposure << endl; 73 | 74 | 75 | // vector x_pred; 76 | // double init = 30; 77 | // for (int i = 0; i < 56; ++i) { 78 | // VectorXd x(1); 79 | // x < 3 | #include "opencv2/highgui/highgui.hpp" 4 | #include "opencv2/imgproc/imgproc.hpp" 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace std; 14 | using namespace cv; 15 | 16 | class Img_eval { 17 | 18 | public: 19 | 20 | //Img_eval::Img_eval (); 21 | //Img_eval::~Img_eval (); 22 | void CreatErf(vector > &res1); 23 | void PrintErf(const vector > &res1); 24 | void CreatGrf(vector > &res2); 25 | void PrintGrf(const vector > &res2); 26 | double calc_img_ent_grad (cv::Mat &img, bool visualize = false); 27 | double getPSNR(const Mat &I1, const Mat &I2); 28 | double syn_grab_and_return_snr (cv::Mat &synth_img_g, cv::Mat &synth_img_t, Img_eval &eval, double exp_t, double gain_t); 29 | void _synth_img_t (cv::Mat &init_img, double &next_exp, cv::Mat &synth_img_t, bool visualize); 30 | void _synth_img_g (cv::Mat &synth_img_t, double &next_gain, cv::Mat &synth_img_g, bool visualize); 31 | double syn_grab_and_return_ewg (cv::Mat &synth_img_g, Img_eval &eval, double exp_t, double gain_t); 32 | private: 33 | void img_entropy (Mat &img, Mat &entropy); 34 | void img_wmask (Mat &entropy, Mat &wmask); 35 | void img_grad (Mat &img, Mat &grad); 36 | void img_Gmean(Mat &grad, double &Gmean); 37 | void img_Emean(Mat &entropy, double &Emean); 38 | void img_columnSum (Mat &entropy, Mat &columnSum, Mat &mu); 39 | void img_Gours (Mat &Gour, Mat &Gourstmp1, Mat &Gourstmp2, double &Gours); 40 | int sub_to_ind(int *coords, int *cumprod, int num_dims); 41 | void ind_to_sub(int p, int num_dims, const int size[], 42 | int *cumprod, int *coords); 43 | void getLocalEntropyImage(cv::Mat &gray, cv::Rect &roi, cv::Mat &entropy); 44 | void GammaCorrection(Mat& src, Mat& dst, float fGamma); 45 | 46 | 47 | 48 | }; 49 | -------------------------------------------------------------------------------- /src/synthetic: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/testers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory (exp_ctrl_1step) 2 | add_subdirectory (gp_exp_tester) 3 | add_subdirectory (img_evaluator) 4 | add_subdirectory (img_synthesizer) 5 | add_subdirectory (gp_gain_tester) 6 | -------------------------------------------------------------------------------- /src/testers/exp_ctrl_1step/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (SRC 3 | main.cpp 4 | param_util.cpp param_util.h 5 | ) 6 | # externals 7 | libhandler_opencv () 8 | libhandler_eigen3 () 9 | libhandler_boost (COMPONENTS program_options system filesystem) 10 | libhandler_glib () 11 | 12 | add_executable (exp_ctrl_1step ${SRC}) 13 | target_link_libraries (exp_ctrl_1step 14 | irp-imgeval++ 15 | irp_gpgo++ 16 | irp-common 17 | ${IRPLIB_BOOST} 18 | ${IRAP_LCMTYPES} 19 | ${IRPLIB_LCM} 20 | ) 21 | 22 | -------------------------------------------------------------------------------- /src/testers/exp_ctrl_1step/param_util.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "param_util.h" 5 | 6 | using namespace std; 7 | 8 | namespace ipms_param { 9 | 10 | IpmsParam::IpmsParam(const string &fileName) : fileName_(fileName) { 11 | cerr << "[IpmsParam]\tInput config file name : " << fileName_ << endl; 12 | boost::property_tree::read_json(fileName_, param_); 13 | } 14 | 15 | IpmsParam::~IpmsParam() 16 | { 17 | } 18 | 19 | vector IpmsParam::param_get_int_array (const string &key) 20 | { 21 | vector vString = param_get_str_array(key); 22 | 23 | vector vInt; 24 | castContainer(vString, vInt); 25 | 26 | return vInt; 27 | } 28 | 29 | vector IpmsParam::param_get_float_array (const string &key) 30 | { 31 | vector vString = param_get_str_array(key); 32 | 33 | vector vFloat; 34 | castContainer(vString, vFloat); 35 | 36 | return vFloat; 37 | } 38 | 39 | vector IpmsParam::param_get_double_array (const string &key) 40 | { 41 | vector vString = param_get_str_array(key); 42 | 43 | vector vDouble; 44 | castContainer(vString, vDouble); 45 | 46 | return vDouble; 47 | } 48 | 49 | vector IpmsParam::param_get_str_array (const string &key) 50 | { 51 | vector vString; 52 | for (auto &strVal : param_.get_child(key)) { 53 | vString.push_back(strVal.second.data()); 54 | } 55 | 56 | return vString; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/testers/exp_ctrl_1step/param_util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #define PARAM_DEFAULT_CFG "../share/config/master_cfg.json" 13 | 14 | using namespace std; 15 | using boost::property_tree::ptree; 16 | 17 | namespace ipms_param { 18 | 19 | class IpmsParam { 20 | public: 21 | explicit IpmsParam(const string &fileName); 22 | 23 | ~IpmsParam(); 24 | 25 | template 26 | void castContainer(const C1& source, C2& destination) 27 | { 28 | typedef typename C1::value_type source_type; 29 | typedef typename C2::value_type destination_type; 30 | destination.resize(source.size()); 31 | transform(source.begin(), source.end(), destination.begin(), boost::lexical_cast); 32 | } 33 | 34 | bool param_get_boolean (const string &key) { return param_.get (key); } 35 | int param_get_int (const string &key) { return param_.get (key); } 36 | float param_get_float (const string &key) { return param_.get (key); } 37 | double param_get_double (const string &key) { return param_.get (key); } 38 | string param_get_string (const string &key) { return param_.get (key); } 39 | 40 | vector param_get_int_array (const string &key); 41 | vector param_get_float_array (const string &key); 42 | vector param_get_double_array (const string &key); 43 | vector param_get_str_array (const string &key); 44 | 45 | private: 46 | string fileName_; 47 | ptree param_; 48 | }; 49 | 50 | } -------------------------------------------------------------------------------- /src/testers/gp_exp_tester/0908.csv: -------------------------------------------------------------------------------- 1 | 500,759.914 2 | 550,1053.52 3 | 600,1585.6 4 | 650,1712.6 5 | 700,1780.53 6 | 750,1808.84 7 | 800,1860.47 8 | 850,1872.74 9 | 900,1897.6 10 | 950,1906.4 11 | 1000,1928.9 12 | 1050,1932.61 13 | 1100,1944.43 14 | 1150,1957.69 15 | 1200,1985.27 16 | 1250,1996.47 17 | 1300,2033.49 18 | 1350,2054.39 19 | 1400,2005.93 20 | 1450,2047.98 21 | 1500,2066.03 22 | 1550,2107.22 23 | 1600,2128.19 24 | 1650,2158.88 25 | 1700,2172.24 26 | 1750,2213.09 27 | 1800,2238.23 28 | 1850,2276.22 29 | 1900,2294.26 30 | 1950,2334.33 31 | 2000,2368.79 32 | 2050,2385.02 33 | 2100,2415.05 34 | 2150,2437.95 35 | 2200,2469.46 36 | 2250,2483 37 | 2300,2520.57 38 | 2350,2534.03 39 | 2400,2566.76 40 | 2450,2583.09 41 | 2500,2611.89 42 | 2550,2622.55 43 | 2600,2654.34 44 | 2650,2670.83 45 | 2700,2680.29 46 | 2750,2706.67 47 | 2800,2706.1 48 | 2850,2739.68 49 | 2900,2742.31 50 | 2950,2752.03 51 | 3000,2758.26 52 | 3050,2777.33 53 | 3100,2783.28 54 | 3150,2794.93 55 | 3200,2803.05 56 | 3250,2807.57 57 | 3300,2815.28 58 | 3350,2819.89 59 | 3400,2825.29 60 | 3450,2826.91 61 | 3500,2834.92 62 | 3550,2768.05 63 | 3600,2770.74 64 | 3650,2769.31 65 | 3700,2761.15 66 | 3750,2755.53 67 | 3800,2753.02 68 | 3850,2749.96 69 | 3900,2748.2 70 | 3950,2741.58 71 | 4000,2744.27 72 | 4050,2734.2 73 | 4100,2728.47 74 | 4150,2717.71 75 | 4200,2711.73 76 | 4250,2700.53 77 | 4300,2693.58 78 | 4350,2673.52 79 | 4400,2669.04 80 | 4450,2654.36 81 | 4500,2636.91 82 | 4550,2630.93 83 | 4600,2621.03 84 | 4650,2611.63 85 | 4700,2589.35 86 | 4750,2583.83 87 | 4800,2560.86 88 | 4850,2553.01 89 | 4900,2523.87 90 | 4950,2516.69 91 | 5000,2499.88 92 | 5050,2482.67 93 | 5100,2453.98 94 | 5150,2434.99 95 | 5200,2422.71 96 | 5250,2396.05 97 | 5300,2389.93 98 | 5350,2361.83 99 | 5400,2346.16 100 | 5450,2330.23 101 | 5500,2319.33 102 | 5550,2298.6 103 | 5600,2287.45 104 | 5650,2276.69 105 | 5700,2267.98 106 | 5750,2259.93 107 | 5800,2243.76 108 | 5850,2240.5 109 | 5900,2228.68 110 | 5950,2225.7 111 | 6000,2212.43 112 | 6050,2206.15 113 | 6100,2197.49 114 | 6150,2188.97 115 | 6200,2175.12 116 | 6250,2166.47 117 | 6300,2157.09 118 | 6350,2145.01 119 | 6400,2146.97 120 | 6450,2132.74 121 | 6500,2129.87 122 | 6550,2114.92 123 | 6600,2105.23 124 | 6650,2095.26 125 | 6700,2092.64 126 | 6750,2081.12 127 | 6800,2073.88 128 | 6850,2065.78 129 | 6900,2055.76 130 | 6950,2046.63 131 | 7000,2039.36 132 | 7050,2038.01 133 | 7100,2024.57 134 | 7150,2022.43 135 | 7200,2013.43 136 | 7250,2005.72 137 | 7300,1995.92 138 | 7350,1955.83 139 | 7400,1950.5 140 | 7450,1944.04 141 | 7500,1932.23 142 | 7550,1928.9 143 | 7600,1919.86 144 | 7650,1910.58 145 | 7700,1905.83 146 | 7750,1898.97 147 | 7800,1897.73 148 | 7850,1879.97 149 | 7900,1874.5 150 | 7950,1868.39 151 | 8000,1866.09 152 | 8050,1856.86 153 | 8100,1854.87 154 | 8150,1843.58 155 | 8200,1836.56 156 | 8250,1839.4 157 | 8300,1830.1 158 | 8350,1819.98 159 | 8400,1816.86 160 | 8450,1814.53 161 | 8500,1808.71 162 | 8550,1803.98 163 | 8600,1793.81 164 | 8650,1794.95 165 | 8700,1793.22 166 | 8750,1794.22 167 | 8800,1791.99 168 | 8850,1793.22 169 | 8900,1787.76 170 | 8950,1785.91 171 | 9000,1782.57 172 | 9050,1782.55 173 | 9100,1776.95 174 | 9150,1778.31 175 | 9200,1779.04 176 | 9250,1770.42 177 | 9300,1772 178 | 9350,1774.11 179 | 9400,1772.84 180 | 9450,1768.09 181 | 9500,1766.03 182 | 9550,1769.71 183 | 9600,1765.01 184 | 9650,1769.4 185 | 9700,1770.66 186 | 9750,1769.28 187 | 9800,1768.87 188 | 9850,1767.49 189 | 9900,1767.58 190 | 9950,1768.67 191 | -------------------------------------------------------------------------------- /src/testers/gp_exp_tester/37datar.csv: -------------------------------------------------------------------------------- 1 | 10,8053.6 2 | 20,12950 3 | 30,15921 4 | 40,17065 5 | 50,19002 6 | 60,19943 7 | 70,21959 8 | 80,22866 9 | 90,24852 10 | 100,25500 11 | 110,25892 12 | 120,26264 13 | 130,26216 14 | 140,25542 15 | 150,25287 16 | 160,24685 17 | 170,24365 18 | 180,23768 19 | 190,23664 20 | 200,23521 21 | 210,23505 22 | 220,23556 23 | 230,23540 24 | 240,23566 25 | 250,23595 26 | 260,23575 27 | 270,22955 28 | 280,22515 29 | 290,22279 30 | 300,22100 31 | 310,21861 32 | 320,21726 33 | 330,21607 34 | 340,21432 35 | 350,21404 36 | 360,21250 37 | 370,21195 38 | 380,20984 39 | 390,20921 40 | 400,20629 41 | 410,20603 42 | 420,20482 43 | 430,20524 44 | 440,20514 45 | 450,20534 46 | 460,20535 47 | 470,20524 48 | 480,20553 49 | 490,20469 50 | 500,20459 51 | 510,20546 52 | 520,20633 53 | 530,20752 54 | 540,20773 55 | 550,20842 56 | 560,20812 57 | 570,20874 58 | 580,20933 59 | 590,21042 60 | 600,21143 61 | 610,21181 62 | -------------------------------------------------------------------------------- /src/testers/gp_exp_tester/38datar.csv: -------------------------------------------------------------------------------- 1 | 10,6500.4 2 | 20,8179.3 3 | 30,10281 4 | 40,10629 5 | 50,11541 6 | 60,12086 7 | 70,13031 8 | 80,13606 9 | 90,14450 10 | 100,15236 11 | 110,15530 12 | 120,16798 13 | 130,17329 14 | 140,18082 15 | 150,18671 16 | 160,19623 17 | 170,20164 18 | 180,21188 19 | 190,21559 20 | 200,22510 21 | 210,23037 22 | 220,24127 23 | 230,24674 24 | 240,25140 25 | 250,25951 26 | 260,26409 27 | 270,27303 28 | 280,27579 29 | 290,28256 30 | 300,28649 31 | 310,29249 32 | 320,29320 33 | 330,29216 34 | 340,28801 35 | 350,28415 36 | 360,27747 37 | 370,27516 38 | 380,26998 39 | 390,26668 40 | 400,26140 41 | 410,25969 42 | 420,25588 43 | 430,25409 44 | 440,25126 45 | 450,24960 46 | 460,24556 47 | 470,24281 48 | 480,24037 49 | 490,23570 50 | 500,23474 51 | 510,23110 52 | 520,23086 53 | 530,22922 54 | 540,22861 55 | 550,22671 56 | 560,22590 57 | 570,22429 58 | 580,22471 59 | 590,22351 60 | 600,22254 61 | 610,22217 62 | -------------------------------------------------------------------------------- /src/testers/gp_exp_tester/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # EXTERNAL DEPS 2 | libhandler_eigen3 () 3 | 4 | # BUILD EXE 5 | add_executable (gp_exp_tester 6 | main.cpp 7 | ) 8 | target_link_libraries (gp_exp_tester 9 | irp_gpgo++ 10 | ${IRPLIB_EIGEN3} 11 | ) 12 | 13 | ## BUIlD LIB 14 | #add_library (gp_optimize 15 | # gp_optimize.cpp gp_optimize.h 16 | #) 17 | #target_link_libraries(gp_optimize 18 | # ${IRPLIB_EIGEN3} 19 | #) 20 | -------------------------------------------------------------------------------- /src/testers/gp_gain_tester/2pm_310.csv: -------------------------------------------------------------------------------- 1 | 22.341,24.981,26.457,27.597,28.006,28.105,27.648,27.256,27.046,26.967,26.887,26.286,25.356,25.34,24.573,24.636,24.86,24.134,23.923,23.933,24.302,24.109,24.181,23.931,22.145,22.626,21.425,20.997,18.948,14.604,14.038,9.9566,7.6941,7.6772,5.5006,5.8753,4.9891,6.4918,6.6173 2 | 23.101,25.516,26.755,27.709,27.853,27.437,27.107,26.932,26.855,26.659,26.539,25.867,24.288,24.757,24.935,25.18,23.927,23.521,23.468,23.438,23.778,23.058,22.74,22.398,21.38,21.349,20.589,18.68,14.474,9.8145,8.9132,5.3644,4.1063,3.7749,2.9505,3.0234,2.2053,2.4465,2.4524 3 | 23.96,25.651,27.309,27.741,27.256,26.779,26.692,26.701,26.527,26.675,26.391,25.02,24.611,25.139,25.303,24.606,23.527,23.188,22.262,21.635,22.248,21.822,21.862,21.775,19.45,19.349,17.803,15.036,9.2492,6.2386,5.7626,2.6704,2.0038,1.788,1.1519,1.4289,1.2024,1.5683,1.5644 4 | 24.471,26.535,27.521,26.887,26.474,26.374,26.5,26.525,26.464,26.365,25.553,25.03,25.107,24.911,24.376,23.734,21.598,21.201,21.37,21.463,21.326,20.723,20.135,18.905,15.034,14.038,10.707,8.7904,4.1071,2.2535,2.0281,1.2099,1.1578,0.87311,0.73711,0.73431,0.68585,0.9314,1.1057 5 | 24.874,26.792,27.337,26.575,26.256,26.158,26.245,26.321,26.37,25.62,25.14,25.537,24.303,24.305,23.864,22.005,21.381,20.466,19.61,18.925,18.429,16.951,15.439,12.989,9.571,9.396,7.089,3.5958,1.8464,1.2597,1.2919,0.59077,0.54716,0.23772,-0.027897,0.063327,0.067972,0.20395,0.19683 6 | 25.294,27.304,26.638,25.828,25.881,25.919,26.212,26.294,25.562,25.278,25.767,24.79,23.744,23.84,22.75,21.5,20.129,17.974,16.11,15.236,13.26,12.698,10.904,9.3016,5.8143,5.0326,2.9093,2.073,1.2187,0.85969,0.57902,0.15707,0.19112,0.45647,0.64584,0.71417,0.82398,0.77862,0.69522 7 | 25.488,26.931,25.886,25.352,25.654,25.94,25.894,25.398,25.042,25.747,25.072,24.127,22.668,22.251,21.518,19.153,15.909,14.394,10.861,10.202,9.7455,8.8494,7.3937,4.7061,2.761,2.462,1.8856,1.4031,0.54411,0.25201,0.1133,0.98341,0.86103,1.1114,1.1402,1.1835,1.1329,1.1842,1.1011 8 | 26.116,26.628,25.313,25.248,25.621,25.951,25.319,25.045,25.664,25.287,24.808,22.656,21.559,21.176,20.057,15.574,10.269,8.9324,7.2821,6.6638,5.7154,4.1391,2.9299,2.2185,1.7211,1.6938,1.4439,0.65463,0.31561,0.76468,0.85135,1.5166,1.2945,1.4736,1.4491,1.5065,1.4928,1.5184,1.4102 9 | 26.219,25.613,24.88,25.205,25.477,25.147,25.009,25.797,25.29,25.078,23.77,21.56,20.479,18.779,15.474,9.5751,6.9424,4.94,2.7905,2.6835,2.5064,2.2272,1.9902,1.5015,1.2348,1.3067,0.62594,0.18173,0.92146,1.1765,1.2811,1.7615,1.5762,1.6453,1.597,1.6154,1.5703,1.6214,1.567 10 | 26.574,25.306,24.919,25.035,25.268,25.161,25.647,25.243,24.986,23.806,23.002,20.601,18.128,14.57,10.532,6.2815,3.1183,2.2984,1.8328,1.9097,1.7657,1.6766,1.6029,1.2128,0.37602,0.22469,0.16854,0.6917,1.3029,1.4711,1.6337,1.6654,1.5855,1.5829,1.5274,1.5129,1.5142,1.4769,1.4612 11 | 26.048,24.612,24.989,25.124,25.028,25.601,25.445,24.974,23.979,23.169,21.326,16.385,12.36,9.2295,5.5765,2.0581,1.5679,1.5323,1.418,1.5176,1.4925,1.1631,0.71944,0.085023,0.29812,0.47722,0.78434,1.2287,1.6768,1.6354,1.6322,1.4347,1.3881,1.2291,1.1541,1.0516,1.1407,1.0798,1.0417 12 | 25.589,24.578,25.141,24.701,25.345,25.542,25.032,24.174,23.434,20.84,17.667,10.406,8.0276,4.4649,2.4078,1.4757,1.4941,1.1528,0.62004,0.56829,0.77201,0.16646,0.3446,0.6452,0.77063,0.97759,1.1496,1.5962,1.6623,1.5141,1.335,0.88066,0.95451,0.65021,0.56638,0.44019,0.56414,0.49046,0.39926 13 | 24.697,24.605,24.77,24.725,25.604,24.93,24.12,23.285,21.914,18.34,12.292,6.8524,3.5644,2.2703,1.701,1.3807,0.8849,0.098567,0.40315,0.20759,0.50988,0.59395,0.74842,1.1577,1.0717,1.2818,1.4363,1.5945,1.3516,1.1567,0.74685,0.29148,0.34296,0.1936,0.1683,0.11325,0.17597,0.15789,0.39926 14 | -------------------------------------------------------------------------------- /src/testers/gp_gain_tester/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # EXTERNAL DEPS 2 | libhandler_eigen3 () 3 | 4 | # BUILD EXE 5 | add_executable (gp_gain_tester 6 | main.cpp 7 | ) 8 | target_link_libraries (gp_gain_tester 9 | irp-imgeval++ 10 | irp_gpgo++ 11 | ${IRPLIB_OPENCV} 12 | ${IRPLIB_EIGEN3} 13 | ) 14 | 15 | ## BUIlD LIB 16 | #add_library (gp_optimize 17 | # gp_optimize.cpp gp_optimize.h 18 | #) 19 | #target_link_libraries(gp_optimize 20 | # ${IRPLIB_EIGEN3} 21 | #) 22 | -------------------------------------------------------------------------------- /src/testers/img_evaluator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # EXTERNAL DEPS 2 | libhandler_eigen3 () 3 | 4 | # BUILD EXE 5 | add_executable (img_evaluator 6 | main.cpp 7 | ) 8 | target_link_libraries (img_evaluator 9 | irp-imgeval++ 10 | ${IRPLIB_OPENCV} 11 | ) 12 | -------------------------------------------------------------------------------- /src/testers/img_evaluator/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include 6 | 7 | #include "irp_imgeval++/img_eval.h" 8 | 9 | 10 | using namespace std; 11 | 12 | int main(int argc, char** argv) 13 | { 14 | 15 | cv::Mat eval_img; 16 | Img_eval eval; 17 | eval_img = cv::imread ("../../data/2.png", 1); 18 | Mat resized; 19 | cv::resize (eval_img, eval_img, cv::Size(188, 120)); 20 | if (!eval_img.data) { 21 | std::cout << "Error " << std::endl; 22 | return -1; 23 | } 24 | double ewg = eval.calc_img_ent_grad (eval_img, true); 25 | 26 | cout << "ewg = " << ewg << ", " << eval_img.size() << endl; 27 | cv::resize (eval_img, eval_img, cv::Size(160, 120)); 28 | cv::imshow("eval_img", eval_img); 29 | cv::waitKey(); 30 | } 31 | -------------------------------------------------------------------------------- /src/testers/img_synthesizer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # EXTERNAL DEPS 2 | libhandler_opencv () 3 | 4 | # BUILD EXE 5 | add_executable (img_synthesizer main.cpp) 6 | target_link_libraries (img_synthesizer 7 | irp-imgeval++ 8 | ${IRPLIB_OPENCV} 9 | ) 10 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/BotUtils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "TimeStamp.h" 4 | #include "ImageConversion.h" 5 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (HEADER 3 | BotUtils.h 4 | TimeStamp.h 5 | ImageConversion.h 6 | # EigenSophusConversion.h 7 | ) 8 | set (SRC 9 | TimeStamp.cpp 10 | ImageConversion.cpp 11 | # EigenSophusConversion.cpp 12 | ) 13 | 14 | # externals 15 | #libhandler_tbb () 16 | libhandler_opencv () 17 | #libhandler_glib () 18 | libhandler_lcm () 19 | libhandler_eigen3 () 20 | #libhandler_boost (COMPONENTS system) 21 | #libhandler_sophus () 22 | 23 | #libhandler_cholmod () 24 | 25 | #include_directories(${G2O_INCLUDE_DIR}) 26 | #set(IRPLIB_G2O ${G2O_STUFF_LIBRARY} ${G2O_CORE_LIBRARY} ${G2O_SOLVER_CHOLMOD} ${G2O_TYPES_SBA}) 27 | 28 | ## Bot Utility 29 | ## ----------------------------------- 30 | add_library (bot_util ${HEADER} ${SRC}) 31 | target_link_libraries (bot_util 32 | # param-util 33 | # StereoUtility 34 | ${IRPLIB_OPENCV} 35 | # ${IRPLIB_TBB} 36 | # ${IRPLIB_G2O} 37 | ${IRAP_LCMTYPES} 38 | ) 39 | 40 | # then pod install 41 | pods_install_libraries (bot_util) 42 | 43 | pods_install_headers(${HEADER} DESTINATION bot_util) 44 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/ImageConversion.cpp: -------------------------------------------------------------------------------- 1 | #include "ImageConversion.h" 2 | 3 | namespace bot_util 4 | { 5 | 6 | void botimage_to_cvMat (bot_core::image_t *bot_img, cv::Mat& img) 7 | { 8 | if(bot_img->pixelformat != bot_core::image_t::PIXEL_FORMAT_RGB) 9 | img = cv::Mat(bot_img->height, bot_img->width, CV_8UC1, &bot_img->data[0]); 10 | else { 11 | img = cv::Mat(bot_img->height, bot_img->width, CV_8UC3, &bot_img->data[0]); 12 | cv::cvtColor(img,img, cv::COLOR_RGB2BGR); 13 | } 14 | 15 | //cv::namedWindow("test",cv::WINDOW_NORMAL); 16 | //cv::imshow("test",img); 17 | 18 | //cv::waitKey(1); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/ImageConversion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include "lcmtypes++/bot_core/image_t.hpp" 6 | 7 | namespace bot_util 8 | { 9 | 10 | void botimage_to_cvMat (bot_core::image_t *bot_img, cv::Mat& img); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/TimeStamp.cpp: -------------------------------------------------------------------------------- 1 | #include "TimeStamp.h" 2 | 3 | namespace bot_util 4 | { 5 | 6 | int64_t timestamp_now() 7 | { 8 | std::chrono::system_clock::time_point now = std::chrono::high_resolution_clock::now(); 9 | std::chrono::system_clock::duration duration_now = now.time_since_epoch(); 10 | 11 | return std::chrono::duration_cast(duration_now).count(); 12 | } 13 | 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/third-party/BotUtil/TimeStamp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | namespace bot_util 5 | { 6 | 7 | int64_t timestamp_now(); 8 | 9 | } -------------------------------------------------------------------------------- /src/third-party/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory (bluefox_driver) 2 | add_subdirectory (irp-common) 3 | add_subdirectory (BotUtil) 4 | -------------------------------------------------------------------------------- /src/third-party/bluefox_driver/Bluefox2Config.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "Bluefox2Config.h" 3 | 4 | namespace bluefox2 { 5 | 6 | Bluefox2Config::Bluefox2Config() 7 | { 8 | // width = 752; 9 | // height = 480; 10 | // idpf = ibpfBGR888Packed; //ibpfBGR888Packed;//ibpfMono16;//ibpfBGR888Packed; //ibpfMono16 ibpfBGR888Packed 11 | // cbm = cbmOff; // Binning Mode cbmBinningHV; 12 | // agc = false; // Auto Gain Control 13 | // gain_db = 0.0; // Gain_dB 14 | // aec = false; // Auto Exposure Control 15 | // expose_us = 10000; 16 | // acs = bluefox2::acs_unavailable; // Auto Controller 17 | // des_gray_val = 85; // 18 | // wbp = bluefox2::wbp_unavailable; 19 | // r_gain = 1.0; 20 | // g_gain = 1.0; 21 | // b_gain = 1.0; 22 | // hdr = false; 23 | // dcfm = bluefox2::dcfm_off; // Dark Current Filter 24 | // cpc = bluefox2::cpc_40000; 25 | // ctm = bluefox2::ctm_continuous; // Camera Trigger Mode 26 | // cts = bluefox2::cts_unavailable; // Camera Trigger Source 27 | // request = 1; 28 | // cem = cemOverlapped; // cemOverlapped; cemStandard; cemNoShutter; 29 | // cticme = true; 30 | // cticmm = cticmmBlueFOX_x00wC_WPPLS; 31 | // cte = true; 32 | // ctrrow0.push_back(1.0); ctrrow0.push_back(0.0); ctrrow0.push_back(0.0); 33 | // ctrrow1.push_back(0.0); ctrrow1.push_back(1.0); ctrrow1.push_back(0.0); 34 | // ctrrow2.push_back(0.0); ctrrow2.push_back(0.0); ctrrow2.push_back(1.0); 35 | // ctocme = true; 36 | // ctocmm = ctocmmXYZTosRGB_D50; 37 | // lute = true; 38 | // lutmode = LUTmGamma; 39 | // lutimpl = LUTiSoftware; 40 | // lutmapping = LUTm8To8; 41 | // cfm = cfmDigout0; 42 | // cft = cftStandard; 43 | } 44 | 45 | Bluefox2Config::~Bluefox2Config() 46 | { 47 | 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/third-party/bluefox_driver/Bluefox2Config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | #include "bluefox2_enumerator.h" 5 | 6 | using namespace std; 7 | 8 | namespace bluefox2 { 9 | 10 | class Bluefox2Config{ 11 | public: 12 | Bluefox2Config(); 13 | ~Bluefox2Config(); 14 | 15 | // Area of Interset 16 | int width; 17 | int height; 18 | 19 | // Pixel Format 20 | int idpf; 21 | 22 | // Binning 23 | int cbm; 24 | 25 | // Gain 26 | bool agc; 27 | double gain_db; 28 | 29 | // Expose 30 | bool aec; 31 | int expose_us; 32 | 33 | // Auto Controller 34 | int acs; 35 | int des_gray_val; 36 | 37 | // White Balance 38 | int wbp; 39 | double r_gain; 40 | double g_gain; 41 | double b_gain; 42 | 43 | // High Dynamic Range 44 | bool hdr; 45 | 46 | // Dark Current Filter 47 | int dcfm; 48 | 49 | // Pixel Clock 50 | int cpc; 51 | 52 | // Trigger Mode 53 | int ctm; 54 | 55 | // Trigger Source 56 | int cts; 57 | 58 | // Request 59 | int request; 60 | 61 | // Expose mode 62 | int cem; 63 | 64 | // Color Twist Input Correction Matrix Enable 65 | bool cticme; 66 | 67 | // Color Twist Input Correction Matrix Mode 68 | int cticmm; 69 | 70 | // Color Twist Enable 71 | bool cte; 72 | 73 | // Color Twist Row 74 | vector ctrrow0; 75 | vector ctrrow1; 76 | vector ctrrow2; 77 | 78 | // Color Twist Output Correction Matrix Enable 79 | bool ctocme; 80 | 81 | // Color Twist Output Correction Matrix Mode 82 | int ctocmm; 83 | 84 | // LUT 85 | bool lute; 86 | int lutmode; 87 | int lutimpl; 88 | int lutmapping; 89 | 90 | // Camera Flash Mode 91 | int cfm; 92 | 93 | // Camera Flash Type 94 | int cft; 95 | }; 96 | 97 | } -------------------------------------------------------------------------------- /src/third-party/bluefox_driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | set (SRC 3 | Bluefox2Config.cpp bluefox2.cpp bluefox2_setting.cpp 4 | ) 5 | 6 | # externals 7 | libhandler_opencv () 8 | libhandler_mvimpact() 9 | libhandler_lcm () 10 | libhandler_eigen3 () 11 | ## bluefox_driver 12 | ## ----------------------------------- 13 | add_library (Bluefox2Driver ${SRC}) 14 | target_link_libraries (Bluefox2Driver 15 | bot_util 16 | ${IRAP_LCMTYPES} 17 | ${IRPLIB_LCM} 18 | ${IRPLIB_MVIMPT} 19 | ) 20 | 21 | # then pod install 22 | pods_install_libraries (Bluefox2Driver) 23 | 24 | file(GLOB h_files *.h) 25 | pods_install_headers(${h_files} DESTINATION Bluefox2Driver) -------------------------------------------------------------------------------- /src/third-party/irp-common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SOURCE FILES 2 | add_definitions(-std=gnu99) 3 | 4 | file(GLOB c_files *.c) 5 | file(GLOB h_files *.h) 6 | 7 | # EXTERNAL DEPS 8 | libhandler_glib () 9 | 10 | # BUILD LIBRARY 11 | add_library (irp-common ${c_files} ${h_files}) 12 | target_link_libraries (irp-common 13 | ${IRPLIB_GLIB} 14 | ) 15 | 16 | pods_install_libraries(irp-common) 17 | 18 | pods_install_headers(${h_files} DESTINATION irp-common) 19 | -------------------------------------------------------------------------------- /src/third-party/irp-common/timestamp.h: -------------------------------------------------------------------------------- 1 | #ifndef __IRAP_COMMON_TIMESTAMP_H__ 2 | #define __IRAP_COMMON_TIMESTAMP_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef struct timestamp_sync_state timestamp_sync_state_t; 15 | struct timestamp_sync_state { 16 | double dev_ticks_per_second; // how fast does device clock count? (nominal) 17 | int64_t dev_ticks_wraparound; // device clock counts modulo what? 18 | double max_rate_error; // how fast do we need to count to ensure we're counting faster than device? 19 | 20 | int64_t sync_host_time; // when we last synced, what time was it for the host? 21 | int64_t dev_ticks_since_sync; // how many device ticks have elapsed since the last sync? 22 | 23 | int64_t last_dev_ticks; // what device time was it when we were last called? 24 | 25 | uint8_t is_valid; // have we ever synced? 26 | }; 27 | 28 | /* Returns integer time since the Epoch in microseconds */ 29 | int64_t 30 | timestamp_now (void); 31 | 32 | /* Returns integer seconds since the Epoch */ 33 | int64_t 34 | timestamp_seconds (int64_t utime); 35 | 36 | /* Returns number of microseconds since the last integer second */ 37 | int64_t 38 | timestamp_useconds (int64_t utime); 39 | 40 | /* Returns fractional number of seconds since the Epoch */ 41 | double 42 | timestamp_to_double (int64_t utime); 43 | 44 | void 45 | timestamp_to_timeval (int64_t utime, struct timeval *tv); 46 | 47 | void 48 | timestamp_to_timespec (int64_t utime, struct timespec *ts); 49 | 50 | void 51 | timestamp_to_gtimeval (int64_t utime, GTimeVal *result); 52 | 53 | /** Create a new time synchronizer. 54 | @param dev_ticks_per_second The nominal rate at which the device time increments 55 | @param dev_ticks_wraparound Assume that dev_ticks wraps around every wraparound ticks 56 | @param rate An upper bound on the rate error. Should be (1 + eps) 57 | **/ 58 | timestamp_sync_state_t * 59 | timestamp_sync_init (double dev_ticks_per_second, int64_t dev_ticks_wraparound, double rate); 60 | 61 | void 62 | timestamp_sync_free (timestamp_sync_state_t *s); 63 | 64 | 65 | /** Estimate the local host's time that corresponds to dev_ticks. (The 66 | latency model is also updated.) **/ 67 | int64_t 68 | timestamp_sync (timestamp_sync_state_t * s, int64_t dev_ticks, int64_t host_utime); 69 | 70 | 71 | 72 | #ifdef __cplusplus 73 | } 74 | #endif 75 | 76 | #endif // __IRAP_COMMON_TIMESTAMP_H__ 77 | -------------------------------------------------------------------------------- /third-party/lcm-1.4.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/third-party/lcm-1.4.0.zip -------------------------------------------------------------------------------- /third-party/mvBlueFOX-x86_64_ABI2-2.18.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RPM-Robotics-Lab/cam_attr_controller/7f64de30d6d62862145d8350547137b25e30de85/third-party/mvBlueFOX-x86_64_ABI2-2.18.1.tgz --------------------------------------------------------------------------------