2010-01-14 6 views
3

J'ai une simulation en C++ qui génère énormément de données. En ce moment j'utilise des bibliothèques MATLAB pour enregistrer les résultats sous forme de fichier .mat, mais finalement je vais avoir besoin d'un format binaire open source. Je ne veux pas implémenter mon propre format binaire et ASCII n'est pas une option. J'ai entendu que VTK fournit le format de fichier binaire .vtk pour enregistrer les structures de données 3D, ce qui est exactement ce dont j'ai besoin. Y at-il une bonne bibliothèque C/C++ pour lire/écrire des fichiers VTK?Bibliothèque C/C++ pour VTK IO

+0

Je pense que cela serait utile si vous indiquiez plus clairement quelles sont les données. Cela semble (à partir de la dernière partie de la question) que les données sont 3D, mais s'agit-il de données de modèle/géométrie réelles, c'est-à-dire de sommets et de polygones? – unwind

+0

Les données sont un champ vectoriel 3D sur un plan 2D. Autrement dit, le domaine est un plan 2-D et la gamme est un vecteur 3-D. Mais je ne pense pas que ce soit pertinent à la question quand même! – Aamir

+0

mat est un format binaire à peu près ouvert. C'est juste HDF5 plus un en-tête assez inutile. Voir [ici] (https://www.mathworks.co.uk/matlabcentral/fileexchange/27350-c++class-to-write-hdf5-mat-files) et aussi [ici] (https: //www.mathworks .co.uk/matlabcentral/fileexchange/23416-writetovtk). Notez que ce dernier utilise le format VTK textuel inefficace. – Timmmm

Répondre

3

Oui, il y a une bonne bibliothèque fournissant des fichiers .vtk I/O, et elle s'appelle ... attendez-la ... VTK! :)

http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridWriter.html

http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridReader.html

(Il y a beaucoup d'autres lecteurs/écrivains en fonction de votre type de données).

+0

BTW, VTK n'est pas toujours le meilleur format de fichier ... envisager d'utiliser HDF5: http://www.hdfgroup.org/HDF5/ –

+0

.mat * est * HDF5. Je suis d'accord, mais il est plus facile de lire .mat à partir de votre programme non-matlab que d'écrire VTK à partir de matlab. – Timmmm

+1

Pourriez-vous nommer certains de ces nombreux autres lecteurs, car VTK peut être un peu lourd juste pour utiliser les E/S VTK. – math