Skip to content

Commit 7c0f7aa

Browse files
authored
Merge pull request #374 from russelldj/dev/cherry-pickable-documentation
Documentation updates
2 parents adce1b1 + 2126400 commit 7c0f7aa

File tree

1 file changed

+112
-38
lines changed

1 file changed

+112
-38
lines changed

README.rst

Lines changed: 112 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
:alt: TeleSculptor
44

55
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6-
TeleSculptor
6+
TeleSculptor Overview
77
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88

99
TeleSculptor is a cross-platform desktop application for photogrammetry.
@@ -16,6 +16,20 @@ as well as a sparse set of 3D landmarks. It uses Multiview Stereo techniques
1616
to estimate dense depth maps on key frame and then fuses those depth maps
1717
into a consistent surface mesh which can be colored from the source imagery.
1818

19+
TeleSculptor can be installed from precompiled binaries for Linux, MacOS, and
20+
Windows included at the bottom of the
21+
`latest release`_ page by following the instructions in the Installation_ section.
22+
Instructions on how to use the TeleSculptor GUI can be found in
23+
the `User Guide <doc/TeleSculptor-v1.0-User-Guide.pdf>`_. A computer with at
24+
least 16GB of RAM is recommended for processing most datasets.
25+
26+
More advanced users who wish to build the project from source should proceed to the
27+
`Building TeleSculptor`_ section.
28+
29+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30+
Background
31+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32+
1933
TeleSculptor provides a graphical user interface with Qt_, 3D visualization
2034
with VTK_, and photogrammetry algorithms with KWIVER_. This project was
2135
previously called MAP-Tk (Motion-imagery Aerial Photogrammetry Toolkit).
@@ -47,6 +61,11 @@ running on example videos from the `VIRAT Video Dataset`_,
4761
`CLIF 2007 Dataset`_, and other public data sets. More information about this
4862
example data can be found in the `examples <examples>`_ directory.
4963

64+
While the initial software implementation relies on batch post-processing
65+
of aerial video, our intent is to move to an online video stream processing
66+
framework and optimize the algorithm to run in real-time.
67+
68+
5069
.. image:: /doc/screenshot/telesculptor_screenshot_macos.png
5170
:alt: MacOS Screenshot
5271
.. image:: /doc/screenshot/telesculptor_screenshot_windows.png
@@ -55,34 +74,30 @@ example data can be found in the `examples <examples>`_ directory.
5574
:alt: Linux Screenshot
5675

5776

58-
While the initial software implementation relies on batch post-processing
59-
of aerial video, our intent is to move to an online video stream processing
60-
framework and optimize the algorithm to run in real-time.
77+
Installation
78+
============
79+
If you have downloaded an installer from the
80+
`latest release`_
81+
you can simply install TeleSculptor according to the instructions for your
82+
operating system described below. If you are building TeleSculptor from source
83+
you should proceed to `Building TeleSculptor`_ to create the installer before
84+
completing the installation.
85+
86+
**Windows:** run the installer executable (exe) and follow the prompts in the
87+
installer dialog. Administrative permission is required.
88+
89+
**Mac:** open the disk image (dmg), accept the license terms, then drag the
90+
TeleSculptor application into the Applications folder.
91+
92+
**Linux:** open a bash/cmd shell and run the self extracting installer script
93+
(sh). You can view additional installation options using
94+
``./TeleSculptor-<version>-Linux-x86_64.sh --help``
6195

6296
The remainder of this document is aimed at developers who wish to build the
6397
project from source or run command line tools. For end users looking for
6498
instruction on running the GUI application please read the
6599
`User Guide <doc/TeleSculptor-v1.0-User-Guide.pdf>`_.
66100

67-
Overview of Directories
68-
=======================
69-
70-
======================= ========================================================
71-
``CMake`` contains CMake helper scripts
72-
``config`` contains reusable default algorithm configuration files
73-
``doc`` contains release notes, manuals, and other documentation
74-
``examples`` contains example tool configuration for public datasets
75-
``gui`` contains the visualization GUI source code and headers
76-
``gui/icons`` contains the visualization GUI icon resources
77-
``maptk`` contains the maptk library source and headers
78-
``packaging`` contains support files for CPack packaging
79-
``scripts`` contains Python helper scripts
80-
``plugins/blender`` contains Python plug-ins for Blender
81-
``plugins/sketchup`` contains Ruby plug-ins for SketchUp
82-
``tests`` contains testing framework and tests for each module
83-
``tools`` contains source for command line utilities
84-
======================= ========================================================
85-
86101

87102
Building TeleSculptor
88103
=====================
@@ -94,37 +109,72 @@ minimum required version of CMake is 3.9.5, but newer versions are recommended.
94109

95110
Building
96111
--------
97-
98112
The build is directed by CMake to ensure it can be built on various platforms.
99113
The code is built by a CMake 'superbuild', meaning as part of the build,
100114
CMake will download and build any dependent libraries needed by TeleSculptor.
101115
The build is also out of source, meaning the code base is to be separate from
102116
the build files. This means you will need two folders, one for the source code
103117
and one for the build files.
104-
Here is the quickest way to build via a cmd/bash shell
118+
Here is the quickest way to build via a cmd/bash shell.
119+
120+
Before building on Linux systems you must install the following packages:
105121

