Skip to content

Commit 6b567ef

Browse files
authored
Merge pull request #10 from colmap/sarlinpe/update-24-09-26
Update
2 parents c4fa0c5 + 60de6f6 commit 6b567ef

12 files changed

+5299
-5041
lines changed

_sources/install.rst.txt

+39-38
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ Installation
44
============
55

66
You can either download one of the pre-built binaries or build the source code
7-
manually. Executables for Windows and Mac and other resources can be downloaded
8-
from https://demuc.de/colmap/. Executables for Linux/Unix/BSD are available at
9-
https://repology.org/metapackage/colmap/versions. Note that the COLMAP packages
10-
in the default repositories for Linux/Unix/BSD do not come with CUDA support,
11-
which requires manual compilation but is relatively easy on these platforms.
7+
manually. Pre-built binaries and other resources can be downloaded from
8+
https://demuc.de/colmap/. An overview of system packages for Linux/Unix/BSD
9+
distributions are available at https://repology.org/metapackage/colmap/versions.
10+
Note that the COLMAP packages in the default repositories for Linux/Unix/BSD do
11+
not come with CUDA support, which requires a manual build from source.
1212

1313
COLMAP can be used as an independent application through the command-line or
1414
graphical user interface. Alternatively, COLMAP is also built as a reusable
15-
library, i.e., you can include and link COLMAP against your own source code,
16-
as described further below.
15+
library, i.e., you can include and link COLMAP against your own C++ source code,
16+
as described further below. Furthermore, you can use most of COLMAP's
17+
functionality with :ref:`PyCOLMAP <pycolmap/index>` in Python.
1718

1819
------------------
1920
Pre-built Binaries
@@ -28,13 +29,17 @@ double-click the ``COLMAP.bat`` batch script or alternatively run it from the
2829
Windows command shell or Powershell. The command-line interface is also
2930
accessible through this batch script, which automatically sets the necessary
3031
library paths. To list the available COLMAP commands, run ``COLMAP.bat -h`` in
31-
the command shell ``cmd.exe`` or in Powershell.
32+
the command shell ``cmd.exe`` or in Powershell. The first time you run COLMAP,
33+
Windows defender may prompt you with a security warning, because the binaries
34+
are not officially signed. The provided COLMAP binaries are automatically built
35+
from GitHub Actions CI machines. If you do not trust them, you can build from
36+
source as described below.
3237

3338
Mac
3439
---
3540

3641
The pre-built application package for Mac contains both the GUI and command-line
37-
version of COLMAP. To open the GUI, simply open the application and note that
42+
version of COLMAP. To open the GUI, simply open the application. Note that
3843
COLMAP is shipped as an unsigned application, i.e., when your first open the
3944
application, you have to right-click the application and select *Open* and then
4045
accept to trust the application. In the future, you can then simply double-click
@@ -52,15 +57,16 @@ First, checkout the latest source code::
5257

5358
git clone https://github.com/colmap/colmap
5459

55-
On Linux and Mac it is generally recommended to follow the installation
56-
instructions below, which use the system package managers to install the
57-
required dependencies. Alternatively, there is a Python build script that builds
58-
COLMAP and its dependencies locally. This script is useful under Windows and on
59-
a (cluster) system if you do not have root access under Linux or Mac.
60+
Under Linux and Mac, it is generally recommended to follow the installation
61+
instructions below, which use the respective system package managers to install
62+
the required dependencies. Alternatively, the instructions for VCPKG can be used
63+
to compile the required dependencies from scratch on more exotic systems with
64+
limited system packages. The VCPKG approach is also the method of choice under
65+
Windows, compute clusters, or if you do not have root access under Linux or Mac.
6066

6167

62-
Linux
63-
-----
68+
Debian/Ubuntu
69+
-------------
6470

6571
*Recommended dependencies:* CUDA (at least version 7.X)
6672

@@ -89,6 +95,17 @@ Dependencies from the default Ubuntu repositories::
8995
libcgal-dev \
9096
libceres-dev
9197

98+
To compile with **CUDA support**, also install Ubuntu's default CUDA package::
99+
100+
sudo apt-get install -y \
101+
nvidia-cuda-toolkit \
102+
nvidia-cuda-toolkit-gcc
103+
104+
Or, manually install the latest CUDA from NVIDIA's homepage. During CMake
105+
configuration, specify `-DCMAKE_CUDA_ARCHITECTURES=native`, if you want to run
106+
COLMAP only on your current machine (default), "all"/"all-major" to be able to
107+
distribute to other machines, or a specific CUDA architecture like "75", etc.
108+
92109
Configure and compile COLMAP::
93110

94111
git clone https://github.com/colmap/colmap.git
@@ -104,24 +121,13 @@ Run COLMAP::
104121
colmap -h
105122
colmap gui
106123

107-
To compile with **CUDA support**, also install Ubuntu's default CUDA package::
108-
109-
sudo apt-get install -y \
110-
nvidia-cuda-toolkit \
111-
nvidia-cuda-toolkit-gcc
112-
113-
Or, manually install the latest CUDA from NVIDIA's homepage. During CMake configuration
114-
specify `CMAKE_CUDA_ARCHITECTURES` as "native", if you want to run COLMAP on your
115-
current machine only (default), "all"/"all-major" to be able to distribute to other
116-
machines, or a specific CUDA architecture like "75", etc.
117-
118124
Under **Ubuntu 18.04**, the CMake configuration scripts of CGAL are broken and
119125
you must also install the CGAL Qt5 package::
120126

