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