您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ H5Sget_simple_extent_ndims函数代码示例

51自学网 2021-06-01 21:20:25
  C++
这篇教程C++ H5Sget_simple_extent_ndims函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中H5Sget_simple_extent_ndims函数的典型用法代码示例。如果您正苦于以下问题:C++ H5Sget_simple_extent_ndims函数的具体用法?C++ H5Sget_simple_extent_ndims怎么用?C++ H5Sget_simple_extent_ndims使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了H5Sget_simple_extent_ndims函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char *argv[]){  float *two_theta = NULL;  int *counts = NULL,  rank, i;  hid_t fid, dataid, fapl;  hsize_t *dim = NULL;  hid_t datatype, dataspace, memdataspace;  /*   * Open file, thereby enforcing proper file close   * semantics   */  fapl = H5Pcreate(H5P_FILE_ACCESS);  H5Pset_fclose_degree(fapl,H5F_CLOSE_STRONG);  fid = H5Fopen("NXfile.h5", H5F_ACC_RDONLY,fapl);    H5Pclose(fapl);  /*   * open and read the counts dataset   */  dataid = H5Dopen(fid,"/scan/data/counts");  dataspace = H5Dget_space(dataid);  rank = H5Sget_simple_extent_ndims(dataspace);  dim = malloc(rank*sizeof(hsize_t));  H5Sget_simple_extent_dims(dataspace, dim, NULL);  counts = malloc(dim[0]*sizeof(int));  memdataspace = H5Tcopy(H5T_NATIVE_INT32);  H5Dread(dataid,memdataspace,H5S_ALL, H5S_ALL,H5P_DEFAULT, counts);  H5Dclose(dataid);  H5Sclose(dataspace);  H5Tclose(memdataspace);  /*   * open and read the two_theta data set   */  dataid = H5Dopen(fid,"/scan/data/two_theta");  dataspace = H5Dget_space(dataid);  rank = H5Sget_simple_extent_ndims(dataspace);  dim = malloc(rank*sizeof(hsize_t));  H5Sget_simple_extent_dims(dataspace, dim, NULL);  two_theta = malloc(dim[0]*sizeof(float));  memdataspace = H5Tcopy(H5T_NATIVE_FLOAT);  H5Dread(dataid,memdataspace,H5S_ALL, H5S_ALL,H5P_DEFAULT, two_theta);  H5Dclose(dataid);  H5Sclose(dataspace);  H5Tclose(memdataspace);  H5Fclose(fid);  for(i = 0; i < dim[0]; i++){    printf("%8.2f %10d/n", two_theta[i], counts[i]);  }  }
开发者ID:Acidburn0zzz,项目名称:definitions,代码行数:56,


示例2: nh5sselect_elements_c

int_fnh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements,  hsize_t_f *coord){  int ret_value = -1;  hid_t c_space_id;  H5S_seloper_t c_op;  herr_t  status;  int rank;  int i, j;  hsize_t *c_coord;  size_t c_nelements;/*  if (*op != H5S_SELECT_SET_F) return ret_value;*/  if (*op != H5S_SELECT_SET) return ret_value;  c_op =  H5S_SELECT_SET;  c_space_id = *space_id;  rank = H5Sget_simple_extent_ndims(c_space_id);  c_coord = malloc(sizeof(hsize_t)*rank*(*nelements));  if(!c_coord) return ret_value;  for (i=0; i< *nelements; i++) {      for (j = 0; j < rank; j++) {          c_coord[j+i*rank] = (hsize_t)coord[j + i*rank];      }  }  c_nelements = *nelements;  status = H5Sselect_elements(c_space_id, c_op, c_nelements, (const hsize_t **)c_coord);  if ( status >= 0  ) ret_value = 0;  HDfree(c_coord);  return ret_value;}
开发者ID:einon,项目名称:affymetrix-power-tools,代码行数:34,


示例3: nh5sget_select_elem_pointlist_c

int_fnh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,                                  hsize_t_f * numpoints, hsize_t_f * buf){  int ret_value = -1;  hid_t c_space_id;  hsize_t c_num_points;  hsize_t c_startpoint,* c_buf;  int i, rank;  c_space_id = *space_id;  c_num_points = (hsize_t)* numpoints;  rank = H5Sget_simple_extent_ndims(c_space_id);  if (rank < 0 ) return ret_value;  c_startpoint = (hsize_t)*startpoint;  c_buf = (hsize_t*)malloc(sizeof(hsize_t)*(size_t)(c_num_points*rank));  if (!c_buf) return ret_value;  ret_value = H5Sget_select_elem_pointlist(c_space_id, c_startpoint,                                            c_num_points, c_buf);  for (i = c_num_points*rank-1; i >= 0; i--) {      buf[i] = (hsize_t_f)(c_buf[i]+1);  }  if (ret_value  >= 0  ) ret_value = 0;  HDfree(c_buf);  return ret_value;}
开发者ID:einon,项目名称:affymetrix-power-tools,代码行数:31,


