Thread Subject: hdf5 import hangs with hdf5read

Subject: hdf5 import hangs with hdf5read

From: Stijn

Date: 27 Apr, 2011 07:36:04

Message: 1 of 3

I have a hdf5 file that I want to import into Matlab. It contains 1 dataset. With structure as shown below.

The standard hdf5read function 'hangs':

data = hdf5read(fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Name)

CPU goes to 50% and the MEM usage of Matlab just keeps increasing and increasing. After 10 minutes it still is hanging.

the use of the 'low level' functions does return a structure data that has fields for all relevant data. However all field should be vectors with length 4867. The first entry of this vector is 'nonsense' and all other entries are 0. This is the case for all fields in the structure data.

fileinfo = hdf5info('1342.hdf5')
fileID = H5F.open('1342.hdf5', 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
dataID = H5D.open(fileID, '/Logging/WPS/Control Platform/TracingData/v01');
data = H5D.read(dataID, 'H5ML_DEFAULT', 'H5S_ALL', 'H5S_ALL', 'H5P_DEFAULT')

What goes wrong? Can I import the data other 'low level' functions? Could the structure of the hdf file be a problem? It is a H5T_COMPOUND class

I use MATLAB Version 7.5.0.342 (R2007b)

I can supply you the used hdf5 file.

Kind regards,
Stijn.

--------------------------------------------------------------------------------------------------------------------
fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets

ans =

      Filename: '1342.hdf5'
          Name: '/Logging/WPS/Control Platform/TracingData/v01'
          Rank: 1
      Datatype: [1x1 struct]
          Dims: 4867
       MaxDims: -1
        Layout: 'chunked'
    Attributes: [1x53 struct]
         Links: []
     Chunksize: []
     FillValue: {}

>> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype

ans =

        Name: []
       Class: 'H5T_COMPOUND'
    Elements: {3x2 cell}

>> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype.Elements

ans =

    'InstanceID' 'H5T_STRING'
    'ContextInfo' 'H5T_COMPOUND'
    'Data' 'H5T_COMPOUND'

Subject: hdf5 import hangs with hdf5read

From: John

Date: 27 Apr, 2011 12:32:05

Message: 2 of 3

Hi Stijn,

If it's an H5T_COMPOUND class, then I would probably recommend using the low level interface, but it sounds like there is an issue there as well. I'll contact you off-line to give you details on how to transfer the file to us.


"Stijn " <stijn.boschker@mapperlithography.com> wrote in message <ip8h14$bcc$1@fred.mathworks.com>...
> I have a hdf5 file that I want to import into Matlab. It contains 1 dataset. With structure as shown below.
>
> The standard hdf5read function 'hangs':
>
> data = hdf5read(fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Name)
>
> CPU goes to 50% and the MEM usage of Matlab just keeps increasing and increasing. After 10 minutes it still is hanging.
>
> the use of the 'low level' functions does return a structure data that has fields for all relevant data. However all field should be vectors with length 4867. The first entry of this vector is 'nonsense' and all other entries are 0. This is the case for all fields in the structure data.
>
> fileinfo = hdf5info('1342.hdf5')
> fileID = H5F.open('1342.hdf5', 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
> dataID = H5D.open(fileID, '/Logging/WPS/Control Platform/TracingData/v01');
> data = H5D.read(dataID, 'H5ML_DEFAULT', 'H5S_ALL', 'H5S_ALL', 'H5P_DEFAULT')
>
> What goes wrong? Can I import the data other 'low level' functions? Could the structure of the hdf file be a problem? It is a H5T_COMPOUND class
>
> I use MATLAB Version 7.5.0.342 (R2007b)
>
> I can supply you the used hdf5 file.
>
> Kind regards,
> Stijn.
>
> --------------------------------------------------------------------------------------------------------------------
> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets
>
> ans =
>
> Filename: '1342.hdf5'
> Name: '/Logging/WPS/Control Platform/TracingData/v01'
> Rank: 1
> Datatype: [1x1 struct]
> Dims: 4867
> MaxDims: -1
> Layout: 'chunked'
> Attributes: [1x53 struct]
> Links: []
> Chunksize: []
> FillValue: {}
>
> >> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype
>
> ans =
>
> Name: []
> Class: 'H5T_COMPOUND'
> Elements: {3x2 cell}
>
> >> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype.Elements
>
> ans =
>
> 'InstanceID' 'H5T_STRING'
> 'ContextInfo' 'H5T_COMPOUND'
> 'Data' 'H5T_COMPOUND'

Subject: hdf5 import hangs with hdf5read

From: John

Date: 2 May, 2011 21:01:05

Message: 3 of 3

As a follow-up, the issue with the H5D.read routine is a known issue with certain complicated complex compound datatypes and was fixed in R2009a. Customers may consult http://www.mathworks.com/support/bugreports/367380 for a patch and further information.


"John " <com.works.math@evans.john> wrote in message <ip92c5$hu3$1@fred.mathworks.com>...
> Hi Stijn,
>
> If it's an H5T_COMPOUND class, then I would probably recommend using the low level interface, but it sounds like there is an issue there as well. I'll contact you off-line to give you details on how to transfer the file to us.
>
>
> "Stijn " <stijn.boschker@mapperlithography.com> wrote in message <ip8h14$bcc$1@fred.mathworks.com>...
> > I have a hdf5 file that I want to import into Matlab. It contains 1 dataset. With structure as shown below.
> >
> > The standard hdf5read function 'hangs':
> >
> > data = hdf5read(fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Name)
> >
> > CPU goes to 50% and the MEM usage of Matlab just keeps increasing and increasing. After 10 minutes it still is hanging.
> >
> > the use of the 'low level' functions does return a structure data that has fields for all relevant data. However all field should be vectors with length 4867. The first entry of this vector is 'nonsense' and all other entries are 0. This is the case for all fields in the structure data.
> >
> > fileinfo = hdf5info('1342.hdf5')
> > fileID = H5F.open('1342.hdf5', 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
> > dataID = H5D.open(fileID, '/Logging/WPS/Control Platform/TracingData/v01');
> > data = H5D.read(dataID, 'H5ML_DEFAULT', 'H5S_ALL', 'H5S_ALL', 'H5P_DEFAULT')
> >
> > What goes wrong? Can I import the data other 'low level' functions? Could the structure of the hdf file be a problem? It is a H5T_COMPOUND class
> >
> > I use MATLAB Version 7.5.0.342 (R2007b)
> >
> > I can supply you the used hdf5 file.
> >
> > Kind regards,
> > Stijn.
> >
> > --------------------------------------------------------------------------------------------------------------------
> > fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets
> >
> > ans =
> >
> > Filename: '1342.hdf5'
> > Name: '/Logging/WPS/Control Platform/TracingData/v01'
> > Rank: 1
> > Datatype: [1x1 struct]
> > Dims: 4867
> > MaxDims: -1
> > Layout: 'chunked'
> > Attributes: [1x53 struct]
> > Links: []
> > Chunksize: []
> > FillValue: {}
> >
> > >> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype
> >
> > ans =
> >
> > Name: []
> > Class: 'H5T_COMPOUND'
> > Elements: {3x2 cell}
> >
> > >> fileinfo.GroupHierarchy.Groups.Groups.Groups.Groups.Datasets.Datatype.Elements
> >
> > ans =
> >
> > 'InstanceID' 'H5T_STRING'
> > 'ContextInfo' 'H5T_COMPOUND'
> > 'Data' 'H5T_COMPOUND'

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com