]> Creatis software - creaBruker.git/blob - README.txt
Ass some comments
[creaBruker.git] / README.txt
1 creaBruker
2 (c) CREATIS 2009
3
4 a Bruker exam has the following 3 levels structure :
5
6 ========================================================================
7
8   * subject
9   * AdjStatePerStudy
10   * 1
11   *    acqp
12   *    AdjStatePerScan
13   *    fid
14   *    imnd / method
15   *    pulseprogram
16   *    spnam0
17   *    spnam1
18   *    pdata
19   *       1             // only 'native' images
20   *          2dseq
21   *          d3proc
22   *          meta
23   *          procs
24   *          reco  <--
25   *          roi
26   *          CreatisComputedCartoFile
27   *       2             // post processed images (if any)
28   *          2dseq
29   *          d3proc
30   *          isa  <--
31   *          meta
32   *          procs
33   *          roi         ...
34   *          roi
35   *       3             // post processed images (if any)
36   *          2dseq
37   *          d3proc
38   *          isa  <--
39   *          meta
40   *          procs
41   *          roi
42   *       ...
43   * 2
44   *    acqp
45   *    fid
46   *    ...
47   *    pdata
48   * 3
49   *   ...
50
51 ========================================================================
52
53 To tell the truth, a lot of changes are found at every new version.
54 We only can hope the mandatory (for us) files keep the same name, with the same
55 informations inside.
56 Or we shall have to find out the version number, and swich - case all the
57 methods (see NRRD format...)
58
59 ========================================================================
60
61 AdjStatePerStudy
62 subject
63 1
64    acqp
65    method
66    pdata
67       1
68          2dseq
69          d3proc
70          id
71          meta
72          reco
73          roi
74          visu_pars
75       pulseprogram
76       spnam0
77       uxnmr.par
78
79 2
80    acqp
81    method
82    pdata
83       1
84          2dseq
85          d3proc
86          id
87          meta
88          reco
89          roi
90          visu_pars
91       pulseprogram
92       spnam0
93       uxnmr.par
94       
95 3
96  ...
97 ========================================================================
98 Dicom convertion *demands* the following files :
99    subject;
100    acqp;
101    method;
102    d3proc;
103    isa;
104    reco;
105
106 ========================================================================
107 This project contains :
108
109 appli :testBruker2Dicom:
110 ------------------------
111
112  - explores the given directory (holding a FULL Bruker exam), at the 3 levels,
113  - fills an equivalent Directory with the MHD files and/or the DICOM files
114  usage: testBruker2Dicom --dirin=rootDirectoryName           
115                          --dirout=outputDirectoryName                     
116                    [-D] [-M]                                              
117                    [{-b|-l}] b:BigEndian,l:LittleEndian default : l       
118                    [--debug] [--verbose] [--listonly] [--usage]           
119                                                                           
120    D         : user wants to export as DICOM                              
121    M         : user wants to export as MHD                                
122   debug      : developper wants to run the program in 'debug mode'        
123                                                                           
124   REMARK :                                                                
125          If you were supplied  an *incomplete* Bruker exam                
126         (e.g. only the '2' serie) put it a 'root' directory,              
127          and run this test using this 'root' directory as 'dirin'
128          
129
130 lib :
131 ----
132 NO inheritance !
133
134 class Bruker2Dicom:
135         starts from a 'root' directory,
136         iterates on each 'serie', at the 3 levels
137         fills an equivalent Directory with the DICOM files.
138         
139
140 class BrukerDataSet:
141         corresponds to a 'parameter file', at any level.
142                 LoadFile(std::string fileName);
143                 GetFieldData(std::string fieldName);
144                                 
145
146 class  BrukerFieldData :
147         according to what users *knows* about the element, he will use:
148                 std::string &GetDataType();
149                 int GetDimensionNumber()
150                 int GetNumberOfElements()
151                 std::vector<std::string> &GetStringValue()
152                 std::vector<int> &GetIntValue ()
153                 std::vector<double> &GetDoubleValue()
154                                 
155 class  BrukerObjectVaryingProperties :
156
157 class BrukerKspaceObject :
158
159 class BrukerImage
160
161 class BrukerSizeException:
162 class BrukerInitException
163 class BrukerHopelessException
164
165