]> Creatis software - creaBruker.git/blobdiff - lib/src1/bruker2dicom.h
Added CMake configuration to enable CDash tests.
[creaBruker.git] / lib / src1 / bruker2dicom.h
index 7e54ce36565e20acd0be0786a06016ce4017beb7..2260572585923b96c5a4106c914e9097ee6782ef 100644 (file)
@@ -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
 
@@ -20,7 +46,7 @@
 
 
 
-class creaBruker_EXPORT Bruker2Dicom {
+class /*creaBruker_EXPORT*/ Bruker2Dicom {
 
 public:
  /*! \brief Constructor
@@ -65,7 +91,7 @@ void MakeDicomImage(unsigned char *tabPixels,
               GDCM_NAME_SPACE::ImageContentType contentType 
       );
       
-std::vector<BrukerImage> CreateImageSet ( );
+std::vector<BrukerImage> 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 &currentOutputDirName, int dimension);
+void DealWithNiveau2(std::string &level2Directory, std::string &currentOutputDirName, int dimension);
+void DealWithNiveau3(std::string &level3Directory, std::string &currentOutputDirName, 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 &currentOutputDirName, 
                   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