]> Creatis software - gdcm.git/blobdiff - Example/exOverlaysDCM.cxx
Add disclaimer
[gdcm.git] / Example / exOverlaysDCM.cxx
index b3371917a1b157c0cee8e2638c2a6ec0b2b7986e..14d31cc93942340f7f7ad86e32c85045f64c8998 100755 (executable)
@@ -1,3 +1,21 @@
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: exOverlaysDCM.cxx,v $
+  Language:  C++
+  Date:      $Date: 2007/09/04 13:04:18 $
+  Version:   $Revision: 1.11 $
+                                                                                
+  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+  l'Image). All rights reserved. See Doc/License.txt or
+  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+                                                                                
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notices for more information.
+                                                                                
+=========================================================================*/
+
 #include "gdcmFile.h"
 #include "gdcmFileHelper.h"
 #include "gdcmCommon.h"
@@ -35,7 +53,7 @@ int main(int argc, char *argv[])
    FINISH_USAGE
 
    // ----- Initialize Arguments Manager ------
-   gdcm::ArgMgr *am = new gdcm::ArgMgr(argc, argv);
+   GDCM_NAME_SPACE::ArgMgr *am = new GDCM_NAME_SPACE::ArgMgr(argc, argv);
 
    if (argc == 1 || am->ArgMgrDefined("usage"))
    {
@@ -43,12 +61,31 @@ int main(int argc, char *argv[])
       delete am;
       return 0;
    }
+   
+/*
    char *fileName = am->ArgMgrWantString("filein",usage);
    if ( fileName == NULL )
    {
       delete am;
       return 0;
    }
+*/
+
+
+   const char *fileName = am->ArgMgrGetString("filein");
+   const char *dirName  = am->ArgMgrGetString("dirin");
+
+   if ( (fileName == 0 && dirName == 0) ||
+        (fileName != 0 && dirName != 0) )
+   {
+      std::cerr << std::endl
+        << "Either 'filein=' or 'dirin=' must be present;" 
+        << std::endl << "Not both" << std::endl;
+      am->ArgMgrUsage(usage); // Display 'usage'  
+      delete am;
+      return 1;
+   }
+
 
    char *outputFileName = am->ArgMgrWantString("fileout",usage);
    if ( outputFileName == NULL )
@@ -57,8 +94,11 @@ int main(int argc, char *argv[])
       return 0;
    }
    if (am->ArgMgrDefined("debug"))
-      gdcm::Debug::DebugOn();
-
+      GDCM_NAME_SPACE::Debug::DebugOn();
+      
+   if (am->ArgMgrDefined("warning"))
+      GDCM_NAME_SPACE::Debug::WarningOn();
+      
    // if unused Param we give up
    if ( am->ArgMgrPrintUnusedLabels() )
    {
@@ -73,10 +113,10 @@ int main(int argc, char *argv[])
    //   Read the input file.
    // ============================================================
 
-   gdcm::File *f;
+   GDCM_NAME_SPACE::File *f;
 
-   f = gdcm::File::New(  );
-   f->SetLoadMode( gdcm::LD_ALL );
+   f = GDCM_NAME_SPACE::File::New(  );
+   f->SetLoadMode( GDCM_NAME_SPACE::LD_ALL );
    f->SetFileName( fileName );
    f->AddForceLoadElement(0x6000,0x3000);  // Overlay Data
    int res = f->Load();
@@ -94,7 +134,7 @@ int main(int argc, char *argv[])
    //   Load the Overlays in memory (the first one)
    // ============================================================
 
-   gdcm::DataEntry *e = f->GetDataEntry(0x6000, 0x3000);  
+   GDCM_NAME_SPACE::DataEntry *e = f->GetDataEntry(0x6000, 0x3000);  
    if (e == 0)
    {
       std::cout << " Image doesn't contain any Overlay " << std::endl;
@@ -135,8 +175,8 @@ int main(int argc, char *argv[])
    // ============================================================
    //   Write a new file
    // ============================================================
-   gdcm::File *f2;
-   f2 = gdcm::File::New(  );
+   GDCM_NAME_SPACE::File *f2;
+   f2 = GDCM_NAME_SPACE::File::New(  );
    
    char temp[256];
    
@@ -155,7 +195,7 @@ int main(int argc, char *argv[])
 
    // feel free to add any field (Dicom Data Entry) you like, here.
    // ...
-   gdcm::FileHelper *fh = gdcm::FileHelper::New(f2);
+   GDCM_NAME_SPACE::FileHelper *fh = GDCM_NAME_SPACE::FileHelper::New(f2);
        
    fh->SetImageData(outputData,dimXY);
    fh->WriteDcmExplVR(outputFileName);