Giter VIP home page Giter VIP logo

telesculptor's Introduction

TeleSculptor

TeleSculptor Overview

TeleSculptor is a cross-platform desktop application for photogrammetry. It was designed with a focus on aerial video, such as video collected from UAVs, and handles geospatial coordinates and can make use of metadata, if available, from GPS and IMU sensors. However, the software can also work with non-geospatial data and with collections of images instead of metadata. TeleSculptor uses Structure-from-Motion techniques to estimate camera parameters as well as a sparse set of 3D landmarks. It uses Multiview Stereo techniques to estimate dense depth maps on key frame and then fuses those depth maps into a consistent surface mesh which can be colored from the source imagery.

TeleSculptor can be installed from precompiled binaries for Linux, MacOS, and Windows included at the bottom of the latest release page by following the instructions in the Installation section. Instructions on how to use the TeleSculptor GUI can be found in the User Guide. A computer with at least 16GB of RAM is recommended for processing most datasets.

More advanced users who wish to build the project from source should proceed to the Building TeleSculptor section.

Background

TeleSculptor provides a graphical user interface with Qt, 3D visualization with VTK, and photogrammetry algorithms with KWIVER. This project was previously called MAP-Tk (Motion-imagery Aerial Photogrammetry Toolkit). The MAP-Tk name is still scattered throughout the source code. MAP-Tk started as an open source C++ collection of libraries and tools for making measurements from aerial video. The TeleSculptor application was added to the project later. The original software framework and algorithm were then refactored into KWIVER and then expanded to address broader computer vision problems. While KWIVER is now a more broad set of tools, TeleSculptor remains an application focused on photogrammetry.

The advantage of the KWIVER software architecture (previously MAP-Tk) is that it is highly modular and provides an algorithm abstraction layer that allows seamless interchange and run-time selection of algorithms from various other open source projects like OpenCV, VXL, Ceres Solver, and PROJ4. The core KWIVER library (vital) and tools are light-weight with minimal dependencies (C++ standard library, and Eigen). TeleSculptor is written to depend only on the KWIVER "vital" library. Additional capabilities are provided by KWIVER arrows (plugin modules) that use third party libraries to implement various abstract algorithm interfaces defined in the KWIVER vital library. This means that new plugins can be dropped into TeleSculptor to enable alternative or new functionality by adjusting some settings in a configuration file. While TeleSculptor provides a default workflow that works out of the box, it is not just an end user tool. It is designed to be highly configurable to support research into to algorithms and new problem domains.

The screenshots below show TeleSculptor running on example videos from the VIRAT Video Dataset, CLIF 2007 Dataset, and other public data sets. More information about this example data can be found in the examples directory.

While the initial software implementation relies on batch post-processing of aerial video, our intent is to move to an online video stream processing framework and optimize the algorithm to run in real-time.

MacOS Screenshot

Windows Screenshot

Linux Screenshot

Installation

If you have downloaded an installer from the latest release you can simply install TeleSculptor according to the instructions for your operating system described below. If you are building TeleSculptor from source you should proceed to Building TeleSculptor to create the installer before completing the installation.

Windows: run the installer executable (exe) and follow the prompts in the installer dialog. Administrative permission is required.

Mac: open the disk image (dmg), accept the license terms, then drag the TeleSculptor application into the Applications folder.

Linux: open a bash/cmd shell and run the self extracting installer script (sh). You can view additional installation options using ./TeleSculptor-<version>-Linux-x86_64.sh --help

The remainder of this document is aimed at developers who wish to build the project from source. For end users looking for instruction on running the GUI application please read the User Guide.

Building TeleSculptor

TeleSculptor requires C++11 compliant compiler (e.g. GCC 4.8.1, Clang 3.3, Visual Studio 2015). TeleSculptor uses CMake (www.cmake.org) for easy cross-platform compilation. The minimum required version of CMake is 3.9.5, but newer versions are recommended.

Building

The build is directed by CMake to ensure it can be built on various platforms. The code is built by a CMake 'superbuild', meaning as part of the build, CMake will download and build any dependent libraries needed by TeleSculptor. The build is also out of source, meaning the code base is to be separate from the build files. This means you will need two folders, one for the source code and one for the build files. Here is the quickest way to build via a cmd/bash shell.

Before building on Linux systems you must install the following packages:

On Linux, to optionally build with Python and to build the user documentation, you will also need to install the following:

Set up the folder structure and obtain the source files. This can be done with git or by downloading the files and extracting them. Then setup the folder(s) to build the binary files.

Generate the makefile/msvc solution to perform the superbuild using cmake. A description of the configuration options can be found in CMake Options.

Build the installer target/project

You have now built a TeleSculptor installer similar to what is provided in the latest release section. To install TeleSculptor on you machine, follow the instructions above in Installation.

CMake Options

CMAKE_BUILD_TYPE The compiler mode, usually Debug or Release
TELESCULPTOR_ENABLE_CUDA Enable GPU acceleration with CUDA
TELESCULPTOR_ENABLE_PYTHON Enable Python bindings in KWIVER
TELESCULPTOR_ENABLE_MANUALS Turn on building the user documentation
TELESCULPTOR_ENABLE_TESTING Build the unit tests
TELESCULPTOR_SUPERBUILD Build as a superbuild (build Fletch and KWIVER)

Mulit-Configuration Build Tools

By default the CMAKE_BUILD_TYPE is set to Release.

Separate directories are required for Debug and Release builds, requiring CMake to be run for each.

Even if you are using a Multi-Configuration build tool (like MSVC) to build Debug you must select the Debug CMAKE_BUILD_TYPE. (On Windows in order to debug a project all dependent projects must be build with Debug information.)

