From cfc0534bc5dd4497ff439c10c552f76e5de7e46a Mon Sep 17 00:00:00 2001 From: "Joseph S." <11660030+joseph-sch@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:35:35 +0200 Subject: [PATCH 1/5] A readme for building using docker build script on Windows using WSL --- docker/BUILD_DOCKER_WSL.md | 73 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 docker/BUILD_DOCKER_WSL.md diff --git a/docker/BUILD_DOCKER_WSL.md b/docker/BUILD_DOCKER_WSL.md new file mode 100644 index 00000000000..901658c6ae2 --- /dev/null +++ b/docker/BUILD_DOCKER_WSL.md @@ -0,0 +1,73 @@ +# Building Open3D on Windows with WSL and Docker Desktop + +## Step 1: Install Docker Desktop + +1. Download Docker Desktop from the [official website](https://www.docker.com/products/docker-desktop). +2. Run the installer and follow the on-screen instructions. +3. After installation, open Docker Desktop and ensure it is running. + +## Step 2: Install and Set Up WSL + +1. Open PowerShell as Administrator and run the following command to install WSL: + + ```powershell + wsl --install + ``` + +2. Install a Linux distribution from the command line, e.g., Ubuntu-24.04: + + ```powershell + wsl --install -d Ubuntu-24.04 + ``` + +## Step 3: Enable Docker Integration with WSL + +1. Open Docker Desktop. +2. Go to Settings > Resources > WSL Integration. +3. Ensure your Linux distribution (e.g., Ubuntu-24.04) is selected for integration. +4. If necessary, restart Docker Desktop to apply the changes. + +## Step 4: Configure Git to Use LF Endings + +1. Open your usual terminal +2. Navigate to your Open3D checked-out repository: + + ```bash + cd /path/to/Open3D + ``` + +3. Configure Git to use LF endings: + + ```bash + git config core.autocrlf false + git config core.eol lf + ``` + +4. Reset your repository to ensure all files have LF endings: + + ```bash + git rm --cached -r . + git reset --hard + ``` + +## Step 5: Build Open3D in WSL + +1. Open your WSL terminal. +2. Navigate to your Open3D repository's docker folder: + + ```bash + cd /path/to/Open3D/docker + ``` + +3. Set environment variables to disable PyTorch and TensorFlow operations: + + ```bash + export BUILD_PYTORCH_OPS=OFF + export BUILD_TENSORFLOW_OPS=OFF + ``` + +4. Run the Docker build script: + + ```bash + ./docker_build.sh openblas-amd64-py312 + ``` From 4f896799bec6d524473ea82ceffedbea7d7b8497 Mon Sep 17 00:00:00 2001 From: "Joseph S." <11660030+joseph-sch@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:41:19 +0200 Subject: [PATCH 2/5] Instructions for building using Docker and WSL --- docker/BUILD_DOCKER_WSL.md | 95 ++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/docker/BUILD_DOCKER_WSL.md b/docker/BUILD_DOCKER_WSL.md index 901658c6ae2..339abd7e778 100644 --- a/docker/BUILD_DOCKER_WSL.md +++ b/docker/BUILD_DOCKER_WSL.md @@ -1,73 +1,80 @@ # Building Open3D on Windows with WSL and Docker Desktop +This guide walks you through installing Docker Desktop, setting up Windows Subsystem for Linux (WSL), configuring Docker integration with WSL, and building Open3D using a Docker script. + ## Step 1: Install Docker Desktop -1. Download Docker Desktop from the [official website](https://www.docker.com/products/docker-desktop). -2. Run the installer and follow the on-screen instructions. -3. After installation, open Docker Desktop and ensure it is running. +1. **Download and Install**: [Download Docker Desktop](https://www.docker.com/products/docker-desktop) and follow the on-screen prompts to install. +2. **Launch Docker Desktop**: After installation, open Docker Desktop to ensure it is running. ## Step 2: Install and Set Up WSL -1. Open PowerShell as Administrator and run the following command to install WSL: +1. **Enable WSL**: Open PowerShell as Administrator and install WSL: + + ```powershell + wsl --install + ``` - ```powershell - wsl --install - ``` +2. **Install a Linux Distribution** (e.g., Ubuntu-24.04): -2. Install a Linux distribution from the command line, e.g., Ubuntu-24.04: + ```powershell + wsl --install -d Ubuntu-24.04 + ``` - ```powershell - wsl --install -d Ubuntu-24.04 - ``` +3. **Restart** your system if prompted. ## Step 3: Enable Docker Integration with WSL -1. Open Docker Desktop. -2. Go to Settings > Resources > WSL Integration. -3. Ensure your Linux distribution (e.g., Ubuntu-24.04) is selected for integration. -4. If necessary, restart Docker Desktop to apply the changes. +1. **Open Docker Desktop**. +2. **Go to Settings** > **Resources** > **WSL Integration**. +3. **Enable Integration** for your Linux distribution (e.g., Ubuntu-24.04). +4. If necessary, **restart Docker Desktop** to apply the changes. ## Step 4: Configure Git to Use LF Endings -1. Open your usual terminal -2. Navigate to your Open3D checked-out repository: +1. **Open a terminal** within WSL or your preferred Git environment. +2. **Navigate** to your Open3D repository: - ```bash - cd /path/to/Open3D - ``` + ```bash + cd /path/to/Open3D + ``` -3. Configure Git to use LF endings: +3. **Set Git to use LF endings**: - ```bash - git config core.autocrlf false - git config core.eol lf - ``` + ```bash + git config core.autocrlf false + git config core.eol lf + ``` -4. Reset your repository to ensure all files have LF endings: +4. **Reset your files** to ensure all use LF endings: - ```bash - git rm --cached -r . - git reset --hard - ``` +***Warning:*** The following commands will discard all uncommitted changes and reset files to the last committed state. If you have local modifications you wish to keep, commit or stash them before proceeding. + + ```bash + git rm --cached -r . + git reset --hard + ``` ## Step 5: Build Open3D in WSL -1. Open your WSL terminal. -2. Navigate to your Open3D repository's docker folder: +1. **Open your WSL terminal**. +2. **Navigate** to the Docker folder in the Open3D repository: + + ```bash + cd /path/to/Open3D/docker + ``` - ```bash - cd /path/to/Open3D/docker - ``` +3. **Disable PyTorch and TensorFlow ops** if not needed: -3. Set environment variables to disable PyTorch and TensorFlow operations: + ```bash + export BUILD_PYTORCH_OPS=OFF + export BUILD_TENSORFLOW_OPS=OFF + ``` - ```bash - export BUILD_PYTORCH_OPS=OFF - export BUILD_TENSORFLOW_OPS=OFF - ``` +4. **Run the Docker build script**: -4. Run the Docker build script: + ```bash + ./docker_build.sh openblas-amd64-py312 + ``` - ```bash - ./docker_build.sh openblas-amd64-py312 - ``` +If all goes well, you will have an Open3D Docker image ready to use. Make sure your Docker environment is running properly, and verify that the build completed successfully by checking logs for errors or warnings. From cf68ef1881f8ce0350cd6e5124ac8a81e5279b66 Mon Sep 17 00:00:00 2001 From: "Joseph S." <11660030+joseph-sch@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:50:14 +0200 Subject: [PATCH 3/5] Fix typo in argument of TriangleMesh.create_mobius --- cpp/pybind/geometry/trianglemesh.cpp | 2 +- cpp/pybind/t/geometry/trianglemesh.cpp | 2 +- examples/python/visualization/tensorboard_pytorch.py | 2 +- examples/python/visualization/tensorboard_tensorflow.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/pybind/geometry/trianglemesh.cpp b/cpp/pybind/geometry/trianglemesh.cpp index 452736626d2..6b1d96fa862 100644 --- a/cpp/pybind/geometry/trianglemesh.cpp +++ b/cpp/pybind/geometry/trianglemesh.cpp @@ -421,7 +421,7 @@ void pybind_trianglemesh_definitions(py::module &m) { .def_static("create_mobius", &TriangleMesh::CreateMobius, "Factory function to create a Mobius strip.", "length_split"_a = 70, "width_split"_a = 15, - "twists"_a = 1, "raidus"_a = 1, "flatness"_a = 1, + "twists"_a = 1, "radius"_a = 1, "flatness"_a = 1, "width"_a = 1, "scale"_a = 1) .def_readwrite("vertices", &TriangleMesh::vertices_, "``float64`` array of shape ``(num_vertices, 3)``, " diff --git a/cpp/pybind/t/geometry/trianglemesh.cpp b/cpp/pybind/t/geometry/trianglemesh.cpp index b1fed27bc08..770e6b8d138 100644 --- a/cpp/pybind/t/geometry/trianglemesh.cpp +++ b/cpp/pybind/t/geometry/trianglemesh.cpp @@ -409,7 +409,7 @@ This example shows how to create a hemisphere from a sphere:: "device"_a = core::Device("CPU:0")) .def_static("create_mobius", &TriangleMesh::CreateMobius, "Create a Mobius strip.", "length_split"_a = 70, - "width_split"_a = 15, "twists"_a = 1, "raidus"_a = 1, + "width_split"_a = 15, "twists"_a = 1, "radius"_a = 1, "flatness"_a = 1, "width"_a = 1, "scale"_a = 1, "float_dtype"_a = core::Float32, "int_dtype"_a = core::Int64, diff --git a/examples/python/visualization/tensorboard_pytorch.py b/examples/python/visualization/tensorboard_pytorch.py index c16f645f3ea..f6629c29071 100644 --- a/examples/python/visualization/tensorboard_pytorch.py +++ b/examples/python/visualization/tensorboard_pytorch.py @@ -95,7 +95,7 @@ def large_scale(n_steps=16, length_split=int(3.5 * resolution), width_split=int(0.75 * resolution), twists=1, - raidus=1, + radius=1, flatness=1, width=1, scale=1) diff --git a/examples/python/visualization/tensorboard_tensorflow.py b/examples/python/visualization/tensorboard_tensorflow.py index d7320b053e4..9269f2d3ffe 100644 --- a/examples/python/visualization/tensorboard_tensorflow.py +++ b/examples/python/visualization/tensorboard_tensorflow.py @@ -106,7 +106,7 @@ def large_scale(n_steps=16, length_split=int(3.5 * resolution), width_split=int(0.75 * resolution), twists=1, - raidus=1, + radius=1, flatness=1, width=1, scale=1) From ffc880f560290d20f50c69d4405a34fdb11ff3c9 Mon Sep 17 00:00:00 2001 From: "Joseph S." <11660030+joseph-sch@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:53:37 +0200 Subject: [PATCH 4/5] Fix typos in comments and strings --- cpp/open3d/geometry/TetraMesh.h | 2 +- cpp/open3d/geometry/TriangleMesh.h | 6 ++-- cpp/open3d/t/geometry/PointCloud.h | 2 +- cpp/open3d/t/geometry/TriangleMesh.h | 8 ++--- cpp/pybind/geometry/trianglemesh.cpp | 6 ++-- cpp/pybind/t/geometry/pointcloud.cpp | 18 +++++----- cpp/pybind/t/geometry/trianglemesh.cpp | 36 +++++++++---------- cpp/tests/core/FixedRadiusIndex.cpp | 8 ++--- cpp/tests/core/NearestNeighborSearch.cpp | 4 +-- examples/cpp/TrimMeshBasedOnPointCloud.cpp | 2 +- .../python/visualization/online_processing.py | 2 +- 11 files changed, 47 insertions(+), 47 deletions(-) diff --git a/cpp/open3d/geometry/TetraMesh.h b/cpp/open3d/geometry/TetraMesh.h index b2869c520b9..54dd4fd50b3 100644 --- a/cpp/open3d/geometry/TetraMesh.h +++ b/cpp/open3d/geometry/TetraMesh.h @@ -49,7 +49,7 @@ class TetraMesh : public MeshBase { TetraMesh &operator+=(const TetraMesh &mesh); TetraMesh operator+(const TetraMesh &mesh) const; - /// \brief Function that removes duplicated verties, i.e., vertices that + /// \brief Function that removes duplicated vertices, i.e., vertices that /// have identical coordinates. TetraMesh &RemoveDuplicatedVertices(); diff --git a/cpp/open3d/geometry/TriangleMesh.h b/cpp/open3d/geometry/TriangleMesh.h index 1da782fd9b6..7f0b05c6ca5 100644 --- a/cpp/open3d/geometry/TriangleMesh.h +++ b/cpp/open3d/geometry/TriangleMesh.h @@ -116,7 +116,7 @@ class TriangleMesh : public MeshBase { /// needed. TriangleMesh &ComputeAdjacencyList(); - /// \brief Function that removes duplicated verties, i.e., vertices that + /// \brief Function that removes duplicated vertices, i.e., vertices that /// have identical coordinates. TriangleMesh &RemoveDuplicatedVertices(); @@ -560,7 +560,7 @@ class TriangleMesh : public MeshBase { /// Factory function to create a tetrahedron mesh (trianglemeshfactory.cpp). /// the mesh centroid will be at (0,0,0) and \p radius defines the /// distance from the center to the mesh vertices. - /// \param radius defines the distance from centroid to mesh vetices. + /// \param radius defines the distance from centroid to mesh vertices. /// \param create_uv_map add default UV map to the mesh. static std::shared_ptr CreateTetrahedron( double radius = 1.0, bool create_uv_map = false); @@ -568,7 +568,7 @@ class TriangleMesh : public MeshBase { /// Factory function to create an octahedron mesh (trianglemeshfactory.cpp). /// the mesh centroid will be at (0,0,0) and \p radius defines the /// distance from the center to the mesh vertices. - /// \param radius defines the distance from centroid to mesh vetices. + /// \param radius defines the distance from centroid to mesh vertices. /// \param create_uv_map add default UV map to the mesh. static std::shared_ptr CreateOctahedron( double radius = 1.0, bool create_uv_map = false); diff --git a/cpp/open3d/t/geometry/PointCloud.h b/cpp/open3d/t/geometry/PointCloud.h index 2dff4e6aa9f..479fd0eeace 100644 --- a/cpp/open3d/t/geometry/PointCloud.h +++ b/cpp/open3d/t/geometry/PointCloud.h @@ -710,7 +710,7 @@ class PointCloud : public Geometry, public DrawableGeometry { /// surface points from the first point cloud that have the second point /// cloud points within the threshold radius, while Precision is the /// percentage of points from the second point cloud that have the first - /// point cloud points within the threhold radius. + /// point cloud points within the threshold radius. /// \f{eqnarray*}{ /// \text{Chamfer Distance: } d_{CD}(X,Y) &=& \frac{1}{|X|}\sum_{i \in X} diff --git a/cpp/open3d/t/geometry/TriangleMesh.h b/cpp/open3d/t/geometry/TriangleMesh.h index a517a28c7c6..5c97dd0caf2 100644 --- a/cpp/open3d/t/geometry/TriangleMesh.h +++ b/cpp/open3d/t/geometry/TriangleMesh.h @@ -405,7 +405,7 @@ class TriangleMesh : public Geometry, public DrawableGeometry { /// Create a tetrahedron triangle mesh. The centroid of the mesh will be /// placed at (0, 0, 0) and the vertices have a distance of radius to the /// center. - /// \param radius defines the distance from centroid to mesh vetices. + /// \param radius defines the distance from centroid to mesh vertices. /// \param float_dtype Float32 or Float64, used to store floating point /// values, e.g. vertices, normals, colors. /// \param int_dtype Int32 or Int64, used to store index values, e.g. @@ -420,7 +420,7 @@ class TriangleMesh : public Geometry, public DrawableGeometry { /// Create a octahedron triangle mesh. The centroid of the mesh will be /// placed at (0, 0, 0) and the vertices have a distance of radius to the /// center. - /// \param radius defines the distance from centroid to mesh vetices. + /// \param radius defines the distance from centroid to mesh vertices. /// \param float_dtype Float32 or Float64, used to store floating point /// values, e.g. vertices, normals, colors. /// \param int_dtype Int32 or Int64, used to store index values, e.g. @@ -435,7 +435,7 @@ class TriangleMesh : public Geometry, public DrawableGeometry { /// Create a icosahedron triangle mesh. The centroid of the mesh will be /// placed at (0, 0, 0) and the vertices have a distance of radius to the /// center. - /// \param radius defines the distance from centroid to mesh vetices. + /// \param radius defines the distance from centroid to mesh vertices. /// \param float_dtype Float32 or Float64, used to store floating point /// values, e.g. vertices, normals, colors. /// \param int_dtype Int32 or Int64, used to store index values, e.g. @@ -1063,7 +1063,7 @@ class TriangleMesh : public Geometry, public DrawableGeometry { /// percentage of surface points from the first mesh that have the second /// mesh within the threshold radius, while Precision is the percentage of /// sampled points from the second mesh that have the first mesh surface - /// within the threhold radius. + /// within the threshold radius. /// \f{eqnarray*}{ /// \text{Chamfer Distance: } d_{CD}(X,Y) &=& \frac{1}{|X|}\sum_{i \in X} diff --git a/cpp/pybind/geometry/trianglemesh.cpp b/cpp/pybind/geometry/trianglemesh.cpp index 6b1d96fa862..cac19568e5f 100644 --- a/cpp/pybind/geometry/trianglemesh.cpp +++ b/cpp/pybind/geometry/trianglemesh.cpp @@ -710,15 +710,15 @@ void pybind_trianglemesh_definitions(py::module &m) { {"map_texture_to_each_face", "Map entire texture to each face."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_tetrahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"create_uv_map", "Add default uv map to the mesh."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_octahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"create_uv_map", "Add default uv map to the mesh."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_icosahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"create_uv_map", "Add default uv map to the mesh."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_sphere", diff --git a/cpp/pybind/t/geometry/pointcloud.cpp b/cpp/pybind/t/geometry/pointcloud.cpp index 172f92c2356..5babf2a305e 100644 --- a/cpp/pybind/t/geometry/pointcloud.cpp +++ b/cpp/pybind/t/geometry/pointcloud.cpp @@ -780,16 +780,16 @@ the partition id for each point. pointcloud.def("compute_metrics", &PointCloud::ComputeMetrics, "pcd2"_a, "metrics"_a, "params"_a, - R"(Compute various metrics between two point clouds. - -Currently, Chamfer distance, Hausdorff distance and F-Score `[Knapitsch2017] <../tutorial/reference.html#Knapitsch2017>`_ are supported. -The Chamfer distance is the sum of the mean distance to the nearest neighbor + R"(Compute various metrics between two point clouds. + +Currently, Chamfer distance, Hausdorff distance and F-Score `[Knapitsch2017] <../tutorial/reference.html#Knapitsch2017>`_ are supported. +The Chamfer distance is the sum of the mean distance to the nearest neighbor from the points of the first point cloud to the second point cloud. The F-Score -at a fixed threshold radius is the harmonic mean of the Precision and Recall. -Recall is the percentage of surface points from the first point cloud that have -the second point cloud points within the threshold radius, while Precision is -the percentage of points from the second point cloud that have the first point -cloud points within the threhold radius. +at a fixed threshold radius is the harmonic mean of the Precision and Recall. +Recall is the percentage of surface points from the first point cloud that have +the second point cloud points within the threshold radius, while Precision is +the percentage of points from the second point cloud that have the first point +cloud points within the threshold radius. .. math:: :nowrap: diff --git a/cpp/pybind/t/geometry/trianglemesh.cpp b/cpp/pybind/t/geometry/trianglemesh.cpp index 770e6b8d138..148bb1b5bdb 100644 --- a/cpp/pybind/t/geometry/trianglemesh.cpp +++ b/cpp/pybind/t/geometry/trianglemesh.cpp @@ -432,19 +432,19 @@ This example shows how to create a hemisphere from a sphere:: {"device", "Device of the create sphere."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_tetrahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"float_dtype", "Float_dtype, Float32 or Float64."}, {"int_dtype", "Int_dtype, Int32 or Int64."}, {"device", "Device of the create tetrahedron."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_octahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"float_dtype", "Float_dtype, Float32 or Float64."}, {"int_dtype", "Int_dtype, Int32 or Int64."}, {"device", "Device of the create octahedron."}}); docstring::ClassMethodDocInject( m, "TriangleMesh", "create_icosahedron", - {{"radius", "Distance from centroid to mesh vetices."}, + {{"radius", "Distance from centroid to mesh vertices."}, {"float_dtype", "Float_dtype, Float32 or Float64."}, {"int_dtype", "Int_dtype, Int32 or Int64."}, {"device", "Device of the create octahedron."}}); @@ -546,7 +546,7 @@ This example shows how to create a hemisphere from a sphere:: Text as triangle mesh. Example: - This shows how to simplifify the Stanford Bunny mesh:: + This shows how to simplify the Stanford Bunny mesh:: import open3d as o3d @@ -636,7 +636,7 @@ This function always uses the CPU device. Simplified TriangleMesh. Example: - This shows how to simplifify the Stanford Bunny mesh:: + This shows how to simplify the Stanford Bunny mesh:: bunny = o3d.data.BunnyMesh() mesh = o3d.t.geometry.TriangleMesh.from_legacy(o3d.io.read_triangle_mesh(bunny.path)) @@ -663,7 +663,7 @@ This function always uses the CPU device. The mesh describing the union volume. Example: - This copmutes the union of a sphere and a cube:: + This computes the union of a sphere and a cube:: box = o3d.geometry.TriangleMesh.create_box() box = o3d.t.geometry.TriangleMesh.from_legacy(box) @@ -694,7 +694,7 @@ This function always uses the CPU device. The mesh describing the intersection volume. Example: - This copmutes the intersection of a sphere and a cube:: + This computes the intersection of a sphere and a cube:: box = o3d.geometry.TriangleMesh.create_box() box = o3d.t.geometry.TriangleMesh.from_legacy(box) @@ -1147,18 +1147,18 @@ Example:: triangle_mesh.def("compute_metrics", &TriangleMesh::ComputeMetrics, "mesh2"_a, "metrics"_a, "params"_a, - R"(Compute various metrics between two triangle meshes. - -This uses ray casting for distance computations between a sampled point cloud -and a triangle mesh. Currently, Chamfer distance, Hausdorff distance and -F-Score `[Knapitsch2017] <../tutorial/reference.html#Knapitsch2017>`_ are supported. + R"(Compute various metrics between two triangle meshes. + +This uses ray casting for distance computations between a sampled point cloud +and a triangle mesh. Currently, Chamfer distance, Hausdorff distance and +F-Score `[Knapitsch2017] <../tutorial/reference.html#Knapitsch2017>`_ are supported. The Chamfer distance is the sum of the mean distance to the nearest neighbor from -the sampled surface points of the first mesh to the second mesh and vice versa. -The F-Score at the fixed threshold radius is the harmonic mean of the Precision -and Recall. Recall is the percentage of surface points from the first mesh that -have the second mesh within the threshold radius, while Precision is the -percentage of sampled points from the second mesh that have the first mesh -surface within the threhold radius. +the sampled surface points of the first mesh to the second mesh and vice versa. +The F-Score at the fixed threshold radius is the harmonic mean of the Precision +and Recall. Recall is the percentage of surface points from the first mesh that +have the second mesh within the threshold radius, while Precision is the +percentage of sampled points from the second mesh that have the first mesh +surface within the threshold radius. .. math:: :nowrap: diff --git a/cpp/tests/core/FixedRadiusIndex.cpp b/cpp/tests/core/FixedRadiusIndex.cpp index fb735b799e0..e77b8eab130 100644 --- a/cpp/tests/core/FixedRadiusIndex.cpp +++ b/cpp/tests/core/FixedRadiusIndex.cpp @@ -81,7 +81,7 @@ TEST(FixedRadiusIndex, SearchRadius) { float radius = 0.1; core::nns::FixedRadiusIndex index32(dataset_points, radius, core::Int32); - // if raidus == 0.1 + // if radius == 0.1 core::Tensor indices, distances, neighbors_row_splits; core::SizeVector shape{2}; gt_indices = core::Tensor::Init({1, 4}, device); @@ -102,7 +102,7 @@ TEST(FixedRadiusIndex, SearchRadius) { // Set up index. core::nns::FixedRadiusIndex index64(dataset_points, radius, core::Int64); - // if raidus == 0.1 + // if radius == 0.1 shape = core::SizeVector{2}; gt_indices = core::Tensor::Init({1, 4}, device); gt_neighbors_row_splits = gt_neighbors_row_splits.To(core::Int64); @@ -324,7 +324,7 @@ TEST(FixedRadiusIndex, SearchHybrid) { int max_knn = 3; core::nns::FixedRadiusIndex index32(dataset_points, radius, core::Int32); - // if raidus == 0.1 + // if radius == 0.1 core::Tensor indices, distances, counts; core::SizeVector shape{1, 3}; core::SizeVector shape_counts{1}; @@ -347,7 +347,7 @@ TEST(FixedRadiusIndex, SearchHybrid) { // Set up index. core::nns::FixedRadiusIndex index64(dataset_points, radius, core::Int64); - // if raidus == 0.1 + // if radius == 0.1 gt_indices = core::Tensor::Init({{1, 4, -1}}, device); gt_counts = core::Tensor::Init({2}, device); diff --git a/cpp/tests/core/NearestNeighborSearch.cpp b/cpp/tests/core/NearestNeighborSearch.cpp index a53e33642e1..d282e8ecd9a 100644 --- a/cpp/tests/core/NearestNeighborSearch.cpp +++ b/cpp/tests/core/NearestNeighborSearch.cpp @@ -191,7 +191,7 @@ TEST_P(NNSPermuteDevices, FixedRadiusSearch) { std::runtime_error); } - // If raidus == 0.1. + // If radius == 0.1. nns32.FixedRadiusIndex(0.1); std::tuple result; core::SizeVector shape{2}; @@ -223,7 +223,7 @@ TEST_P(NNSPermuteDevices, FixedRadiusSearch) { std::runtime_error); } - // If raidus == 0.1. + // If radius == 0.1. nns64.FixedRadiusIndex(0.1); gt_indices = core::Tensor::Init({1, 4}, device); gt_distances = core::Tensor::Init({0.00626358, 0.00747938}, device); diff --git a/examples/cpp/TrimMeshBasedOnPointCloud.cpp b/examples/cpp/TrimMeshBasedOnPointCloud.cpp index ffb5f47d8c4..991f05d3e76 100644 --- a/examples/cpp/TrimMeshBasedOnPointCloud.cpp +++ b/examples/cpp/TrimMeshBasedOnPointCloud.cpp @@ -64,7 +64,7 @@ int main(int argc, char* argv[]) { kdtree.SetGeometry(*pcd); std::vector remove_vertex_mask(mesh->vertices_.size(), false); utility::ProgressBar progress_bar(mesh->vertices_.size(), - "Prune vetices: "); + "Prune vertices: "); #pragma omp parallel for schedule(static) num_threads(utility::EstimateMaxThreads()) for (int i = 0; i < (int)mesh->vertices_.size(); i++) { std::vector indices(1); diff --git a/examples/python/visualization/online_processing.py b/examples/python/visualization/online_processing.py index 79bf57c4ce6..6ef30d20e07 100644 --- a/examples/python/visualization/online_processing.py +++ b/examples/python/visualization/online_processing.py @@ -233,7 +233,7 @@ def __init__(self, vfov=60, max_pcd_vertices=1 << 20, **callbacks): Args: vfov (float): Vertical field of view for the 3D scene. - max_pcd_vertices (int): Maximum point clud verties for which memory + max_pcd_vertices (int): Maximum point cloud vertices for which memory is allocated. callbacks (dict of kwargs): Callbacks provided by the controller for various operations. From 166153105c96d699ead13b3419df18069f55e3be Mon Sep 17 00:00:00 2001 From: "Joseph S." <11660030+joseph-sch@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:13:17 +0200 Subject: [PATCH 5/5] Fix another docstring --- cpp/pybind/t/geometry/pointcloud.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/pybind/t/geometry/pointcloud.cpp b/cpp/pybind/t/geometry/pointcloud.cpp index 5babf2a305e..f872b9fcd68 100644 --- a/cpp/pybind/t/geometry/pointcloud.cpp +++ b/cpp/pybind/t/geometry/pointcloud.cpp @@ -765,7 +765,7 @@ the partition id for each point. Example: - This code computes parititions a point cloud such that each partition + This code computes partitions of a point cloud such that each partition contains at most 20 points:: import open3d as o3d