Inconsistent NaN handling in octree between arm64 and x86
- 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.