For MSVC users wanting a RelWithDebInfo build we recommend you still choose Release for the superbuild. Release and RelWithDebInfo are compatible with each other, and Fletch will build its base libraries as Release. MSVC solutions will provide both Release and RelWithDebInfo configuration options. You will need to open the <build/directory>/external/kwiver-build/KWIVER.sln and build this solution with the RelWithDebInfo configuration.

TeleSculptor

The TeleSculptor GUI application is enabled by default, and all dependencies will be built by the Superbuild.

Documentation

If TELESCULPTOR_ENABLE_MANUALS is enabled, and CMake finds all dependencies, then the user manuals are built as part of the normal build process under the target "manuals". The GUI manual can be viewed from inside the GUI by choosing the "TeleSculptor User Manual" action from the "Help" menu.

To build the user manual(s), you need:

(At present, only the GUI has a user manual. Other manuals may be added in the future.)

Testing

Continuous integration testing is provided by CDash. Our MAP-Tk dashboard hosts nightly build and test results across multiple platforms including Windows, Mac, and Linux.

Anyone can contribute a build to this dashboard using the dashboard script provided. Follow the instructions in the comments.

Travis CI is also used for continued integration testing. Travis CI is limited to a single platform (Ubuntu Linux), but provides automated testing of all topic branches and pull requests whenever they are created.

Travis CI master branch: CI:master_
Travis CI release branch: CI:release_

Advanced Build

TeleSculptor is built on top of the KWIVER toolkit, which is in turn built on the Fletch super build system. As mentioned above, to make it easier to build TeleSculptor, a "super-build" is provided to build both KWIVER and Fletch. But, if you wish, you may point the TeleSculptor build to use your own KWIVER builds.

If you would like TeleSculptor to use a prebuilt version of KWIVER, specify the kwiver_DIR flag to CMake. The kwiver_DIR is the KWIVER build directory root, which contains the kwiver-config.cmake file.

You must ensure that the specified build of KWIVER was built with at least the following options set:

The required KWIVER flags can be found in this file : CMake/telesculptor-external-kwiver.cmake

The required Fletch flags can be found in this file : CMake/telesculptor-external-fletch.cmake

Overview of Directories

CMake contains CMake helper scripts
config contains reusable default algorithm configuration files
doc contains release notes, manuals, and other documentation
examples contains pointers to example public datasets to use
gui contains the visualization GUI source code and headers
gui/icons contains the visualization GUI icon resources
maptk contains the maptk library source and headers
packaging contains support files for CPack packaging
scripts contains Python helper scripts
plugins/blender contains Python plug-ins for Blender
plugins/sketchup contains Ruby plug-ins for SketchUp
tests contains testing framework and tests for each module

Getting Help

TeleSculptor is a component of Kitware's collection of open source computer vision tools and part of the KWIVER ecosystem. Please join the kwiver-users mailing list to discuss or to ask for help with using TeleSculptor. For less frequent announcements about TeleSculptor and other KWIVER components, please join the kwiver-announce mailing list.

Acknowledgements

The authors would like to thank AFRL/Sensors Directorate for their support of this work via SBIR Contract FA8650-14-C-1820. This document is approved for public release via 88ABW-2015-2555.

telesculptor's People

Contributors

aaron-bray avatar alouis38 avatar bclipp-kitware avatar chetnieter avatar collinsr avatar danlipsa avatar dstoup avatar jacobderosa avatar kfieldho avatar laurennlam avatar linus-sherrill avatar mattbrown11 avatar mattdawkins avatar mleotta avatar mwoehlke-kitware avatar purg avatar russelldj avatar rustyblue avatar sankhesh avatar smithe4 avatar willdunklin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

telesculptor's Issues

INS map empty, no output POS files written

Hi there,

I have tried running the CLI tools for maptk_track_features and maptk_bundle_adjust on the test data provided from the examples in the CLIF data set. I downloaded and installed the MapTK 0.9.0 binary package and ran the command line tools from that packages bin folder. However when I run the bundle adjust with the same config settings in the examples directory with the metadata included, I still can not get output POS data. For some reason I can't seem to get the output updated POS files and instead only get the krtd files/ landmarks.ply file. I would like to see the updated POS files. The full output after running bundle adjust with the example config settings on the test data is as follows:

--> st estimation and application - elapsed time: 0.000358 sec
writing output PLY file - elapsed time: 0.000411 sec
2017-07-03 16:53:46.543 INFO bundle_adjust_tracks.cxx(1018): Writing output POS files
WARNING: local geo coordinates do not have an origin
2017-07-03 16:53:46.543 WARN bundle_adjust_tracks.cxx(1033): INS map empty, no output POS files written
--> Writing output POS files - elapsed time: 6.5e-05 sec
2017-07-03 16:53:46.543 INFO bundle_adjust_tracks.cxx(1062): Writing output KRTD files
--> Writing output KRTD files - elapsed time: 0.008628 sec

I was wondering if there was a config setting I was entering incorrectly or something like that.

Thanks a lot!

TeleSculptor build fail, no GUISupportQt found. How to build VTK with GUISupportQt?

Hello,

I am using openSUSE. I want to build VTK and TeleSculptor.
I build VTK 9.0.1 with these flags.

     -DVTK_BUILD_ALL_MODULES=OFF
     -DVTK_BUILD_DOCUMENTATION=OFF
     -DVTK_BUILD_EXAMPLES=OFF
     -DBUILD_SHARED_LIBS=ON
     -DOpenGL_GL_PREFERENCE=GLVND
     -DVTK_USE_TK=OFF
     -DVTK_WRAP_JAVA=OFF
     -DVTK_WRAP_PYTHON=ON
     -DCMAKE_BUILD_TYPE=Release
     -DVTK_PYTHON_VERSION:STRING=3

And TeleSculptor with this.
I turn off TELESCULPTOR_SUPERBUILD because it is trying to connect to network to download extra stuff. I am building on Flatpak sandbox with no network.

       -DTELESCULPTOR_SUPERBUILD=OFF
       -DCMAKE_BUILD_TYPE:STRING=Release
       -DTELESCULPTOR_ENABLE_MANUALS=OFF
       -DTELESCULPTOR_ENABLE_TESTING=OFF

