23 #ifndef FILEIOWRAPPER_HH 24 #define FILEIOWRAPPER_HH 36 #include <blitz/array.h> 61 template<
typename DataT,
typename ElSizeT,
int Dim>
63 blitz::Array<DataT,Dim> &data, blitz::TinyVector<ElSizeT,Dim> &elSize,
64 std::string
const &fileName, std::string
const &dsName,
81 template<
typename DataT,
typename ElSizeT,
int Dim>
83 blitz::Array<DataT,Dim> &data, blitz::TinyVector<ElSizeT,Dim> &elSize,
84 BlitzH5File const &inFile, std::string
const &dsName,
104 template<
typename DataT,
typename ElSizeT,
int Dim>
106 blitz::Array<DataT,Dim> &data, blitz::TinyVector<ElSizeT,Dim-1> &elSize,
107 std::string
const &fileName, std::string
const &dsName,
124 template<
typename DataT,
typename ElSizeT,
int Dim>
126 blitz::Array<DataT,Dim> &data, blitz::TinyVector<ElSizeT,Dim-1> &elSize,
127 BlitzH5File const &inFile, std::string
const &dsName,
169 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
171 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
172 blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
173 std::string
const &fileName, std::string
const &dsName,
174 DataT displayMin, DataT displayMax,
bool throwErrors =
false,
176 std::string
const &dim_interpretation =
"");
214 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
216 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
217 blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
219 DataT displayMin, DataT displayMax,
221 std::string
const &dim_interpretation =
"");
263 template<
typename ElSizeT,
int InnerDim,
int OuterDim>
265 blitz::Array<blitz::TinyVector<unsigned char,InnerDim>,OuterDim>
const &
266 data, blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
267 std::string
const &fileName, std::string
const &dsName,
268 bool throwErrors =
false,
int compression = 0,
270 std::string
const &dim_interpretation =
"");
309 template<
typename ElSizeT,
int InnerDim,
int OuterDim>
311 blitz::Array<blitz::TinyVector<unsigned char,InnerDim>,OuterDim>
const &
312 data, blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
313 BlitzH5File &outFile, std::string
const &dsName,
int compression = 0,
315 std::string
const &dim_interpretation =
"");
358 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
360 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
361 blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
362 std::string
const &fileName, std::string
const &dsName,
363 bool throwErrors =
false,
int compression = 0,
365 std::string
const &dim_interpretation =
"");
405 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
407 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
408 blitz::TinyVector<ElSizeT,OuterDim>
const &elSize,
409 BlitzH5File &outFile, std::string
const &dsName,
int compression = 0,
411 std::string
const &dim_interpretation =
"");
452 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
454 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
455 blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
456 std::string
const &fileName, std::string
const &dsName,
457 DataT displayMin, DataT displayMax,
bool throwErrors =
false,
459 std::string
const &dim_interpretation =
"");
497 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
499 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
500 blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
501 BlitzH5File &outFile, std::string
const &dsName, DataT displayMin,
503 std::string
const &dim_interpretation =
"");
546 template<
typename ElSizeT,
int InnerDim,
int OuterDim>
548 blitz::Array<blitz::TinyVector<unsigned char,InnerDim>,OuterDim>
const &
549 data, blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
550 std::string
const &fileName, std::string
const &dsName,
551 bool throwErrors =
false,
int compression = 0,
553 std::string
const &dim_interpretation =
"");
593 template<
typename ElSizeT,
int InnerDim,
int OuterDim>
595 blitz::Array<blitz::TinyVector<unsigned char,InnerDim>,OuterDim>
const &
596 data, blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
599 std::string
const &dim_interpretation =
"");
642 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
644 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
645 blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
646 std::string
const &fileName, std::string
const &dsName,
647 bool throwErrors =
false,
int compression = 0,
649 std::string
const &dim_interpretation =
"");
689 template<
typename DataT,
typename ElSizeT,
int InnerDim,
int OuterDim>
691 blitz::Array<blitz::TinyVector<DataT,InnerDim>,OuterDim>
const &data,
692 blitz::TinyVector<ElSizeT,OuterDim-1>
const &elSize,
693 BlitzH5File &outFile, std::string
const &dsName,
int compression = 0,
695 std::string
const &dim_interpretation =
"");
736 template<
typename DataT,
typename ElSizeT,
int Dim>
738 blitz::Array<DataT,Dim>
const &data,
739 blitz::TinyVector<ElSizeT,Dim>
const &elSize, std::string
const &fileName,
740 std::string
const &dsName, DataT displayMin, DataT displayMax,
741 bool throwErrors =
false,
int compression = 0,
743 std::string
const &dim_interpretation =
"");
781 template<
typename DataT,
typename ElSizeT,
int Dim>
783 blitz::Array<DataT,Dim>
const &data,
784 blitz::TinyVector<ElSizeT,Dim>
const &elSize,
BlitzH5File &outFile,
785 std::string
const &dsName, DataT displayMin, DataT displayMax,
787 std::string
const &dim_interpretation =
"");
829 template<
typename ElSizeT,
int Dim>
831 blitz::Array<unsigned char,Dim>
const &data,
832 blitz::TinyVector<ElSizeT,Dim>
const &elSize, std::string
const &fileName,
833 std::string
const &dsName,
bool throwErrors =
false,
int compression = 0,
835 std::string
const &dim_interpretation =
"");
877 template<
typename ElSizeT,
int Dim>
879 blitz::Array<unsigned char,Dim>
const &data,
880 blitz::TinyVector<ElSizeT,Dim>
const &elSize,
BlitzH5File &outFile,
881 std::string
const &dsName,
int compression = 0,
883 std::string
const &dim_interpretation =
"");
926 template<
typename DataT,
typename ElSizeT,
int Dim>
928 blitz::Array<DataT,Dim>
const & data,
929 blitz::TinyVector<ElSizeT,Dim>
const &elSize, std::string
const &fileName,
930 std::string
const &dsName,
bool throwErrors =
false,
int compression = 0,
932 std::string
const &dim_interpretation =
"");
975 template<
typename DataT,
typename ElSizeT,
int Dim>
977 blitz::Array<DataT,Dim>
const & data,
978 blitz::TinyVector<ElSizeT,Dim>
const &elSize,
BlitzH5File &outFile,
979 std::string
const &dsName,
int compression = 0,
981 std::string
const &dim_interpretation =
"");
1025 template<
typename DataT,
typename ElSizeT,
int Dim>
1027 blitz::Array<std::complex<DataT>,Dim>
const &data,
1028 blitz::TinyVector<ElSizeT,Dim>
const &elSize, std::string
const &fileName,
1029 std::string
const &dsName,
bool throwErrors =
false,
int compression = 0,
1031 std::string
const &dim_interpretation =
"");
1072 template<
typename DataT,
typename ElSizeT,
int Dim>
1074 blitz::Array<std::complex<DataT>,Dim>
const &data,
1075 blitz::TinyVector<ElSizeT,Dim>
const &elSize,
BlitzH5File &outFile,
1076 std::string
const &dsName,
int compression = 0,
1078 std::string
const &dim_interpretation =
"");
1119 template<
typename DataT,
typename ElSizeT,
int Dim>
1121 blitz::Array<DataT,Dim>
const &data,
1122 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
1123 std::string
const &fileName, std::string
const &dsName, DataT displayMin,
1124 DataT displayMax,
bool throwErrors =
false,
int compression = 0,
1126 std::string
const &dim_interpretation =
"");
1164 template<
typename DataT,
typename ElSizeT,
int Dim>
1166 blitz::Array<DataT,Dim>
const &data,
1167 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
BlitzH5File &outFile,
1168 std::string
const &dsName, DataT displayMin, DataT displayMax,
1170 std::string
const &dim_interpretation =
"");
1210 template<
typename ElSizeT,
int Dim>
1212 blitz::Array<unsigned char,Dim>
const &data,
1213 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
1214 std::string
const &fileName, std::string
const &dsName,
1215 bool throwErrors =
false,
int compression = 0,
1217 std::string
const &dim_interpretation =
"");
1254 template<
typename ElSizeT,
int Dim>
1256 blitz::Array<unsigned char,Dim>
const &data,
1257 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
BlitzH5File &outFile,
1258 std::string
const &dsName,
int compression = 0,
1260 std::string
const &dim_interpretation =
"");
1304 template<
typename DataT,
typename ElSizeT,
int Dim>
1306 blitz::Array<std::complex<DataT>,Dim>
const &data,
1307 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
1308 std::string
const &fileName, std::string
const &dsName,
1309 bool throwErrors =
false,
int compression = 0,
1311 std::string
const &dim_interpretation =
"");
1352 template<
typename DataT,
typename ElSizeT,
int Dim>
1354 blitz::Array<std::complex<DataT>,Dim>
const &data,
1355 blitz::TinyVector<ElSizeT,Dim-1>
const &elSize,
BlitzH5File &outFile,
1356 std::string
const &dsName,
int compression = 0,
1358 std::string
const &dim_interpretation =
"");
1366 template<
typename DataT,
typename ElSizeT,
int Dim>
1368 blitz::TinyVector<ElSizeT,Dim>& ,
1369 const std::string& ,
1370 const std::string& );
1372 template<
typename ElSizeT>
1373 void writeDataset(
const blitz::Array<unsigned char,3>& data,
1374 const blitz::TinyVector<ElSizeT,3>& elSize,
1375 const std::string& fileName,
1376 const std::string& );
1378 template<
typename ElSizeT>
1380 const blitz::TinyVector<ElSizeT,3>& elSize,
1381 const std::string& fileName,
1382 const std::string& );
1384 template<
typename ElSizeT>
1386 const blitz::Array<blitz::TinyVector<unsigned char,3>,3>& data,
1387 const blitz::TinyVector<ElSizeT,3>& elSize,
1388 const std::string& fileName,
1389 const std::string& );
1391 template<
typename DataT,
typename ElSizeT>
1393 const blitz::TinyVector<ElSizeT,3>& elSize,
1394 const std::string& fileName,
1395 const std::string& );
1397 template<
typename DataT,
typename ElSizeT>
1398 void writeDataset(
const blitz::Array<blitz::TinyVector<DataT,3>,3>& data,
1399 const blitz::TinyVector<ElSizeT,3>& elSize,
1400 const std::string& fileName,
1401 const std::string& );
1403 template<
typename DataT,
typename ElSizeT,
int Dim>
1405 const blitz::TinyVector<ElSizeT,Dim>& ,
1406 const std::string& ,
1407 const std::string& );
1411 #include "FileIOWrapper.icc"
Lightweight alternative to libBlitzHDF5 providing its basic functionality.
void readDataset(blitz::Array< DataT, Dim > &data, blitz::TinyVector< ElSizeT, Dim > &elSize, std::string const &fileName, std::string const &dsName, bool throwErrors=false, iRoCS::ProgressReporter *pr=NULL)
Read a scalar n-dimensional dataset with element size.
void writeDataset(blitz::Array< blitz::TinyVector< DataT, InnerDim >, OuterDim > const &data, blitz::TinyVector< ElSizeT, OuterDim > const &elSize, std::string const &fileName, std::string const &dsName, DataT displayMin, DataT displayMax, bool throwErrors=false, int compression=0, iRoCS::ProgressReporter *pr=NULL, std::string const &dim_interpretation="")
Write a vectorial n-dimensional dataset with element size and additional meta-information for dataset...