]> Creatis software - creaBruker.git/commitdiff
Ass some comments
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Thu, 7 Apr 2011 10:16:56 +0000 (10:16 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Thu, 7 Apr 2011 10:16:56 +0000 (10:16 +0000)
README.txt
appli/CMakeLists.txt
appli/testBruker2Dicom/testBruker2Dicom.cxx
doc/UserDoxygen/Doxyfile.txt.in
lib/src1/bruker2dicom.cxx
lib/src1/bruker2dicom2.h

index 89e7e0c3b1e0eef4b21df2dc63a492cb6069982b..e146304672fe3982a36f133eaaa0e1f441392c2c 100644 (file)
@@ -1,2 +1,165 @@
 creaBruker
-(c) CREATIS 2009
\ No newline at end of file
+(c) CREATIS 2009
+
+a Bruker exam has the following 3 levels structure :
+
+========================================================================
+
+  * subject
+  * AdjStatePerStudy
+  * 1
+  *    acqp
+  *    AdjStatePerScan
+  *    fid
+  *    imnd / method
+  *    pulseprogram
+  *    spnam0
+  *    spnam1
+  *    pdata
+  *       1            // only 'native' images
+  *          2dseq
+  *          d3proc
+  *          meta
+  *          procs
+  *          reco  <--
+  *          roi
+  *          CreatisComputedCartoFile
+  *       2            // post processed images (if any)
+  *          2dseq
+  *          d3proc
+  *          isa  <--
+  *          meta
+  *          procs
+  *          roi         ...
+  *          roi
+  *       3            // post processed images (if any)
+  *          2dseq
+  *          d3proc
+  *          isa  <--
+  *          meta
+  *          procs
+  *          roi
+  *       ...
+  * 2
+  *    acqp
+  *    fid
+  *    ...
+  *    pdata
+  * 3
+  *   ...
+
+========================================================================
+
+To tell the truth, a lot of changes are found at every new version.
+We only can hope the mandatory (for us) files keep the same name, with the same
+informations inside.
+Or we shall have to find out the version number, and swich - case all the
+methods (see NRRD format...)
+
+========================================================================
+
+AdjStatePerStudy
+subject
+1
+   acqp
+   method
+   pdata
+      1
+         2dseq
+        d3proc
+        id
+        meta
+        reco
+        roi
+        visu_pars
+      pulseprogram
+      spnam0
+      uxnmr.par
+
+2
+   acqp
+   method
+   pdata
+      1
+         2dseq
+        d3proc
+        id
+        meta
+        reco
+        roi
+        visu_pars
+      pulseprogram
+      spnam0
+      uxnmr.par
+      
+3
+ ...
+========================================================================
+Dicom convertion *demands* the following files :
+   subject;
+   acqp;
+   method;
+   d3proc;
+   isa;
+   reco;
+
+========================================================================
+This project contains :
+
+appli :testBruker2Dicom:
+------------------------
+
+ - explores the given directory (holding a FULL Bruker exam), at the 3 levels,
+ - fills an equivalent Directory with the MHD files and/or the DICOM files
+ usage: testBruker2Dicom --dirin=rootDirectoryName           
+                         --dirout=outputDirectoryName                     
+                   [-D] [-M]                                              
+                   [{-b|-l}] b:BigEndian,l:LittleEndian default : l       
+                   [--debug] [--verbose] [--listonly] [--usage]           
+                                                                          
+   D         : user wants to export as DICOM                              
+   M         : user wants to export as MHD                                
+  debug      : developper wants to run the program in 'debug mode'        
+                                                                          
+  REMARK :                                                                
+         If you were supplied  an *incomplete* Bruker exam                
+        (e.g. only the '2' serie) put it a 'root' directory,              
+         and run this test using this 'root' directory as 'dirin'
+        
+
+lib :
+----
+NO inheritance !
+
+class Bruker2Dicom:
+       starts from a 'root' directory,
+       iterates on each 'serie', at the 3 levels
+       fills an equivalent Directory with the DICOM files.
+       
+
+class BrukerDataSet:
+       corresponds to a 'parameter file', at any level.
+               LoadFile(std::string fileName);
+               GetFieldData(std::string fieldName);
+                               
+
+class  BrukerFieldData :
+       according to what users *knows* about the element, he will use:
+               std::string &GetDataType();
+               int GetDimensionNumber()
+               int GetNumberOfElements()
+               std::vector<std::string> &GetStringValue()
+               std::vector<int> &GetIntValue ()
+               std::vector<double> &GetDoubleValue()
+                               
+class  BrukerObjectVaryingProperties :
+
+class BrukerKspaceObject :
+
+class BrukerImage
+
+class BrukerSizeException:
+class BrukerInitException
+class BrukerHopelessException
+
+
index 7aa1a0b487fe1ba154e7e9db275ca7b481465b1c..fce393219bd36e66da0c7cfd796d02e327ca1214 100644 (file)
@@ -18,7 +18,7 @@ if(USE_GDCM)
 #ADD_SUBDIRECTORY( essaiDenis )
 #ADD_SUBDIRECTORY( PrintParameterFile)
 #ADD_SUBDIRECTORY( exObjectVaryingProperties)
-#ADD_SUBDIRECTORY( testBruker2Dicom)
+ADD_SUBDIRECTORY( testBruker2Dicom)
 #ADD_SUBDIRECTORY( Dcm2VtkImageData)
 #ADD_SUBDIRECTORY( appli1_WithoutWx)
 #ADD_SUBDIRECTORY( appli2_WithWx)
index bcadbc55614a1e552bd9b6222042ff384e9f7b83..521630263f544d73824d85ed594351738f430bb6 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: testBruker2Dicom.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/04/22 17:20:41 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2011/04/07 10:16:59 $
+  Version:   $Revision: 1.11 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -80,7 +80,7 @@
   *                 pdata
   *              3
   *                ...
-  *          - fills a single level Directory with the MHD files,
+  *          - fills an equivalent Directory with the MHD / DICOM files,
   */
 
 
index 3257ec652150e7c0345d6f3d36094634a55ccab5..78f6b146a6a39244607d3a8a1981071cf118e91b 100644 (file)
@@ -1407,7 +1407,7 @@ GROUP_GRAPHS           = YES
 # collaboration diagrams in a style similar to the OMG's Unified Modeling
 # Language.
 
-UML_LOOK               = NO
+UML_LOOK               = YES
 
 # If set to YES, the inheritance and collaboration graphs will show the
 # relations between templates and their instances.
index daf97a8fdcdc2159b34b43a395013f93f289a7af..02419461abdf7ba848809af178db1d87b7e0b56f 100644 (file)
@@ -1372,7 +1372,7 @@ std::vector<BrukerImage> Bruker2Dicom::CreateImageSet ( )
 
          if (result == false)
         {
-           throw ( BrukerInitException  ("ObjectVaryingProperties.init() failure in Bruker2Dicom::CreateImageSet()") );
+           throw ( BrukerInitException ("ObjectVaryingProperties.init() failure in Bruker2Dicom::CreateImageSet()") );
         }
 
          br_acqp.SetImageLoopStructure();
index 285fe8bd53bf1ef1eb8441692924deec6ee2b234..390ae1f9b35add93261bf33303fc2418d0176b59 100644 (file)
@@ -99,7 +99,7 @@ bool CreateDirectory(const std::string &dirNameout);
 
 int CheckUserDirectory(std::string &userDirName);
 void DealWithMultiStudyDirectory(gdcm::Directory::FilenamesType &fileNames, const std::string &currentOutputDirName);
-void DealWithSingleStudyDirectory (const std::string dirname,              const std::string currentOutputDirName) ;
+void DealWithSingleStudyDirectory (const std::string dirname,               const std::string currentOutputDirName) ;
 
 void DealWithNiveau1(std::string level1Directory, std::string currentOutputDirName);
 void DealWithNiveau2(std::string level2Directory, std::string currentOutputDirName);