I got this error.


CMake Error at gui/CMakeLists.txt:17 (find_package):
  Found package configuration file:

    /app/lib/cmake/vtk-9.0/vtk-config.cmake

  but it set VTK_FOUND to FALSE so package "VTK" is considered to be NOT
  FOUND.  Reason given by package:

  Could not find the VTK package with the following required components:
  GUISupportQt.



-- Configuring incomplete, errors occurred!

error:the file"kwiver_algo_core_export.h" is missing

"*/arrow/core/kwiver_algo_core_export.h: no such file ...",the error is arising,when I building the maptk/tools/analyze_tracks.cxx. And I found that no file named "kwiver_algo_core_export.h" is in the folder of map-tk or kitware.

Colorize mesh rather than ground plane based on user-calibrated image

New functionality allows us to select correspondences between a 3D mesh and an image and compute a camera based on this. Currently, this image is visualized projected onto the ground plane. This is not ideal, and it would be better to project the image onto the mesh directly. Additionally, it would be best to do this considering the lens distortion.
2021-05-04-094706_489x469_scrot

"Fuse Depth Maps" fails with AMD GPU on Windows

Trying to call "Fuse Depth Maps" with an AMD GPU (Radeon RX 560) fails with

Tool execution failes: GPU memory exception: CUDA driver version is insufficient for CUDA runtime version, thrown from integrate_depth_maps.cu:228

Any chance to get TeleSculptor working on non-Nvidia graphics?

How to prepare test data?

I have built maptk successfully, but when I tried on s sequence of aerial images, failed to get result. So how to prepare the test data? or do you have sample data to share? Thanks!

Build with provided Dockerfile fails

When building with provided Dockerfile, the following error occurs:

