Comments (9)
The point cloud in the tracking state is indeed only used for tracking, i.e. it's the output of the raycast that is used by the next tracking step. It's not a point cloud representation of the whole scene.
The current version of InfiniTAM does not yet support the output of a mesh. However, in some local development branches that still need a lot of cleanup, we've just implemented an "Export to .stl" function, and this is probably going to be merged back into the master branch at some point soon (i.e. July).
from infinitam.
Thanks for your help. Is there an example in the code somewhere for reading out all of the voxels? I found the function readVoxel, but it isn't clear to me yet how to step through all of the active voxels.
from infinitam.
Waiting anxiously for this update.... Could you also implement the functionality of loading custom depth images? (for eg. PNGs)
from infinitam.
In another local branch, I've also implemented PNG support based on libpng. This is most likely also going to be merged at some point, but needs a bit more testing (e.g. Windows/MacOS compatibility).
Regarding the reading of voxels: the readVoxel function is called e.g. from the raycasting functions. It allows reading a voxel given the absolute voxel coordinates and will internally look up the correct block and voxel within this block. I.e. if you are using the readVoxel function, you should not at all notice that there are blocks and a hash function. Otherwise, there is also a list of "live blocks", stored in the scene object, which will give you a list of all visible blocks. You could then walk through the voxels of all visible blocks manually. If the "live blocks" are not sufficient, you'll currently have to go through the entire hash table and check for each entry, whether the voxel block pointer is positive. This gives you a list of all allocated voxel blocks, and you can again read the individual voxels from these.
Be aware, however, that all the data structures are only ever maintained on either the CPU or the GPU and, depending on what you want to do, you might have to manually synchronize them.
from infinitam.
Thanks again. I've almost got something working to extract the points. Do you know how to convert the SDF value into meters?
from infinitam.
ITMLibSettings should have some ITMSceneParameters, which should have the voxel size in meters.
from infinitam.
Very nice project! I'm also interested to export mesh files :)
from infinitam.
Mesh export is now supported in the master branch.
from infinitam.
Thank you @olafkaehler for stl export support, I have just tried the latest master branch and it works nicely. π
Thanks
from infinitam.
Related Issues (20)
- Supporting iPhone Depth Data
- from rgb to depth HOT 10
- Show nothing when running InfiniTAM.exe with files in Teddy HOT 5
- Multi-camera Application HOT 1
- FileBasedTracker doesnβt fuse the scene HOT 2
- How big is the voxel grid? HOT 1
- Saving 3D Reconstruction
- Python bindings HOT 6
- Azure Kinect Support HOT 1
- C1083 Cannot open include file: 'GL/glut.h': No such file or directory HOT 5
- Extracting the current VoxelGrid for an additional processing step HOT 1
- iterations algorithm HOT 1
- Python Buffer access to ITMLocalVBA HOT 1
- Cannot access the voxel blocks on device using Nsight VSE Debugger HOT 1
- ITMLocalVBA alone extractable as 3D Reconstruction? HOT 1
- cannot read images HOT 11
- Which version is the newest HOT 1
- Project doesn't build
- Does InfiniTAM support for MS Azure Kinect (soon)?
- Blensor Scans
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from infinitam.