示例4: nh5sget_select_hyper_blocklist_c

int_fnh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock,                                  hsize_t_f * num_blocks, hsize_t_f * buf){  int ret_value = -1;  hid_t c_space_id;  hsize_t c_num_blocks;  hsize_t i;  int rank;  hsize_t c_startblock, *c_buf;  c_space_id = *space_id;  c_num_blocks = * num_blocks;  rank = H5Sget_simple_extent_ndims(c_space_id);  if (rank < 0 ) return ret_value;  c_startblock = (hsize_t)*startblock;  c_buf = (hsize_t*)malloc(sizeof(hsize_t)*(size_t)(c_num_blocks*2*rank));  if (!c_buf) return ret_value;  ret_value = H5Sget_select_hyper_blocklist(c_space_id, c_startblock,                                            c_num_blocks, c_buf);  for(i = 0; i < c_num_blocks*2*rank; i++)  {      buf[i] = (hsize_t_f)c_buf[i] +1;  }  HDfree(c_buf);  if (ret_value  >= 0  ) ret_value = 0;  return ret_value;}
开发者ID:einon,项目名称:affymetrix-power-tools,代码行数:32,


示例5: mgl_datac_read_hdf

//-----------------------------------------------------------------------------int MGL_EXPORT mgl_datac_read_hdf(HADT d,const char *fname,const char *data){	hid_t hf,hd,hs;	hsize_t dims[4];	long rank, res = H5Fis_hdf5(fname);	if(res<=0)	{	return false;	}	hf = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT);	if(hf<0)	return false;	hd = H5Dopen(hf,data);	if(hd<0)	return false;	hs = H5Dget_space(hd);	rank = H5Sget_simple_extent_ndims(hs);	if(rank>0 && rank<=3)	{		H5Sget_simple_extent_dims(hs,dims,0);		if(rank==2)			{	dims[2]=dims[0];	dims[0]=dims[1]=1;	}		else if(rank==3)	{	dims[2]=dims[1];	dims[1]=dims[0];	dims[0]=1;	}//		else if(rank>3)		continue;		mgl_datac_create(d,dims[2],dims[1],dims[0]);#if MGL_USE_DOUBLE		H5Dread(hd, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a);#else		H5Dread(hd, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a);#endif	}	H5Sclose(hs);	H5Dclose(hd);	H5Fclose(hf);	return true;}
开发者ID:defdef,项目名称:iup,代码行数:28,


示例6: read_vector

int read_vector(hid_t loc_id,const char *name,T *value,int len){  hid_t space_id,dset_id,dti_file;  int hdferr,ndims;  hsize_t dims[2], maxdims[2];  printf("Attempting to read vector '%s'/n",name);  dset_id= H5Dopen2(loc_id,name,H5P_DEFAULT);  space_id= H5Dget_space(dset_id);  ndims= H5Sget_simple_extent_ndims(space_id);  if(ndims!=1) return -1;  H5Sget_simple_extent_dims(space_id,dims,maxdims);  if(dims[0]>len) return -1;  hdferr= H5Dread(dset_id,TypeTraits<T>::hdf5Type(),H5S_ALL,H5S_ALL,H5P_DEFAULT,value);  if(hdferr<0) return -1;  H5Sclose(space_id);  H5Dclose(dset_id);  return dims[0];}
开发者ID:sidjana,项目名称:lsms-shmem,代码行数:25,


示例7: hdataset

cv::Mat hdf5file::load(const std::string& name){	hdf5dataset hdataset(*this, name);	hid_t dataset_id = hdataset.handle();	hid_t space_id = H5Dget_space(dataset_id);	hid_t type_id = hdataset.type();	//hid_t type_id = H5Tget_native_type(type_id_nnative, H5T_DIR_DEFAULT);	hsize_t rank = H5Sget_simple_extent_ndims(space_id);	std::vector<hsize_t> dims_out(rank);	H5Sget_simple_extent_dims(space_id, &(dims_out[0]), NULL);	//due to different types, the dimension sizes are copied in a vector of different type	std::vector<int> dims_out_i(rank);	std::copy(dims_out.begin(), dims_out.end(), dims_out_i.begin());	int channels = 1;	if(rank == 3 && dims_out[rank-1] <= 4)	{		channels = dims_out[rank-1];		--rank;	}	cv::Mat dataset = cv::Mat(rank, &(dims_out_i[0]), CV_MAKETYPE(h5types::typeid_to_ocv(type_id), channels));	hdataset.read(dataset.data);	H5Sclose(space_id);	return dataset;}
开发者ID:klindworth,项目名称:cvwidgets,代码行数:34,


示例8: h5dset_extent_c

int_fh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)/******/{  hid_t c_space_id;  hsize_t c_dims[H5S_MAX_RANK];  int rank;  int i;  int status;  int ret_value = -1;  if((c_space_id = H5Dget_space((hid_t)*dset_id)) < 0) return ret_value;  rank = H5Sget_simple_extent_ndims(c_space_id);  H5Sclose(c_space_id);  if(rank < 0 ) return ret_value;  /*   * Reverse dimensions due to C-FORTRAN storage order.   */  for(i = 0; i < rank; i++)      c_dims[i] = (hsize_t)dims[rank - i - 1];  status = H5Dset_extent((hid_t)*dset_id, c_dims);  if(status >= 0)      ret_value = 0;  return ret_value;}
开发者ID:ElaraFX,项目名称:hdf5,代码行数:30,


