Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CMake/maptk-depends-kwiver.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
###
# Find kwiver module
find_package( kwiver REQUIRED )
include_directories( ${KWIVER_INCLUDE_DIRS} )
list(INSERT CMAKE_MODULE_PATH 0 "${KWIVER_CMAKE_DIR}" )

# KWIVER_LIBRARIES
7 changes: 1 addition & 6 deletions CMake/maptk-depends.cmake
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
# Central location for MAPTK external dependency declaration and resolution

include( maptk-depends-vital )
include( maptk-depends-Ceres )
include( maptk-depends-kwiver )
include( maptk-depends-Eigen )
include( maptk-depends-OpenCV )
include( maptk-depends-PROJ )
include( maptk-depends-VisCL )
include( maptk-depends-VXL )
1 change: 0 additions & 1 deletion CMake/maptk-utils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@
set(MAPTK_UTIL_ROOT "${CMAKE_CURRENT_LIST_DIR}")

include("${CMAKE_CURRENT_LIST_DIR}/utils/maptk-utils-buildinfo.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/utils/maptk-utils-targets.cmake")
125 changes: 0 additions & 125 deletions CMake/utils/maptk-utils-targets.cmake

This file was deleted.

58 changes: 24 additions & 34 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,32 @@ if(POLICY CMP0054)
endif()

###
# Versioning
#
set(MAPTK_VERSION_MAJOR 0)
set(MAPTK_VERSION_MINOR 9)
set(MAPTK_VERSION_PATCH 0)
set(MAPTK_VERSION "${MAPTK_VERSION_MAJOR}.${MAPTK_VERSION_MINOR}.${MAPTK_VERSION_PATCH}")
string(TIMESTAMP MAPTK_COPYRIGHT_YEAR "%Y")

###
# Needed to get fletch_DIR set early
find_package( vital REQUIRED )

###
# Check to see if fletch directory is valid from the vital config
# Options and setup
#
if ( IS_DIRECTORY ${fletch_DIR} )
find_package( fletch NO_MODULE )
# Search for libraries in the fletch install root
list(APPEND CMAKE_PREFIX_PATH ${fletch_ROOT})
endif()
include(CMakeDependentOption)

###
# Add the CMake directory for CMake modules
#
list(INSERT CMAKE_MODULE_PATH 0
"${MAPTK_SOURCE_DIR}/CMake"
)
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/CMake" )

###
# Dependencies and Modules
# Versioning
#
include( maptk-depends )
set(MAPTK_VERSION_MAJOR 0)
set(MAPTK_VERSION_MINOR 9)
set(MAPTK_VERSION_PATCH 0)
set(MAPTK_VERSION "${MAPTK_VERSION_MAJOR}.${MAPTK_VERSION_MINOR}.${MAPTK_VERSION_PATCH}")
string(TIMESTAMP MAPTK_COPYRIGHT_YEAR "%Y")

###
# Options and setup
# project specific directories
#
include(CMakeDependentOption)
set(MAPTK_CMAKE_DIR "${CMAKE_SOURCE_DIR}/CMake")

