COLMAP 3.9.1 (01/08/2024)
-------------------------
* Version 3.9 changelog by @ahojnnes in https://github.com/colmap/colmap/pull/2325
* Fully encapsulate freeimage in bitmap library (#2332) by @ahojnnes in https://github.com/colmap/colmap/pull/2334

COLMAP 3.9 (01/06/2024)
-----------------------
* clang format all code and require clang-format-14 by @ahojnnes in https://github.com/colmap/colmap/pull/1785
* Fix compilation for vcpkg windows build by @ahojnnes in https://github.com/colmap/colmap/pull/1791
* Increment version number to 3.9 by @ahojnnes in https://github.com/colmap/colmap/pull/1794
* Remove unnecessary /arch:sse2 flag for MSVC by @ahojnnes in https://github.com/colmap/colmap/pull/1798
* Updated faq.rst by @CGCooke in https://github.com/colmap/colmap/pull/1801
* Fixed mistake in code comment for OpenCV Fisheye camera by @CGCooke in https://github.com/colmap/colmap/pull/1802
* Replace deprecated cudaThreadSynchronize with cudaDeviceSynchronize by @ahojnnes in https://github.com/colmap/colmap/pull/1806
* Replace deprecated Cuda texture references with texture objects by @ahojnnes in https://github.com/colmap/colmap/pull/1809
* Remove unused SIFT GPU cuda texture reference by @ahojnnes in https://github.com/colmap/colmap/pull/1823
* Upgrade SiftGPU to use CUDA texture objects by @ahojnnes in https://github.com/colmap/colmap/pull/1838
* Remove PBA as bundle adjustment backend to support CUDA 12+ by @ahojnnes in https://github.com/colmap/colmap/pull/1840
* Replace deprecated CUDA sature function call by @ahojnnes in https://github.com/colmap/colmap/pull/1841
* Avoid unnecessary mallocs during sampling by @ahojnnes in https://github.com/colmap/colmap/pull/1842
* Cleaned up docker readme and scripts by @ahojnnes in https://github.com/colmap/colmap/pull/1852
* add "Shared intrinsics per sub-folder" checkbox to automatic reconstruction window by @kenshi84 in https://github.com/colmap/colmap/pull/1853
* Update vcpkg by @ahojnnes in https://github.com/colmap/colmap/pull/1925
* Log the name of the file that causes Mat::Read() to checkfail by @SomeAlphabetGuy in https://github.com/colmap/colmap/pull/1923
* check Z_index correctly in ReadPly by @countywest in https://github.com/colmap/colmap/pull/1896
* Don't re-open files when reading and writing matrices by @SomeAlphabetGuy in https://github.com/colmap/colmap/pull/1926
* Update vcpkg to latest commit by @ahojnnes in https://github.com/colmap/colmap/pull/1948
* Remove unnecessary custom Eigen aligned allocator macros by @ahojnnes in https://github.com/colmap/colmap/pull/1947
* Prefix internal sources/includes with colmap by @ahojnnes in https://github.com/colmap/colmap/pull/1949
* Simplify clang-format config and sort includes by @ahojnnes in https://github.com/colmap/colmap/pull/1950
* Handle possible overflow in median function by @ahojnnes in https://github.com/colmap/colmap/pull/1951
* Run ASan pipeline under Ubuntu 22.04 by @ahojnnes in https://github.com/colmap/colmap/pull/1952
* Fix Ceres version test by @drkoller in https://github.com/colmap/colmap/pull/1954
* Fix deprecation warning for Qt font metrics width by @ahojnnes in https://github.com/colmap/colmap/pull/1958
* Setup clang-tidy and enable perf warnings by @ahojnnes in https://github.com/colmap/colmap/pull/1959
* VCPKG binary caching for windows CI by @ahojnnes in https://github.com/colmap/colmap/pull/1957
* Cosmetics for VS dev shell script by @ahojnnes in https://github.com/colmap/colmap/pull/1965
* Enable clang-tidy concurrency checks by @ahojnnes in https://github.com/colmap/colmap/pull/1967
* [Bug] fix finding shared points3D in FindLocalBundle by @wesleyliwei in https://github.com/colmap/colmap/pull/1963
* Enable compiler caching in CI by @ahojnnes in https://github.com/colmap/colmap/pull/1972
* Set number of features for different quality levels by @ahojnnes in https://github.com/colmap/colmap/pull/1975
* Specify parameter name using inline comment by @ahojnnes in https://github.com/colmap/colmap/pull/1976
* Fix Windows CCache by @ahojnnes in https://github.com/colmap/colmap/pull/1977
* Add e2e tests in CI pipeline using ETH3D datasets by @ahojnnes in https://github.com/colmap/colmap/pull/1397
* [feature] print verbose information for model analyzer by @wesleyliwei in https://github.com/colmap/colmap/pull/1978
* Add a missing include to compile with gcc13 by @EstebanDugueperoux2 in https://github.com/colmap/colmap/pull/1984
* Speed up snapshot construct in RigBundleAdjuster by @wesleyliwei in https://github.com/colmap/colmap/pull/1988
* Update outdated docker cuda image tag by @ahojnnes in https://github.com/colmap/colmap/pull/1992
* Add boulders ETH3D dataset to CI E2E tests by @ahojnnes in https://github.com/colmap/colmap/pull/1991
* Update executable paths in documentation by @ahojnnes in https://github.com/colmap/colmap/pull/1993
* Avoid unnecessary copy in ExtractTopScaleFeatures by @ahojnnes in https://github.com/colmap/colmap/pull/1994
* Move related code under new image library folder by @ahojnnes in https://github.com/colmap/colmap/pull/1995
* Move related code under new camera folder by @ahojnnes in https://github.com/colmap/colmap/pull/1996
* Added a virtual destructor to Sampler by @SomeAlphabetGuy in https://github.com/colmap/colmap/pull/2000
* Add a few more clang-tidy checks by @ahojnnes in https://github.com/colmap/colmap/pull/2001
* Move related code to new geometry module by @ahojnnes in https://github.com/colmap/colmap/pull/2006
* Use #pragma once as include guard by @ahojnnes in https://github.com/colmap/colmap/pull/2007
* Add bugprone-* clang-tidy checks by @ahojnnes in https://github.com/colmap/colmap/pull/2010
* Avoid const params in declarations by @ahojnnes in https://github.com/colmap/colmap/pull/2011
* Set and require C++14 by @ahojnnes in https://github.com/colmap/colmap/pull/2012
* Cleanup math functions that are now part of eigen/stdlib by @ahojnnes in https://github.com/colmap/colmap/pull/2013
* Add clang-analyzer checks by @ahojnnes in https://github.com/colmap/colmap/pull/2014
* Replace CMake provided find_package scripts and modern CMake targets by @ahojnnes in https://github.com/colmap/colmap/pull/2016
* Switch from Boost unit tests to Gtest by @ahojnnes in https://github.com/colmap/colmap/pull/2017
* Fix ccache restore keys in pipeline caching by @ahojnnes in https://github.com/colmap/colmap/pull/2018
* Add missing cacheHitVar to fix ccache by @ahojnnes in https://github.com/colmap/colmap/pull/2020
* Add missing Boost::graph import by @sarlinpe in https://github.com/colmap/colmap/pull/2021
* Compressed/flattened correspondence graph for faster triangulation / less memory by @ahojnnes in https://github.com/colmap/colmap/pull/2019
* Fix window ccache key by @ahojnnes in https://github.com/colmap/colmap/pull/2024
* Consistently use shared_ptr for shared pointers for SFM objects by @ahojnnes in https://github.com/colmap/colmap/pull/2023
* Remove check on Qt version by @sarlinpe in https://github.com/colmap/colmap/pull/2022
* Synthetics for E2E incremental mapper tests by @ahojnnes in https://github.com/colmap/colmap/pull/2025
* New math module by @ahojnnes in https://github.com/colmap/colmap/pull/2028
* Simplify similarity transform and more tests by @ahojnnes in https://github.com/colmap/colmap/pull/2030
* Extract reconstruction alignment functions into new file by @ahojnnes in https://github.com/colmap/colmap/pull/2032
* Add E2E hierarchical mapper tests by @ahojnnes in https://github.com/colmap/colmap/pull/2033
* Rename SimilarityTransform3 to Sim3d by @ahojnnes in https://github.com/colmap/colmap/pull/2034
* Add Rigid3d transform class by @ahojnnes in https://github.com/colmap/colmap/pull/2035
* Consolidate and simplify Rigid3d and Sim3d by @ahojnnes in https://github.com/colmap/colmap/pull/2037
* Some small improvements/cleanup for rigid3d/sim3d usage by @ahojnnes in https://github.com/colmap/colmap/pull/2041
* CamFromWorld replaces qvec/tvec by @ahojnnes in https://github.com/colmap/colmap/pull/2039
* Retry download of ETH3D datasets by @ahojnnes in https://github.com/colmap/colmap/pull/2043
* WorldToImage becomes CamToImg by @ahojnnes in https://github.com/colmap/colmap/pull/2044
* Camera models operate on camera rays by @ahojnnes in https://github.com/colmap/colmap/pull/2045
* Ignore directory .vs by @whuaegeanse in https://github.com/colmap/colmap/pull/2046
* Use the reference of Rigid3d to reduce memory consumption by @whuaegeanse in https://github.com/colmap/colmap/pull/2047
* Inline point to image projection by @ahojnnes in https://github.com/colmap/colmap/pull/2050
* Point2D becomes simpler pure data struct by @ahojnnes in https://github.com/colmap/colmap/pull/2051
* Use Eigen math for estimator utils by @ahojnnes in https://github.com/colmap/colmap/pull/2052
* Move cost functions under geometry module and rename by @ahojnnes in https://github.com/colmap/colmap/pull/2053
* Bundle adjuster is an estimator by @ahojnnes in https://github.com/colmap/colmap/pull/2054
* Remaining base targets move to new scene module by @ahojnnes in https://github.com/colmap/colmap/pull/2055
* Vote and verify improvements/speedup by @ahojnnes in https://github.com/colmap/colmap/pull/2056
* Generate version info in .cc file to reduce number of recompilations by @ahojnnes in https://github.com/colmap/colmap/pull/2057
* Option manager moves to controllers to disentangle circular deps by @ahojnnes in https://github.com/colmap/colmap/pull/2058
* Granular CMake modules and build targets by @ahojnnes in https://github.com/colmap/colmap/pull/2059
* Fix docker build by @ahojnnes in https://github.com/colmap/colmap/pull/2069
* Remove warnings about duplicated marco NOMINMAX by @whuaegeanse in https://github.com/colmap/colmap/pull/2067
* lib folder becomes thirdparty folder by @ahojnnes in https://github.com/colmap/colmap/pull/2068
* Remove unnecessary checks in image pair conversion by @ahojnnes in https://github.com/colmap/colmap/pull/2074
* Replace flaky ETH3D terrace with courtyard dataset by @ahojnnes in https://github.com/colmap/colmap/pull/2075
* Synthesize chained match graph for more mapper tests by @ahojnnes in https://github.com/colmap/colmap/pull/2076
* Introduce abstract feature extractor by @ahojnnes in https://github.com/colmap/colmap/pull/2077
* Avoid unnecessary data copies in feature conversion utils by @ahojnnes in https://github.com/colmap/colmap/pull/2078
* Abstract feature matcher by @ahojnnes in https://github.com/colmap/colmap/pull/2082
* Encapsulate feature matching controller/worker implementations by @ahojnnes in https://github.com/colmap/colmap/pull/2085
* Some cosmetics for util/feature types by @ahojnnes in https://github.com/colmap/colmap/pull/2084
* Use std:: when cmath included by @whuaegeanse in https://github.com/colmap/colmap/pull/2081
* Encapsulate feature extraction controller/worker implementations by @ahojnnes in https://github.com/colmap/colmap/pull/2086
* Reenable VS2022 CI pipeline by @ahojnnes in https://github.com/colmap/colmap/pull/1689
* Consistent transform convention for CenterAndNormalizeImagePoints by @ahojnnes in https://github.com/colmap/colmap/pull/2092
* Retire Mac 11 CI build by @ahojnnes in https://github.com/colmap/colmap/pull/2094
* Add ReprojErrorConstantPoint3DCostFunction to speed up the RefineAbsolutePose function by @whuaegeanse in https://github.com/colmap/colmap/pull/2089
* Numeric differentiation of camera model using partial piv LU by @ahojnnes in https://github.com/colmap/colmap/pull/2100
* cmake: add testing.cc to colmap_util only if TESTS_ENABLED=ON by @NeroBurner in https://github.com/colmap/colmap/pull/2102
* Set CUDA_STANDARD to 14 by @ahojnnes in https://github.com/colmap/colmap/pull/2108
* Transform back to existing images positions after mapper processing if set fixed by @ferreram in https://github.com/colmap/colmap/pull/2095
* Update documentation with new branch policy by @ahojnnes in https://github.com/colmap/colmap/pull/2110
* Update CMake find dependencies for vcpkg by @ahojnnes in https://github.com/colmap/colmap/pull/2116
* Decouple SIFT match from two view geometry options by @ahojnnes in https://github.com/colmap/colmap/pull/2118
* Fix docker build by @vnmsklnk in https://github.com/colmap/colmap/pull/2122
* Trigger build pipeline on main branch by @ahojnnes in https://github.com/colmap/colmap/pull/2123
* Update Linux install documentation with new branch policy by @joshuaoreilly in https://github.com/colmap/colmap/pull/2126
* Fix link in camera model documentation by @CFretter in https://github.com/colmap/colmap/pull/2152
* [Bugfix] Fix GUI_ENABLED=OFF and skip SiftGPU if no GUI and no CUDA by @sarlinpe in https://github.com/colmap/colmap/pull/2151
* [Bugfix] Properly handle CGAL_ENABLED by @sarlinpe in https://github.com/colmap/colmap/pull/2149
* Refinement of intrinsics in the point_triangulator by @tsattler in https://github.com/colmap/colmap/pull/2144
* Bugfix in handling COLMAP_GPU_ENABLED by @sarlinpe in https://github.com/colmap/colmap/pull/2163
* Expose exe as libs by @sarlinpe in https://github.com/colmap/colmap/pull/2165
* Add Sim3d::FromMatrix by @sarlinpe in https://github.com/colmap/colmap/pull/2147
* Check code format in CI by @ahojnnes in https://github.com/colmap/colmap/pull/2171
* Clean up dependencies by @sarlinpe in https://github.com/colmap/colmap/pull/2173
* Move tests into anonymous namespaces by @ahojnnes in https://github.com/colmap/colmap/pull/2175
* Fix glew/qopengl conflict warning by @ahojnnes in https://github.com/colmap/colmap/pull/2176
* Update documentation with new link to GitHub discussions by @ahojnnes in https://github.com/colmap/colmap/pull/2177
* Restore GLEW include by @sarlinpe in https://github.com/colmap/colmap/pull/2178
* Align reconstructions via shared 3D points by @sarlinpe in https://github.com/colmap/colmap/pull/2169
* Add clang-tidy-cachein CI by @ahojnnes in https://github.com/colmap/colmap/pull/2182
* Disable GUI build in one CI config by @ahojnnes in https://github.com/colmap/colmap/pull/2181
* Show verbose ccache stats by @ahojnnes in https://github.com/colmap/colmap/pull/2183
* Add EstimateGeneralizedAbsolutePose by @sarlinpe in https://github.com/colmap/colmap/pull/2174
* Fix bug in ReconstructionManagerWidget::Update by @whuaegeanse in https://github.com/colmap/colmap/pull/2186
* Fix missing retrieval dependency by @ahojnnes in https://github.com/colmap/colmap/pull/2189
* Removing clustering_options_ and mapper_options_ in Hierarchical Mapper Controller by @Serenitysmk in https://github.com/colmap/colmap/pull/2193
* Publish docker image to docker hub by @ahojnnes in https://github.com/colmap/colmap/pull/2195
* Fix Cuda architecture in docker build by @ahojnnes in https://github.com/colmap/colmap/pull/2196
* Fix all-major cuda arch missing in CMake < 3.23 by @ahojnnes in https://github.com/colmap/colmap/pull/2197
* Update triangulation.cc by @RayShark0605 in https://github.com/colmap/colmap/pull/2205
* Update author and acknowledgements by @ahojnnes in https://github.com/colmap/colmap/pull/2207
* Code formatting for Python by @ahojnnes in https://github.com/colmap/colmap/pull/2208
* Retire outdated build script by @ahojnnes in https://github.com/colmap/colmap/pull/2217
* Remove mention of deprecated build script by @sarlinpe in https://github.com/colmap/colmap/pull/2220
* Improve word spelling by @zchrissirhcz in https://github.com/colmap/colmap/pull/2235
* Stack allocate camera param idx arrays by @ahojnnes in https://github.com/colmap/colmap/pull/2234
* fix: typo in colmap/src/colmap/ui/project_widget.cc by @varundhand in https://github.com/colmap/colmap/pull/2241
* Update reconstruction.cc by @RayShark0605 in https://github.com/colmap/colmap/pull/2238
* Update to Docker CUDA 12.2.2 by @ahojnnes in https://github.com/colmap/colmap/pull/2244
* Stop setting C++ standard flags manually by @AdrianBunk in https://github.com/colmap/colmap/pull/2251
* Setting clear_points to true per default in point_triangulator by @tsattler in https://github.com/colmap/colmap/pull/2252
* Update cameras.rst to fix link to code by @tsattler in https://github.com/colmap/colmap/pull/2246
* Fix matching of imported features without descriptors by @ahojnnes in https://github.com/colmap/colmap/pull/2269
* Consistent versioning between documentation and code by @ahojnnes in https://github.com/colmap/colmap/pull/2275
* Reduce mallocs for RANSAC estimator models by @ahojnnes in https://github.com/colmap/colmap/pull/2283
* Migrate to glog logging by @ahojnnes in https://github.com/colmap/colmap/pull/2172
* Turn Point3D into simple data struct by @ahojnnes in https://github.com/colmap/colmap/pull/2285
* Camera becomes simple data struct by @ahojnnes in https://github.com/colmap/colmap/pull/2286
* Recover custom Eigen std::vector allocator for Eigen <3.4 support by @ahojnnes in https://github.com/colmap/colmap/pull/2293
* Replace result_of with invoke_result_t by @sarlinpe in https://github.com/colmap/colmap/pull/2300
* Allow getters FocalLength{X,Y} for isotropic models by @sarlinpe in https://github.com/colmap/colmap/pull/2301
* Add missing Boost targets and cleanup includes by @sarlinpe in https://github.com/colmap/colmap/pull/2304
* Expose IncrementalMapperOptions::{mapper,triangulation} by @sarlinpe in https://github.com/colmap/colmap/pull/2308
* Update install instructions for Mac by @Dawars in https://github.com/colmap/colmap/pull/2310
* Remove unused ceres reference in doc by @ahojnnes in https://github.com/colmap/colmap/pull/2315
* Fix typo by @whuaegeanse in https://github.com/colmap/colmap/pull/2317
* Stable version 3.9 release by @ahojnnes in https://github.com/colmap/colmap/pull/2319

COLMAP 3.8 (01/31/2023)
-----------------------
* Updating geo-registration doc. by @ferreram in https://github.com/colmap/colmap/pull/1410
* Adding user-specified option for reconstructing purely planar scene. … by @ferreram in https://github.com/colmap/colmap/pull/1408
* Only apply sqlite vacuum command when elements are deleted from the database. by @ferreram in https://github.com/colmap/colmap/pull/1414
* Replace Graclus with Metis dependency by @ahojnnes in https://github.com/colmap/colmap/pull/1422
* Update ceres download URL in build script by @whuaegeanse in https://github.com/colmap/colmap/pull/1430
* Fix type errors when building colmap with build.py in windows by @whuaegeanse in https://github.com/colmap/colmap/pull/1440
* Fix bug in the computation of the statistics Global/Local BA by @whuaegeanse in https://github.com/colmap/colmap/pull/1449
* Add RefineGeneralizedAbsolutePose and covariance estimation by @Skydes in https://github.com/colmap/colmap/pull/1464
* Update docker image definition by @ahojnnes in https://github.com/colmap/colmap/pull/1478
* Upgrade deprecated ceres parameterizations to manifolds by @ahojnnes in https://github.com/colmap/colmap/pull/1477
* Use masks for stereo fusion on automatic reconstruction by @ibrarmalik in https://github.com/colmap/colmap/pull/1488
* fix random seed set failed from external interface by @WZG3661 in https://github.com/colmap/colmap/pull/1498
* Replace deprecated Eigen nonZeros() call for most recent Eigen versions. by @nackjaylor in https://github.com/colmap/colmap/pull/1494
* Fix ceres-solver folder name by @f-fl0 in https://github.com/colmap/colmap/pull/1501
* Improved convergence criterion for XYZ to ELL conversion by @ahojnnes in https://github.com/colmap/colmap/pull/1505
* Fix bug in the function SetPtr of Bitmap by @whuaegeanse in https://github.com/colmap/colmap/pull/1525
* Avoid the calling of copy constructor/assignment by @whuaegeanse in https://github.com/colmap/colmap/pull/1524
* Avoid calling copy constructors of  FeatureKeypoints and FeatureDescriptors by @whuaegeanse in https://github.com/colmap/colmap/pull/1540
* Initialize freeimage if statically linked by @ahojnnes in https://github.com/colmap/colmap/pull/1549
* Avoid hard crash if Jacobian matrix is rank deficient by @mihaidusmanu in https://github.com/colmap/colmap/pull/1557
* visualize_model.py: added FULL_OPENCV model by @soeroesg in https://github.com/colmap/colmap/pull/1552
* Update vcpkg version to fix CI pipeline by @ahojnnes in https://github.com/colmap/colmap/pull/1568
* Replace deprecated Mac OS 10.15 with Mac OS 12 build in CI by @ahojnnes in https://github.com/colmap/colmap/pull/1569
* Fix inconsistent between the actual executed image reader option and the saved project.ini file by @XuChengHUST in https://github.com/colmap/colmap/pull/1564
* checkout the expected version of ceres solver by @scott-vsi in https://github.com/colmap/colmap/pull/1576
* use default qt5 brew install directory #1573 by @catapulta in https://github.com/colmap/colmap/pull/1574
* Fix image undistortion with nested image folders by @ahojnnes in https://github.com/colmap/colmap/pull/1606
* Fix source file permissions by @ahojnnes in https://github.com/colmap/colmap/pull/1607
* Fixed the collection of arguments in colmap.bat by @tdegraaff in https://github.com/colmap/colmap/pull/1121
* Add OpenMP to COLMAP_EXTERNAL_LIBRARIES if enabled by @logchan in https://github.com/colmap/colmap/pull/1632
* Fix output tile reconstructions are the same as the input reconstruction in `RunModelSplitter` (#1513) by @Serenitysmk in https://github.com/colmap/colmap/pull/1531
* add `libmetis-dev` to solve `METIS_INCLUDE_DIRS`. by @FavorMylikes in https://github.com/colmap/colmap/pull/1672
* Update install.rst by @tomer-grin in https://github.com/colmap/colmap/pull/1671
* Update freeimage links. by @Yulv-git in https://github.com/colmap/colmap/pull/1675
* fix small typo by @skal65535 in https://github.com/colmap/colmap/pull/1668
* Update build.py with new glew link by @aghand0ur in https://github.com/colmap/colmap/pull/1658
* Add use_cache in fusion options GUI by @hrflr in https://github.com/colmap/colmap/pull/1655
* Add CI pipeline for Ubuntu 22.04 by @ahojnnes in https://github.com/colmap/colmap/pull/1688
* Avoid unnecessary copies of data by @ahojnnes in https://github.com/colmap/colmap/pull/1691
* Reduce memory allocations in correspondence graph search by @ahojnnes in https://github.com/colmap/colmap/pull/1692
* Use FindCUDAToolkit when available. by @hanseuljun in https://github.com/colmap/colmap/pull/1693
* Fixed a crash due to inconsistent undistortion by @SomeAlphabetGuy in https://github.com/colmap/colmap/pull/1698
* Add CUDA Ubuntu 22.04 CI build by @ahojnnes in https://github.com/colmap/colmap/pull/1705
* Delete the redundancy install of libmetis-dev by @thomas-graphopti in https://github.com/colmap/colmap/pull/1721
* Fix broken loading of image masks on macOS by @buesma in https://github.com/colmap/colmap/pull/1639
* Update install instructions with latest hints and known issues by @ahojnnes in https://github.com/colmap/colmap/pull/1736
* Modernize smart pointer initialization, fix alloc/dealloc mismatch by @ahojnnes in https://github.com/colmap/colmap/pull/1737
* Fix typo in cli.rst by @ojhernandez in https://github.com/colmap/colmap/pull/1747
* Fix inconsistent image resizing between CPU/GPU implementations of SIFT by @Yzhbuaa in https://github.com/colmap/colmap/pull/1642
* Reduce number of SIFT test features to make tests run under WSL by @ahojnnes in https://github.com/colmap/colmap/pull/1748
* Tag documentation version with dev by @ahojnnes in https://github.com/colmap/colmap/pull/1749
* Update copyright to 2023 by @ahojnnes in https://github.com/colmap/colmap/pull/1750
* Fix max image dimension for positive first_octave by @ahojnnes in https://github.com/colmap/colmap/pull/1751
* Fix SIFT GPU match creation by @ahojnnes in https://github.com/colmap/colmap/pull/1757
* Fix SIFT tests for OpenGL by @ahojnnes in https://github.com/colmap/colmap/pull/1762
* Suppress CUDA stack size warning for ptxas by @ahojnnes in https://github.com/colmap/colmap/pull/1770
* Simplify CUDA CMake configuration by @ahojnnes in https://github.com/colmap/colmap/pull/1776
* Fixes for CUDA compilation by @ahojnnes in https://github.com/colmap/colmap/pull/1777
* Improvements to dockerfile and build pipeline by @ahojnnes in https://github.com/colmap/colmap/pull/1778
* Explicitly require CMAKE_CUDA_ARCHITECTURES to be defined by @ahojnnes in https://github.com/colmap/colmap/pull/1781
* Depend on system installed FLANN by @ahojnnes in https://github.com/colmap/colmap/pull/1782
* Option to store relative pose between two cameras in database by @yanxke in https://github.com/colmap/colmap/pull/1774
* Depend on system installed SQLite3 by @ahojnnes in https://github.com/colmap/colmap/pull/1783

COLMAP 3.7 (01/26/2022)
-----------------------
* Allow to save fused point cloud in colmap format when using command line by @boitumeloruf in https://github.com/colmap/colmap/pull/799
* Fix typos in image.h by @Pascal-So in https://github.com/colmap/colmap/pull/936
* Fix for EPnP estimator by @vlarsson in https://github.com/colmap/colmap/pull/943
* Visualize models using Python in Open3D by @ahojnnes in https://github.com/colmap/colmap/pull/948
* Update tutorial.rst by @ignacio-rocco in https://github.com/colmap/colmap/pull/953
* 8 point algorithm internal contraint fix by @mihaidusmanu in https://github.com/colmap/colmap/pull/982
* Python script for writing depth/normal arrays by @SBCV in https://github.com/colmap/colmap/pull/957
* BuildImageModel: use std::vector instead of numbered arguments by @Pascal-So in https://github.com/colmap/colmap/pull/949
* Fix bugs of sift feature matching by @whuaegeanse in https://github.com/colmap/colmap/pull/985
* script for modifying fused results by @SBCV in https://github.com/colmap/colmap/pull/984
* fix camera model query by @Pascal-So in https://github.com/colmap/colmap/pull/997
* fixed small bug in visualize_model.py by @sniklaus in https://github.com/colmap/colmap/pull/1007
* Update .travis.yml by @srinivas32 in https://github.com/colmap/colmap/pull/989
* Ensure DecomposeHomographyMatrix() always returns rotations by @daithimaco in https://github.com/colmap/colmap/pull/1040
* Remove deprecated qt foreach by @UncleGene in https://github.com/colmap/colmap/pull/1039
* Fix AMD/Windows GUI visualization bug by @drkoller in https://github.com/colmap/colmap/pull/1079
* include colmap_cuda in COLMAP_LIBRARIES when compiled with cuda by @ClementPinard in https://github.com/colmap/colmap/pull/1084
* Fix runtime crash when sparsesuite is missing from ceres by @anmatako in https://github.com/colmap/colmap/pull/1115
* Store relative poses in two_view_geometry table by @Ahmed-Salama in https://github.com/colmap/colmap/pull/1103
* search src images for patch_match from all set, not only referenced subset by @DaniilSNikulin in https://github.com/colmap/colmap/pull/1038
* Replace Travis CI with Azure Pipelines for Linux/Mac builds by @ahojnnes in https://github.com/colmap/colmap/pull/1119
* Allow ReadPly to handle double precision files by @anmatako in https://github.com/colmap/colmap/pull/1131
* Update GPSTransform calculations to improve accuracy by @anmatako in https://github.com/colmap/colmap/pull/1132
* Add scale template flag in SimilarityTransform3::Estimate by @anmatako in https://github.com/colmap/colmap/pull/1133
* Add CopyFile utility that can copy or hard/soft-link files by @anmatako in https://github.com/colmap/colmap/pull/1134
* Expose BA options in IncrementalMapper by @anmatako in https://github.com/colmap/colmap/pull/1139
* Allow configurable paths for mvs::Model by @anmatako in https://github.com/colmap/colmap/pull/1141
* Change ReconstructionMaanger to write larger recons first by @anmatako in https://github.com/colmap/colmap/pull/1137
* Setup Azure pipelines for Windows build by @ahojnnes in https://github.com/colmap/colmap/pull/1150
* Add fixed extrinsics in rig config by @anmatako in https://github.com/colmap/colmap/pull/1144
* Allow custom config and missing dependencies for patch-match by @anmatako in https://github.com/colmap/colmap/pull/1142
* Update print statements for Python 3 compatibility by @UncleGene in https://github.com/colmap/colmap/pull/1126
* Allow cleanup of SQLite tables using new database_cleaner command by @anmatako in https://github.com/colmap/colmap/pull/1136
* Extend SceneClustering to support non-hierarchical (flat) clusters by @anmatako in https://github.com/colmap/colmap/pull/1140
* Support more formats in model_converter by @anmatako in https://github.com/colmap/colmap/pull/1147
* Fix Mac 10.15 build due to changed Qt5 path by @ahojnnes in https://github.com/colmap/colmap/pull/1157
* Fix bug in ReadCameraRigConfig when reading extrinsics by @anmatako in https://github.com/colmap/colmap/pull/1158
* Add utility to compare poses between two sparse models by @ahojnnes in https://github.com/colmap/colmap/pull/1159
* Modularize executable main functions into separate sources by @ahojnnes in https://github.com/colmap/colmap/pull/1160
* Fix unnecessary copies in for range loops by @ahojnnes in https://github.com/colmap/colmap/pull/1162
* Add script to clang-format all source code by @ahojnnes in https://github.com/colmap/colmap/pull/1163
* Add back new options and formats for model_converter by @anmatako in https://github.com/colmap/colmap/pull/1164
* ImageReder new option and bug fix in GPS priors by @anmatako in https://github.com/colmap/colmap/pull/1146
* Parallelize stereo fusion; needs pre-loading of entire workspace by @anmatako in https://github.com/colmap/colmap/pull/1148
* Refactoring and new functionality in Reconstruction class by @anmatako in https://github.com/colmap/colmap/pull/1169
* Add new functionality in image_undistorter by @anmatako in https://github.com/colmap/colmap/pull/1168
* Add new CMake option to disable GUI by @anmatako in https://github.com/colmap/colmap/pull/1165
* Fix the memory leak caused by not releasing the memory of the PRNG at the end of the thread by @whuaegeanse in https://github.com/colmap/colmap/pull/1170
* Fix fusion segfault bug by @anmatako in https://github.com/colmap/colmap/pull/1176
* Update SiftGPU to use floorf for floats by @anmatako in https://github.com/colmap/colmap/pull/1182
* fix typo in extraction.cc by @iuk in https://github.com/colmap/colmap/pull/1191
* Improvements to NVM, Cam, Recon3D, and Bundler exporters by @drkoller in https://github.com/colmap/colmap/pull/1187
* Update model_aligner functionality by @anmatako in https://github.com/colmap/colmap/pull/1177
* Add new model_cropper and model_splitter commands by @anmatako in https://github.com/colmap/colmap/pull/1179
* use type point2D_t instead of image_t by @iuk in https://github.com/colmap/colmap/pull/1199
* Fix radial distortion in Cam format exporter by @drkoller in https://github.com/colmap/colmap/pull/1196
* Add new model_transformer command by @anmatako in https://github.com/colmap/colmap/pull/1178
* Fix error of using urllib to download eigen from gitlab by @whuaegeanse in https://github.com/colmap/colmap/pull/1194
* Multi-line string fix in Python model script by @mihaidusmanu in https://github.com/colmap/colmap/pull/1217
* added visibility_sigma to CLI input options for delaunay_mesher. by @Matstah in https://github.com/colmap/colmap/pull/1236
* Backwards compatibility of model_aligner by @tsattler in https://github.com/colmap/colmap/pull/1240
* [update undistortion] update dumped commands by @hiakru in https://github.com/colmap/colmap/pull/1276
* Compute reprojection error in generalized absolute solver by @Skydes in https://github.com/colmap/colmap/pull/1257
* Modifying scripts/python/flickr_downloader.py to create files with correct extensions by @snavely in https://github.com/colmap/colmap/pull/1275
* revise Dockerfile and readme. by @MasahiroOgawa in https://github.com/colmap/colmap/pull/1281
* Update to latest vcpkg version by @ahojnnes in https://github.com/colmap/colmap/pull/1319
* Fix compiler warnings reported by GCC by @ahojnnes in https://github.com/colmap/colmap/pull/1317
* Auto-rotate JPEG images based on EXIF orientation by @ahojnnes in https://github.com/colmap/colmap/pull/1318
* Upgrade vcpkg to fix CI build issues by @ahojnnes in https://github.com/colmap/colmap/pull/1331
* Added descriptor normalization argument to feature_extractor. by @mihaidusmanu in https://github.com/colmap/colmap/pull/1332
* Fix memory leak in the function of StringAppendV by @whuaegeanse in https://github.com/colmap/colmap/pull/1337
* Add CUDA_SAFE_CALL to cudaGetDeviceCount. by @chpatrick in https://github.com/colmap/colmap/pull/1334
* Add missing include in case CUDA/GUI is not available by @ahojnnes in https://github.com/colmap/colmap/pull/1329
* Fix wrong WGS84 model and test cases in GPSTransform by @Freeverc in https://github.com/colmap/colmap/pull/1333
* Fixes bug in sprt.cc: num_inliers was not set. by @rmbrualla in https://github.com/colmap/colmap/pull/1360
* Prevent a divide by zero corner case. by @rmbrualla in https://github.com/colmap/colmap/pull/1361
* Adds missing header. by @rmbrualla in https://github.com/colmap/colmap/pull/1362
* Require Qt in COLMAPConfig only if GUI is enabled by @Skydes in https://github.com/colmap/colmap/pull/1365
* Keep precision in the process of storing in text. by @whuaegeanse in https://github.com/colmap/colmap/pull/1363
* Expose exe internals by @Skydes in https://github.com/colmap/colmap/pull/1366
* Fix inliers matches extraction in EstimateUncalibrated function. by @ferreram in https://github.com/colmap/colmap/pull/1369
* Expose exe internals - fix by @Skydes in https://github.com/colmap/colmap/pull/1368
* Remove deprecated Mac OSX 10.14 image in ADO pipeline by @ahojnnes in https://github.com/colmap/colmap/pull/1383
* Add Mac OSX 11 ADO pipeline job by @ahojnnes in https://github.com/colmap/colmap/pull/1384
* Fix warnings for latest compiler/libraries by @ahojnnes in https://github.com/colmap/colmap/pull/1382
* Fix clang compiler warnings by @ahojnnes in https://github.com/colmap/colmap/pull/1387
* Add Address Sanitizer options and fix reported issues by @ahojnnes in https://github.com/colmap/colmap/pull/1390
* User/joschonb/asan cleanup by @ahojnnes in https://github.com/colmap/colmap/pull/1391
* Add ADO pipeline for Visual Studio 2022 by @ahojnnes in https://github.com/colmap/colmap/pull/1392
* Add ccache option by @ahojnnes in https://github.com/colmap/colmap/pull/1395
* Update ModelAligner to handle GPS and custom coords. and more by @ferreram in https://github.com/colmap/colmap/pull/1371


COLMAP 3.6 (07/24/2020)
-----------------------
- Improved robustness and faster incremental reconstruction process
- Add ``image_deleter`` command to remove images from sparse model
- Add ``image_filter`` command to filter bad registrations from sparse model
- Add ``point_filtering`` command to filter sparse model point clouds
- Add ``database_merger`` command to merge two databases, which is
  useful to parallelize matching across different machines
- Add ``image_undistorter_standalone`` to enable undistorting images
  without a pre-existing full sparse model
- Improved undistortion for fisheye cameras and FOV camera model
- Support for masking input images in feature extraction stage
- Improved HiDPI support in GUI for high-resolution monitors
- Import sparse model when launching GUI from CLI
- Faster CPU-based matching using approximate NN search
- Support for bundle adjustment with fixed extrinsics
- Support for fixing existing images when continuing reconstruction
- Camera model colors in viewer can be customized
- Support for latest GPU architectures in CUDA build
- Support for writing sparse models in Python scripts
- Scripts for building and running COLMAP in Docker
- Many more bug fixes and improvements to code and documentation


COLMAP 3.5 (08/22/2018)
-----------------------
- COLMAP is now released under the BSD license instead of the GPL
- COLMAP is now installed as a library, whose headers can be included and
  libraries linked against from other C/C++ code
- Add hierarchical mapper for parallelized reconstruction or large scenes
- Add sparse and dense Delaunay meshing algorithms, which reconstruct a
  watertight surface using a graph cut on the Delaunay triangulation of the
  reconstructed sparse or dense point cloud
- Improved robustness when merging different models
- Improved pre-trained vocabulary trees available for download
- Add COLMAP as a software entry under Linux desktop systems
- Add support to compile COLMAP on ARM platforms
- Add example Python script to read/write COLMAP database
- Add region of interest (ROI) cropping in image undistortion
- Several import bug fixes for spatial verification in image retrieval
- Add more extensive continuous integration across more compilation scenarios
- Many more bug fixes and improvements to code and documentation


COLMAP 3.4 (01/29/2018)
-----------------------
- Unified command-line interface: The functionality of previous executables have
  been merged into the ``src/exe/colmap.cc`` executable. The GUI can now be
  started using the command ``colmap gui`` and other commands are available
  as ``colmap [command]``. For example, the feature extractor is now available
  as ``colmap feature_extractor [args]`` while all command-line arguments stay
  the same as before. This should result in much faster project compile times
  and smaller disk space usage of the program. More details about the new
  interface are documented at https://colmap.github.io/cli.html
- More complete depth and normal maps with larger patch sizes
- Faster dense stereo computation by skipping rows/columns in patch match,
  improved random sampling in patch match, and faster bilateral NCC
- Better high DPI screen support for the graphical user interface
- Improved model viewer under Windows, which now requires Qt 5.4
- Save computed two-view geometries in database
- Images (keypoint/matches visualization, depth and normal maps) can now be
  saved from the graphical user interface
- Support for PMVS format without sparse bundler file
- Faster covariant feature detection
- Many more bug fixes and improvements


COLMAP 3.3 (11/21/2017)
-----------------------
- Add DSP (Domain Size Pooling) SIFT implementation. DSP-SIFT outperforms
  standard SIFT in most cases, as shown in "Comparative Evaluation of
  Hand-Crafted and Learned Local Features", Schoenberger et al., CVPR 2017
- Improved parameters dense reconstruction of smaller models
- Improved compile times due to various code optimizations
- Add option to specify camera model in automatic reconstruction
- Add new model orientation alignment based on upright image assumption
- Improved numerical stability for generalized absolute pose solver
- Support for image range specification in PMVS dense reconstruction format
- Support for older Python versions in automatic build script
- Fix OpenCV Fisheye camera model to exactly match OpenCV specifications


COLMAP 3.2 (9/2/2017)
----------------------
- Fully automatic cross-platform build script (Windows, Mac, Linux)
- Add multi-GPU feature extraction if multiple CUDA devices are available
- Configurable dimension and data type for vocabulary tree implementation
- Add new sequential matching mode for image sequences with high frame-rate
- Add generalized relative pose solver for multi-camera systems
- Add sparse least absolute deviation solver
- Add CPU/GPU options to automatic reconstruction tool
- Add continuous integration system under Windows, Mac, Linux through Github
- Many more bug fixes and improvements


COLMAP 3.1 (6/15/2017)
----------------------
- Add fast spatial verification to image retrieval module
- Add binary file format for sparse models by default. Old text format still
  fully compatible and possible conversion in GUI and CLI
- Add cross-platform little endian binary file reading and writing
- Faster and less memory hungry stereo fusion by computing consistency on demand
  and possible limitation of image size in fusion
- Simpler geometric stereo processing interface.
  Now geometric stereo output can be computed using a single pass
- Faster and multi-architecture CUDA compilation
- Add medium quality option in automatic reconstructor
- Many more bug fixes and improvements


COLMAP 3.0 (5/22/2017)
----------------------
- Add automatic end-to-end reconstruction tool that automatically performs
  sparse and dense reconstruction on a given set of images
- Add multi-GPU dense stereo if multiple CUDA devices are available
- Add multi-GPU feature matching if multiple CUDA devices are available
- Add Manhattan-world / gravity alignment using line detection
- Add CUDA-based feature extraction useful for usage on clusters
- Add CPU-based feature matching for machines without GPU
- Add new THIN_PRISM_FISHEYE camera model with tangential/radial correction
- Add binary to triangulate existing/empty sparse reconstruction
- Add binary to print summary statistics about sparse reconstruction
- Add transitive feature matching to transitively complete match graph
- Improved scalability of dense reconstruction by using caching
- More stable GPU-based feature matching with informative warnings
- Faster vocabulary tree matching using dynamic scheduling in FLANN
- Faster spatial feature matching using linear index instead of kd-tree
- More stable camera undistortion using numerical Newton iteration
- Improved option parsing with some backwards incompatible option renaming
- Faster compile times by optimizing includes and CUDA flags
- More stable view selection for small baseline scenario in dense reconstruction
- Many more bug fixes and improvements


COLMAP 2.1 (12/7/2016)
----------------------
- Support to only index and match specific images in vocabulary tree matching
- Support to perform image retrieval using vocabulary tree
- Several bug fixes and improvements for multi-view stereo module
- Improved Structure-from-Motion initialization strategy
- Support to only reconstruct the scene using specific images in the database
- Add support to merge two models using overlapping registered images
- Add support to geo-register/align models using known camera locations
- Support to only extract specific images in feature extraction module
- Support for snapshot model export during reconstruction
- Skip already undistorted images if they exist in output directory
- Support to limit the number of features in image retrieval for improved speed
- Miscellaneous bug fixes and improvements


COLMAP 2.0 (9/8/2016)
---------------------
- Implementation of dense reconstruction pipeline
- Improved feature matching performance
- New bundle adjuster for rigidly mounted multi-camera systems
- New generalized absolute pose solver for multi-camera systems
- New executable to extract colors from all images
- Boost can now be linked in shared and static mode
- Various bug fixes and performance improvements


COLMAP 1.1 (5/19/2016)
----------------------
- Implementation of state-of-the-art image retrieval system using Hamming
  embedding for vocabulary tree matching. This should lead to much improved
  matching results as compared to the previous implementation.
- Guided matching as an optional functionality.
- New demo datasets for download.
- Automatically switch to PBA if supported by the project.
- Implementation of EPNP solver for local pose optimization in RANSAC.
- Add option to extract upright SIFT features.
- Saving JPEGs in superb quality by default in export.
- Add option to clear matches and inlier matches in the project.
- New fisheye camera models, including the FOV camera model used by Google
  Project Tango (Thomas Schoeps).
- Extended documentation based on user feedback.
- Fixed typo in documentation (Thomas Schoeps).


COLMAP 1.0 (4/4/2016)
---------------------
- Initial release of COLMAP.
