X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fsrc1%2Fbruker2dicom.h;h=2fd2c3b4786b2d2e1ddf1e97af47fa5fc9f230fe;hb=fe149fbb0bb17796095186132dc484884e7e8be2;hp=0199ec02cc804e9c4515f70b49d5b9c0ad79c3f8;hpb=fb90261cac445da2301d351d17ab66dd24eb8fec;p=creaBruker.git diff --git a/lib/src1/bruker2dicom.h b/lib/src1/bruker2dicom.h index 0199ec0..2fd2c3b 100644 --- a/lib/src1/bruker2dicom.h +++ b/lib/src1/bruker2dicom.h @@ -1,3 +1,29 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la Santé) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ +*/ #ifndef BRUKER2DICOM_H #define BRUKER2DICOM_H @@ -30,10 +56,10 @@ public: */ ~Bruker2Dicom (){}; - void SetInputDirectory (const std::string &i) { InputDirName = i; } - void SetOutputDirectory(const std::string &o) { OutputDirName = o; } - void SetConvertModeToDicom() { dicom = 1; mhd = 0;} - void SetConvertModeToMhd() { dicom = 0; mhd = 1;} + void SetInputDirectory (const std::string &i) { InputDirName = i;} + void SetOutputDirectory(const std::string &o) { OutputDirName = o;} + void SetConvertModeToDicom() { dicom = 1; mhd = 0;} + void SetConvertModeToMhd() { dicom = 0; mhd = 1;} bool Execute(); /* @@ -65,7 +91,7 @@ void MakeDicomImage(unsigned char *tabPixels, GDCM_NAME_SPACE::ImageContentType contentType ); -std::vector CreateImageSet ( ); +std::vector CreateImageSet ( int dimension); void getImhDataType(BrukerFieldData &bDPT, std::string &mhdDataPixelType, @@ -73,17 +99,19 @@ void getImhDataType(BrukerFieldData &bDPT, void cleanString(std::string &s); -bool CreateDirectory(std::string dirNameout); +bool CreateDirectory(std::string &dirNameout); -void DealWithNiveau1(std::string level1Directory, std::string currentOutputDirName); -void DealWithNiveau2(std::string level2Directory, std::string currentOutputDirName); -void DealWithNiveau3(std::string level3Directory, std::string currentOutputDirName); +int CheckUserDirectory(std::string &userDirName); +void DealWithMultiStudyDirectory(GDCM_NAME_SPACE::DirListType &fileNames,int dimension); +void DealWithSingleStudyDirectory(GDCM_NAME_SPACE::DirListType &fileNames, int dimension); +void DealWithNiveau1(std::string &level1Directory, std::string ¤tOutputDirName, int dimension); +void DealWithNiveau2(std::string &level2Directory, std::string ¤tOutputDirName, int dimension); +void DealWithNiveau3(std::string &level3Directory, std::string ¤tOutputDirName, int dimension); void dealWithCarto(GDCM_NAME_SPACE::DirListType &fileNames, int NX, int NY, int nbSlices, double fovX, double fovY, double sliceDistance, char *copyFile, std::string ¤tOutputDirName, char *outputMhdFileName, char *output2dseqCartoName); - public: // these ones are for debugging only @@ -95,6 +123,14 @@ public: private : std::string InputDirName; std::string OutputDirName; + + bool subjectFound; + bool acqpFound; + + std::string subject_entry; + std::string subject_position; + std::string subject_date; + std::string subject_study_name; int mhd; int dicom; @@ -117,10 +153,10 @@ private : std::string strSerieDescr; std::string strStudyTimeDate; std::string strPatientName; - + std::string subject_name; // cleaned strPatientName + int serieNumber; int instanceNumber; }; - #endif