示例9: H5Aget_type

// JRC: This fat interface may not scale?  What about// scalar attributes?herr_t VsH5Attribute::getDoubleVectorValue(std::vector<double>* dvals) {  herr_t err = 0;  size_t npoints;  hid_t atype = H5Aget_type(getId());  H5T_class_t type = H5Tget_class(atype);  hid_t aspace = H5Aget_space(getId());  size_t rank = H5Sget_simple_extent_ndims(aspace);  if (type != H5T_FLOAT) {    VsLog::warningLog() <<"VsH5Attribute::getDoubleVectorValue() - Requested attribute " <<getShortName()         <<" is not a floating point vector." <<std::endl;    dvals->resize(0);    return -1;  }    if (rank == 0) {    dvals->resize(1);    double v;    err = H5Aread(getId(), H5T_NATIVE_DOUBLE, &v);    (*dvals)[0] = v;    return err;  }    // rank>0  npoints = H5Sget_simple_extent_npoints(aspace);  double* v = new double[npoints];  err = H5Aread(getId(), H5T_NATIVE_DOUBLE, v);  dvals->resize(npoints);  for (size_t i = 0; i<npoints; ++i) {    (*dvals)[i] = v[i];  }  delete [] v;    return err;}
开发者ID:HarinarayanKrishnan,项目名称:VisIt26RC_Trunk,代码行数:37,


示例10: luaC_h5_get_ndims

int luaC_h5_get_ndims(lua_State *L){  const char *dsetnm = luaL_checkstring(L, 1);  if (PresentFile < 0) {    luaL_error(L, "no open file");  }  hid_t dset = H5Dopen(PresentFile, dsetnm, H5P_DEFAULT);  if (dset < 0) {    luaL_error(L, "no data set named %s", dsetnm);  }  hid_t fspc = H5Dget_space(dset);  size_t Nd  = H5Sget_simple_extent_ndims(fspc);  hsize_t *dims = (hsize_t*) malloc(Nd*sizeof(hsize_t));  int *dims_int =     (int*) malloc(Nd*sizeof(int));  H5Sget_simple_extent_dims(fspc, dims, NULL);  int i;  for (i=0; i<Nd; ++i) {    dims_int[i] = dims[i];  }  _pusharray_i(L, dims_int, Nd);  H5Sclose(fspc);  H5Dclose(dset);  free(dims);  free(dims_int);  return 1;}
开发者ID:jzrake,项目名称:luview,代码行数:31,


示例11: h5_value_doubles

void h5_value_doubles(hid_t file_id, char *group, char *name, double **values,	int *numValues){  int kk;  hid_t group_id = H5Gopen(file_id, group, H5P_DEFAULT);  hid_t data_id = H5Dopen(group_id, name, H5P_DEFAULT);  hid_t data_space = H5Dget_space(data_id);  int rank = H5Sget_simple_extent_ndims(data_space);  hsize_t dims[H5S_MAX_RANK], maxdim[H5S_MAX_RANK];  H5Sget_simple_extent_dims(data_space, dims, maxdim);  hid_t data_type = H5Dget_type(data_id);  H5T_class_t data_class = H5Tget_native_type(data_type, H5T_DIR_DEFAULT);  size_t data_size = H5Tget_size(data_class);    hsize_t elements = 1;  for (kk=0; kk<rank; kk++)    elements *= dims[kk];  void *buf = (void *) MALLOC((size_t)(elements*data_size));  H5Dread(data_id, data_class, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);  *values = buf;  *numValues = elements;  H5Tclose(data_type);  H5Tclose(data_class);  H5Sclose(data_space);  H5Dclose(data_id);  H5Gclose(group_id); }
开发者ID:khogenso,项目名称:ASF_MapReady,代码行数:26,


示例12: nh5sget_simple_extent_dims_c

