1 /*=========================================================================
4 Module: $RCSfile: TestChangeHeader.cxx,v $
6 Date: $Date: 2004/11/16 04:26:18 $
7 Version: $Revision: 1.4 $
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.
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.
17 =========================================================================*/
18 #include "gdcmHeader.h"
21 // This examples read two images (could be the same). Try to modify
22 // Acquisition Matrix and then write the image again
24 int main(int argc, char* argv[])
28 std::cerr << "usage :" << std::endl <<
29 argv[0] << " nomFichierPourEntete nomFichierPourDonnées" <<
34 gdcm::Header *h1 = new gdcm::Header( argv[1] );
35 gdcm::File *f1 = new gdcm::File( h1 );
36 gdcm::File *f2 = new gdcm::File( argv[2] );
38 // 0018 1310 US ACQ Acquisition Matrix
39 gdcm::DictEntry *dictEntry =
40 f2->GetHeader()->GetPubDict()->GetDictEntryByName( "Acquisition Matrix" );
41 std::cerr << std::hex << dictEntry->GetGroup() << "," << dictEntry->GetElement() << std::endl;
43 // std::string matrix = f2->GetHeader()->GetEntryByNumber(0x0018, 0x1310);
44 // Or, strictly equivalent (a little bit longer at run-time !):
45 std::string matrix = f2->GetHeader()->GetEntryByName("Acquisition Matrix");
46 if(matrix != "gdcm::Unfound")
48 std::cerr << "Aquisition Matrix:" << matrix << std::endl;
49 f1->GetHeader()->ReplaceOrCreateByNumber( matrix, 0x0018, 0x1310);
51 //f1->GetHeader()->ReplaceOrCreateByNumber( matrix, dictEntry->GetGroup(),
52 // dictEntry->GetElement());
59 f1->WriteDcmExplVR("output-matrix.dcm");