[ismrmrd] 153/281: Updated readme file

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


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

ghisvail-guest pushed a commit to annotated tag ismrmrd0.5
in repository ismrmrd.

commit 821a46098f593ab2e1fd72afaf861ccd07962fd7
Author: Michael S. Hansen <michael.hansen at nih.gov>
Date:   Sat Jul 6 12:48:45 2013 -0400

    Updated readme file
---
 README.html    | 73 +++++++++++++++++++++++++++++++++-------------------------
 doc/README.rst | 14 +++++------
 2 files changed, 48 insertions(+), 39 deletions(-)

diff --git a/README.html b/README.html
index 9b18e91..654c2e0 100644
--- a/README.html
+++ b/README.html
@@ -418,7 +418,7 @@ wget https://sourceforge.net/projects/ismrmrd/files/src/ismrmrd_latest.zip
 <h2><a class="toc-backref" href="#id5">Linux installation</a></h2>
 <p>The dependencies mentioned above should be included in most linux distributions. On Ubuntu you can install all required dependencies with:</p>
 <pre class="literal-block">
-sudo apt-get install libhdf5-serial-dev h5utils cmake cmake-curses-gui libboost-dev libboost-thread-dev libboost-system-dev libxerces-c-dev xsdcxx doxygen git
+sudo apt-get install libhdf5-serial-dev h5utils cmake cmake-curses-gui libboost-all-dev libxerces-c-dev xsdcxx doxygen git
 </pre>
 <p>After installation of dependencies, the library can be installed with:</p>
 <pre class="literal-block">
@@ -633,7 +633,7 @@ msbuild .\ISMRMRD.sln /p:Configuration=Release
 <h2><a class="toc-backref" href="#id10">Fixed Data structures</a></h2>
 <p>Each raw data acquisition is preceded by the following fixed layout structure:</p>
 <pre class="literal-block">
-struct AcquisitionHeader
+typedef struct AcquisitionHeader
 {
         uint16_t           version;                                          /**< First unsigned int indicates the version */
         uint64_t           flags;                                            /**< bit field with flags */
@@ -659,12 +659,12 @@ struct AcquisitionHeader
         EncodingCounters   idx;                                              /**< Encoding loop counters, see above */
         int32_t            user_int[ISMRMRD_USER_INTS];                      /**< Free user parameters */
         float              user_float[ISMRMRD_USER_FLOATS];                  /**< Free user parameters */
-};
+} AcquisitionHeader;
 
 </pre>
 <p>Where EncodingCounters are defined as:</p>
 <pre class="literal-block">
