]> Creatis software - gdcm.git/blobdiff - Testing/TestChangeHeader.cxx
ENH: Add license to tests since they belong to gdcm
[gdcm.git] / Testing / TestChangeHeader.cxx
index 399829c491f9d1e210283b2cd625927fb95a51e6..3f87352475779be320751a78d4bf5383797666c4 100644 (file)
@@ -1,3 +1,20 @@
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: TestChangeHeader.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/11/16 04:28:20 $
+  Version:   $Revision: 1.26 $
+                                                                                
+  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 "gdcmHeader.h"
 #include "gdcmFile.h"
 #include <string>
@@ -30,12 +47,29 @@ int TestChangeHeader(int argc, char* argv[])
    {
       f1->GetHeader()->ReplaceOrCreateByNumber( nbFrames, 0x0028, 0x0008);
    }
+
+
+// WARNING : If user tries to 'merge' two mismatching images
+// e.g. a LUT image and a RGB image
+// or a compressed and an uncompressed one
+// or a single frame and a multiframe,
+// or a '12 Bits Allocated' image and anything else, etc
+// Probabely TestChangeHeader will fail !
+// It was not designed as a 'Test' program, but as a utility
+// provided to 'transform' an image 'Siemens MRI New version' into an image 'Siemens MRI old version'
          
    f1->GetHeader()->ReplaceOrCreateByNumber(
       f2->GetHeader()->GetEntryByNumber(0x0028, 0x0010), 0x0028, 0x0010);// nbLig
    f1->GetHeader()->ReplaceOrCreateByNumber( 
       f2->GetHeader()->GetEntryByNumber(0x0028, 0x0011), 0x0028, 0x0011);// nbCol
-
+   f1->GetHeader()->ReplaceOrCreateByNumber( 
+      f2->GetHeader()->GetEntryByNumber(0x0028, 0x0100), 0x0028, 0x0100);// BitsAllocated
+   f1->GetHeader()->ReplaceOrCreateByNumber( 
+      f2->GetHeader()->GetEntryByNumber(0x0028, 0x0101), 0x0028, 0x0101);// BitsStored
+   f1->GetHeader()->ReplaceOrCreateByNumber( 
+      f2->GetHeader()->GetEntryByNumber(0x0028, 0x0102), 0x0028, 0x0102);// HighBit
+   f1->GetHeader()->ReplaceOrCreateByNumber( 
+      f2->GetHeader()->GetEntryByNumber(0x0028, 0x0103), 0x0028, 0x0103);// Pixel Representation
 // Probabely some more to update (?)
 
 // TODO : add a default value
@@ -44,7 +78,7 @@ int TestChangeHeader(int argc, char* argv[])
 
    int dataSize = f2->GetImageDataSize();
    printf ("dataSize %d\n",dataSize);
-   void* imageData= f2->GetImageData();
+   uint8_t* imageData= f2->GetImageData();
 
 // TODO : Why don't we merge theese 2 functions ?