MATLAB读取hdf文件

1. 显示hdf文件中的数据集以及属性等等信息

2. 读取hdf文件中的数据

3. 读取数据集的属性

4. 创建hdf文件

5. 往新建的hdf中写入数据

6. 给数据集写属性


官方中文文档

 

1. 显示hdf文件中的数据集以及属性等等信息

h5disp('文件名.hdf');
 
 

例如:


 
 
  1. h5disp( 'dataset/sample_A_padded_20160501.hdf');
  2. # 输出:
  3. HDF5 sample_A_padded_20160501.hdf
  4. Group '/'
  5. Attributes:
  6. 'file_format': '0.2'
  7. Group '/annotations'
  8. Attributes:
  9. 'offset': 1520.000000 3644.000000 3644.000000
  10. Dataset 'ids'
  11. Size: 432
  12. MaxSize: 432
  13. Datatype: H5T_STD_U64LE (uint64)
  14. ChunkSize: []
  15. Filters: none
  16. FillValue: 0
  17. Dataset 'locations'
  18. Size: 3x432
  19. MaxSize: 3x432
  20. Datatype: H5T_IEEE_F32LE ( single)
  21. ChunkSize: []
  22. Filters: none
  23. FillValue: 0.000000
  24. Dataset 'types'
  25. Size: 432
  26. MaxSize: 432
  27. Datatype: H5T_STRING
  28. String Length: variable
  29. Padding: H5T_STR_NULLTERM
  30. Character Set: H5T_CSET_UTF8
  31. Character Type: H5T_C_S1
  32. ChunkSize: 432
  33. Filters: deflate( 4)
  34. Group '/annotations/comments'
  35. Dataset 'comments'
  36. Size: 17
  37. MaxSize: 17
  38. Datatype: H5T_STRING
  39. String Length: variable
  40. Padding: H5T_STR_NULLTERM
  41. Character Set: H5T_CSET_UTF8
  42. Character Type: H5T_C_S1
  43. ChunkSize: []
  44. Filters: none
  45. Dataset 'target_ids'
  46. Size: 17
  47. MaxSize: 17
  48. Datatype: H5T_STD_U64LE (uint64)
  49. ChunkSize: []
  50. Filters: none
  51. FillValue: 0
  52. Group '/annotations/presynaptic_site'
  53. Dataset 'partners'
  54. Size: 2x216
  55. MaxSize: 2x216
  56. Datatype: H5T_STD_U64LE (uint64)
  57. ChunkSize: []
  58. Filters: none
  59. FillValue: 0
  60. Group '/volumes'
  61. Dataset 'raw'
  62. Size: 3072x3072x200
  63. MaxSize: 3072x3072x200
  64. Datatype: H5T_STD_U8LE (uint8)
  65. ChunkSize: 192x96x7
  66. Filters: deflate( 4)
  67. Attributes:
  68. 'resolution': 40.000000 4.000000 4.000000
  69. Group '/volumes/labels'
  70. Dataset 'clefts'
  71. Size: 1250x1250x125
  72. MaxSize: 1250x1250x125
  73. Datatype: H5T_STD_U64LE (uint64)
  74. ChunkSize: 79x79x4
  75. Filters: deflate( 4)
  76. Attributes:
  77. 'resolution': 40.000000 4.000000 4.000000
  78. 'offset': 1520.000000 3644.000000 3644.000000
  79. Dataset 'neuron_ids'
  80. Size: 1250x1250x125
  81. MaxSize: 1250x1250x125
  82. Datatype: H5T_STD_U64LE (uint64)
  83. ChunkSize: 79x79x4
  84. Filters: deflate( 4)
  85. Attributes:
  86. 'resolution': 40.000000 4.000000 4.000000
  87. 'offset': 1520.000000 3644.000000 3644.000000

 

2. 读取hdf文件中的数据

data = h5read('文件名.hdf', '数据集名');
 
 

例如:

raw = h5read('dataset/sample_A_padded_20160501.hdf', '/volumes/raw');
 
 

 

3. 读取数据集的属性

attribute = h5readatt('文件名.hdf', '数据集名', '属性名');
 
 

例如:

resolution = h5readatt('dataset/sample_A_padded_20160501.hdf', '/volumes/raw', 'resolution');
 
 

 

4. 创建hdf文件

h5create('文件名.hdf', '数据集名', 数据大小, 'Datatype',  '数据类型');
 
 

例如:

h5create('downs_dataset/downsample_A_padded_20160501.hdf', '/volumes/raw', size_downs_raw, 'Datatype',  'uint8');
 
 

 

5. 往新建的hdf中写入数据

h5write('文件名.hdf', '数据集名', 数据变量);
 
 

例如:

h5write('downs_dataset/downsample_A_padded_20160501.hdf', '/volumes/raw', downs_raw);
 
 

 

6. 给数据集写属性

h5writeatt('文件名.hdf', '数据集名', '属性名', 属性变量);
 
 

例如:

h5writeatt('downs_dataset/downsample_A_padded_20160501.hdf', '/volumes/raw', 'resolution', resolution);
 
 

 

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值