isl-org / isl-org/Open3D

Inconsistent NaN handling in octree between arm64 and x86

Open
#6,301 0 comments 5 reactions 1 assignee Claimed by @theNded View on GitHub
bug geometry
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).

### Describe the issue

When creating an octree from a pointcloud with NaN values, the behaviour is different between a arm64 based architecture and a x86.
For x86 architectures, the NaN values are ignored, and a valid octree is created
For arm64 architectures, the NaN values are propagated in the octree, making it empty / not traversable

### Steps to reproduce the bug

```python
import open3d as o3d
import numpy as np

arr = np.random.rand(1000,3)
arr[500:600] = np.nan
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(arr[:, :3])
tree = o3d.geometry.Octree(max_depth=3)
tree.convert_from_point_cloud(pcd,size_expand=0.01)
print(tree)
```

### Error message

Code above running on a arm64 computer gives
> Octree with origin: [nan, nan, 0.000649664], size: nan, max_depth: 3

Same code on a x86 computer
> Octree with origin: [0.000588593, 0.000814465, 0.000636636], size: 1.00927, max_depth: 3

### Expected behavior

Expected behavior would be the x86 one (or raise an exception in both cases)

### Open3D, Python and System information

```markdown
- Operating system: Ubuntu 22.04 for both computers
- Python version: `3.8.15`
- Open3D version: `0.17.0`
- System architecture: x86 and arm64
- Is this a remote workstation?: no
- How did you install Open3D?: pip
```

### Additional information

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.