DGtal-team / DGtal

Digital Geometry Tools and Algorithm Library
https://dgtal.org
GNU Lesser General Public License v3.0
370 stars 115 forks source link

Volumetric file formats #1497

Closed f-fanni closed 3 years ago

f-fanni commented 4 years ago

Hi, I am trying to use your library with a voxelization generated by a python pipeline. I have seen there are no bindings, but it's totally fine for me to just save the output to file and then read it with you library. However, I cannot find any specification in the docs on the formats you use, e.g. the .vol format, and with Google I find that they are not standard (the .vol ) or I find this repository (for formats like .pgm3d and .longvol). I also tried to open a .vol file generated with the mesh2vol converter from DGtal-tools, but it's a binary format with just a dozen of leading plain text lines. Can you clarify on the structure of the .vol file and how to generate one?

dcoeurjo commented 4 years ago

thanks for the feedback @f-fanni . I definitely agree, we should precisely describe the vol format in the doc. Actually it is just an ASCII header with a (zip) compressed unsigned char volumetric buffer. It is briefly described here https://github.com/dcoeurjo/VolGallery/tree/master/tools e.g.

Center-X: 30
Center-Y: 30
Center-Z: 30
X: 64
Y: 64
Z: 64
Voxel-Size: 1
Alpha-Color: 0
Voxel-Endian: 0
Int-Endian: 0123
Version: 3
.
<<<BINARY>>>

The easiest way to play with vol files would be to consider the vol2raw and raw2vol tools from https://github.com/DGtal-team/DGtalTools (raw files are just uncompressed buffers of unsigned char, XYZ bytes).

dcoeurjo commented 4 years ago

Let's keep this issue open (the actual link in the doc page to the simplevol project --that contained the VOL specs-- is not active anymore).

f-fanni commented 4 years ago

Thanks for the quick reply. I agree, the raw format seems the way to go for testing. I assume it is one unsigned char per voxel, with 0/1 for outside/inside, is it correct?

dcoeurjo commented 4 years ago

yep, that's correct. Feel free to fill up an issue if you need help