/usr/bin/ld: CMakeFiles/cuda_compile_1.dir/cuda_compile_1_generated_integrate_depth_maps.cu.o: relocation R_X86_64_PC32 against symbol `_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value

first calibrated camera visibility

Open/create a project that does not have cameras in TS GUI. Ensure a scene mesh is loaded. Pick a frame and calibrate a camera for it using six 3D-2D point correspondences. Observe the log for a successful calibration and a view re-projection on the mesh. Although camera is calibrated and inserted it is not visible in the 3D viewer. Calibrate a camera for a different frame, and observe that now two camera frustums are visible in the 3D viewer. The idea is to display the first calibrated camera frustum without having to calibrate any additional ones.

Expand exposed parameters for camera calibration

The goal of this task is to expose more OpenCV camera intrinsics constraint parameters to the KWIVER configs so we can edit them in config files. For example, specifying which intrinsic parameters to estimate and which to keep fixed. Also possibly providing an initial guess of intrinsic parameters.

[Linux] Compilation fails

Hi,
I try to compile Telesculptor, i have some errors, see :

Configure summary:

Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
Configuration: use_gold_linker sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile precompile_header rdrnd shani x86SimdAlways shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports reduce_relocations release_tools stl
Build options:
  Mode ................................... release; optimized tools
  Optimize release build for size ........ no
  Building shared libraries .............. yes
  Using C++ standard ..................... C++1z
  Using ccache ........................... no
  Using gold linker ...................... yes
  Using new DTAGS ........................ yes
  Using precompiled headers .............. yes
  Using LTCG ............................. no
  Target compiler supports:
    SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
    AVX .................................. AVX AVX2
    AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
    Other x86 ............................ AES F16C RDRAND SHA
    Intrinsics without -mXXX option ...... yes
  Build parts ............................ libs tools
Qt modules and options:
  Qt Concurrent .......................... yes
  Qt D-Bus ............................... yes
  Qt D-Bus directly linked to libdbus .... no
  Qt Gui ................................. yes
  Qt Network ............................. yes
  Qt Sql ................................. yes
  Qt Testlib ............................. yes
  Qt Widgets ............................. yes
  Qt Xml ................................. yes
Support enabled for:
  Using pkg-config ....................... yes
  udev ................................... no
  Using system zlib ...................... yes
Qt Core:
  DoubleConversion ....................... yes
    Using system DoubleConversion ........ no
  GLib ................................... no
  iconv .................................. yes
  ICU .................................... no
  Tracing backend ........................ <none>
  Logging backends:
    journald ............................. no
    syslog ............................... no
    slog2 ................................ no
  Using system PCRE2 ..................... no
Qt Network:
  getifaddrs() ........................... yes
  IPv6 ifname ............................ yes
  libproxy ............................... no
  Linux AF_NETLINK ....................... yes
  OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ no
  SCTP ................................... no
  Use system proxies ..................... yes
Qt Gui:
  Accessibility .......................... yes
  FreeType ............................... yes
    Using system FreeType ................ no
  HarfBuzz ............................... yes
    Using system HarfBuzz ................ no
  Fontconfig ............................. no
  Image formats:
    GIF .................................. yes
    ICO .................................. yes
    JPEG ................................. yes
      Using system libjpeg ............... yes
    PNG .................................. yes
      Using system libpng ................ yes
  EGL .................................... no
  OpenVG ................................. no
  OpenGL:
    Desktop OpenGL ....................... no
    OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no
  Vulkan ................................. yes
  Session Management ..................... yes
Features used by QPA backends:
  evdev .................................. yes
  libinput ............................... no
  INTEGRITY HID .......................... no
  mtdev .................................. no
  tslib .................................. no
  xkbcommon-evdev ........................ no
QPA backends:
  DirectFB ............................... no
  EGLFS .................................. no
  LinuxFB ................................ yes
  VNC .................................... yes
  Mir client ............................. no
Qt Widgets:
  GTK+ ................................... no
  Styles ................................. Fusion Windows
Qt PrintSupport:
  CUPS ................................... no
Qt Sql:
  DB2 (IBM) .............................. no
  InterBase .............................. no
  MySql .................................. no
  OCI (Oracle) ........................... no
  ODBC ................................... no
  PostgreSQL ............................. no
  SQLite2 ................................ no
  SQLite ................................. yes
    Using system provided SQLite ......... no
  TDS (Sybase) ........................... no
Qt Testlib:
  Tester for item models ................. yes
Qt SerialBus:
  Socket CAN ............................. yes
  Socket CAN FD .......................... yes
QtXmlPatterns:
  XML schema support ..................... yes
Qt QML:
  QML network support .................... yes
  QML debugging and profiling support .... no
  QML delegate model ..................... yes
Qt Quick:
  Direct3D 12 ............................ no
  AnimatedImage item ..................... yes
  Canvas item ............................ yes
  Support for Qt Quick Designer .......... yes
  Flipable item .......................... yes
  GridView item .......................... yes
  ListView item .......................... yes
  Path support ........................... yes
  PathView item .......................... yes
  Positioner items ....................... yes
  Repeater item .......................... yes
  ShaderEffect item ...................... yes
  Sprite item ............................ yes
Qt Gamepad:
  SDL2 ................................... no
Qt 3D:
  Assimp ................................. yes
  System Assimp .......................... no
  Output Qt3D Job traces ................. no
  Output Qt3D GL traces .................. no
  Use SSE2 instructions .................. yes
  Use AVX2 instructions .................. no
  Aspects:
    Render aspect ........................ yes
    Input aspect ......................... yes
    Logic aspect ......................... yes
    Animation aspect ..................... yes
    Extras aspect ........................ yes
Qt 3D Renderers:
  OpenGL Renderer ........................ yes
Qt 3D GeometryLoaders:
  Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:
  BlueZ .................................. no
  BlueZ Low Energy ....................... no
  Linux Crypto API ....................... no
  WinRT Bluetooth API (desktop & UWP) .... no
Qt Sensors:
  sensorfw ............................... no
Qt Quick Controls 2:
  Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
  Hover support .......................... yes
  Multi-touch support .................... yes
Qt Multimedia:
  ALSA ................................... no
  GStreamer 1.0 .......................... no
  GStreamer 0.10 ......................... no
  Video for Linux ........................ yes
  OpenAL ................................. no
  PulseAudio ............................. no
  Resource Policy (libresourceqt5) ....... no
  Windows Audio Services ................. no
  DirectShow ............................. no
  Windows Media Foundation ............... no

Note: Also available for Linux: linux-clang linux-icc

Note: -optimized-tools is not useful in -release mode.

Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

Check config.log for details.
make[5]: *** [CMakeFiles/Qt.dir/build.make:113: build/src/Qt-stamp/Qt-configure] Error 3
make[4]: *** [CMakeFiles/Makefile2:1014: CMakeFiles/Qt.dir/all] Error 2
make[3]: *** [Makefile:130: all] Error 2
make[2]: *** [CMakeFiles/fletch.dir/build.make:112: external/stamps/fletch-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/fletch.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

I'm on Fedora 31, with AMD POLARIS free driver. I think embedded Qt is not compiled with wayland and/or opengl options.

Merge TeleSculptor documentation to Sphinx version

We have two forms of TeleSculptor documentation.

  1. The user manual, which was recently ported from a PDF to Sphinx for hosting on readthedocs.
  2. The help page, which is built with docutils and installed with TeleSculptor.

Both of these use restructured text, both have different content, but with some overlap. The task here is to

  1. Update the TeleSculptor build to use Sphinx to build and install a local copy of the same documentation we host on readthedocs and make that what is loaded by the TeleSculptor help menu.
  2. Fold the content of the old help page into the Sphinx documentation. This would probably make a new "User Interface" page in the manual, but we will need to revise to remove content that is duplicated elsewhere in the manual.

Importing GCPs loads duplicate points

Loading a GCP file as part of a project works fine because the GCPs are loaded before the cameras are setup. However, if the GCP file is imported after the project is already open and the project has valid cameras then each GCP gets added twice. It seems that the function to add each loaded point calls the function to add a point to the camera view. This is the same logic used when clicking to add a new point, so a second point is added at the same location.

Stitching Drone Images

Hi,

Sorry for very basic question.
Can i use this tool chain for stitching Drone Images and get GeoTIFF images.

Thanks

Show which frames a GCP has 2D constraints on

In the GCP panel, each GCP should be expandable if it has 2D constraints on any frame. The expansion should show the list of frame numbers that have a 2D constraint. Clicking (or maybe double clicking) on those frame numbers should set the active frame to that frame number.

Could not find implementations as request from *.conf

Hi,


I am running Ubuntu 18.04.2 LTS.

I followed the installation instructions from README file:

sudo apt-get install build-essential libgl1-mesa-dev libxt-dev
sudo apt-get install libexpat1-dev libgtk2.0-dev liblapack-dev
# mkdir telesculptor (why is this here?)
mkdir builds
cd builds
cmake -DCMAKE_BUILD_TYPE:STRING=Release ../    # ../src in the instructions?
make

I am having issues for several days now being unable to run command line tools (maptk_track_features, for example). I am running the following command:

maptk_track_features -c maptk_track_features.conf

but I get the following warnings and errors:

2019-06-18 13:04:19.766 WARN algorithm.cxx(189): Could not find implementation "image_list" for "video_input" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_video_input_image_list.conf:19
2019-06-18 13:04:19.766 WARN algorithm.cxx(189): Could not find implementation "core" for "track_features" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_feature_tracker.conf:4
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "ocv" for "image_io" as requested from /home/kristijan/maptk/examples/kwiver_fmv_set_1/maptk_track_features.conf:33
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "bypass" for "convert_image" as requested from /home/kristijan/maptk/examples/kwiver_fmv_set_1/maptk_track_features.conf:5
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "core" for "compute_ref_homography" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_output_homography_generator.conf:5
2019-06-18 13:04:19.782 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.782 WARN algorithm.cxx(239):    output_homography_generator:type = core
2019-06-18 13:04:19.782 WARN algorithm.cxx(239):    valid options are
2019-06-18 13:04:19.782 ERROR track_features.cxx(156): Config Check Fail: output_homography_generator configuration check failed
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.783 WARN algorithm.cxx(239):    video_reader:type = image_list
2019-06-18 13:04:19.783 WARN algorithm.cxx(239):    valid options are
2019-06-18 13:04:19.783 ERROR track_features.cxx(197): Config Check Fail: video_reader configuration check failed
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.783 WARN algorithm.cxx(239):    feature_tracker:type = core
2019-06-18 13:04:19.783 WARN algorithm.cxx(239):    valid options are
2019-06-18 13:04:19.783 ERROR track_features.cxx(202): Config Check Fail: feature_tracker configuration check failed
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.784 WARN algorithm.cxx(239):    image_reader:type = ocv
2019-06-18 13:04:19.784 WARN algorithm.cxx(239):    valid options are
2019-06-18 13:04:19.784 ERROR track_features.cxx(207): Config Check Fail: image_reader configuration check failed
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.784 WARN algorithm.cxx(239):    convert_image:type = bypass
2019-06-18 13:04:19.784 WARN algorithm.cxx(239):    valid options are
2019-06-18 13:04:19.784 ERROR track_features.cxx(212): Config Check Fail: convert_image configuration check failed
2019-06-18 13:04:19.785 ERROR track_features.cxx(313): Configuration not valid.

I can't guess what could be the issue here. I thought there is a linker issue so I tries putting several *.so files in the same directory where the program was run from, but it didn't help. I went through the source code, but still didn't find enough information. My remaining guess is that there are more dependencies, but this would lead me to pure guessing, so I decided to open the issue at this point.

Thank you!
Kristijan

CMake finds system installs of boost instead of the one in vital_DIR

If running cmake with providing the vital_DIR, cmake still finds the system-wide Boost install.
I'm not a cmake-expert, so it might just be expected.

cmake ../maptk/ -Dvital_DIR:FILEPATH=/home/bjacquet/Dev/MAP-Tk/Vital/build

btw, it is annoying because maptk does not compile against Boost 1.58.0, which is the default on Ubuntu 15.10. But this is another issue.

Segmentation fault in maptk_bundle_adjust_tracks

This issue was reported by @bigdraw on the kwiver-users mailing list. This issues has been split out from issue #74


After using maptk_track_features, I got a feature tracks file.
And then I want to use maptk_bundle_adjust_tracks to take feature tracks and produces cameras and 3D points (PLY file).And I met a problem.This problem goes as follows:

stedraw@stedraw-PC:~/maptk/maptk/bin$ ./maptk_bundle_adjust_tracks -c  adjust.conf
File parsed! Contained 38 k/v entries.
loading track file: ./output_tracks.txt
loaded 36447 tracks
filtered down to 0 long tracks
track filtering: 0.010000 sec CPU, 0.009851 sec wall
Initializing cameras and landmarks: 0.000000 sec CPU, 0.000008 sec wall
Segmentation fault (core dumped)

solution(from Matt's letter):

In this case the problem is likely related to the “min_track_length” parameter in the config file.  The bundle adjust tool currently filters tracks shorter than “min_track_length” before running bundle adjustment. It looks like you don’t have any tracks longer than the current value of “min_track_length”.  You could set this parameter to as low 2 to use all the relevant tracks.  Setting it to 3 might be a little more robust.  The problem with these small values is that you will generally be using a lot more data than you really need to optimize the cameras.  It’s better to use a more minimal set of good long tracks first, and then go back and triangulate additional features later if desired.

The proper setting for the “min_track_length" parameter is very dependent on your data.  If you have a slow moving camera and/or high frame rate you may end of with very long tracks and want this value to be high.  If your scene changes more rapidly from frame to frame you need this value to be shorter.  We are working on making this smarter so that it adapts to the data.  For now, you’ll have to play with the parameter to find a value that suits your problem.

The fact that the executable seg faults when it gets 0 tracks should be considered a bug.  It should handle this case more gracefully and exit cleanly. 

So I modified my "adjust.conf", set the "min_track_length" parameter to a lower value, and got the right output.

maptk Eigen assertion failure

Version MapGUI: 0.9.0
Qt: 4.8.6
On Ubuntu 14.04 32bit

  • I have compile with and without map-gui and when I run any maptk functions I get :
    /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:78: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 2; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
    Aborted (core dumped)

I'm using Eigen 3.2.0

Crash with too few frames for depth map computation

Running "Compute -> Batch Compute Depth Maps" when there are fewer frames than the configured support can result in a crash due to out-of-bounds data access. The suspect code is here:

kwiver::vital::frame_id_t num_frames =
frames_in_range.size() - 2 * halfsupport;
d->num_depth_maps =
std::min(static_cast<size_t>(d->num_depth),
static_cast<size_t>(num_frames));

If frames_in_range.size() is less than 2 * halfsupport, then num_frames will be negative, resulting in static_cast<size_t>(num_frames) being a large positive number and d->num_depth_maps inappropriately being the full value of d->num_depth. The main for loop then attempts out-of-bounds access to frames_in_range.

It would prevent the undefined behavior to just do something like if(num_frames < 0) num_frames = 0;, but perhaps the tool should log / report that it didn't do any work.

Allow selecting which camera view share intrinsics

As I understand it, there is currently an all-or-nothing option to couple the intrinsics of your cameras. There was interest in having a menu to select which subset of cameras should have identical intrinsics.

Show residuals between projected GCPs and 2D constraints

We should add the option to show residual lines connecting projected GCPs to 2D constraints in the camera view. This should work similarly to other residual drawing options, but it should update in real time as points are edited. The line (when visibility enabled) should always connect the projected 3D point to it's constraint point on the active frame.

Better validation and error messages for saving non-standard features

TeleSculptor is currently configured to use ORB features by default and it saves them fine. It can be configured to use other features such as SURF in the track_features.conf file by setting descriptor_type := ocv_SURF. However, if descriptor_binary := false is not also set, the following runtime error will be thrown.

OpenCV Error: Unsupported format or combination of formats (type=5
) in buildIndex_, file <fletch path>/build/src/OpenCV/modules/flann/src/miniflann.cpp, line 315
2020-11-19 15:02:32.989 ERROR track_features.cxx(608): Exception caught: <fletch path>/build/src/OpenCV/modules/flann/src/miniflann.cpp:315: error: (-210) type=5
2020-11-19 15:02:32.989 ERROR track_features.cxx(608):  in function buildIndex_

The same error happens if you run once with ORB and then go back and try to re-run with SURF, even if you properly configure the descriptor_binary := false flag. For the time being you can simply delete the results folder to fix the latter issue.

In the future it would be useful to have a more descriptive error such as a config check failure. Alternatively, and likely better, the descriptor_binary value to be deduced from the feature type and this config parameter could be removed.

Add keyboard shortcut to advance selected GCP

A common operation is to step though GCPs one at a time and add a CRP to each on the current frame. This currently involves moving the mouse across the screen after each click to select the next point in the list. It would be more efficient to have a global keyboard short cut that simple advances the selected GCP to the next in the list and rolls over to the head of the list at the end. I recommend "a" for advance, but I'm open to suggestions. It would be good for the key to be near the left side of the keyboard so you can quickly alternate between pressing "ctrl" and this key with your left hand with the right hand on the mouse. We might also consider adding a previous GCP key as well.

maptk_track_features incorrect output

I am not sure if this is the correct place to submit this, but I encountered an issue with the maptk_track_features tool and this is how I fixed it. I am using commit 48ea683 of the master branch (MAP-Tk 0.10.0).
After running the maptk_track_features tool, the tracks.txt output file only contains the first 2 columns of data (the track ID and the frame ID) and is missing the last 8 columns (the feature data). The maptk_bundle_adjust_tracks tool expects all 10 columns of data to be present in the tracks.txt file. After looking into this issue, line 477 of track_features.cxx calls “kwiver::vital::write_track_file(tracks, output_tracks_file);”, which only writes out the track ID and frame ID to the tracks.txt file, whereas calling “kwiver::vital::write_feature_track_file(tracks, output_tracks_file);” writes out the track ID, frame ID, and feature data. I updated line 477 of track_features.cxx to call “kwiver::vital::write_feature_track_file(tracks, output_tracks_file);” instead. The maptk_track_features tool now produces the correct output.

Qt version 5.11.2 cannot be downloaded

After running 'make' I get the following error

     --- LOG END ---
    error: downloading 'http://download.qt->project.org/official_releases/qt/5.11/5.11.2/single/qt-everywhere-src-5.11.2.tar.xz' failed
    status_code: 22
    status_string: "HTTP response code said error"
    log:
    --- LOG BEGIN ---
      Trying 77.86.229.90:80...

It seems like that Qt version 5.11.2 cannot be found on: http://download.qt-project.org/official_releases/qt/
Can you please update the Qt version to the newest versions are 5.12 or 5.13

Thanks a lot.

Problems about [maptk_track_features] and [maptk_bundle_adjust_tracks]

My evironment:
Boost 1.58 ,
Eigen 3.25 ,
opencv 2.4.11 (the latest version 3.0 can't work with maptk, because it doesn't have Algorithm::_create() ),
proj 4.91 ,
VXL 1.17.
OS: Ubuntu 14.04.

I build MAP-Tk successfully, and have enabled test in CMake, and passed the test.
But when I run the tools in MAP-Tk, I have met some problems.
Thanks for Matt's help, I got the solution.

About [maptk_track_features]

When I ran maptk_track_features , I can't get the output.
This is the exception I met:

stedraw@stedraw-PC:~/maptk/maptk/bin$ ./maptk_track_features -c  track_feature.conf
File parsed! Contained 102 k/v entries.
OpenCV Error: Bad argument (Unknown matcher name) in create, file /home/stedraw/opencv-2.4.11/modules/features2d/src/matchers.cpp, line 497
[---] Ignore the above error message, it will be handled. OpenCV is silly.
OpenCV Error: Bad argument (Unknown matcher name) in create, file /home/stedraw/opencv-2.4.11/modules/features2d/src/matchers.cpp, line 497
[---] Ignore the above error message, it will be handled. OpenCV is silly.
Exception caught: Path does not exist: ""

solution(from Matt's letter):

This is most likely related to loading image files. Your config file should have “image_list_file” set to a path to a text file in which each line in the file is a path to one image to load (i.e. each frame of video). What is the contents of your image list file? Is it empty or does it have a blank line?

So I checked my "image_list_file.txt", and delete the blank line at the last of my file. Then it works, and I could get the feature tracks file.


See issue #75 for the other issue that was originally described here


Thanks for Matt's help. And if you have met some problems about MAP-Tk, you can join the kwiver-users mailing list (see the README.md in MAP-Tk)and post question there. (^_^)

sba_impl configuration invalid

**kwiver_fmv_set_1 example with ubuntu:

After successfully completed the maptk_track_features solution, maptk_bundle_adjust_tracks stops after next:**

2016-11-28 08:20:54.631 WARN algorithm.cxx(237): Configuration Failure: invalid option
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): sba_impl:type = ceres
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): valid options are
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): hierarchical
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): vxl
2016-11-28 08:20:54.631 DEBUG hierarchical_bundle_adjust.cxx(258): Config Check Fail: sba_impl configuration invalid.
2016-11-28 08:20:54.631 WARN algorithm.cxx(247): Configuration Failure Backtrace: bundle_adjuster:hierarchical
2016-11-28 08:20:54.631 ERROR bundle_adjust_tracks.cxx(274): Config Check Fail: Failed config check in bundle_adjuster algorithm.
2016-11-28 08:20:54.631 ERROR bundle_adjust_tracks.cxx(703): Configuration not valid.

maptk_bundle_adjust_tracks exception thrown with kwiver_wami dataset

Hello,
I am using commit 26c3a2c of the master branch (with an added fix to properly write out the tracks.txt file in track_features.cxx).

An exception is thrown when running maptk_bundle_adjust_tracks on the example dataset kwiver_wami_set_1 (Exception caught: _Map_base::at). It looks like the exception occurs when it tries to set the local origin while initializing the cameras with metadata. Here is a rough trace to the exception:
Bundle_adjust_tracks.cxx:604 (maptk_main) -> bundle_adjust_tracks.cxx:382 (load_input_cameras) -> local_geo_cs.cxx:211 (initialize_cameras_with_metadata) -> local_geo_cs.cxx:82 (set_origin)

Here are the last few lines of output before the exception occurred:
2017-08-22 08:10:16.608 DEBUG config_block_io.cxx(307): Read config file "./maptk_bundle_adjust_tracks.conf"
2017-08-22 08:10:16.747 INFO bundle_adjust_tracks.cxx(514): loading track file: results/tracks.txt
2017-08-22 08:10:31.355 DEBUG bundle_adjust_tracks.cxx(517): loaded 104869 tracks
2017-08-22 08:10:39.903 DEBUG bundle_adjust_tracks.cxx(531): filtered down to 5449 long tracks
track filtering - elapsed time: 8.64224 sec
2017-08-22 08:10:40.12 INFO bundle_adjust_tracks.cxx(558): Reading Video
2017-08-22 08:10:40.771 ERROR bundle_adjust_tracks.cxx(911): Exception caught: _Map_base::at

Thanks in advance for any help fixing this issue!

Flatpak TeleSculptor

Hello,

I am trying to build Telesculptor for Linux Flatpak.

I got the error below.
I build Kwiver 1.5.1 with cmake with the flags,

       -DCMAKE_BUILD_TYPE:STRING=Release
       -DKWIVER_ENABLE_SPROKIT=ON
       -DKWIVER_ENABLE_C_BINDINGS=ON
       -DKWIVER_ENABLE_TOOLS=ON

Build qtExtensions master branch with cmake with default flag. https://github.com/Kitware/qtextensions
Build VTK 9.0.1 with cmake with these flags,

     -DBUILD_SHARED_LIBS=ON
     -DOpenGL_GL_PREFERENCE=GLVND
     -DCMAKE_BUILD_TYPE=Release
     -DVTK_PYTHON_VERSION:STRING=3
     -DVTK_GROUP_ENABLE_Qt=YES
     -DVTK_MODULE_ENABLE_VTK_GUISupportQt=YES
     -DModule_vtkGUISupportQtOpenGL:BOOL=ON

And finally Telesculptor 1.1.1 with Cmake.

       -DTELESCULPTOR_SUPERBUILD=OFF
       -DCMAKE_BUILD_TYPE:STRING=Release
       -DTELESCULPTOR_ENABLE_MANUALS=OFF
       -DTELESCULPTOR_ENABLE_TESTING=OFF

Could this issue be relate to this?
Kitware/kwiver#517

I got this error.

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for kwiver in : 
-- Current path: '/app/lib/cmake/kwiver;/run/build/telesculptor/CMake'
-- Import CMake future from '/app/lib/cmake/kwiver/future'
-- Import CMake future '3.10'
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen missing components: dot
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE) 
-- Performing Test has_compiler_flag--std=cplusplus11
-- Performing Test has_compiler_flag--std=cplusplus11 - Success
-- Performing Test has_compiler_flag--pthread
-- Performing Test has_compiler_flag--pthread - Success
-- Performing Test has_compiler_flag--fvisibility=hidden
-- Performing Test has_compiler_flag--fvisibility=hidden - Success
-- Performing Test has_compiler_flag--Wall
-- Performing Test has_compiler_flag--Wall - Success
-- Performing Test has_compiler_flag--Werror=return-type
-- Performing Test has_compiler_flag--Werror=return-type - Success
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor - Success
-- Performing Test has_compiler_flag--Werror=narrowing
-- Performing Test has_compiler_flag--Werror=narrowing - Success
-- Performing Test has_compiler_flag--Werror=init-self
-- Performing Test has_compiler_flag--Werror=init-self - Success
-- Performing Test has_compiler_flag--Werror=reorder
-- Performing Test has_compiler_flag--Werror=reorder - Success
-- Performing Test has_compiler_flag--Werror=overloaded-virtual
-- Performing Test has_compiler_flag--Werror=overloaded-virtual - Success
-- Performing Test has_compiler_flag--Werror=cast-qual
-- Performing Test has_compiler_flag--Werror=cast-qual - Success
-- Performing Test has_compiler_flag--Werror=vla
-- Performing Test has_compiler_flag--Werror=vla - Success
-- Performing Test has_compiler_flag--Wno-unknown-pragmas
-- Performing Test has_compiler_flag--Wno-unknown-pragmas - Success
-- Performing Test has_compiler_flag--Wl,--no-undefined
-- Performing Test has_compiler_flag--Wl,--no-undefined - Success
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries - Success
-- checking CPP_AUTO auto.cxx
-- checking CPP_CONSTEXPR constexpr.cxx
-- checking CPP_DEFAULT_CTOR default-ctor.cxx
-- checking CPP_FINAL final.cxx
-- checking CPP_NOEXCEPT throw-noexcept.cxx
-- checking CPP_RANGE_FOR range-for.cxx
-- checking STD_CHRONO std_chrono.cxx
-- checking STD_NULLPTR null_ptr.cxx
-- checking STD_REGEX std_regex.cxx
-- Found Git: /usr/bin/git (found version "2.30.0") 
-- [configure-version.h] Creating configure command
-- Making library "maptk"
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- [configure-gui_align] Creating configure command
-- [configure-gui_bundle_adjust] Creating configure command
-- [configure-gui_compute_depth] Creating configure command
-- [configure-gui_default_camera_intrinsics] Creating configure command
-- [configure-gui_filter_tracks] Creating configure command
-- [configure-gui_frame_image_writer] Creating configure command
-- [configure-gui_image_list_reader] Creating configure command
-- [configure-gui_image_video_reader] Creating configure command
-- [configure-gui_initialize] Creating configure command
-- [configure-gui_integrate_depth_maps] Creating configure command
-- [configure-gui_keyframe_image_writer] Creating configure command
-- [configure-gui_mask_list_reader] Creating configure command
-- [configure-gui_mask_video_reader] Creating configure command
-- [configure-gui_st_estimator] Creating configure command
-- [configure-gui_track_features] Creating configure command
-- [configure-gui_triangulate] Creating configure command
-- [configure-track_features_embedded_debug] Creating configure command
-- [configure-log4cplus] Creating configure command
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkFiltersSources' component is 'FiltersSources'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkGUISupportQt' component is 'GUISupportQt'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOGeometry' component is 'IOGeometry'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOImage' component is 'IOImage'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOPLY' component is 'IOPLY'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOXML' component is 'IOXML'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkImagingCore' component is 'ImagingCore'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkInteractionStyle' component is 'InteractionStyle'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkInteractionWidgets' component is
  'InteractionWidgets'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkRenderingAnnotation' component is
  'RenderingAnnotation'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkRenderingFreeType' component is
  'RenderingFreeType'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  found components: OpenGL GLX 
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-use-file-deprecated.cmake:1 (message):
  The `VTK_USE_FILE` is no longer used starting with 8.90.
Call Stack (most recent call first):
  gui/CMakeLists.txt:35 (include)


-- File: 'ACKNOWLEDGMENTS'
-- File: 'BUILDINFO'
-- File: 'LICENSE'
-- [configure-telesculptor-config] Creating configure command
-- [configure-telesculptor-install-config] Creating configure command
-- Configuring done
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_detect_and_describe" links to target
  "kwiver::kwiver_algo_core" but the target was not found.  Perhaps a
  find_package() call is missing for an IMPORTED target, or an ALIAS target
  is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:8 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_track_features" links to target "kwiver::kwiver_algo_core"
  but the target was not found.  Perhaps a find_package() call is missing for
  an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:17 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_analyze_tracks" links to target "kwiver::kwiver_algo_core"
  but the target was not found.  Perhaps a find_package() call is missing for
  an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:56 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_match_matrix" links to target "kwiver::kwiver_algo_core" but
  the target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:26 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_bundle_adjust_tracks" links to target
  "kwiver::kwiver_algo_core" but the target was not found.  Perhaps a
  find_package() call is missing for an IMPORTED target, or an ALIAS target
  is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:40 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_apply_gcp" links to target "kwiver::kwiver_algo_core" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:48 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_adapter" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_algo_core" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::chrono" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::system" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
Error: module telesculptor: Child process exited with code 1

Download size

What is the approximate size of the files downloaded while building?

GUI should have "measurement" tool

Being able to measure things in the GUI is useful. We would like to have a "measurement" tool. The output UI should be a separate window with nine (read-only QLineEdit) fields, giving the matrix of [X, Y, Z] × [min, max, max-min]. This should have two modes. One mode would measure the visible geometry (probably with options to include/exclude the cameras and/or ground plane). The other mode would use an interactive widget in the world view to select/manipulate an AABB.

when will v0.10.0 be releaesd

Hi,mleotta
I found you have already done a gcp tool, which will be in the version 0.10.0.
I am interested in this new function. May I know when will the v0.10 be released?
Appreciate for your work!

Show which GCPs have a 2D point on the current frame

There is no indication of which 3D points (GCPs) have a corresponding 2D point for the current frame in the GCP panel. We should add an icon or indicator of some type to show which GCPs have a 2D point on the active frame and then update those indicators as the active frame changes.

GCP edit mode allows adding GCPs in Camera View without a camera

In GCP edit mode (while not in CRP edit mode) I can CTRL click to add green/white GCPs in the Camera View even if there is no camera on the frame. These points disappear and don't come back when changing frames. The way it should work is that I can add GCPs in the Camera View only if a camera model exists, and these point are mapped back into the WorldView and GCP panel and are real 3D GCPs. I should be able to add CRPs in camera view without a camera when in CRP edit mode, but not GCPs in GCP edit mode.

"Zoom to Landmarks" broken with no landmarks

The Zoom to Landmarks feature is currently broken when there are no landmarks. The camera view is destroyed and there is no way to recover by zooming to all data. If there are no landmarks, the zoom to landmarks feature should not do anything or possibly should be greyed out.

clear GCP/reg.pt list on project (re)load

Load project A with a mesh, inspect/create some GCP and registration points, compute cameras, export GCP points. Without closing TS, open project B with a mesh and GCP/reg.pts: now GCP and reg pts from two projects appear to be intermixed. I think we need to clear our GCP list on project (re) load.

GUI grid should be "normalized"

It would be nice if the size of the grid/axes in the GUI would "snap" to increments of whole units or "pretty fractions" of units (e.g. to a fraction whose denominator is 2a·5b with |a-b|≤1) so that the grid lines are "nice", rational numbers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.