Mercurial > hg > minc-tools
changeset 2359:a3da68371e2a
Added one function for creating standard minc datasets i.e., patient
author | baghdadi <baghdadi> |
---|---|
date | Mon, 15 Jan 2007 21:19:59 +0000 (2007-01-15) |
parents | 3f3841965f37 |
children | ddd233adeda1 |
files | libsrc2/m2util.c |
diffstat | 1 files changed, 49 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libsrc2/m2util.c +++ b/libsrc2/m2util.c @@ -1724,6 +1724,55 @@ free(mat); } +/** Function for create a dataset (acquisition, patient, study) + */ + +int +create_standard_dataset(hid_t hdf_file, const char *name) +{ + hid_t dataset_info; + hid_t dataspace_info; + hid_t grp_info; + int result; + + grp_info = H5Gopen(hdf_file, "/minc-2.0/info"); + if (grp_info < 0) { + return (MI_ERROR); + } + dataspace_info = H5Screate(H5S_SCALAR); + if (dataspace_info < 0) { + return (MI_ERROR); + } + + dataset_info = H5Dcreate(grp_info, name, + H5T_STD_I32LE, dataspace_info, H5P_DEFAULT); + if (dataset_info < 0) { + return (MI_ERROR); + } + + result = miset_attr_at_loc(dataset_info,MIvarid, MI_TYPE_STRING, strlen(MI_STDVAR), MI_STDVAR); + if (result < 0){ + return (MI_ERROR); + } + + result = miset_attr_at_loc(dataset_info,MIvartype, MI_TYPE_STRING, strlen(MI_GROUP), MI_GROUP); + if (result < 0){ + return (MI_ERROR); + } + + result = miset_attr_at_loc(dataset_info,MIversion, MI_TYPE_STRING, strlen(MI_VERSION_2_0), MI_VERSION_2_0); + if (result < 0){ + return (MI_ERROR); + } + + H5Dclose(dataset_info); + H5Sclose(dataspace_info); + H5Gclose(grp_info); + + return (MI_NOERROR); +} + + /** Performs scaled maximal pivoting gaussian elimination as a numerically robust method to solve systems of linear equations.