int_fnh5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims){  int ret_value = -1;  hid_t c_space_id;  hsize_t *c_dims;  hsize_t *c_maxdims;  int status;  int rank;  int i;  c_space_id = *space_id;  rank = H5Sget_simple_extent_ndims(c_space_id);  if (rank < 0) return ret_value;  c_dims = malloc(sizeof(hsize_t)*rank);  if (!c_dims) return ret_value;  c_maxdims = malloc(sizeof(hsize_t)*rank);  if (!c_maxdims) return ret_value;  status = H5Sget_simple_extent_dims(c_space_id, c_dims, c_maxdims);  /*   * Reverse dimensions due to C-FORTRAN storage order.   */  for (i=0; i < rank; i++) {      dims[rank - i - 1] = (hsize_t_f)c_dims[i];      maxdims[rank - i - 1] = (hsize_t_f)c_maxdims[i];  }  if ( status >= 0  ) ret_value = rank;  HDfree(c_dims);  HDfree(c_maxdims);  return ret_value;}
开发者ID:MattNapsAlot,项目名称:rHDF5,代码行数:35,


示例13: nh5sget_select_bounds_c

int_fnh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end){  int ret_value = -1;  hid_t c_space_id;  hsize_t* c_start, *c_end;  int i, rank;  c_space_id = *space_id;  rank = H5Sget_simple_extent_ndims(c_space_id);  if (rank < 0 ) return ret_value;  c_start =(hsize_t*) malloc(sizeof(hsize_t)*rank);  if (!c_start) return ret_value;  c_end = (hsize_t*)malloc(sizeof(hsize_t)*rank);  if(!c_end) return ret_value;  ret_value = H5Sget_select_bounds(c_space_id, c_start, c_end);  for(i = 0; i < rank; i++)  {    start[i] = (hsize_t_f)(c_start[rank-i-1]+1);    end[i] = (hsize_t_f)(c_end[rank-i-1]+1);  }  if (ret_value  >= 0  ) ret_value = 0;  HDfree(c_start);  HDfree(c_end);  return ret_value;}
开发者ID:MattNapsAlot,项目名称:rHDF5,代码行数:31,


示例14: H5Dget_space

//hyperslab writevoid hdf5IoDataModel::writeHyperslab(const QString &dataset_name, DataType type, quint64 *offset, quint64 *stride, quint64 *count, quint64 *block, quint64 *values_shape, void *values){    hid_t dataset_id = d->datasetId(dataset_name);    //the selection within the file dataset's dataspace    hid_t file_dataspace = H5Dget_space(dataset_id);    if(H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, offset, stride, count, block)<0) {        dtkError() << "ERROR selecting hyperslab" << dataset_name;    }    //set the dimensions of values. memory dataspace and the selection within it    hid_t values_dataspace = H5Screate_simple(H5Sget_simple_extent_ndims(file_dataspace), values_shape, NULL);    switch(type) {    case dtkIoDataModel::Int:        // TODO put d->prop_list_id instead of H5P_DEFAULT ????????        d->status = H5Dwrite(dataset_id, H5T_NATIVE_INT, values_dataspace, file_dataspace, H5P_DEFAULT, values);        break;    case dtkIoDataModel::LongLongInt:        d->status = H5Dwrite(dataset_id, H5T_NATIVE_LLONG, values_dataspace, file_dataspace, H5P_DEFAULT, values);        break;    case dtkIoDataModel::Double:        d->status = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, values_dataspace, file_dataspace, H5P_DEFAULT, values);        break;    default:        dtkError() << "write method: Datatype not supported";    };    if(d->status<0) {        dtkError() << "error writing hyperslab" << dataset_name;    }    H5Sclose(file_dataspace);    H5Sclose(values_dataspace);}
开发者ID:d-tk,项目名称:dtk-plugins-io,代码行数:36,


示例15: ReadDataSetDimensions

//-*****************************************************************************// Get the dimensions directly off of the dataspace on the dataset// This isn't suitable for string and wstringvoidReadDataSetDimensions( hid_t iParent,                       const std::string &iName,                       hsize_t iExtent,                       Dimensions &oDims ){    // Open the data set.    hid_t dsetId = H5Dopen( iParent, iName.c_str(), H5P_DEFAULT );    ABCA_ASSERT( dsetId >= 0, "Cannot open dataset: " << iName );    DsetCloser dsetCloser( dsetId );    // Read the data space.    hid_t dspaceId = H5Dget_space( dsetId );    ABCA_ASSERT( dspaceId >= 0, "Could not get dataspace for dataSet: "                 << iName );    DspaceCloser dspaceCloser( dspaceId );    H5S_class_t dspaceClass = H5Sget_simple_extent_type( dspaceId );    if ( dspaceClass == H5S_SIMPLE )    {        // Get the dimensions        int rank = H5Sget_simple_extent_ndims( dspaceId );        ABCA_ASSERT( rank == 1, "H5Sget_simple_extent_ndims() must be 1." );        hsize_t hdim = 0;        rank = H5Sget_simple_extent_dims( dspaceId, &hdim, NULL );        oDims.setRank(1);        oDims[0] = hdim / iExtent;    }    else    {        oDims.setRank(1);        oDims[0] = 0;    }}
开发者ID:AWhetter,项目名称:alembic,代码行数:38,


示例16: H5Sget_simple_extent_ndims

