diff --git a/cpp/sophus2/calculus/CMakeLists.txt b/cpp/sophus2/calculus/CMakeLists.txt index 1b615617..b86c7ef0 100644 --- a/cpp/sophus2/calculus/CMakeLists.txt +++ b/cpp/sophus2/calculus/CMakeLists.txt @@ -14,8 +14,6 @@ farm_ng_add_library(sophus2_calculus ) target_link_libraries(sophus2_calculus INTERFACE sophus2_common) -if(${BUILD_SOPHUS_TESTS}) - farm_ng_add_test(region - PARENT_LIBRARY sophus2_calculus - LABELS small) -endif() +farm_ng_add_test(region + PARENT_LIBRARY sophus2_calculus + LABELS small) diff --git a/cpp/sophus2/ceres/CMakeLists.txt b/cpp/sophus2/ceres/CMakeLists.txt index 2f09128c..53b13e40 100644 --- a/cpp/sophus2/ceres/CMakeLists.txt +++ b/cpp/sophus2/ceres/CMakeLists.txt @@ -14,18 +14,16 @@ farm_ng_add_library(sophus_ceres ) target_link_libraries(sophus_ceres INTERFACE sophus2_lie) -if(${BUILD_SOPHUS_TESTS}) - find_package(Ceres 2.1.0 REQUIRED) - foreach(test_basename - ceres - manifold - ) - farm_ng_add_test(${test_basename} - PARENT_LIBRARY sophus_ceres - LINK_LIBRARIES - Ceres::ceres sophus_ceres - farm_ng_core::farm_ng_core_pipeline - sophus2_sensor - LABELS large) - endforeach() -endif() +find_package(Ceres 2.1.0 REQUIRED) +foreach(test_basename + ceres + manifold +) +farm_ng_add_test(${test_basename} + PARENT_LIBRARY sophus_ceres + LINK_LIBRARIES + Ceres::ceres sophus_ceres + farm_ng_core::farm_ng_core_pipeline + sophus2_sensor + LABELS large) +endforeach() diff --git a/cpp/sophus2/color/CMakeLists.txt b/cpp/sophus2/color/CMakeLists.txt index cbfb010a..17226f67 100644 --- a/cpp/sophus2/color/CMakeLists.txt +++ b/cpp/sophus2/color/CMakeLists.txt @@ -15,12 +15,11 @@ farm_ng_add_library(sophus2_color ) target_link_libraries(sophus2_color PUBLIC sophus2_calculus) -if(${BUILD_SOPHUS_TESTS}) - foreach(test_basename - color) - farm_ng_add_test(${test_basename} - PARENT_LIBRARY sophus2_color - LINK_LIBRARIES sophus2_color - LABELS small) - endforeach() -endif() +foreach(test_basename + color) + farm_ng_add_test(${test_basename} + PARENT_LIBRARY sophus2_color + LINK_LIBRARIES sophus2_color + LABELS small) +endforeach() + diff --git a/cpp/sophus2/geometry/CMakeLists.txt b/cpp/sophus2/geometry/CMakeLists.txt index dc618a4c..d72ed685 100644 --- a/cpp/sophus2/geometry/CMakeLists.txt +++ b/cpp/sophus2/geometry/CMakeLists.txt @@ -17,14 +17,14 @@ farm_ng_add_library(sophus2_geometry ) target_link_libraries(sophus2_geometry INTERFACE sophus2_lie) - foreach(test_basename - fit_plane - inverse_depth - plane_conv - point_transform - ray) - farm_ng_add_test(${test_basename} - PARENT_LIBRARY sophus2_geometry - LINK_LIBRARIES sophus2_geometry - LABELS small) - endforeach() +foreach(test_basename + fit_plane + inverse_depth + plane_conv + point_transform + ray) + farm_ng_add_test(${test_basename} + PARENT_LIBRARY sophus2_geometry + LINK_LIBRARIES sophus2_geometry + LABELS small) +endforeach() diff --git a/cpp/sophus2/image/CMakeLists.txt b/cpp/sophus2/image/CMakeLists.txt index 411c9b73..41a90d1c 100644 --- a/cpp/sophus2/image/CMakeLists.txt +++ b/cpp/sophus2/image/CMakeLists.txt @@ -41,11 +41,9 @@ target_link_libraries(sophus2_image sophus2_geometry) -if(${BUILD_SOPHUS_TESTS}) - foreach(test_basename ${sophus2_image_src_prefixes}) - farm_ng_add_test(${test_basename} +foreach(test_basename ${sophus2_image_src_prefixes}) + farm_ng_add_test(${test_basename} PARENT_LIBRARY sophus2_image LINK_LIBRARIES sophus2_image LABELS small) - endforeach() -endif() +endforeach() diff --git a/cpp/sophus2/image/dyn_image_test.cpp b/cpp/sophus2/image/dyn_image_test.cpp index b7802d7c..10ca74df 100644 --- a/cpp/sophus2/image/dyn_image_test.cpp +++ b/cpp/sophus2/image/dyn_image_test.cpp @@ -23,7 +23,7 @@ using namespace sophus2; } while (false) TEST(AnyImage, create_access_and_extract) { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage mut_image(size64); mut_image.fill(0.5f); Image image(std::move(mut_image)); @@ -58,7 +58,7 @@ TEST(AnyImage, create_access_and_extract) { } TEST(IntensityImage, create_access_and_extract) { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage mut_image(size64); mut_image.fill(0.5f); Image image(std::move(mut_image)); @@ -70,7 +70,7 @@ TEST(IntensityImage, create_access_and_extract) { TEST(AnyImage, runtime_type_info) { { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -88,7 +88,7 @@ TEST(AnyImage, runtime_type_info) { SOPHUS_ASSERT(maybe_any_image2); } { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -98,7 +98,7 @@ TEST(AnyImage, runtime_type_info) { SOPHUS_ASSERT_EQ(any_image.pixelFormat().num_bytes_per_component, 1); } { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage3F32 mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -108,7 +108,7 @@ TEST(AnyImage, runtime_type_info) { SOPHUS_ASSERT_EQ(any_image.pixelFormat().num_bytes_per_component, 4); } { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage3U8 mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -118,7 +118,7 @@ TEST(AnyImage, runtime_type_info) { SOPHUS_ASSERT_EQ(any_image.pixelFormat().num_bytes_per_component, 1); } { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -128,7 +128,7 @@ TEST(AnyImage, runtime_type_info) { SOPHUS_ASSERT_EQ(any_image.pixelFormat().num_bytes_per_component, 4); } { - const ImageSize size64{6, 4}; + ImageSize const size64{6, 4}; MutImage4U8 mut_image(size64); AnyImage<> any_image(std::move(mut_image)); @@ -278,3 +278,25 @@ TEST(IntensityImage, visitor) { runtime_sub); } } + +TEST(IntensityImage, conversion) { + auto typed_rgba_image = Image4U8::makeGenerative( + ImageSize{2, 3}, + [](int u, int v) { return Pixel4{u, 2 * v, 3, 255}; }); + + auto intensity_image = IntensityImage<>(typed_rgba_image); + + FARM_ASSERT(intensity_image.has>()); + + auto typed_rgba_image2 = intensity_image.image>(); + + auto r_channel_image = sophus2::ImageU8::makeFromTransform( + typed_rgba_image2, + [](Pixel4 rgba_pixel) { return rgba_pixel.x(); }); + + for (int v = 0; v < r_channel_image.height(); ++v) { + for (int u = 0; u < r_channel_image.width(); ++u) { + SOPHUS_ASSERT_EQ(r_channel_image(u, v), u); + } + } +}