-struct EncodingCounters {
+typedef struct EncodingCounters {
         uint16_t kspace_encode_step_1;     /**< e.g. phase encoding line number */
         uint16_t kspace_encode_step_2;     /**< e.g. partition encodning number */
         uint16_t average;                  /**< e.g. signal average number */
@@ -675,7 +675,7 @@ struct EncodingCounters {
         uint16_t set;                      /**< e.g. flow encodning set */
         uint16_t segment;                  /**< e.g. segment number for segmented acquisition */
         uint16_t user[ISMRMRD_USER_INTS];  /**< Free user parameters */
-};
+} EncodingCounters;
 
 </pre>
 <p>The interpretation of some of these fields may vary from sequence to sequence, i.e. for a Cartesian sequence, <tt class="docutils literal">kspace_encode_step_1</tt> would be the phase encoding step, for a spiral sequence where phase encoding direction does not make sense, it would be the spiral interleave number. The <tt class="docutils literal">encoding_space_ref</tt> enables the user to tie an acquisition to a specific encoding space (see above) in case there are multiple, e.g. in s [...]
@@ -702,34 +702,34 @@ float* data_;            //Actual data, elements = head_.number_of_samples*head_
 <p>This suggested memory layout is only a suggestion. The HDF5 interface (see below) can be used to read the data into many different data structures. In fact, the user can choose to read only part of the header or not read the data, etc.</p>
 <p>As mentioned above, the ISMRMRD format also suggests a way to store reconstructed images (or maybe image data used for calibration). An <tt class="docutils literal">ImageHeader</tt> structure is defined in <tt class="docutils literal">ismrmrd.h</tt>:</p>
 <pre class="literal-block">
-struct ImageHeader
+typedef struct ImageHeader
 {
-        uint16_t                version;                                         /**< First unsigned int indicates the version */
-        uint64_t                flags;                                           /**< bit field with flags */
-        uint32_t                measurement_uid;                                 /**< Unique ID for the measurement  */
-        uint16_t                matrix_size[3];                                  /**< Pixels in the 3 spatial dimensions */
-        float                   field_of_view[3];                                /**< Size (in mm) of the 3 spatial dimensions */
-        uint16_t                channels;                                        /**< Number of receive channels */
-        float                   position[ISMRMRD_POSITION_LENGTH];               /**< Three-dimensional spatial offsets from isocenter */
-        float                   read_dir[ISMRMRD_DIRECTION_LENGTH];              /**< Directional cosines of the readout/frequency encoding */
-        float                   phase_dir[ISMRMRD_DIRECTION_LENGTH];             /**< Directional cosines of the phase */
-        float                   slice_dir[ISMRMRD_DIRECTION_LENGTH];             /**< Directional cosines of the slice direction */
-        float                   patient_table_position[ISMRMRD_POSITION_LENGTH]; /**< Patient table off-center */
-        uint16_t                average;                                         /**< e.g. signal average number */
-        uint16_t                slice;                                           /**< e.g. imaging slice number */
-        uint16_t                contrast;                                        /**< e.g. echo number in multi-echo */
-        uint16_t                phase;                                           /**< e.g. cardiac phase number */
-        uint16_t                repetition;                                      /**< e.g. dynamic number for dynamic scanning */
-        uint16_t                set;                                             /**< e.g. flow encodning set */
-        uint32_t                acquisition_time_stamp;                          /**< Acquisition clock */
-        uint32_t                physiology_time_stamp[ISMRMRD_PHYS_STAMPS];      /**< Physiology time stamps, e.g. ecg, breating, etc. */
-        uint16_t                image_data_type;                                 /**< e.g. unsigned short, float, complex float, etc. */
-        uint16_t                image_type;                                      /**< e.g. magnitude, phase, complex, real, imag, etc. */
-        uint16_t                image_index;                                                     /**< e.g. image number in series of images  */
-        uint16_t                        image_series_index;                              /**< e.g. series number */
-        int32_t                 user_int[ISMRMRD_USER_INTS];                     /**< Free user parameters */
-        float                   user_float[ISMRMRD_USER_FLOATS];                 /**< Free user parameters */
-};
+        uint16_t            version;                                         /**< First unsigned int indicates the version */
+        uint64_t            flags;                                           /**< bit field with flags */
+        uint32_t            measurement_uid;                                 /**< Unique ID for the measurement  */
+        uint16_t            matrix_size[3];                                  /**< Pixels in the 3 spatial dimensions */
+        float               field_of_view[3];                                /**< Size (in mm) of the 3 spatial dimensions */
+        uint16_t            channels;                                        /**< Number of receive channels */
+        float               position[ISMRMRD_POSITION_LENGTH];               /**< Three-dimensional spatial offsets from isocenter */
+        float               read_dir[ISMRMRD_DIRECTION_LENGTH];              /**< Directional cosines of the readout/frequency encoding */
+        float               phase_dir[ISMRMRD_DIRECTION_LENGTH];             /**< Directional cosines of the phase */
+        float               slice_dir[ISMRMRD_DIRECTION_LENGTH];             /**< Directional cosines of the slice direction */
+        float               patient_table_position[ISMRMRD_POSITION_LENGTH]; /**< Patient table off-center */
+        uint16_t            average;                                         /**< e.g. signal average number */
+        uint16_t            slice;                                           /**< e.g. imaging slice number */
+        uint16_t            contrast;                                        /**< e.g. echo number in multi-echo */
+        uint16_t            phase;                                           /**< e.g. cardiac phase number */
+        uint16_t            repetition;                                      /**< e.g. dynamic number for dynamic scanning */
+        uint16_t            set;                                             /**< e.g. flow encodning set */
+        uint32_t            acquisition_time_stamp;                          /**< Acquisition clock */
+        uint32_t            physiology_time_stamp[ISMRMRD_PHYS_STAMPS];      /**< Physiology time stamps, e.g. ecg, breating, etc. */
+        uint16_t            image_data_type;                                 /**< e.g. unsigned short, float, complex float, etc. */
+        uint16_t            image_type;                                      /**< e.g. magnitude, phase, complex, real, imag, etc. */
+        uint16_t            image_index;                                                         /**< e.g. image number in series of images  */
+        uint16_t            image_series_index;                              /**< e.g. series number */
+        int32_t             user_int[ISMRMRD_USER_INTS];                     /**< Free user parameters */
+        float               user_float[ISMRMRD_USER_FLOATS];                 /**< Free user parameters */
+} ImageHeader;
 
 </pre>
 <p>In a similar fashion to the raw data acquisition data, the intention is to store a header followed by the image data. Since image data can be in several different format (e.g. float, complex, etc.), the memory layout is less well defined but can be described as:</p>