inline size_t DataSpace::getNumberDimensions() const{    const int ndim = H5Sget_simple_extent_ndims(_hid);    if(ndim < 0){        HDF5ErrMapper::ToException<DataSetException>("Unable to get dataspace number of dimensions");    }    return size_t(ndim);}
开发者ID:ptoharia,项目名称:HighFive,代码行数:7,


示例17: H5Dataset_read_attr_value

/* read attribute value */char* H5Dataset_read_attr_value(hid_t aid){    hid_t asid=-1, atid=-1;    int i, rank;    hsize_t *dims;    size_t size=1;    char *attr_buf=NULL;      asid = H5Aget_space(aid);    atid = H5Aget_type(aid);    rank = H5Sget_simple_extent_ndims(asid);    if (rank > 0) {        dims = (hsize_t *)malloc(rank * sizeof(hsize_t));        H5Sget_simple_extent_dims(asid, dims, NULL);        for (i=0; i<rank; i++) {            size *= (size_t)dims[i];            free(dims);        }        size *= H5Tget_size(atid);        attr_buf = (char *)malloc(size);        if (H5Aread( aid, atid, attr_buf) < 0) {            free(attr_buf);            attr_buf = NULL;        }    }        if( atid > 0) H5Tclose(atid);    if (asid > 0) H5Sclose(asid);     return attr_buf;}
开发者ID:DICE-UNC,项目名称:iRODS-FUSE-Mod,代码行数:35,


示例18: H5Dget_space

bool Hdf5Dataset::getSphereRI(MapVecDouble &mvec){  hsize_t dims_out[2], count[2], offset[2], dimsm[2];  hid_t dataspace = H5Dget_space(this->sphere_dataset_); // dataspace handle  int rank = H5Sget_simple_extent_ndims(dataspace);  herr_t status_n = H5Sget_simple_extent_dims(dataspace, dims_out, NULL);  herr_t status;  offset[0] = 0;  offset[1] = 0;  count[0] = dims_out[0];  count[1] = 4;  double data_out[count[0]][count[1]];  status = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, NULL, count, NULL);  dimsm[0] = count[0];  dimsm[1] = count[1];  hid_t memspace;  memspace = H5Screate_simple(RANK_OUT, dimsm, NULL);  status = H5Dread(this->sphere_dataset_, H5T_NATIVE_DOUBLE, memspace, dataspace, H5P_DEFAULT, data_out);  for (int i = 0; i < count[0]; i++)  {    std::vector< double > sphere_center(3);    double ri;    for (int j = 0; j < 3; j++)    {      sphere_center[j] = data_out[i][j];    }    for (int k = 3; k < 4; k++)    {      ri = data_out[i][k];    }    mvec.insert(std::pair< std::vector< double >, double >(sphere_center, ri));   }  return 0;}
开发者ID:jontromanab,项目名称:reuleaux_moveit,代码行数:34,


示例19: ufo_hdf5_reader_open

static voidufo_hdf5_reader_open (UfoReader *reader,                      const gchar *filename){    UfoHdf5ReaderPrivate *priv;    gchar *h5_filename;    gchar *h5_dataset;    gchar **components;    priv = UFO_HDF5_READER_GET_PRIVATE (reader);    components = g_strsplit (filename, ":", 2);    if (components[1] == NULL) {        g_warning ("hdf5: must specify dataset name after color");        return;    }    h5_filename = components[0];    h5_dataset = components[1];    priv->file_id = H5Fopen (h5_filename, H5F_ACC_RDWR, H5P_DEFAULT);    priv->dataset_id = H5Dopen (priv->file_id, h5_dataset, H5P_DEFAULT);    priv->src_dataspace_id = H5Dget_space (priv->dataset_id);    priv->n_dims = H5Sget_simple_extent_ndims (priv->src_dataspace_id);    if (priv->n_dims > 3)        g_error ("read:hdf5: no support for four-dimensional data");    H5Sget_simple_extent_dims (priv->src_dataspace_id, priv->dims, NULL);    priv->current = 0;    g_strfreev (components);}
开发者ID:GGoek,项目名称:ufo-filters,代码行数:33,


示例20: ls2_hdf5_read_anchors

ls2_hdf5_read_anchors(hid_t file, vector2** anchors, size_t *no_anchors){    hid_t dataset, dataspace, memspace;    hsize_t dims[2];    int rank;    dataset = H5Dopen2(file, "/Anchors", H5P_DEFAULT);    dataspace = H5Dget_space(dataset);    rank = H5Sget_simple_extent_ndims(dataspace);    if (rank != 2) {        fprintf(stderr, "/Anchors wrong rank %d/n", (int) rank);        return -1;    }    H5Sget_simple_extent_dims(dataspace, dims, NULL);    if (dims[1] != 2) {        fprintf(stderr, "/Anchors dimension (%d, %d)/n",                (int) dims[0], (int) dims[1]);        return -1;    }    *no_anchors = (size_t) dims[0];    *anchors = (vector2 *) calloc(*no_anchors, sizeof(vector2));    memspace = H5Screate_simple(2, dims, NULL);    H5Dread(dataset, H5T_NATIVE_FLOAT, memspace, dataspace, H5P_DEFAULT,            *anchors);    H5Dclose(dataset);    H5Sclose(dataspace);    H5Sclose(memspace);    return 0;}
开发者ID:madcowpp,项目名称:LS2,代码行数:30,


示例21: luaC_h5_read_array

int luaC_h5_read_array(lua_State *L){  const char *dsetnm = luaL_checkstring(L, 1);  if (PresentFile < 0) {    luaL_error(L, "no open file");  }  hid_t dset = H5Dopen(PresentFile, dsetnm, H5P_DEFAULT);  if (dset < 0) {    luaL_error(L, "no data set named %s", dsetnm);  }  hid_t fspc = H5Dget_space(dset);  size_t Nd  = H5Sget_simple_extent_ndims(fspc);  hsize_t *dims = (hsize_t*) malloc(Nd*sizeof(hsize_t));  int *dims_int =     (int*) malloc(Nd*sizeof(int));  H5Sget_simple_extent_dims(fspc, dims, NULL);  int i, ntot=1;  for (i=0; i<Nd; ++i) {    dims_int[i] = dims[i];    ntot *= dims[i];  }  double *data = (double*) malloc(ntot * sizeof(double));  H5Dread(dset, H5T_NATIVE_DOUBLE, fspc, fspc, H5P_DEFAULT, data);  _pusharray_wshape(L, data, dims_int, Nd);  H5Sclose(fspc);  H5Dclose(dset);  free(data);  free(dims);  free(dims_int);  return 1;}
开发者ID:jzrake,项目名称:luview,代码行数:35,


示例22: nh5soffset_simple_c

int_fnh5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset){  int ret_value = -1;  hid_t c_space_id;  int rank;  hssize_t *c_offset;  herr_t  status;  int i;  c_space_id = *space_id;  rank = H5Sget_simple_extent_ndims(c_space_id);  if (rank < 0) return ret_value;  c_offset = malloc(sizeof(hssize_t)*rank);  if (!c_offset) return ret_value;  /*   * Reverse dimensions due to C-FORTRAN storage order.   */  for (i=0; i < rank; i++) c_offset[i] = offset[rank - i - 1];  status = H5Soffset_simple(c_space_id, c_offset);  if ( status >= 0  ) ret_value = 0;  HDfree(c_offset);  return ret_value;}
开发者ID:MattNapsAlot,项目名称:rHDF5,代码行数:27,


