Использую ли я HDF5DotNet правильный способ найти набор данных в группе в файле HDF5 в Windows 10? - PullRequest
0 голосов
/ 15 января 2019

(я новичок в HDF5)

Моя проблема в том, что он не находит набор данных объекта "xyz" в группе "XY", хотя находит группу объектов "XY".

C # .NET в Windows 10 64-разрядная версия.

Код ... ………

            static ObjectInfo info;
        static H5FileId fileId;
        static long[] dims ;
        static H5GroupId groupId;

public static void test_read( string HDF5_path)
{
        const int RANK = 2;

    try
    {

         dims = new long[RANK];


        // Open everything:
            var HDF5_filename = "heatmapB.h5";
            var test_pathname = HDF5_path + HDF5_filename;
            fileId = H5F.open( test_pathname,   H5F.OpenMode.ACC_RDONLY);          // OPEN HDF5 FILE.  WORKS OK.

            // Open the group...
                groupId = H5G.open( fileId, "/XY");                     // SELECT GROUP "XY".  WORKS OK.
                // Show datasets:
                    dump_HDF5_file(  "xyz" );

                    . . .



public static void dump_HDF5_file(  string object_name )
{
    try
    {


            info = H5G.getObjectInfo( fileId, object_name, true);   // Generates ERROR :  "Failed to get info for name "xyz" in object 1000001"  <<<<<<<<<<<<<<
        Console.WriteLine("cSharpGroup header size is {0}", info.headerSize);
        Console.WriteLine("cSharpGroup nlinks is {0}", info.nHardLinks);
        Console.WriteLine("cSharpGroup fileno is {0} {1}",                  info.fileNumber[0], info.fileNumber[1]);
        Console.WriteLine("cSharpGroup objno is {0} {1}",                   info.objectNumber[0], info.objectNumber[1]);
        Console.WriteLine("cSharpGroup type is {0}", info.objectType);
        Console.WriteLine("cSharpGroup modificationTime  is {0}", info.modificationTime );
    }
    catch (HDFException e)
    {
        Console.WriteLine(e.Message);   //////////////    ERROR IS:  "Failed to get info for name "xyz" in object 1000001"  <<<<<<<<<<<<<<
    }
}       

1 Ответ

0 голосов
/ 15 января 2019

Проблема заключалась в том, что файл HDF5 был записан неправильно. Решение было для парня, пишущего файл с Джулией (язык программирования), чтобы проверить его, используя Python, читая его обратно, чтобы убедиться, что это ожидаемая структура HDF5.

Теперь я могу читать его с HDF5. Не в порядке.

...