@@ -1224,6 +1224,7 @@ std::streambuf::setg (b, b, e);
             <xs:sequence>
               <xs:element maxOccurs="unbounded" minOccurs="0" name="userParameterLong" type="userParameterLongType"/>
               <xs:element maxOccurs="unbounded" minOccurs="0" name="userParameterDouble" type="userParameterDoubleType"/>
+              <xs:element maxOccurs="unbounded" minOccurs="0" name="userParameterBase64" type="userParameterBase64Type"/>
             </xs:sequence>
           </xs:complexType>
         </xs:element>
@@ -1364,6 +1365,13 @@ std::streambuf::setg (b, b, e);
     </xs:all>
   </xs:complexType>
 
+  <xs:complexType name="userParameterBase64Type">
+    <xs:all>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="value" type="xs:base64Binary"/>
+    </xs:all>
+  </xs:complexType>
+
   <xs:complexType name="measurementInformationType">
     <xs:all>
       <xs:element minOccurs="1" name="seriesDate" type="xs:date"/>
@@ -1382,6 +1390,7 @@ std::streambuf::setg (b, b, e);
           </xs:restriction>
         </xs:simpleType>
       </xs:element>
+      <xs:element minOccurs="0" name="initialSeriesNumber" type="xs:long"/>
       <xs:element minOccurs="0" name="protocolName" type="xs:string"/>
       <xs:element minOccurs="0" name="seriesDescription" type="xs:string"/>
     </xs:all>
diff --git a/doc/README.rst b/doc/README.rst
index a2ee62d..d983db1 100644
--- a/doc/README.rst
+++ b/doc/README.rst
@@ -71,7 +71,7 @@ Linux installation
 
 The dependencies mentioned above should be included in most linux distributions. On Ubuntu you can install all required dependencies with::
 
-  sudo apt-get install libhdf5-serial-dev h5utils cmake cmake-curses-gui libboost-dev libboost-thread-dev libboost-system-dev libxerces-c-dev xsdcxx doxygen git
+  sudo apt-get install libhdf5-serial-dev h5utils cmake cmake-curses-gui libboost-all-dev libxerces-c-dev xsdcxx doxygen git
 
 After installation of dependencies, the library can be installed with::
 
@@ -230,15 +230,15 @@ Each raw data acquisition is preceded by the following fixed layout structure:
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 133
-   :end-line: 160
+   :start-line: 134
+   :end-line: 161
 
 Where EncodingCounters are defined as:
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 117
-   :end-line: 129
+   :start-line: 118
+   :end-line: 130
 
 The interpretation of some of these fields may vary from sequence to sequence, i.e. for a Cartesian sequence, ``kspace_encode_step_1`` would be the phase encoding step, for a spiral sequence where phase encoding direction does not make sense, it would be the spiral interleave number. The ``encoding_space_ref`` enables the user to tie an acquisition to a specific encoding space (see above) in case there are multiple, e.g. in situations where a calibration scan may be integrated in the acq [...]
 
@@ -271,8 +271,8 @@ As mentioned above, the ISMRMRD format also suggests a way to store reconstructe
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 196
-   :end-line: 224
+   :start-line: 197
+   :end-line: 225
 
 In a similar fashion to the raw data acquisition data, the intention is to store a header followed by the image data. Since image data can be in several different format (e.g. float, complex, etc.), the memory layout is less well defined but can be described as::
 

-- 
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