示例23: H5Dget_space

std::vector<hsize_t> HdfDataset::dims() const{  hid_t sid = H5Dget_space( d->id );  std::vector<hsize_t> ret( static_cast<size_t>( H5Sget_simple_extent_ndims( sid ) ) );  H5Sget_simple_extent_dims( sid, ret.data(), nullptr );  H5Sclose( sid );  return ret;}
开发者ID:DelazJ,项目名称:QGIS,代码行数:8,


示例24: nh5sselect_hyperslab_c

int_fnh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block){  int ret_value = -1;  hid_t c_space_id;  hsize_t *c_start = NULL;  hsize_t *c_count = NULL;  hsize_t *c_stride = NULL;  hsize_t *c_block = NULL;  H5S_seloper_t c_op;  herr_t  status;  int rank;  int i;  rank = H5Sget_simple_extent_ndims(*space_id);  if (rank < 0 ) return ret_value;  c_start = (hsize_t *)HDmalloc(sizeof(hsize_t)*rank);  if (c_start == NULL) goto DONE;  c_count = (hsize_t *)HDmalloc(sizeof(hsize_t)*rank);  if (c_count == NULL) goto DONE;  c_stride = (hsize_t *)HDmalloc(sizeof(hsize_t)*rank);  if (c_stride == NULL) goto DONE;  c_block = (hsize_t *)HDmalloc(sizeof(hsize_t)*rank);  if (c_block == NULL) goto DONE;  /*   * Reverse dimensions due to C-FORTRAN storage order.   */  for (i=0; i < rank; i++) {      int t= (rank - i) - 1;      c_start[i] = (hsize_t)start[t];      c_count[i] = (hsize_t)count[t];      c_stride[i] = (hsize_t)stride[t];      c_block[i] = (hsize_t)block[t];  }   c_op = (H5S_seloper_t)*op;/*  if (*op == H5S_SELECT_SET_F) c_op = H5S_SELECT_SET;  if (*op == H5S_SELECT_OR_F)  c_op = H5S_SELECT_OR;*/  c_space_id = *space_id;  status = H5Sselect_hyperslab(c_space_id, c_op, c_start, c_stride, c_count, c_block);  if ( status >= 0  ) ret_value = 0;DONE:  if(c_start != NULL) HDfree(c_start);  if(c_count != NULL) HDfree(c_count);  if(c_stride!= NULL) HDfree(c_stride);  if(c_block != NULL) HDfree(c_block);  return ret_value;}
开发者ID:MattNapsAlot,项目名称:rHDF5,代码行数:58,


