32#ifndef eman__hdfio2_h__
33#define eman__hdfio2_h__ 1
43#ifndef __STDC_LIMIT_MACROS
44 #define __STDC_LIMIT_MACROS 1
46#ifndef __STDC_LIMIT_MACROS
47 #define __STDC_CONSTANT_MACROS 1
67 class HdfIO2 :
public ImageIO
70 explicit HdfIO2(
const string & fname, IOMode rw_mode = READ_ONLY);
74 static bool is_valid(
const void *first_block);
76 bool is_single_image_format()
const
92 int get_num_dataset();
93 vector < int >get_image_indices();
102 int write_attr(hid_t loc,
const char *name, EMObject obj);
109 static EMObject read_attr(hid_t attr);
112 int read_data_8bit(
unsigned char *data,
int image_index = 0,
const Region * area = 0,
bool is_3d =
false,
float minval = 0.0f,
float maxval = 0.0f);
116 hid_t get_fileid()
const {
return file;}
135 int erase_header(
int image_index);
#define DEFINE_IMAGEIO_FUNC
DEFINE_IMAGEIO_FUNC declares the functions that needs to be implemented by any subclass of ImageIO.