[ismrmrd] 143/177: Working on making matlab api compatible with v1.0

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:02:12 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to annotated tag v1.1.0.beta.1
in repository ismrmrd.

commit 4f0d5484bdbddc1893f12eef736acfab9d9ca8b4
Author: Souheil Inati <souheil.inati at nih.gov>
Date:   Wed Oct 15 22:48:58 2014 -0400

    Working on making matlab api compatible with v1.0
---
 CMakeLists.txt                                  |   4 +-
 libsrc/dataset.c                                |   9 +-
 matlab/+ismrmrd/+util/hdf5_datatypes.m          | 133 ++++++++++++------------
 matlab/+ismrmrd/+util/includejar.m              |  15 ---
 matlab/+ismrmrd/AcquisitionHeader.m             |   1 -
 matlab/+ismrmrd/{IsmrmrdDataset.m => Dataset.m} |  38 ++-----
 matlab/CMakeLists.txt                           |  74 -------------
 matlab/XMLString.java                           |  42 --------
 matlab/cfg.jxb                                  |  10 --
 9 files changed, 86 insertions(+), 240 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3ab8ea..694fa82 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -198,9 +198,11 @@ enable_testing()
 add_subdirectory(doc)
 add_subdirectory(examples/c)
 add_subdirectory(utilities)
-#add_subdirectory(matlab)
 #add_subdirectory(bindings)
 
+# install the matlab api
+install(DIRECTORY matlab DESTINATION share/ismrmrd)
+
 # Create package
 string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
 include(${ISMRMRD_CMAKE_DIR}/ismrmrd_cpack.cmake)