示例25: PYTABLE_write_records

/*+++++++++++++++++++++++++.IDENTifer   PYTABLE_write_records.PURPOSE     Write records to an HDF5 array.INPUT/OUTPUT  call as    stat = PYTABLE_write_records( locID, dset_name, start, step,			                   count, buffer );     input:            hid_t locID      :  HDF5 identifier of file or group	    char *dset_name  :  name of dataset	    hsize_t *start   :  index of first row to overwrite	    hsize_t *step    :  	    hsize_t *count   :  number of rows to write	    void *buffer     :  data to write	    .RETURNS     A negative value is returned on failure. .COMMENTS    none-------------------------*/herr_t PYTABLE_write_records( hid_t locID, const char *dset_name, 			      hsize_t *start, hsize_t *step,			      hsize_t *count, const void *buffer ){     int      rank;     hid_t    dataID;     hid_t    spaceID = -1;     hid_t    mem_spaceID = -1;     hid_t    typeID = -1;/* open the dataset. */     if ( (dataID = H5Dopen( locID, dset_name, H5P_DEFAULT )) < 0 )	  return -1;/* get the dataspace handle */     if ( (spaceID = H5Dget_space( dataID )) < 0 )	  goto done;/* get rank */     if ( (rank = H5Sget_simple_extent_ndims( spaceID )) <= 0 )	  goto done;/* create a simple memory data space */     if ( (mem_spaceID = H5Screate_simple( rank, count, NULL )) < 0 )	  goto done;/* define a hyperslab in the dataset */     if ( H5Sselect_hyperslab( spaceID, H5S_SELECT_SET, start,			       step, count, NULL ) < 0 )	  goto done;/* get an identifier for the datatype. */     if ( (typeID = H5Dget_type( dataID )) < 0 ) goto done;/* write data to hyperslap */     if ( H5Dwrite( dataID, typeID, mem_spaceID, spaceID, 		    H5P_DEFAULT, buffer ) < 0 )	  goto done;/* terminate access to the datatype */     if ( H5Tclose( typeID ) < 0 ) goto done;/* end access to the dataset */     if ( H5Dclose( dataID ) ) goto done;/* terminate access to the dataspace */     if ( H5Sclose( mem_spaceID ) < 0 ) goto done;     if ( H5Sclose( spaceID ) < 0 ) goto done;     return 0; done:     if ( typeID > 0 ) (void) H5Tclose( typeID );     if ( spaceID > 0 ) (void) H5Sclose( spaceID );     if ( mem_spaceID > 0 ) (void) H5Sclose( mem_spaceID );     if ( dataID > 0 ) (void) H5Dclose( dataID );     return -1;}
开发者ID:rmvanhees,项目名称:nadc_tools,代码行数:75,


示例26: validateFloat3Attribute

/*-------------------------------------------------------------*/static void validateFloat3Attribute(pNXVcontext self,	hid_t dpField, char *name){	hid_t attID, attType, attSpace;	H5T_class_t h5class;	hsize_t dims[2], maxDims[2];	char fname[512];	memset(fname,0,sizeof(fname));	H5Iget_name(dpField,fname,sizeof(fname));	if(!H5LTfind_attribute(dpField,name)){			NXVsetLog(self,"sev","error");			NXVprintLog(self,"message",				"Missing attribute %s on %s",				name, fname);			NXVlog(self);			self->errCount++;	} else {		attID = H5Aopen(dpField,name,H5P_DEFAULT);		assert(attID >= 0);		attType = H5Aget_type(attID);		assert(attType >= 0);		h5class = H5Tget_class(attType);		if(h5class != H5T_FLOAT){			NXVsetLog(self,"sev","error");			NXVprintLog(self,"message",				"%s attribute on %s is of wrong type, expected float",				name, fname);			NXVlog(self);			self->errCount++;		} else {			attSpace = H5Aget_space(attID);			if(H5Sget_simple_extent_ndims(attSpace) != 1){				NXVsetLog(self,"sev","error");				NXVprintLog(self,"message",					"%s attribute on %s is of wrong rank, expected 1",					name, fname);				NXVlog(self);				self->errCount++;			} else {				H5Sget_simple_extent_dims(attSpace,dims,maxDims);				if(dims[0] != 3){					NXVsetLog(self,"sev","error");					NXVprintLog(self,"message",						"%s attribute on %s is of wrong size, expected 3",						name, fname);					NXVlog(self);					self->errCount++;				}			}			H5Sclose(attSpace);		}		H5Tclose(attType);		H5Aclose(attID);	}}
开发者ID:nexusformat,项目名称:cnxvalidate,代码行数:59,


示例27: H5Aopen

