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.