diff --git a/libsrc/dataset.c b/libsrc/dataset.c
index b9b087e..9c3bdea 100644
--- a/libsrc/dataset.c
+++ b/libsrc/dataset.c
@@ -283,7 +283,7 @@ static hid_t get_hdf5type_acquisitionheader(void) {
     datatype = H5Tcreate(H5T_COMPOUND, sizeof(ISMRMRD_AcquisitionHeader));
     h5status = H5Tinsert(datatype, "version", HOFFSET(ISMRMRD_AcquisitionHeader, version), H5T_NATIVE_UINT16);
     h5status = H5Tinsert(datatype, "flags", HOFFSET(ISMRMRD_AcquisitionHeader, flags), H5T_NATIVE_UINT64);
-    h5status = H5Tinsert(datatype, " measurement_uid", HOFFSET(ISMRMRD_AcquisitionHeader,  measurement_uid), H5T_NATIVE_UINT32);
+    h5status = H5Tinsert(datatype, "measurement_uid", HOFFSET(ISMRMRD_AcquisitionHeader,  measurement_uid), H5T_NATIVE_UINT32);
     h5status = H5Tinsert(datatype, "scan_counter", HOFFSET(ISMRMRD_AcquisitionHeader, scan_counter), H5T_NATIVE_UINT32);
     h5status = H5Tinsert(datatype, "acquisition_time_stamp", HOFFSET(ISMRMRD_AcquisitionHeader, acquisition_time_stamp), H5T_NATIVE_UINT32);
     
@@ -345,7 +345,8 @@ static hid_t get_hdf5type_acquisition(void) {
     vartype =  get_hdf5type_float();
     vlvartype = H5Tvlen_create(vartype);
     h5status = H5Tinsert(datatype, "traj", HOFFSET(HDF5_Acquisition, traj), vlvartype);
-    vartype = get_hdf5type_complexfloat();
+    /* Store acquisition data as an array of floats */
+    vartype = get_hdf5type_float();
     vlvartype = H5Tvlen_create(vartype);
     h5status = H5Tinsert(datatype, "data", HOFFSET(HDF5_Acquisition, data), vlvartype);
     
@@ -369,7 +370,7 @@ static hid_t get_hdf5type_imageheader(void) {
     h5status = H5Tinsert(datatype, "version", HOFFSET(ISMRMRD_ImageHeader, version), H5T_NATIVE_UINT16);
     h5status = H5Tinsert(datatype, "data_type", HOFFSET(ISMRMRD_ImageHeader, data_type), H5T_NATIVE_UINT16);
     h5status = H5Tinsert(datatype, "flags", HOFFSET(ISMRMRD_ImageHeader, flags), H5T_NATIVE_UINT64);
-    h5status = H5Tinsert(datatype, " measurement_uid", HOFFSET(ISMRMRD_ImageHeader,  measurement_uid), H5T_NATIVE_UINT32);
+    h5status = H5Tinsert(datatype, "measurement_uid", HOFFSET(ISMRMRD_ImageHeader,  measurement_uid), H5T_NATIVE_UINT32);
     arraydims[0] = 3;
     vartype = H5Tarray_create2(H5T_NATIVE_UINT16, 1, arraydims);
     h5status = H5Tinsert(datatype, "matrix_size", HOFFSET(ISMRMRD_ImageHeader, matrix_size), vartype);
@@ -962,7 +963,7 @@ int ismrmrd_append_acquisition(const ISMRMRD_Dataset *dset, const ISMRMRD_Acquis
     hdf5acq[0].head = acq->head;
     hdf5acq[0].traj.len = acq->head.number_of_samples * acq->head.trajectory_dimensions;
     hdf5acq[0].traj.p = acq->traj;
-    hdf5acq[0].data.len = acq->head.number_of_samples * acq->head.active_channels;
+    hdf5acq[0].data.len = 2 * acq->head.number_of_samples * acq->head.active_channels;
     hdf5acq[0].data.p = acq->data;
     
     /* Write it */
diff --git a/matlab/+ismrmrd/+util/hdf5_datatypes.m b/matlab/+ismrmrd/+util/hdf5_datatypes.m
index 2562d08..5aa8a41 100644
--- a/matlab/+ismrmrd/+util/hdf5_datatypes.m
+++ b/matlab/+ismrmrd/+util/hdf5_datatypes.m
@@ -3,7 +3,7 @@ classdef hdf5_datatypes
 % ISMRMRD HDF5 file
 
 % The names, types, layout and offsets consistent with that generated
-% by the C++ API.  See the note at the bottom of the file for how to
+% by the C API.  See the note at the bottom of the file for how to
 % do this.
 
     properties
@@ -83,31 +83,31 @@ classdef hdf5_datatypes
         end
 
         function b = getType_AcquisitionHeader()
-            b = H5T.create ('H5T_COMPOUND', 360);
+            b = H5T.create ('H5T_COMPOUND', 340);
             H5T.insert(b, 'version', 0, 'H5T_NATIVE_UINT16');
             H5T.insert(b, 'flags', 2, 'H5T_NATIVE_UINT64');
             H5T.insert(b, 'measurement_uid', 10, 'H5T_NATIVE_UINT32');
             H5T.insert(b, 'scan_counter', 14, 'H5T_NATIVE_UINT32');
             H5T.insert(b, 'acquisition_time_stamp', 18, 'H5T_NATIVE_UINT32');
             H5T.insert(b, 'physiology_time_stamp', 22, H5T.array_create('H5T_NATIVE_UINT32',[3]));
-            H5T.insert(b, 'number_of_samples', 54, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'available_channels', 56, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'active_channels', 58, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'channel_mask', 60, H5T.array_create('H5T_NATIVE_UINT64',[16]));
-            H5T.insert(b, 'discard_pre', 188, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'discard_post', 190, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'center_sample', 192, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'encoding_space_ref', 194, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'trajectory_dimensions', 196, 'H5T_NATIVE_UINT16');
-            H5T.insert(b, 'sample_time_us', 198, 'H5T_NATIVE_FLOAT');
-            H5T.insert(b, 'position', 202, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
-            H5T.insert(b, 'read_dir', 214, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
-            H5T.insert(b, 'phase_dir', 226, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
-            H5T.insert(b, 'slice_dir', 238, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
-            H5T.insert(b, 'patient_table_position', 250, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
-            H5T.insert(b, 'idx', 262, ismrmrd.util.hdf5_datatypes.getType_EncodingCounters);
-            H5T.insert(b, 'user_int', 296, H5T.array_create('H5T_NATIVE_INT32',[8]));
-            H5T.insert(b, 'user_float', 328, H5T.array_create('H5T_NATIVE_FLOAT',[8]));
+            H5T.insert(b, 'number_of_samples', 34, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'available_channels', 36, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'active_channels', 38, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'channel_mask', 40, H5T.array_create('H5T_NATIVE_UINT64',[16]));
+            H5T.insert(b, 'discard_pre', 168, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'discard_post', 170, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'center_sample', 172, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'encoding_space_ref', 174, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'trajectory_dimensions', 176, 'H5T_NATIVE_UINT16');
+            H5T.insert(b, 'sample_time_us', 178, 'H5T_NATIVE_FLOAT');
+            H5T.insert(b, 'position', 182, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
+            H5T.insert(b, 'read_dir', 194, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
+            H5T.insert(b, 'phase_dir', 206, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
+            H5T.insert(b, 'slice_dir', 218, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
+            H5T.insert(b, 'patient_table_position', 230, H5T.array_create('H5T_NATIVE_FLOAT',[3]));
+            H5T.insert(b, 'idx', 242, ismrmrd.util.hdf5_datatypes.getType_EncodingCounters);
+            H5T.insert(b, 'user_int', 276, H5T.array_create('H5T_NATIVE_INT32',[8]));
+            H5T.insert(b, 'user_float', 308, H5T.array_create('H5T_NATIVE_FLOAT',[8]));
         end
 
         function b = getType_Acquisition()
@@ -116,56 +116,61 @@ classdef hdf5_datatypes
             traj = H5T.vlen_create(ismrmrd.util.hdf5_datatypes.getType_float());
             data = H5T.vlen_create(ismrmrd.util.hdf5_datatypes.getType_float());
 
-            b = H5T.create ('H5T_COMPOUND', 392);
+            b = H5T.create ('H5T_COMPOUND', 376);
             H5T.insert(b, 'head', 0, head);
-            H5T.insert(b, 'traj', 360, traj);
-            H5T.insert(b, 'data', 376, data);
+            H5T.insert(b, 'traj', 344, traj);
+            H5T.insert(b, 'data', 360, data);
 
         end
     end % Methods (Static)
 
 end
 
-% Generate a dataset using the C++ utilities and run
+% Generate a dataset using the C utilities and run
 % h5ls -a -v testdata/dataset/data
 % This produces something the following output
-%"head"             +0    struct {
-%  "version"          +0    native unsigned short
-%  "flags"            +2    native unsigned long
-%  "measurement_uid"  +10   native unsigned int
-%  "scan_counter"     +14   native unsigned int
-%  "acquisition_time_stamp" +18   native unsigned int
-%  "physiology_time_stamp" +22   [3] native unsigned int
-%  "number_of_samples" +54   native unsigned short
-%  "available_channels" +56   native unsigned short
-%  "active_channels"  +58   native unsigned short
-%  "channel_mask"     +60   [16] native unsigned long
-%  "discard_pre"      +188  native unsigned short
-%  "discard_post"     +190  native unsigned short
-%  "center_sample"    +192  native unsigned short
-%  "encoding_space_ref" +194  native unsigned short
-%  "trajectory_dimensions" +196  native unsigned short
-%  "sample_time_us"   +198  native float
-%  "position"         +202  [3] native float
-%  "read_dir"         +214  [3] native float
-%  "phase_dir"        +226  [3] native float
-%  "slice_dir"        +238  [3] native float
-%  "patient_table_position" +250  [3] native float
-%  "idx"              +262  struct {
-%     "kspace_encode_step_1" +0    native unsigned short
-%     "kspace_encode_step_2" +2    native unsigned short
-%     "average"          +4    native unsigned short
-%     "slice"            +6    native unsigned short
-%     "contrast"         +8    native unsigned short
-%     "phase"            +10   native unsigned short
-%     "repetition"       +12   native unsigned short
-%     "set"              +14   native unsigned short
-%     "segment"          +16   native unsigned short
-%     "user"             +18   [8] native unsigned short
-%  } 34 bytes
-%  "user_int"         +296  [8] native int
-%  "user_float"       +328  [8] native float
-%} 360 bytes
-%"traj"             +360  variable length of native float
-%"data"             +376  variable length of native float
-%} 392 bytes
+%     Chunks:    {1} 376 bytes
+%     Storage:   96256 logical bytes, 96256 allocated bytes, 100.00% utilization
+%     Type:      struct {
+%                    "head"             +0    struct {
+%                        "version"          +0    native unsigned short
+%                        "flags"            +2    native unsigned long
+%                        "measurement_uid"  +10   native unsigned int
+%                        "scan_counter"     +14   native unsigned int
+%                        "acquisition_time_stamp" +18   native unsigned int
+%                        "physiology_time_stamp" +22   [3] native unsigned int
+%                        "number_of_samples" +34   native unsigned short
+%                        "available_channels" +36   native unsigned short
+%                        "active_channels"  +38   native unsigned short
+%                        "channel_mask"     +40   [16] native unsigned long
+%                        "discard_pre"      +168  native unsigned short
+%                        "discard_post"     +170  native unsigned short
+%                        "center_sample"    +172  native unsigned short
+%                        "encoding_space_ref" +174  native unsigned short
+%                        "trajectory_dimensions" +176  native unsigned short
+%                        "sample_time_us"   +178  native float
+%                        "position"         +182  [3] native float
+%                        "read_dir"         +194  [3] native float
+%                        "phase_dir"        +206  [3] native float
+%                        "slice_dir"        +218  [3] native float
+%                        "patient_table_position" +230  [3] native float
+%                        "idx"              +242  struct {
+%                            "kspace_encode_step_1" +0    native unsigned short
+%                            "kspace_encode_step_2" +2    native unsigned short
+%                            "average"          +4    native unsigned short
+%                            "slice"            +6    native unsigned short
+%                            "contrast"         +8    native unsigned short
+%                            "phase"            +10   native unsigned short
+%                            "repetition"       +12   native unsigned short
+%                            "set"              +14   native unsigned short
+%                            "segment"          +16   native unsigned short
+%                            "user"             +18   [8] native unsigned short
+%                        } 34 bytes
+%                        "user_int"         +276  [8] native int
+%                        "user_float"       +308  [8] native float
+%                    } 340 bytes
+%                    "traj"             +344  variable length of
+%                        native float
+%                    "data"             +360  variable length of
+%                        native float
+%                } 376 bytes
diff --git a/matlab/+ismrmrd/+util/includejar.m b/matlab/+ismrmrd/+util/includejar.m
deleted file mode 100644
index dcaa62e..0000000
--- a/matlab/+ismrmrd/+util/includejar.m
+++ /dev/null
@@ -1,15 +0,0 @@
-function includejar()
-% Set the javaclasspath to be able to load the xml header bits
-
-    % Path to the jar file
-    fpath = mfilename('fullpath');
-    [pathstr, name, ext] = fileparts(fpath);
-    jar = fullfile(pathstr, 'ismrmrd-matlab.jar');
-    
-    % Only add if it's not already on our path
-    jpath = javaclasspath('-all');
-    if ~any(strcmp(jar,jpath))
-        javaaddpath(jar);
-    end
-
-end
diff --git a/matlab/+ismrmrd/AcquisitionHeader.m b/matlab/+ismrmrd/AcquisitionHeader.m
index 7ed8957..4a68ef7 100644
--- a/matlab/+ismrmrd/AcquisitionHeader.m
+++ b/matlab/+ismrmrd/AcquisitionHeader.m
@@ -381,7 +381,6 @@ classdef AcquisitionHeader < handle
                 bytes(off:off+3,p)   = typecast(obj.measurement_uid(p)       ,'uint8'); off=off+4;
                 bytes(off:off+3,p)   = typecast(obj.scan_counter(p)          ,'uint8'); off=off+4;
                 bytes(off:off+3,p)   = typecast(obj.acquisition_time_stamp(p),'uint8'); off=off+4;
-                % The C struct has padding because of the 5 unused physio time stamps
                 bytes(off:off+11,p)  = typecast(obj.physiology_time_stamp(:,p) ,'uint8'); off=off+12;
                 bytes(off:off+1,p)   = typecast(obj.number_of_samples(p)     ,'uint8'); off=off+2;
                 bytes(off:off+1,p)   = typecast(obj.available_channels(p)    ,'uint8'); off=off+2;
diff --git a/matlab/+ismrmrd/IsmrmrdDataset.m b/matlab/+ismrmrd/Dataset.m
similarity index 87%
rename from matlab/+ismrmrd/IsmrmrdDataset.m
rename to matlab/+ismrmrd/Dataset.m
index 6ca12e8..142e8a4 100644
--- a/matlab/+ismrmrd/IsmrmrdDataset.m
+++ b/matlab/+ismrmrd/Dataset.m
@@ -1,19 +1,16 @@
-classdef IsmrmrdDataset
+classdef Dataset
 
     properties
         fid = -1;
         filename = '';
         datapath = '';
         xmlpath = '';
-        xmlhdr = [];
         htypes = [];
     end
 
     methods
 
-        function obj = IsmrmrdDataset(filename,groupname)
-            % add the ismrmrd jar to the javaclasspath
-            ismrmrd.util.includejar();
+        function obj = Dataset(filename,groupname)
 
             % Set the hdf types
             obj.htypes = ismrmrd.util.hdf5_datatypes;
@@ -47,34 +44,18 @@ classdef IsmrmrdDataset
                 % group does not exist, create it
                 group_id = H5G.create(obj.fid, grouppath, 0);
                 H5G.close(group_id);
-                % create a default xml header object
-                %obj.xmlhdr = ismrmrd.XMLHeader();
-                obj.xmlhdr = org.ismrm.ismrmrd.IsmrmrdHeader();
-            else
-                % group exists, read the xml header
-                %obj.xmlhdr = ismrmrd.XMLHeader().stringToHeader(obj.readxml());
-                obj.xmlhdr = org.ismrm.ismrmrd.XMLString.StringToIsmrmrdHeader(obj.readxml());
             end
             H5P.close(lapl_id);
 
         end
 
         function obj = close(obj)
-            % synchronize the xml header
-            obj.writexml(obj.xmlstring());
             % close the file
             H5F.close(obj.fid);
         end
-
-        function xmlstring = xmlstring(obj)
-            % convert xmlhdr to a string
-            %xmlstring = ismrmrd.XMLHeader.headerToString(obj.xmlhdr);
-            xmlstring = org.ismrm.ismrmrd.XMLString.IsmrmrdHeaderToString(obj.xmlhdr);
-        end
         
         function xmlstring = readxml(obj)
             % Check if the XML header exists
-            % TODO: set it's value to the default
             lapl_id=H5P.create('H5P_LINK_ACCESS');
             if (H5L.exists(obj.fid,obj.xmlpath,lapl_id) == 0)
                 error('No XML header found.');
@@ -182,23 +163,22 @@ classdef IsmrmrdDataset
             space = H5D.get_space(dset);
             
             % Get the size
-            H5S.get_simple_extent_dims(space);
             [~,dims,~] = H5S.get_simple_extent_dims(space);
             nacq = dims(1);
 
             % Create a mem_space for reading
             if (stop >= start)
-                offset = [start-1 0];
-                dims = [stop-start+1 1];
-                mem_space = H5S.create_simple(2,dims,[]);
+                offset = [start-1];
+                dims = [stop-start+1];
+                mem_space = H5S.create_simple(1,dims,[]);
             else
-                offset = [0 0];
-                dims = [nacq 1];
-                mem_space = H5S.create_simple(2,dims,[]);
+                offset = [0];
+                dims = [nacq];
+                mem_space = H5S.create_simple(1,dims,[]);
             end
 
             % Read the desired acquisitions            
-            H5S.select_hyperslab(space,'H5S_SELECT_SET',offset,[1 1],[1 1],dims);
+            H5S.select_hyperslab(space,'H5S_SELECT_SET',offset,[1],[1],dims);
             d = H5D.read(dset, obj.htypes.T_Acquisition, ...
                          mem_space, space, 'H5P_DEFAULT');
                      
diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt
deleted file mode 100644
index 5548b73..0000000
--- a/matlab/CMakeLists.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-find_package(Java)
-
-if (NOT JAVA_FOUND)
-    message(STATUS "Java (xjc) Not Found - Not generating XML bindings")
-else (NOT JAVA_FOUND)
-
-    set(ISMRMRD_SCHEMA "${ISMRMRD_SCHEMA_DIR}/ismrmrd.xsd")
-    set(ISMRMRD_JAR "${CMAKE_CURRENT_BINARY_DIR}/ismrmrd-matlab.jar")
-    set(ISMRMRD_PACKAGE "org/ismrm/ismrmrd")
-    set(ISMRMRD_PACKAGE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${ISMRMRD_PACKAGE}")
-
-    set(XML_STRING "XMLString")
-    set(XML_STRING_JAVA "XMLString.java")
-
-    set(XJC_CONFIG "cfg.jxb")
-    file (COPY ${XJC_CONFIG} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
-    file (MAKE_DIRECTORY ${ISMRMRD_PACKAGE_PATH})
-    file (COPY ${XML_STRING_JAVA} DESTINATION ${ISMRMRD_PACKAGE_PATH})
-
-    foreach (class
-        ${XML_STRING}
-        AccelerationFactorType
-        ExperimentalConditionsType
-        MeasurementInformationType
-        TrajectoryDescriptionType
-        AcquisitionSystemInformationType
-        FieldOfViewMm
-        ObjectFactory
-        TrajectoryType
-        CalibrationModeType
-        InterleavingDimensionType
-        ParallelImagingType
-        UserParameterBase64Type
-        IsmrmrdHeader
-        ReferencedImageSequence
-        UserParameterDoubleType
-        Encoding
-        LimitType
-        SequenceParametersType
-        UserParameterLongType
-	UserParameterStringType
-        EncodingLimitsType
-        StudyInformationType
-        UserParameters
-        EncodingSpaceType
-        MatrixSize
-        SubjectInformationType
-	MeasurementDependencyType
-        package-info
-    )
-        list (APPEND ISMRMRD_XJC_SOURCES "${ISMRMRD_PACKAGE}/${class}.java")
-        list (APPEND ISMRMRD_XJC_CLASSES "${ISMRMRD_PACKAGE}/${class}.class")
-    endforeach()
-
-    add_custom_command(
-        OUTPUT ${ISMRMRD_JAR}
-        COMMAND ${Java_XJC_EXECUTABLE} -quiet -b ${XJC_CONFIG} ${ISMRMRD_SCHEMA}
-        COMMAND ${Java_JAVAC_EXECUTABLE} ${ISMRMRD_XJC_SOURCES}
-        COMMAND ${Java_JAR_EXECUTABLE} cf ${ISMRMRD_JAR} ${ISMRMRD_XJC_CLASSES}
-        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-        COMMENT "Generating ISMRMRD XML bindings..." VERBATIM
-        DEPENDS ${ISMRMRD_SCHEMA} ${XML_STRING_JAVA}
-    )
-
-    # make a fake target called 'xxx.jar' that will be built
-    # when you type make and depends on the file 'xxx.jar'
-    add_custom_target(ismrmrd-matlab-jar ALL DEPENDS ${ISMRMRD_JAR})
-endif(NOT JAVA_FOUND)
-
-install(DIRECTORY +ismrmrd
-    DESTINATION ${ISMRMRD_INSTALL_MATLAB_DIR})
-install(FILES ${ISMRMRD_JAR}
-    DESTINATION ${ISMRMRD_INSTALL_MATLAB_DIR}/+ismrmrd/+util)
diff --git a/matlab/XMLString.java b/matlab/XMLString.java
deleted file mode 100644
index 39127ca..0000000
--- a/matlab/XMLString.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.ismrm.ismrmrd;
-
-import javax.xml.bind.*;
-import javax.xml.namespace.QName;
-import javax.xml.transform.stream.*;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-
-public class XMLString {
-    public static IsmrmrdHeader StringToIsmrmrdHeader(String xmlstring) throws javax.xml.bind.JAXBException
-    {
-        JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
-
-        Unmarshaller unmarshaller  = jaxbContext.createUnmarshaller();
-
-        StringReader reader = new StringReader(xmlstring);
-
-        JAXBElement<IsmrmrdHeader> root = unmarshaller.unmarshal(new StreamSource(reader), IsmrmrdHeader.class);
-
-        return root.getValue();
-    }
-
-    public static String IsmrmrdHeaderToString(IsmrmrdHeader header) throws javax.xml.bind.JAXBException
-    {
-        JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
-
-        Marshaller marshaller = jaxbContext.createMarshaller();
-
-        marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.ismrm.org/ISMRMRD ismrmrd.xsd");
-        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
-
-        StringWriter writer = new StringWriter();
-
-        QName qname = new QName("http://www.ismrm.org/ISMRMRD", "ismrmrdHeader");
-        JAXBElement<IsmrmrdHeader> root = new JAXBElement(qname, IsmrmrdHeader.class, header);
-
-        marshaller.marshal(root, writer);
-
-        return writer.toString();
-    }
-}
diff --git a/matlab/cfg.jxb b/matlab/cfg.jxb
deleted file mode 100644
index 696f66d..0000000
--- a/matlab/cfg.jxb
+++ /dev/null
@@ -1,10 +0,0 @@
-<jxb:bindings version="1.0"
-  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
-  jxb:extensionBindingPrefixes="xjc">
-    <jxb:bindings>
-        <jxb:globalBindings localScoping="toplevel">
-        </jxb:globalBindings>
-    </jxb:bindings>
-</jxb:bindings>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git



More information about the debian-science-commits mailing list