[ismrmrd] 83/281: Updated documentation and moved matlab examples (temporarily) back to the original folder while new examples are being made

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:00:59 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 97ce95411e12c82630735956cc881e56e2da5a80
Author: Michael S. Hansen <michael.hansen at nih.gov>
Date:   Wed Jan 23 10:23:31 2013 -0500

    Updated documentation and moved matlab examples (temporarily) back to the original folder while new examples are being made
---
 README.html                                        | 140 ++++++++++++++++++---
 doc/README.rst                                     |  19 +--
 .../{deprecated => }/ismrmrd_header2struct.m       |   0
 .../{deprecated => }/simple_cartesian_recon.m      |   0
 examples/matlab/{deprecated => }/simple_gridder.m  |   0
 .../matlab/{deprecated => }/simple_spiral_recon.m  |   0
 schema/ismrmrd_example.xml                         |  17 ++-
 7 files changed, 146 insertions(+), 30 deletions(-)

diff --git a/README.html b/README.html
index 60c5d78..3551600 100644
--- a/README.html
+++ b/README.html
@@ -378,6 +378,7 @@ ul.auto-toc {
 <li>Michael S. Hansen, National Institutes of Health, USA</li>
 <li>Nick Zwart, Barrow Neurological Institute, Phoenix, Arizona</li>
 <li>Souheil Inati, National Institutes of Health, USA</li>
+<li>Joe Naegele, National Institutes of Health, USA</li>
 <li>Kaveh Vahedipour, Juelich Research Centre, Juelich, Germany</li>
 </ul>
 </div>
@@ -434,7 +435,7 @@ sudo make install
 <h2><a class="toc-backref" href="#id6">Mac OSX Installation</a></h2>
 <p>There are numerous different package management systems for Mac. In this example, we have used MacPorts (<a class="reference external" href="http://www.macports.org/">http://www.macports.org/</a>). First install the dependencies available in MacPorts:</p>
 <pre class="literal-block">
-sudo port install wget hdf5-18 h5utils boost xercesc3 git cmake doxygen
+sudo port install wget hdf5-18 h5utils boost xercesc3 git-core git-extras cmake doxygen
 </pre>
 <p>Next install CodeSynthesis XSD (<a class="reference external" href="http://www.codesynthesis.com/products/xsd/">http://www.codesynthesis.com/products/xsd/</a>):</p>
 <pre class="literal-block">
@@ -532,6 +533,7 @@ msbuild .\ISMRMRD.sln /p:Configuration=Release
     <systemModel>Avanto</systemModel>
     <systemFieldStrength_T>1.494</systemFieldStrength_T>
     <receiverChannels>32</receiverChannels>
+    <relativeReceiverNoiseBandwidth>0.79</relativeReceiverNoiseBandwidth>
   </acquisitionSystemInformation>
   <experimentalConditions>
     <H1resonanceFrequency_Hz>63642459</H1resonanceFrequency_Hz>
@@ -578,13 +580,25 @@ msbuild .\ISMRMRD.sln /p:Configuration=Release
         <maximum>0</maximum>
         <center>0</center>
       </slice>
+      <set>
+        <minimum>0</minimum>
+        <maximum>0</maximum>
+        <center>0</center>
+      </set>
     </encodingLimits>
   </encoding>
-  <sequenceTiming>
+  <parallelImaging>
+    <accelerationFactor>
+      <kspace_encoding_step_1>1</kspace_encoding_step_1>
+      <kspace_encoding_step_2>1</kspace_encoding_step_2>
+    </accelerationFactor>
+    <calibrationMode>other</calibrationMode>
+  </parallelImaging>
+  <sequenceParameters>
     <TR>4.6</TR>
     <TE>2.35</TE>
     <TI>300</TI>
-  </sequenceTiming>
+  </sequenceParameters>
 </ismrmrdHeader>
 
 
@@ -1181,9 +1195,11 @@ std::streambuf::setg (b, b, e);
     <xs:complexType>
       <xs:sequence>
         <xs:element maxOccurs="1" minOccurs="0" name="subjectInformation" type="subjectInformationType"/>
-        <xs:element maxOccurs="1" minOccurs="0" name="acquisitionSystemInformation" type="acquisitionSystemInformationType"/> 
+        <xs:element maxOccurs="1" minOccurs="0" name="studyInformation" type="studyInformationType"/>
+        <xs:element maxOccurs="1" minOccurs="0" name="measurementInformation" type="measurementInformationType"/>
+        <xs:element maxOccurs="1" minOccurs="0" name="acquisitionSystemInformation" type="acquisitionSystemInformationType"/>
         <xs:element maxOccurs="1" minOccurs="1" name="experimentalConditions" type="experimentalConditionsType"/>
-        <xs:element maxOccurs="65535" minOccurs="1" name="encoding">
+        <xs:element maxOccurs="unbounded" minOccurs="1" name="encoding">
           <xs:complexType>
             <xs:all>
               <xs:element maxOccurs="1" minOccurs="1" name="encodedSpace" type="encodingSpaceType"/>
@@ -1195,7 +1211,8 @@ std::streambuf::setg (b, b, e);
           </xs:complexType>
         </xs:element>
         <xs:element maxOccurs="1" minOccurs="0" name="parallelImaging" type="parallelImagingType"/>
-        <xs:element maxOccurs="1" minOccurs="0" name="sequenceTiming" type="sequenceTimingType"/>
+        <xs:element maxOccurs="1" minOccurs="0" name="sequenceParameters" type="sequenceParametersType"/>
+        <xs:element maxOccurs="1" minOccurs="0" name="dicomParameters" type="dicomParametersType"/>
         <xs:element maxOccurs="1" minOccurs="0" name="userParameters">
           <xs:complexType>
             <xs:sequence>
@@ -1212,9 +1229,29 @@ std::streambuf::setg (b, b, e);
     <xs:all>
       <xs:element minOccurs="0" name="patientName" type="xs:string"/>
       <xs:element minOccurs="0" name="patientWeight_kg" type="xs:float"/>
+      <xs:element minOccurs="0" name="patientID" type="xs:string"/>
+      <xs:element minOccurs="0" name="patientBirthdate" type="xs:date"/>
+      <xs:element minOccurs="0" name="patientGender">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[MFO]"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
     </xs:all>
   </xs:complexType>
-  
+
+  <xs:complexType name="studyInformationType">
+    <xs:all>
+      <xs:element minOccurs="1" name="studyDate" type="xs:date"/>
+      <xs:element minOccurs="1" name="studyTime" type="xs:time"/>
+      <xs:element minOccurs="0" name="studyID" type="xs:string"/>
+      <xs:element minOccurs="0" name="accessionNumber" type="xs:long"/>
+      <xs:element minOccurs="0" name="referringPhysicianName" type="xs:string"/>
+      <xs:element minOccurs="0" name="studyDescription" type="xs:string"/>
+    </xs:all>
+  </xs:complexType>
+
   <xs:complexType name="experimentalConditionsType">
     <xs:all>
       <xs:element name="H1resonanceFrequency_Hz" type="xs:long"/>
@@ -1228,6 +1265,8 @@ std::streambuf::setg (b, b, e);
       <xs:element minOccurs="0" name="systemFieldStrength_T" type="xs:float"/>
       <xs:element minOccurs="0" name="relativeReceiverNoiseBandwidth" type="xs:float"/>
       <xs:element minOccurs="0" name="receiverChannels" type="xs:unsignedShort"/>
+      <xs:element minOccurs="0" name="institutionName" type="xs:string"/>
+      <xs:element minOccurs="0" name="stationName" type="xs:string"/>
     </xs:all>
   </xs:complexType>
 
@@ -1255,7 +1294,7 @@ std::streambuf::setg (b, b, e);
   </xs:complexType>
 
   <xs:complexType name="limitType">
-    <xs:all> 
+    <xs:all>
       <xs:element default="0" name="minimum" type="xs:unsignedShort"/>
       <xs:element default="0" name="maximum" type="xs:unsignedShort"/>
       <xs:element default="0" name="center" type="xs:unsignedShort"/>
@@ -1297,7 +1336,7 @@ std::streambuf::setg (b, b, e);
     </xs:sequence>
   </xs:complexType>
 
-  <xs:complexType name="sequenceTimingType">
+  <xs:complexType name="sequenceParametersType">
         <xs:sequence>
                 <xs:element minOccurs="1" maxOccurs="unbounded" type="xs:float" name="TR"/>
                 <xs:element minOccurs="1" maxOccurs="unbounded" type="xs:float" name="TE"/>
@@ -1308,24 +1347,87 @@ std::streambuf::setg (b, b, e);
   <xs:complexType name="userParameterLongType">
     <xs:all>
       <xs:element name="name" type="xs:string"/>
-      <xs:element name="value" type="xs:long"/> 
+      <xs:element name="value" type="xs:long"/>
     </xs:all>
   </xs:complexType>
 
   <xs:complexType name="userParameterDoubleType">
     <xs:all>
       <xs:element name="name" type="xs:string"/>
-      <xs:element name="value" type="xs:double"/> 
+      <xs:element name="value" type="xs:double"/>
     </xs:all>
   </xs:complexType>
-  
-        <xs:complexType name="accelerationFactorType">
-                <xs:all>
-                        <xs:element name="kspace_encoding_step_1" type="xs:unsignedShort"/>
-                        <xs:element name="kspace_encoding_step_2" type="xs:unsignedShort"/>                             
-                </xs:all>
+
+  <xs:complexType name="measurementInformationType">
+    <xs:all>
+      <xs:element minOccurs="1" name="seriesDate" type="xs:date"/>
+      <xs:element minOccurs="1" name="seriesTime" type="xs:time"/>
+      <xs:element minOccurs="1" name="patientPosition">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="HFP"/>
+            <xs:enumeration value="HFS"/>
+            <xs:enumeration value="HFDR"/>
+            <xs:enumeration value="HFDL"/>
+            <xs:enumeration value="FFP"/>
+            <xs:enumeration value="FFS"/>
+            <xs:enumeration value="FFDR"/>
+            <xs:enumeration value="FFDL"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element minOccurs="0" name="protocolName" type="xs:string"/>
+      <xs:element minOccurs="0" name="seriesDescription" type="xs:string"/>
+    </xs:all>
+  </xs:complexType>
+
+  <xs:complexType name="dicomParametersType">
+    <xs:all>
+      <xs:element minOccurs="1" name="studyInstanceUID" type="xs:string"/>
+      <xs:element minOccurs="0" name="seriesInstanceUIDRoot" type="xs:string"/>
+      <xs:element minOccurs="0" name="frameOfReferenceUID" type="xs:string"/>
+
+      <xs:element minOccurs="0" name="referencedImageSequence">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element minOccurs="0" maxOccurs="unbounded" name="referencedSOPInstanceUID" type="xs:string"/>
+          </xs:sequence>
         </xs:complexType>
-        
+      </xs:element>
+
+      <xs:element minOccurs="0" name="MRImageModule">
+        <xs:complexType>
+          <xs:all>
+            <xs:element minOccurs="0" name="imageType" type="xs:string"/>
+            <xs:element minOccurs="0" name="scanningSequence" type="xs:string"/>
+            <xs:element minOccurs="0" name="sequenceVariant" type="xs:string"/>
+            <xs:element minOccurs="0" name="scanOptions" type="xs:string"/>
+            <xs:element minOccurs="0" name="mrAcquisitionType" type="xs:string"/>
+            <xs:element minOccurs="0" name="echoTrainLength" type="xs:long"/>
+            <xs:element minOccurs="0" name="triggerTime" type="xs:float"/>
+            <xs:element minOccurs="0" name="flipAngle_deg" type="xs:long"/>
+            <xs:element minOccurs="0" name="freqEncodingDirection">
+              <xs:simpleType>
+                <xs:restriction base="xs:string">
+                  <xs:enumeration value="ROW"/>
+                  <xs:enumeration value="COL"/>
+                </xs:restriction>
+              </xs:simpleType>
+            </xs:element>
+          </xs:all>
+        </xs:complexType>
+      </xs:element>
+
+    </xs:all>
+  </xs:complexType>
+
+  <xs:complexType name="accelerationFactorType">
+    <xs:all>
+      <xs:element name="kspace_encoding_step_1" type="xs:unsignedShort"/>
+      <xs:element name="kspace_encoding_step_2" type="xs:unsignedShort"/>
+    </xs:all>
+  </xs:complexType>
+
   <xs:simpleType name="calibrationModeType">
     <xs:restriction base="xs:string">
       <xs:enumeration value="embedded"/>
@@ -1344,7 +1446,7 @@ std::streambuf::setg (b, b, e);
       <xs:enumeration value="average"/>
       <xs:enumeration value="other"/>
     </xs:restriction>
-  </xs:simpleType>        
+  </xs:simpleType>
 
   <xs:complexType name="parallelImagingType">
         <xs:sequence>
diff --git a/doc/README.rst b/doc/README.rst
index 3340ed9..eb4922f 100644
--- a/doc/README.rst
+++ b/doc/README.rst
@@ -27,6 +27,7 @@ Developers/Contributors
 * Nick Zwart, Barrow Neurological Institute, Phoenix, Arizona
 * Souheil Inati, National Institutes of Health, USA
 * Joe Naegele, National Institutes of Health, USA
+* Kaveh Vahedipour, Juelich Research Centre, Juelich, Germany
 
 Obtaining and Installing
 -------------------------
@@ -89,7 +90,7 @@ Mac OSX Installation
 
 There are numerous different package management systems for Mac. In this example, we have used MacPorts (http://www.macports.org/). First install the dependencies available in MacPorts::
 
-   sudo port install wget hdf5-18 h5utils boost xercesc3 git cmake doxygen
+   sudo port install wget hdf5-18 h5utils boost xercesc3 git-core git-extras cmake doxygen
 
 Next install CodeSynthesis XSD (http://www.codesynthesis.com/products/xsd/)::
 
@@ -229,15 +230,15 @@ Each raw data acquisition is preceded by the following fixed layout structure:
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 123
-   :end-line: 148
+   :start-line: 125
+   :end-line: 150
 
 Where EncodingCounters are defined as:
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 107
-   :end-line: 119
+   :start-line: 109
+   :end-line: 121
 
 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 [...]
 
@@ -270,8 +271,8 @@ As mentioned above, the ISMRMRD format also suggests a way to store reconstructe
 
 .. include:: ../ismrmrd.h
    :literal:
-   :start-line: 279
-   :end-line: 305
+   :start-line: 293
+   :end-line: 319
 
 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::
 
@@ -430,13 +431,13 @@ C++ Example Applications
 
 The distribution includes two example applications, one that creates a simple 2D single-channel dataset from scratch and one that reconstructs this dataset (you need FFTW installed to compile these test applications). The data generation application looks like this (``test_create_dataset.cpp``):
 
-.. include:: ../test_create_dataset.cpp
+.. include:: ../examples/c++/test_create_dataset.cpp
    :literal:
    :start-after: /* MAIN APPLICATION */
 
 To reconstruct this synthetic dataset, you can use the test reconstruction application (``test_recon_dataset.cpp``):
 
-.. include:: ../test_recon_dataset.cpp
+.. include:: ../examples/c++/test_recon_dataset.cpp
    :literal:
    :start-after: /* MAIN APPLICATION */
 
diff --git a/examples/matlab/deprecated/ismrmrd_header2struct.m b/examples/matlab/ismrmrd_header2struct.m
similarity index 100%
rename from examples/matlab/deprecated/ismrmrd_header2struct.m
rename to examples/matlab/ismrmrd_header2struct.m
diff --git a/examples/matlab/deprecated/simple_cartesian_recon.m b/examples/matlab/simple_cartesian_recon.m
similarity index 100%
rename from examples/matlab/deprecated/simple_cartesian_recon.m
rename to examples/matlab/simple_cartesian_recon.m
diff --git a/examples/matlab/deprecated/simple_gridder.m b/examples/matlab/simple_gridder.m
similarity index 100%
rename from examples/matlab/deprecated/simple_gridder.m
rename to examples/matlab/simple_gridder.m
diff --git a/examples/matlab/deprecated/simple_spiral_recon.m b/examples/matlab/simple_spiral_recon.m
similarity index 100%
rename from examples/matlab/deprecated/simple_spiral_recon.m
rename to examples/matlab/simple_spiral_recon.m
diff --git a/schema/ismrmrd_example.xml b/schema/ismrmrd_example.xml
index c59ff27..3e5c157 100644
--- a/schema/ismrmrd_example.xml
+++ b/schema/ismrmrd_example.xml
@@ -9,6 +9,7 @@
     <systemModel>Avanto</systemModel>
     <systemFieldStrength_T>1.494</systemFieldStrength_T>
     <receiverChannels>32</receiverChannels>
+    <relativeReceiverNoiseBandwidth>0.79</relativeReceiverNoiseBandwidth>
   </acquisitionSystemInformation>
   <experimentalConditions>
     <H1resonanceFrequency_Hz>63642459</H1resonanceFrequency_Hz>
@@ -55,12 +56,24 @@
         <maximum>0</maximum>
         <center>0</center>
       </slice>
+      <set>
+        <minimum>0</minimum>
+        <maximum>0</maximum>
+        <center>0</center>
+      </set>
     </encodingLimits>
   </encoding>
-  <sequenceTiming>
+  <parallelImaging>
+    <accelerationFactor>
+      <kspace_encoding_step_1>1</kspace_encoding_step_1>
+      <kspace_encoding_step_2>1</kspace_encoding_step_2>
+    </accelerationFactor>
+    <calibrationMode>other</calibrationMode>
+  </parallelImaging>
+  <sequenceParameters>
     <TR>4.6</TR>
     <TE>2.35</TE>
     <TI>300</TI>
-  </sequenceTiming>
+  </sequenceParameters>
 </ismrmrdHeader>
 

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