# root directories
set(MAPTK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
set(MAPTK_BINARY_DIR "${CMAKE_BINARY_DIR}")

# Always build shared libraries, required due to plugin infrastructure
if(DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
Expand All @@ -60,21 +49,23 @@ endif()
set(LIB_SUFFIX "${MAPTK_LIB_SUFFIX}" CACHE STRING "String suffix appended to the library directory we install into")
mark_as_advanced( LIB_SUFFIX )

if ( IS_DIRECTORY ${fletch_DIR} )
find_package( fletch NO_MODULE )
endif()

include( maptk-depends )

###
# use kwiver util methods
#
include( kwiver-utils )
include( maptk-utils ) # local utilities
include( vital-flags ) # use same compile flags as vital

###
# check compiler support
include( kwiver-flags )
include( kwiver-configcheck )
include( maptk-utils ) # local utilities

# set the name for our package exports
set(kwiver_export_name maptk_exports)


# this is where the source code for libraries/plugins lives
add_subdirectory(maptk)

# this is where the executables source code lives
Expand Down Expand Up @@ -175,7 +166,6 @@ kwiver_install(
FILE maptk-config-targets.cmake
)


###
# CPack Packaging
#
Expand Down
59 changes: 59 additions & 0 deletions doc/rel_notes/0.9.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,31 @@ Core Plugin
is generally slower than others, but can be configured to produce
considerably more dense match matrices with longer tracks. It also handles
long term loop closure without any assumption about planar scenes.
* Added a new matcher that uses a fundamental matrix constraint to filter bad
matches.

* Added more config parameters to the initialize_cameras_landmarks algorithm
to allow more control on how the algorithm is run and what thresholds are
used.

* Added a new loop closure algorithm that exhaustively matches all pairs of
frames, or can be configured to match all frames within a moving temporal
window.

OpenCV Plugin

* Added CMake support for handing and marking the use of OpenCV version >= 3.

* Overhauled OpenCV algorithm introspection structure. Versions 3.x took away
the previous ability to introspect algorithm types and parameters,
requiring, for at least versions 3.x, for there to be manual wrappings of
each algorithm to be exposed. Removed introspection for any version and
now have cross-version compatible manual wrappings of all algorithms at
least present in 3.x that fill the feature detection, descriptor extraction
and feature matching roles.

* Added an OpenCV fundamental matrix estimation wrapper. OpenCV can estimate a
fundamental matrix with the presence of outliers using RANSAC.

* Added a new matcher that uses a fundamental matrix constraint to filter bad
matches.
Expand Down Expand Up @@ -65,6 +90,9 @@ VXL Plugin
(rrel) in VXL to fit a ground plane to the data. The ground plane becomes
the Z=0 plane. The rest of the free parameters are then fit by PCA as in
the core plugin implementation.
* Added a video_input algorithm implementation that uses the FFmpeg via the
vidl_ffmpeg_istream class to read video frames and KLV metadata from encoded
video files.

* Added a video_input algorithm implementation that uses the FFmpeg via the
vidl_ffmpeg_istream class to read video frames and KLV metadata from encoded
Expand All @@ -74,6 +102,24 @@ Visualization Application

* Updated the "Align" tool to use the configurable abstract algorithm
for canonical transform.
* Added an option to display the world axes around the visible geometry.
This option can be enabled and disabled in the "View" menu.

* Added an option to export the current scene to webGL. This option is only
available if VTK was built with the option Module_vtkWebGLExporter turned on.
This option can then be found in the "File > Export" menu.

* The absolute path to the current frame is now displayed at the bottom of the
Camera view.

* The GUI now accepts a list of files to be opened on the command line.

* Added a depth map view and a depth map visualisation in the world view. The
depth maps can be thresholded directly in the world view, and the depth map
view offers several visualisation modes such as depths, uniqueness ratios or
best cost values. Depth maps can be loaded by initializing the parameter
"depthmaps_images_file" with the path to the depth maps (*.vti files) list in
the configuration file.

* Added an option to display the world axes around the visible geometry.
This option can be enabled and disabled in the "View" menu.
Expand Down Expand Up @@ -103,6 +149,19 @@ Tools
files from the output directory before writing new ones. This is useful
when only a subset of cameras are computed and we do not want a mix of
old and new camera files.
* Added ``-h`` option to C++ track features too. Equivalent to ``--help``.

Scripts

* Added a Python script which uses OpenCV to produce mosaicked images of
video frames using the homographies produced by maptk_track_features.

Default Configuration

* Switched default loop closure method to keyframe based instead of a mix
of homography based and bad frame detection.

* Switched default feature descriptors to use non-upright SURF.

* Added ``-h`` option to C++ track features too. Equivalent to ``--help``.

Expand Down
5 changes: 5 additions & 0 deletions gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,11 @@ target_link_libraries(mapgui
${QT_QTMAIN_LIBRARY}
${QT_LIBRARIES}
)
if(vtkWebGLExporter_LOADED)
message(STATUS "Module vtkWebGLExporter present: wekGL export enabled")
target_compile_definitions(mapgui PRIVATE -DVTKWEBGLEXPORTER)
target_link_libraries(mapgui vtkWebGLExporter)
endif()

if(vtkWebGLExporter_LOADED)
message(STATUS "Module vtkWebGLExporter present: wekGL export enabled")
Expand Down
10 changes: 10 additions & 0 deletions gui/DataColorOptions.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ class DataColorOptionsPrivate
public:
Ui::DataColorOptions UI;
qtUiState uiState;
double autoLower;
double autoUpper;

double autoLower;
double autoUpper;
Expand Down Expand Up @@ -142,6 +144,14 @@ void DataColorOptions::setAvailableRange(

d->UI.minimum->setRange(lower, upper);
d->UI.maximum->setRange(lower, upper);
auto const scale = std::floor(std::log10(std::abs(upper - lower)));
auto const step = std::pow(10.0, scale - 1.0);

d->UI.minimum->setSingleStep(step);
d->UI.maximum->setSingleStep(step);

d->autoLower = qMax(lower, autoLower);
d->autoUpper = qMin(upper, autoUpper);

auto const scale = std::floor(std::log10(std::abs(upper - lower)));
auto const step = std::pow(10.0, scale - 1.0);
Expand Down
Loading