]> Creatis software - gdcm.git/blobdiff - Example/exOverlaysDCM.cxx
Deal with JPEG/JPEG2000 writting
[gdcm.git] / Example / exOverlaysDCM.cxx
index b3371917a1b157c0cee8e2638c2a6ec0b2b7986e..8efa49ebca0c18e4462ac5c39558f6729e461676 100755 (executable)
@@ -35,7 +35,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 +43,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 +76,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 +95,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 +116,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 +157,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 +177,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);