本文整理汇总了C++中h5::Group类的典型用法代码示例。如果您正苦于以下问题:C++ Group类的具体用法?C++ Group怎么用?C++ Group使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Group类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: mappingDataspace
H5::DataSet CompartmentReportHDF5::_createDataset( const uint32_t gid,
const size_t compCount )
{
LBASSERT( compCount > 0 );
LBASSERT( !_reportName.empty( ));
std::ostringstream neuronName;
neuronName << "a" << gid;
H5::Group neuronGroup = _file.createGroup( neuronName.str().c_str( ));
H5::Group reportGroup = neuronGroup.createGroup( _reportName );
const int dims = 2;
const size_t numSteps = (getEndTime() - getStartTime()) / getTimestep();
const hsize_t mappingDim[dims] = { 1, compCount };
const hsize_t dataDim[dims] = { numSteps, compCount };
LBASSERT( numSteps > 0 );
H5::DataSpace mappingDataspace( dims, mappingDim );
H5::DataSpace dataDataspace( dims, dataDim );
H5::DataSet mappingDataset = reportGroup.createDataSet(
mappingDatasetName, H5::PredType::NATIVE_FLOAT, mappingDataspace );
H5::DataSet dataDataset = reportGroup.createDataSet( dataDatasetName,
H5::PredType::NATIVE_FLOAT, dataDataspace );
_datas[gid] = dataDataset;
_createMappingAttributes( mappingDataset );
_createDataAttributes( dataDataset );
return mappingDataset;
}
开发者ID:adevress,项目名称:Brion,代码行数:33,代码来源:compartmentReportHDF5.cpp
示例2:
int Channel::read_state_from_hdf5(H5::H5File & H5StateFile, const string & rootStr){
clear_data();
// read waveform data
waveform_ = h5array2vector<float>(&H5StateFile, rootStr + "/waveformLib", H5::PredType::NATIVE_INT16);
// load state information
H5::Group tmpGroup = H5StateFile.openGroup(rootStr);
offset_ = h5element2element<float>("offset",&tmpGroup, H5::PredType::NATIVE_FLOAT);
scale_ = h5element2element<float>("scale",&tmpGroup, H5::PredType::NATIVE_FLOAT);
enabled_ = h5element2element<bool>("enabled",&tmpGroup, H5::PredType::NATIVE_UINT);
trigDelay_ = h5element2element<int>("trigDelay",&tmpGroup, H5::PredType::NATIVE_INT);
//Load the linklist data
//First figure our how many banks there are from the attribute
tmpGroup = H5StateFile.openGroup(rootStr + "/linkListData");
USHORT numBanks;
numBanks = h5element2element<USHORT>("numBanks",&tmpGroup, H5::PredType::NATIVE_UINT16);
tmpGroup.close();
std::ostringstream tmpStream;
//Now loop over the number of banks found and add the bank
for (USHORT bankct=0; bankct<numBanks; bankct++){
LLBank bank;
tmpStream.str(rootStr);
tmpStream << "/linkListData/bank" << bankct+1;
FILE_LOG(logDEBUG) << "Reading State Bank: " << bankct+1 << " from hdf5";
bank.read_state_from_hdf5( H5StateFile, tmpStream.str());
// banks_.push_back(bank);
}
return 0;
}
开发者ID:BBN-Q,项目名称:libaps,代码行数:31,代码来源:Channel.cpp
示例3:
/**
* TODO
* Retrieves the number of global attributes in the selected file. This is useful for iterating over all
* available global attributes.
* @return The number of global attributes stored in the selected file.
*/
int HDF5FileReader::getNumberOfGlobalAttributes()
{
long num_attributes;
H5::Group group = this->current_file->openGroup("/");
num_attributes = group.getNumAttrs();
return (int)num_attributes;
}
开发者ID:NeelSavani,项目名称:ccmc-software,代码行数:13,代码来源:HDF5FileReader.cpp
示例4: dataspace
void HDF5IO::saveMatrix(const std::string& GroupName, const std::string& Name,
const ComplexMatrixType& M)
{
try{
H5::CompType ComplexDataType = this->openCompType("complex");
hsize_t Dims[2] = {hsize_t(M.rows()),hsize_t(M.cols())};
H5::DataSpace dataspace(2,Dims);
H5::Group FG = getGroup( GroupName );
try{
H5::Exception::dontPrint();
H5::DataSet dset = FG.openDataSet(Name.c_str());
// dset.extend( Dims );not working
dset.write(M.data(), ComplexDataType);
} catch ( const H5::GroupIException not_found_error ){
H5::DataSet dset = FG.createDataSet(Name.c_str(), ComplexDataType, dataspace);
dset.write(M.data(), ComplexDataType);
} catch ( const H5::DataSetIException error ){
error.printError();
RUNTIME_ERROR("HDF5IO::saveComplexMatrix at ");
}
FG.close();
} catch( const H5::Exception error ){
error.printError();
RUNTIME_ERROR("HDF5IO::saveComplexMatrix at ");
}
}
开发者ID:chengyanlai,项目名称:ExactDiagonalization,代码行数:26,代码来源:hdf5io.cpp
示例5:
void pyne::Material::_load_comp_protocol0(H5::H5File * db, std::string datapath, int row)
{
H5::Group matgroup = (*db).openGroup(datapath);
H5::DataSet nucset;
double nucvalue;
hsize_t matG = matgroup.getNumObjs();
// Iterate over datasets in the group.
for (int matg = 0; matg < matG; matg++)
{
std::string nuckey = matgroup.getObjnameByIdx(matg);
nucset = matgroup.openDataSet(nuckey);
nucvalue = h5wrap::get_array_index<double>(&nucset, row);
if (nuckey == "Mass" || nuckey == "MASS" || nuckey == "mass")
mass = nucvalue;
else
comp[pyne::nucname::zzaaam(nuckey)] = nucvalue;
nucset.close();
};
// Set meta data
name = datapath.substr(datapath.rfind("/")+1, datapath.length());
atoms_per_mol = -1.0;
};
开发者ID:chrisdembia,项目名称:pyne,代码行数:27,代码来源:material.cpp
示例6:
// Stream saving mode
void Bundle2::openSaveStream(const boost::filesystem::path& fileName) {
// Open file for streaming
streamFile_ = new H5::H5File(fileName.string(), H5F_ACC_TRUNC);
storeParameters(*streamFile_);
// Creating basic file structure
H5::Group group = streamFile_->createGroup("/POI");
group.close();
initFrameStream_();
initGeometryStream_();
}
开发者ID:ttnguyenUBP,项目名称:T3DV_backup,代码行数:12,代码来源:bundle2.cpp
示例7: loadStackHDF5
bool loadStackHDF5( const char* fileName, Image4DSimple& img )
{
#ifdef USE_HDF5
H5::Exception::dontPrint();
H5::H5File file( fileName, H5F_ACC_RDONLY );
for ( size_t i = 0; i < file.getObjCount(); i++ )
{
H5std_string name = file.getObjnameByIdx( i );
if ( name == "Channels" )
{
H5::Group channels = file.openGroup( name );
// Grab the attributes
H5::Attribute attr = channels.openAttribute( "width" );
H5::DataType type = attr.getDataType();
long width, height;
attr.read( type, &width );
attr.close();
attr = channels.openAttribute( "height" );
attr.read( type, &height );
attr.close();
int num_channels = 0;
// Count the number of channels
for ( size_t obj = 0; obj < channels.getNumObjs(); obj++ )
if ( channels.getObjTypeByIdx( obj ) == H5G_DATASET )
num_channels++;
int channel_idx = 0;
for ( size_t obj = 0; obj < channels.getNumObjs(); obj++ )
{
if ( channels.getObjTypeByIdx( obj ) == H5G_DATASET )
{
H5std_string ds_name = channels.getObjnameByIdx( obj );
H5::DataSet data = channels.openDataSet( ds_name );
uint8_t* buffer = new uint8_t[ data.getStorageSize() ];
data.read( buffer, data.getDataType() );
QByteArray qbarray( ( const char* )buffer, data.getStorageSize() );
data.close();
if ( !loadIndexedStackFFMpeg( &qbarray, img, channel_idx++, num_channels,
width, height ) )
{
v3d_msg( "Error happened in HDF file reading. Stop. \n", false );
return false;
}
delete [] buffer;
}
}
}
}
#endif
return true;
}
开发者ID:Vaa3D,项目名称:v3d_external,代码行数:59,代码来源:loadV3dFFMpeg.cpp
示例8: ReadAttrib
void ReadAttrib(const std::string& name, T& value, const H5::DataType& dType){
//attributes are clunky in HDF5++ implementation - this is a workaround
//template is required to pass the proper value type
//access the built-in root group and create a new attribute for it.
H5::Group rootGroup = file_->openGroup("/");
H5::Attribute attrib = rootGroup.openAttribute(name);
//write the value to the attribute and close
attrib.read(dType,reinterpret_cast<void*>(&value));
attrib.close();
}
开发者ID:rseal,项目名称:HDF5R,代码行数:12,代码来源:HDF5.hpp
示例9: memspace
/**
* @brief Returns a pointer to a std::vector<float> containing the values of the selected variable
*
* This allocates a new std::vector<float> pointer. Make sure you
* delete the contents when you done using it, or you will have a memory leak.
*
* @param variable
* @return std::vector<float> containing the values of the selected variable.
*/
std::vector<float>* HDF5FileReader::getVariable(const std::string& variable)
{
std::vector<float>* variableData = new std::vector<float>();
if (this->doesVariableExist(variable))
{
//std::cout << "reading " << variable << std::endl;
//get variable number
// long variableNum = this->getVariableID(variable);
//std::cout << "variableNum for " << variable << ": " << variableNum << std::endl;
//get dim sizes
H5::Group group = this->current_file->openGroup("Variables");
//cout << "variable: " << variable << ": " << counts[0] << endl;
H5::DataSet * dataset = new H5::DataSet(group.openDataSet(variable));
H5::DataSpace dataspace = dataset->getSpace();
int rank = dataspace.getSimpleExtentNdims(); //should be 1
hsize_t count[1];
hsize_t offset[1] = {0};
// int ndims = dataspace.getSimpleExtentDims(count, NULL);
//std::cout << "count[0]: " << count[0] << std::endl;
float * buffer = new float[count[0]];
dataspace.selectHyperslab(H5S_SELECT_SET, count, offset);
H5::DataSpace memspace( rank, count);
memspace.selectHyperslab(H5S_SELECT_SET, count, offset);
dataset->read(buffer, H5::PredType::NATIVE_FLOAT, memspace, dataspace);
//std::cout << "after read" << std::endl;
//add data to vector type, and delete original array
variableData->reserve(count[0]);
for (int i = 0; i < count[0]; i++)
{
variableData->push_back(buffer[i]);
}
//std::cout << "after adding to variableData vector" << std::endl;
delete[] buffer;
delete dataset;
//std::cout << "finished reading " << variable << std::endl;
//std::cout << "size of variable: " << variableData.size() << std::endl;
//std::cout << "dimSizes[0]: " << dimSizes[0] << std::endl;
}
return variableData;
}
开发者ID:NeelSavani,项目名称:ccmc-software,代码行数:62,代码来源:HDF5FileReader.cpp
示例10: getGroup
int HDF5IO::loadInt(const std::string& GroupName, const std::string& Name)
{
try{
H5::Group FG = getGroup( GroupName );
H5::DataSet DataSet = FG.openDataSet( Name.c_str());
int x;
DataSet.read(&x,H5::PredType::NATIVE_INT);
FG.close();
return x;
}catch( H5::GroupIException not_found_error ){
RUNTIME_ERROR("No dataset found in loadInt. ");
}
}
开发者ID:chengyanlai,项目名称:ExactDiagonalization,代码行数:13,代码来源:hdf5io.cpp
示例11: loadModel
void FeaturePointsRANSAC::loadModel(std::string modelPath)
{
H5::H5File h5Model;
try {
h5Model = H5::H5File(modelPath, H5F_ACC_RDONLY);
}
catch (H5::Exception& e) {
std::string msg( std::string( "Could not open HDF5 file \n" ) + e.getCDetailMsg() );
throw msg;
}
// Load the Shape
H5::Group modelReconstructive = h5Model.openGroup("/shape/ReconstructiveModel/model");
H5::DataSet dsMean = modelReconstructive.openDataSet("./mean");
hsize_t dims[1];
dsMean.getSpace().getSimpleExtentDims(dims, NULL); // dsMean.getSpace() leaks memory... maybe a hdf5 bug, maybe vlenReclaim(...) could be a fix. No idea.
//H5::DataSpace dsp = dsMean.getSpace();
//dsp.close();
std::cout << "Dims: " << dims[0] << std::endl; // TODO: I guess this whole part could be done A LOT better!
float* testData = new float[dims[0]];
dsMean.read(testData, H5::PredType::NATIVE_FLOAT);
this->modelMeanShp.reserve(dims[0]);
for (unsigned int i=0; i < dims[0]; ++i) {
modelMeanShp.push_back(testData[i]);
}
delete[] testData;
testData = NULL;
dsMean.close();
// // Load the Texture
H5::Group modelReconstructiveTex = h5Model.openGroup("/color/ReconstructiveModel/model");
H5::DataSet dsMeanTex = modelReconstructiveTex.openDataSet("./mean");
hsize_t dimsTex[1];
dsMeanTex.getSpace().getSimpleExtentDims(dimsTex, NULL);
std::cout << "Dims: " << dimsTex[0] << std::endl; // TODO: I guess this whole part could be done A LOT better!
float* testDataTex = new float[dimsTex[0]];
dsMeanTex.read(testDataTex, H5::PredType::NATIVE_FLOAT);
this->modelMeanTex.reserve(dimsTex[0]);
for (unsigned int i=0; i < dimsTex[0]; ++i) {
modelMeanTex.push_back(testDataTex[i]);
}
delete[] testDataTex;
testDataTex = NULL;
dsMeanTex.close();
h5Model.close();
}
开发者ID:herohuyongtao,项目名称:FeatureDetection,代码行数:51,代码来源:FeaturePointsModelRANSAC.cpp
示例12: WriteAttrib
void WriteAttrib(const std::string& name, const T& value,
const H5::DataType& dType, const H5::DataSpace& dSpace){
//attributes are clunky in HDF5++ implementation - this is a workaround
//template is required to pass the proper value type
//access the built-in root group and create a new attribute for it.
H5::Group rootGroup = file_->openGroup("/");
H5::Attribute attrib = rootGroup.createAttribute(name,dType,dSpace);
//write the value to the attribute and close
attrib.write(dType,&value);
attrib.close();
}
开发者ID:rseal,项目名称:HDF5R,代码行数:14,代码来源:HDF5.hpp
示例13: catch
/**
* @param attribute
* @return
*/
bool HDF5FileReader::doesAttributeExist(const std::string& attribute)
{
bool exists = false;
H5::Group group = this->current_file->openGroup("/");
try
{
group.openAttribute(attribute);
exists = true;
} catch (H5::AttributeIException& e)
{
exists = false;
}
return exists;
}
开发者ID:NeelSavani,项目名称:ccmc-software,代码行数:19,代码来源:HDF5FileReader.cpp
示例14: ComplexType
ComplexType HDF5IO::loadComplex(const std::string& GroupName, const std::string& Name)
{
try{
H5::CompType ComplexDataType = this->openCompType("complex");
H5::Group FG = getGroup( GroupName );
H5::DataSet DataSet = FG.openDataSet(Name.c_str());
ComplexType C;
RealType RealImag[2];
DataSet.read(RealImag, ComplexDataType);
FG.close();
return ComplexType(RealImag[0],RealImag[1]);
}catch( H5::GroupIException not_found_error ){
RUNTIME_ERROR("No dataset found in loadComplex. ");
}
}
开发者ID:chengyanlai,项目名称:ExactDiagonalization,代码行数:15,代码来源:hdf5io.cpp
示例15: save_string_attr
void save_string_attr(H5::Group &g, const char *name, const char *val)
{
H5::DataSpace string_space(H5S_SCALAR);
H5::StrType strdatatype(H5::PredType::C_S1, strlen(val)+1);
H5::Attribute attr = g.createAttribute(name, strdatatype, string_space);
attr.write(strdatatype, val);
}
开发者ID:g-manfredi,项目名称:clif,代码行数:7,代码来源:attribute.cpp
示例16: create_dataset
H5::DataSet create_dataset(std::string const & key, Args && ... args) const {
unlink_key_if_exists(key);
H5::DataSet res;
try{ res = _g.createDataSet(key.c_str(), std::forward<Args>(args)...);}
catch (H5::GroupIException const & e){ TRIQS_RUNTIME_ERROR << "Error in creating the dataset "<< key <<"\n H5 error message : \n "<< e.getCDetailMsg(); }
return res;
}
开发者ID:davoudn,项目名称:triqs-1,代码行数:7,代码来源:group.hpp
示例17: open_dataset
/// Open an existing DataSet. Throw it if does not exists
H5::DataSet open_dataset(std::string const & key) const {
if (!has_key(key)) TRIQS_RUNTIME_ERROR << "no dataset "<<key <<" in the group";
H5::DataSet res;
try { res = _g.openDataSet(key.c_str());}
catch (H5::GroupIException const & e){ TRIQS_RUNTIME_ERROR << "Error in opening the dataset "<< key <<"\n H5 error message : \n "<< e.getCDetailMsg(); }
return res;
}
开发者ID:davoudn,项目名称:triqs-1,代码行数:8,代码来源:group.hpp
示例18: writeArray
void writeArray(H5::Group &group, const std::string &name,
const std::string &value) {
StrType dataType(0, value.length() + 1);
DataSpace dataSpace = getDataSpace(1);
H5::DataSet data = group.createDataSet(name, dataType, dataSpace);
data.write(value, dataType);
}
开发者ID:dezed,项目名称:mantid,代码行数:7,代码来源:SaveDiffCal.cpp
示例19: open_group
/// Open a subgroup. Throw it if does not exists
group open_group(std::string const & key) const {
if (!has_key(key)) TRIQS_RUNTIME_ERROR << "no subgroup "<<key <<" in the group";
group res;
try { res = _g.openGroup(key.c_str());}
catch (H5::GroupIException const & e){ TRIQS_RUNTIME_ERROR << "Error in opening the subgroup "<< key <<"\n H5 error message : \n "<< e.getCDetailMsg(); }
return res;
}
开发者ID:davoudn,项目名称:triqs-1,代码行数:8,代码来源:group.hpp
示例20: writeStrAttribute
void writeStrAttribute(H5::Group &location, const std::string &name,
const std::string &value) {
StrType attrType(0, H5T_VARIABLE);
DataSpace attrSpace(H5S_SCALAR);
auto groupAttr = location.createAttribute(name, attrType, attrSpace);
groupAttr.write(attrType, value);
}
开发者ID:dezed,项目名称:mantid,代码行数:7,代码来源:SaveDiffCal.cpp
注:本文中的h5::Group类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论