HDF5 Exemple de code

À l'aide de HDF5DotNet, quelqu'un peut me pointer à l'exemple de code, qui va ouvrir une hdf5 fichier, extraire le contenu d'un ensemble de données, et d'imprimer le contenu sur la sortie standard?

Jusqu'à présent j'ai le texte suivant:

        H5.Open();
        var h5 = H5F.open("example.h5", H5F.OpenMode.ACC_RDONLY);
        var dataset = H5D.open(h5, "/Timings/aaPCBTimes");
        var space = H5D.getSpace(dataset);
        var size = H5S.getSimpleExtentDims(space);

Puis ça devient un peu confus.

En fait je veux faire un traitement sur le contenu de la base de données mais je pense qu'une fois que j'ai un cliché sur la sortie standard, je peux travailler à partir de là.

Mise à JOUR: j'ai piraté autour de cette suffisantes pour résoudre mon problème. Je n'ai pas réussi à réaliser un jeu de données a été multi-array - je pensais que c'était plus comme une table db. Dans le cas improbable où quelqu'un est intéressé,

double[,] dataArray = new double[size[0], 6];
var wrapArray = new H5Array<double>(dataArray);
var dataType = H5D.getType(d);
H5D.read(dataset, dataType, wrapArray);
Console.WriteLine(dataArray[0, 0]);
  • Je tiens à souligner que le fait d'avoir H5, h5, H5F, H5S et H5D comme noms de variable est mauvais. Les deux premiers ne diffèrent que par la casse. Les autres par une seule lettre.
  • Oui. H5, H5F, H5S, et H5D sont tous fournis par l'API - HDF5DotNet - C++/CLI Wrapper de la HDF5 Bibliothèque. Si vous suivez le lien, vous pouvez également profiter de H5A, H5E, H5G, H5I, H5L, H5O, H5P, et H5R. Je suis à la recherche d'un exemple de code parce que je ne suis pas désireux de passer beaucoup de temps à l'étude de cette interface.
  • Pourquoi ne pas ajouter votre hack/solution comme une réponse et de l'accepter?
  • Wow. La dernière fois que j'ai utilisé HDF5 dans .NET j'ai enveloppé le P/Invoke appelle moi-même. Content de voir une prise en charge de la bibliothèque. Ah, le bon vieux HDF5.
  • est-il utilisable HDF5 bibliothèque maintenant? Les commentaires précédents devraient le faire de manière suffisamment claire que HDF4DotNet est pas vraiment la voie à suivre si vous voulez sérieusement à l'utiliser dans un moyen facile et rapide pour ne pas mentionner le manque d'exemples documentés qui sont au-delà de minimaliste de base.
  • Je viens de trouver ceci en marché (licence) de l'API de haut niveau pour HDF5. Il semble bon, mais il fait partie d'un grand projet coûteux.
  • Notez que le HDF5 projet maintenant recommande à l'aide de leur P/Invoke wrappers ici, et que HDF5DotNet est plus maintenu et gelé en 2012.

InformationsquelleAutor Crosbie | 2011-10-29