]> Creatis software - gdcm.git/blob - Example/TestChangeHeader.cxx
First stage of name normalisation : gdcm::File replace by gdcm::FileHelper
[gdcm.git] / Example / TestChangeHeader.cxx
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: TestChangeHeader.cxx,v $
5   Language:  C++
6   Date:      $Date: 2005/01/20 16:16:58 $
7   Version:   $Revision: 1.7 $
8                                                                                 
9   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10   l'Image). All rights reserved. See Doc/License.txt or
11   http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
12                                                                                 
13      This software is distributed WITHOUT ANY WARRANTY; without even
14      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15      PURPOSE.  See the above copyright notices for more information.
16                                                                                 
17 =========================================================================*/
18 #include "gdcmHeader.h"
19 #include "gdcmFileHelper.h"
20
21 // This examples read two images (could be the same). Try to modify
22 // Acquisition Matrix and then write the image again
23
24 int main(int argc, char* argv[])
25 {
26     if (argc < 3)
27     {
28        std::cerr << "usage :" << std::endl <<
29          argv[0] << " nomFichierPourEntete nomFichierPourDonnées" << 
30          std::endl;
31        return 1;
32     }
33
34     gdcm::Header *h1 = new gdcm::Header( argv[1] );
35     gdcm::FileHelper  *f1 = new gdcm::FileHelper( h1 );
36     gdcm::FileHelper  *f2 = new gdcm::FileHelper( argv[2] );
37
38     // 0018 1310 US ACQ Acquisition Matrix
39     gdcm::DictEntry *dictEntry =
40        f2->GetHeader()->GetPubDict()->GetDictEntry( 0x0018, 1310 );
41     std::cerr << std::hex << dictEntry->GetGroup() << "," << dictEntry->GetElement() << std::endl;
42
43     std::string matrix = f2->GetHeader()->GetEntry(0x0018, 0x1310);
44     if(matrix != "gdcm::Unfound")
45     {
46        std::cerr << "Aquisition Matrix:" << matrix << std::endl;
47        f1->GetHeader()->ReplaceOrCreate( matrix, 0x0018, 0x1310);
48     }
49
50     f1->GetImageData();
51     
52     h1->Print();
53     
54     f1->WriteDcmExplVR("output-matrix.dcm");
55
56     return 0;
57 }
58
59