106122
.. code-block :: bash
107123
108-
# On Linux systems, Install the following packages before building
109-
$ sudo apt-get install build-essential libgl1-mesa-dev libxt-dev
110-
$ sudo apt-get install libexpat1-dev libgtk2.0-dev liblapack-dev
124+
sudo apt-get install build-essential libgl1-mesa-dev libxt-dev
125+
sudo apt-get install libexpat1-dev libgtk2.0-dev liblapack-dev
126+
127+
On Linux, to optionally build with Python and help menu documentation you will
128+
also need to install the following:
129+
130+
.. code-block :: bash
131+
132+
sudo apt-get install python3-dev python3-docutils
133+
134+
Set up the folder structure and obtain the source files. This can be done with
135+
git or by downloading the files and extracting them. Then setup the folder(s)
136+
to build the binary files.
137+
138+
.. code-block :: bash
111139
112140
mkdir telesculptor
113-
## For this example, we assume source is in a 'src' folder under telesculptor/
141+
cd telesculptor
142+
143+
## Place the code in a directory called src
144+
# Using git, clone into a new directory called src
145+
git clone https://github.com/Kitware/TeleSculptor.git src
146+
# Or unzip into a new directory called src
147+
unzip <file name>.zip src
148+
149+
## Create the folder where we will build the binaries
114150
mkdir builds
115151
cd builds
116-
# Feel free to make subfolders here, for example: debug and release
117-
# Generate a makefile/msvc solution to perform the superbuild
118-
# Provide CMake the source directory at the end (relative or absolute)
152+
# Instead of just one builds folder you can to make subfolders here for
153+
# different builds, for example: builds/debug and builds/release.
154+
# Each folder would then be built following the steps below but with different
155+
# configuration options
156+
157+
Generate the makefile/msvc solution to perform the superbuild using cmake.
158+
A description of the configuration options can be found in `CMake Options`_.
159+
160+
.. code-block :: bash
119161
120-
# Run CMake
162+
# From the build directory provide cmake the path to the source directory,
163+
# which can be relative or absolute.
164+
# Specify configurable options by prefacing them with the -D flag
121165
cmake -DCMAKE_BUILD_TYPE:STRING=Release ../src
122-
# Using the CMake GUI you can set the source and build directories accordingly
123-
# and press the "Configure" and “Generate” buttons
124-
# Alternatively, the ccmake tool allows for interactive selection of
125-
# CMake options.
166+
# Alternatively, you can use the 'ccmake' command line tool allows for
167+
# interactively selecting CMake options. This can be installed with
168+
# 'sudo apt-get install cmake-curses-gui'
169+
ccmake ../src
170+
# As a final option, you can use the the CMake GUI you can set the source and
171+
# build directories accordingly and then press the "Configure" and “Generate”
172+
# buttons
173+
174+
Build the installer target/project
175+
176+
.. code-block :: bash
126177
127-
# Build the install target/project
128178
# On Linux/OSX/MinGW
129179
make
130180
# Once the Superbuild is complete, the telesculptor makefile will be placed in
@@ -137,6 +187,10 @@ Here is the quickest way to build via a cmd/bash shell
137187
# To edit TeleSculptor code, open the
138188
# build/external/telesculptor-build/TeleSculptor.sln
139189
190+
You have now built a TeleSculptor installer similar to what is provided in the
191+
`latest release`_ section. To install TeleSculptor on you machine, follow the
192+
instructions above in `Installation`_.
193+
140194
CMake Options
141195
-------------
142196

@@ -242,13 +296,32 @@ The required KWIVER flags can be found in this file : `<CMake/telesculptor-exter
242296

243297
The required Fletch flags can be found in this file : `<CMake/telesculptor-external-fletch.cmake>`_
244298

299+
Overview of Directories
300+
=======================
301+
302+
======================= ========================================================
303+
``CMake`` contains CMake helper scripts
304+
``config`` contains reusable default algorithm configuration files
305+
``doc`` contains release notes, manuals, and other documentation
306+
``examples`` contains example tool configuration for public datasets
307+
``gui`` contains the visualization GUI source code and headers
308+
``gui/icons`` contains the visualization GUI icon resources
309+
``maptk`` contains the maptk library source and headers
310+
``packaging`` contains support files for CPack packaging
311+
``scripts`` contains Python helper scripts
312+
``plugins/blender`` contains Python plug-ins for Blender
313+
``plugins/sketchup`` contains Ruby plug-ins for SketchUp
314+
``tests`` contains testing framework and tests for each module
315+
``tools`` contains source for command line utilities
316+
======================= ========================================================
245317

246318
MAP-Tk Tools
247319
============
248320

249321
MAP-Tk command line tools are placed in the ``bin`` directory of the build
250322
or install path. These tools are described below. Note that these tools are
251323
in the process of being migrated to KWIVER and will leave this repository soon.
324+
Continued support is not guaranteed and behavior may diverge from documentation.
252325

253326

254327
Summary of MAP-Tk Tools
@@ -373,6 +446,7 @@ public release via 88ABW-2015-2555.
373446
.. _Travis CI: https://travis-ci.org/
374447
.. _VisualSFM: http://ccwu.me/vsfm/
375448
.. _VTK: https://vtk.org/
449+
.. _latest release: https://github.com/Kitware/TeleSculptor/releases/latest
376450

377451
.. Appendix II: Text Substitutions
378452
.. ===============================

0 commit comments

Comments
 (0)