Skip to content

Commit

Permalink
Merge pull request #199371 from Homebrew/bump-colmap-3.11.0
Browse files Browse the repository at this point in the history
poselib 2.0.4 (new formula) colmap 3.11.0
  • Loading branch information
BrewTestBot authored Dec 5, 2024
2 parents 6e3ec0a + 3c207e7 commit 3ad2851
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 43 deletions.
1 change: 1 addition & 0 deletions .github/autobump.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2371,6 +2371,7 @@ ponyc
popeye
portablegl
porter
poselib
postgis
postgresql@13
postgresql@14
Expand Down
63 changes: 20 additions & 43 deletions Formula/c/colmap.rb
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
class Colmap < Formula
desc "Structure-from-Motion and Multi-View Stereo"
homepage "https://colmap.github.io/"
url "https://github.com/colmap/colmap/archive/refs/tags/3.10.tar.gz"
sha256 "61850f323e201ab6a1abbfb0e4a8b3ba1c4cedbf55e0a5716bdea1df8ae1813a"
url "https://github.com/colmap/colmap/archive/refs/tags/3.11.0.tar.gz"
sha256 "8da471b0f5baa3bdd940f1778ffe338738eb47b90b4d03dcd8da6b9810014844"
license "BSD-3-Clause"
revision 1

bottle do
sha256 cellar: :any, arm64_sequoia: "46c7b82e649ec870d6d3cc2c0afa10e6440415a106c7125b5e32c4f0fddd9ce1"
sha256 cellar: :any, arm64_sonoma: "e81fa40995450b6f13fb3675bac57aeca83380faa146bed41304de45e3938bda"
sha256 cellar: :any, arm64_ventura: "fd260454a7b9caca630278659b1e7398a63d36ee2abfacaabf0bf5c15d032915"
sha256 cellar: :any, arm64_monterey: "0741dc2a9c7f9228764e05de9bcb407ef3c063ac0a224b2732f40bf4b4631c99"
sha256 cellar: :any, sonoma: "7cd8b4df89b8563f087459d460cb93845bc897376a520fe4efe0c4ad2fd9bb43"
sha256 cellar: :any, ventura: "76d2391ad2721e30a94002a04a7bb66bebff4ecdf2319e0083fffbc06749cb7d"
sha256 cellar: :any, monterey: "6fee96fd5d7bbe0a860fa4ac80c7548af1785a18746eef4636e8ea1a1156c7ca"
sha256 cellar: :any_skip_relocation, x86_64_linux: "8d67735677d48bb53f47c636ba0a34c3440235ca394d68767e88caeb709ed99c"
sha256 cellar: :any, arm64_sequoia: "9d34ec14f9932bfc52bc469a759ccd21531fba6b1262df8c2f1567e85f749f00"
sha256 cellar: :any, arm64_sonoma: "2aab52a0ae8b9fc11056abc7aaeb0486f748e49def64fc076124d952b769a3a4"
sha256 cellar: :any, arm64_ventura: "3ae0841581685adfaac22717aa78ba1ddae8b65fd34a66cc1419bf9fac3269ed"
sha256 cellar: :any, sonoma: "08736f3bc9b234940b0ea18c84420193300aefa4c4865987bd31de32f8a48b70"
sha256 cellar: :any, ventura: "85a5f70b854ea3deaa7ed41aab83ee28a4e19e2518006549943763e58cbc7147"
sha256 cellar: :any_skip_relocation, x86_64_linux: "6683e33ff087200853478ccce447ee4dee3324bdc9dad23d2f97c2a745768b3c"
end

depends_on "cmake" => :build
Expand All @@ -30,6 +27,7 @@ class Colmap < Formula
depends_on "gmp"
depends_on "lz4"
depends_on "metis"
depends_on "poselib"
depends_on "qt@5"
depends_on "suite-sparse"

Expand All @@ -45,14 +43,21 @@ class Colmap < Formula
depends_on "mesa"
end

# Remove this patch after https://github.com/colmap/colmap/pull/2338 is included in
# a future release
patch :DATA
# patch to build against system PoseLib, upstream pr ref, https://github.com/colmap/colmap/pull/2971
patch do
url "https://github.com/colmap/colmap/commit/a2c44a012742b37ce2ddd163942d3b625cf301c0.patch?full_index=1"
sha256 "8960a6715ef301108d583646944202d898a043c6fb1f7d09489ebf7fbc9a01f7"
end

def install
ENV.append_path "CMAKE_PREFIX_PATH", Formula["qt@5"].prefix

system "cmake", "-S", ".", "-B", "build", "-DCUDA_ENABLED=OFF", *std_cmake_args
args = %w[
-DCUDA_ENABLED=OFF
-DFETCH_POSELIB=OFF
]