121127
sudo apt-get install libcgal-qt5-dev
122128

123-
Under **Ubuntu 22.04**, there is a problem when compiling with Ubuntu's default CUDA
124-
package and GCC, and you must compile against GCC 10::
129+
Under **Ubuntu 22.04**, there is a problem when compiling with Ubuntu's default
130+
CUDA package and GCC, and you must compile against GCC 10::
125131

126132
sudo apt-get install gcc-10 g++-10
127133
export CC=/usr/bin/gcc-10
@@ -154,22 +160,17 @@ Configure and compile COLMAP::
154160

155161
git clone https://github.com/colmap/colmap.git
156162
cd colmap
157-
export PATH="/usr/local/opt/qt@5/bin:$PATH"
158163
mkdir build
159164
cd build
160-
cmake .. -GNinja -DQt5_DIR=/usr/local/opt/qt/lib/cmake/Qt5
165+
cmake .. -GNinja -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)"
161166
ninja
162167
sudo ninja install
163168

164-
On Macs with ARM the brew paths are different so you need this
165-
166-
cmake .. -GNinja -DCMAKE_PREFIX_PATH="/opt/homebrew/opt/flann;/opt/homebrew/opt/metis;/opt/homebrew/opt/suite-sparse;/opt/homebrew/opt/qt@5;/opt/homebrew/opt/freeimage"
167-
168169
If you have Qt 6 installed on your system as well, you might have to temporarily
169170
link your Qt 5 installation while configuring CMake::
170171

171172
brew link qt5
172-
cmake configuration (from previous code block)
173+
cmake ... (from previous code block)
173174
brew unlink qt5
174175

175176
Run COLMAP::
@@ -183,7 +184,7 @@ Windows
183184

184185
*Recommended dependencies:* CUDA (at least version 7.X), Visual Studio 2019
185186

186-
On Windows, the recommended way is to build COLMAP using vcpkg::
187+
On Windows, the recommended way is to build COLMAP using VCPKG::
187188

188189
git clone https://github.com/microsoft/vcpkg
189190
cd vcpkg
@@ -200,7 +201,7 @@ Please refer to the next section for more details.
200201
VCPKG
201202
-----
202203

203-
COLMAP ships as part of the vcpkg distribution. This enables to conveniently
204+
COLMAP ships as part of the VCPKG distribution. This enables to conveniently
204205
build COLMAP and all of its dependencies from scratch under different platforms.
205206
Note that VCPKG requires you to install CUDA manually in the standard way on
206207
your platform. To compile COLMAP using VCPKG, you run::

_sources/pycolmap/index.rst.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ Some features, such as cost functions, require that `PyCeres
3434
<https://github.com/cvg/pyceres>`_ is installed in the same manner as PyCOLMAP,
3535
so either from PyPI or from source.
3636

37-
Usage
37+
API
3838
-----
3939

4040
.. toctree::
4141
:maxdepth: 2
4242

43-
api
43+
pycolmap
4444
cost_functions

_sources/pycolmap/api.rst.txt _sources/pycolmap/pycolmap.rst.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
.. _pycolmap/api:
1+
.. _pycolmap/pycolmap:
22

3-
API
3+
pycolmap
44
============
55

66
.. automodule:: pycolmap

changelog.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ <h2>COLMAP 3.9 (01/06/2024)<a class="headerlink" href="#colmap-3-9-01-06-2024" t
347347
<li><p>Add EstimateGeneralizedAbsolutePose by &#64;sarlinpe in <a class="reference external" href="https://github.com/colmap/colmap/pull/2174">https://github.com/colmap/colmap/pull/2174</a></p></li>
348348
<li><p>Fix bug in ReconstructionManagerWidget::Update by &#64;whuaegeanse in https://github.com/colmap/colmap/pull/2186</p></li>
349349
<li><p>Fix missing retrieval dependency by &#64;ahojnnes in <a class="reference external" href="https://github.com/colmap/colmap/pull/2189">https://github.com/colmap/colmap/pull/2189</a></p></li>
350-
<li><p>Removing <a href="#id2"><span class="problematic" id="id3">clustering_options_</span></a> and <a href="#id4"><span class="problematic" id="id5">mapper_options_</span></a> in Hierarchical Mapper Controller by &#64;Serenitysmk in <a class="reference external" href="https://github.com/colmap/colmap/pull/2193">https://github.com/colmap/colmap/pull/2193</a></p></li>
350+
<li><p>Removing clustering_options and mapper_options in Hierarchical Mapper Controller by &#64;Serenitysmk in <a class="reference external" href="https://github.com/colmap/colmap/pull/2193">https://github.com/colmap/colmap/pull/2193</a></p></li>
351351
<li><p>Publish docker image to docker hub by &#64;ahojnnes in <a class="reference external" href="https://github.com/colmap/colmap/pull/2195">https://github.com/colmap/colmap/pull/2195</a></p></li>
352352
<li><p>Fix Cuda architecture in docker build by &#64;ahojnnes in <a class="reference external" href="https://github.com/colmap/colmap/pull/2196">https://github.com/colmap/colmap/pull/2196</a></p></li>
353353
<li><p>Fix all-major cuda arch missing in CMake &lt; 3.23 by &#64;ahojnnes in <a class="reference external" href="https://github.com/colmap/colmap/pull/2197">https://github.com/colmap/colmap/pull/2197</a></p></li>

0 commit comments

Comments
 (0)