bool seissol::checkpoint::h5::Wavefield::validate(hid_t h5file) const{	// Turn of error printing	H5ErrHandler errHandler;	// Check #partitions	hid_t h5attr = H5Aopen(h5file, "partitions", H5P_DEFAULT);	if (h5attr < 0) {		logWarning(rank()) << "Checkpoint does not have a partition attribute.";		return false;	}	int p;	herr_t err = H5Aread(h5attr, H5T_NATIVE_INT, &p);	checkH5Err(H5Aclose(h5attr));	if (err < 0 || p != partitions()) {		logWarning(rank()) << "Partitions in checkpoint do not match.";		return false;	}	// Check dimensions	hid_t h5data = H5Dopen(h5file, "values", H5P_DEFAULT);	if (h5data < 0) {		logWarning(rank()) << "Checkpoint does not contains a data array.";		return false;	}	hid_t h5space = H5Dget_space(h5data);	checkH5Err(H5Dclose(h5data));	if (h5space < 0) {		logWarning(rank()) << "Could not get space identifier in checkpoint.";		return false;	}	bool isValid = true;	int dims = H5Sget_simple_extent_ndims(h5space);	if (dims != 1) {		isValid = false;		logWarning(rank()) << "Number of dimensions in checkpoint does not match.";	} else {		hsize_t dimSize;		if (H5Sget_simple_extent_dims(h5space, &dimSize, 0L) != 1) {			isValid = false;			logWarning(rank()) << "Could not get dimension sizes of checkpoint.";		} else {			if (dimSize != numTotalElems()) {				isValid = false;				logWarning(rank()) << "Number of elements in checkpoint does not match.";			}		}	}	checkH5Err(H5Sclose(h5space));	return isValid;}
开发者ID:jjww2015,项目名称:SeisSol,代码行数:56,


示例28: is_scalar

static int is_scalar(hid_t dataset){   hid_t s = H5Dget_space(dataset);   int dims = H5Sget_simple_extent_ndims(s);   H5Sclose(s);   if(dims == 0){     return 1;   }else{     return 0;   }}
开发者ID:cxidb,项目名称:libcxi,代码行数:10,


示例29: H5Fopen

  void FWSingle::readInFloat(int step, vector<float>& data_out)  {    int RANK=1;    hid_t       dataset;      hid_t       filespace;                       hid_t       memspace;                      hid_t       cparms;                       hsize_t     dims[2];                     /* dataset and chunk dimensions*/     hsize_t     chunk_dims[1];    hsize_t     col_dims[1];    hsize_t     count[2];    hsize_t     offset[2];    herr_t      status, status_n;                                 int         rank, rank_chunk;    hsize_t hi, hj;    c_file = H5Fopen(fname.str().c_str(),H5F_ACC_RDONLY,H5P_DEFAULT);    stringstream gname("");    gname<<"Block_"<< step;    hid_t d_file = H5Gopen(c_file,gname.str().c_str());    dataset = H5Dopen(d_file, "Positions");    filespace = H5Dget_space(dataset);     rank = H5Sget_simple_extent_ndims(filespace);    status_n  = H5Sget_simple_extent_dims(filespace, dims, NULL);    //     if (verbose>1) printf("dataset rank %d, dimensions %lu x %lu/n", rank, (unsigned long)(dims[0]), (unsigned long)(dims[1]));    data_out.resize(dims[0]);    cparms = H5Dget_create_plist(dataset);    if (H5D_CHUNKED == H5Pget_layout(cparms))  {      rank_chunk = H5Pget_chunk(cparms, 2, chunk_dims);      //       if (verbose>1) printf("chunk rank %d, dimensions %lu /n", rank_chunk, (unsigned long)(chunk_dims[0]) );    }    memspace = H5Screate_simple(RANK,dims,NULL);    status = H5Dread(dataset, H5T_NATIVE_FLOAT, memspace, filespace, H5P_DEFAULT, &(data_out[0]));    if(verbose>2)    {      printf("/n");      printf("Dataset: /n");      for (int j = 0; j < dims[0]; j++) app_log()<<data_out[j]<<" ";      app_log()<<endl;    }    H5Pclose(cparms);    H5Dclose(dataset);    H5Sclose(filespace);    H5Sclose(memspace);    H5Gclose(d_file);    H5Fclose(c_file);  }
开发者ID:digideskio,项目名称:qmcpack,代码行数:55,


示例30: assert

void HdfDataspace::selectHyperslab( hsize_t start, hsize_t count ){  // this function works only for 1D arrays  assert( H5Sget_simple_extent_ndims( d->id ) == 1 );  herr_t status = H5Sselect_hyperslab( d->id, H5S_SELECT_SET, &start, NULL, &count, NULL );  if ( status < 0 )  {    MDAL::debug( "Failed to select 1D hyperslab!" );  }}
开发者ID:DelazJ,项目名称:QGIS,代码行数:11,



注:本文中的H5Sget_simple_extent_ndims函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ H5Sselect_hyperslab函数代码示例
C++ H5Sclose函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。