system "cmake", "-S", ".", "-B", "build", *args, *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
Expand All @@ -62,31 +67,3 @@ def install
assert_path_exists (testpath / "db")
end
end

__END__
diff --git a/src/colmap/image/line.cc b/src/colmap/image/line.cc
index 3637c3dc..33fff7da 100644
--- a/src/colmap/image/line.cc
+++ b/src/colmap/image/line.cc
@@ -27,6 +27,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

+#include <memory>
+
#include "colmap/image/line.h"

#include "colmap/util/logging.h"
diff --git a/src/colmap/mvs/workspace.h b/src/colmap/mvs/workspace.h
index 73d21b78..6d2c862c 100644
--- a/src/colmap/mvs/workspace.h
+++ b/src/colmap/mvs/workspace.h
@@ -29,6 +29,8 @@

#pragma once

+#include <memory>
+
#include "colmap/mvs/consistency_graph.h"
#include "colmap/mvs/depth_map.h"
#include "colmap/mvs/model.h"
80 changes: 80 additions & 0 deletions Formula/p/poselib.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
class Poselib < Formula
desc "Minimal solvers for calibrated camera pose estimation"
homepage "https://github.com/PoseLib/PoseLib/"
url "https://github.com/PoseLib/PoseLib/archive/refs/tags/v2.0.4.tar.gz"
sha256 "caa0c1c9b882f6e36b5ced6f781406ed97d4c1f0f61aa31345ebe54633d67c16"
license "BSD-3-Clause"

bottle do
sha256 cellar: :any, arm64_sequoia: "62ba1d9d73288e53a7fa31462a0aeef5eb5d32305d77c5207bf626d0c8d52711"
sha256 cellar: :any, arm64_sonoma: "0c58c6ca1d520956f808e52273fdd32ea132021906e629325272272dacb90c7b"
sha256 cellar: :any, arm64_ventura: "7b6e8c4abb3b2e00c8dfa0aa600599c9d930724e09d1dcf45339c903121fa8f1"
sha256 cellar: :any, sonoma: "e520e1731c729e1ee2dc91a3d6e3d5773bc6f5414098b6b0d61aa7984a3d7467"
sha256 cellar: :any, ventura: "3e3d39c0763a6efacdc2f9154851ee80174ac64ad3aa0518fa9e35871e42cb53"
sha256 cellar: :any_skip_relocation, x86_64_linux: "598ee718057f572aebb473a515f4201391808f59563811eaa8809a5dcc7bbacf"
end

depends_on "cmake" => :build
depends_on "eigen"

def install
system "cmake", "-S", ".", "-B", "build", "-DBUILD_SHARED_LIBS=ON", *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"

system "cmake", "-S", ".", "-B", "static", "-DBUILD_SHARED_LIBS=OFF", *std_cmake_args
system "cmake", "--build", "static"
lib.install Dir["static/PoseLib/*.a"]
end

test do
(testpath/"test.cpp").write <<~CPP
#include "PoseLib/poselib.h"
#include <iostream>
int main(int argc, char *argv[])
{
Eigen::Vector2d imgA(315, 217);
Eigen::Vector2d imgB(361, 295);
Eigen::Vector2d imgC(392, 660);
Eigen::Vector2d imgD(146, 220);
Eigen::Vector2d pp(280, 420);
std::vector<Eigen::Vector2d> points2D = { imgA - pp, imgB - pp, imgC - pp, imgD - pp};
Eigen::Vector3d a(-20.96, 3.54, 13.86);
Eigen::Vector3d b(-20.96, 3.57, 13.24);
Eigen::Vector3d c(-20.95, 2.01, 13.25);
Eigen::Vector3d d(-21.66, 3.74, 13.86);
std::vector<Eigen::Vector3d> points3D = { a, b, c, d };
std::vector<poselib::CameraPose> output;
std::vector<double> output_fx, output_fy;
int result = poselib::p4pf(points2D, points3D, &output, &output_fx, &output_fy, true);
for(int k = 0; k < output.size(); ++k) {
poselib::CameraPose pose = output[k];
double fx = output_fx[k];
double fy = output_fy[k];
std::cout << pose.R() << std::endl;
}
return 0;
}
CPP
system ENV.cxx, "test.cpp", "-std=c++17",
"-I#{Formula["eigen"].opt_include}/eigen3",
"-L#{lib}", "-lPoseLib", "-o", "test"

expected_output = <<~EOS
\s 0.934064 -0.0235118 -0.356331
\s-0.165184 -0.91311 -0.372753
\s-0.316605 0.407035 -0.856787
EOS
assert_equal expected_output, shell_output("./test")
end
end

0 comments on commit 3ad2851

Please sign in to comment.