39 std::ostream &
out = *(h5Info.
out);
50 H5Gget_objinfo(objId, name, 0, &statbuf);
57 out <<
" SYM_LINK:\n";
65 grpid = H5Gopen(objId,name, H5P_DEFAULT);
66 err = H5Gget_num_objs(grpid, &nobj);
75 dsid = H5Dopen(objId, name, H5P_DEFAULT);
79 filespace = H5Dget_space(dsid);
80 rank = H5Sget_simple_extent_dims(filespace, dims, NULL);
82 for (
int k = 0;
k < rank-1; ++
k)
83 out << dims[
k] <<
", ";
85 out << dims[rank-1] <<
"}\n";
89 out <<
" Data type:\n";
104 std::map<String, H5infoProvider >
m;
105 m[
"NXtomo"] = std::make_pair(
MISTRAL,
"/NXtomo/instrument/sample/data");
106 m[
"TomoNormalized"] = std::make_pair(
MISTRAL,
"/TomoNormalized/TomoNormalized");
107 m[
"MDF"] = std::make_pair(
EMAN,
"/MDF/images/%i/image");
113 const H5::FileAccPropList& access_plist)
115 if ( isHdf5(name.c_str()) )
116 H5::H5File::openFile(name.c_str(), flags, access_plist);
127 dataset = openDataSet(dsname);
129 catch (H5::Exception &h5e)
143 dataset = openDataSet(dsname);
145 catch (H5::Exception &h5e)
149 "does not exist in file %s.", dsname, this->getFileName().c_str()));
155 H5::DataSpace filespace = dataset.getSpace();
158 if (filespace.getSimpleExtentNdims()!= 1 )
160 "more than 1 dimension", dsname));
164 filespace.getSimpleExtentDims(dim);
174 filespace.selectHyperslab( H5S_SELECT_SET, dim, offset );
179 H5::DataSpace memspace(1, dim);
182 dataset.read(
MATRIX1D_ARRAY(data), H5::PredType::NATIVE_DOUBLE, memspace, filespace);
206 size_t maxSize = 1024;
207 char groupName[1024];
213 gid = H5Gopen(fhdf5,
"/", H5P_DEFAULT);
215 len = H5Iget_name(gid, groupName, maxSize);
220 len = H5Gget_objname_by_idx(gid, 0, memName, maxSize);
224 typedef std::map<String, H5infoProvider >::const_iterator it_type;
228 if ( strcmp(memName,it->first.c_str() ) == 0 )
232 return std::make_pair(
NONE ,
"");
void showTree(std::ostream &out=std::cout)
#define REPORT_ERROR(nerr, ErrormMsg)
void openFile(const H5std_string &name, unsigned int flags, const H5::FileAccPropList &access_plist=H5::FileAccPropList::DEFAULT)
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
bool checkDataset(const char *dsname) const
Incorrect argument received.
#define MATRIX1D_ARRAY(v)
String formatString(const char *format,...)
void resizeNoCopy(int Xdim)
int getDataset(const char *dsname, Matrix1D< double > &data, bool reportError=true) const