X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=README.txt;h=e146304672fe3982a36f133eaaa0e1f441392c2c;hb=40ddbaaf47ea11957bb59444f4a8d6aa57d75c2b;hp=89e7e0c3b1e0eef4b21df2dc63a492cb6069982b;hpb=6f12b657ec7bd02543d1572222df3b0c8c4f1a6e;p=creaBruker.git diff --git a/README.txt b/README.txt index 89e7e0c..e146304 100644 --- a/README.txt +++ b/README.txt @@ -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 &GetStringValue() + std::vector &GetIntValue () + std::vector &GetDoubleValue() + +class BrukerObjectVaryingProperties : + +class BrukerKspaceObject : + +class BrukerImage + +class BrukerSizeException: +class BrukerInitException +class BrukerHopelessException + +