/*========================================================================= Program: GDCM (Grassroots DICOM). A DICOM library Copyright (c) 2006-2011 Mathieu Malaterre All rights reserved. See Copyright.txt or http://gdcm.sourceforge.net/Copyright.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 notice for more information. =========================================================================*/ /* * Usage: * $ export LD_LIBRARY_PATH=$HOME/Projects/gdcm/debug-gcc/bin * $ mono bin/ManipulateFile.exe gdcmData/012345.002.050.dcm out.dcm */ using System; using gdcm; public class ManipulateFile { public static int Main(string[] args) { string file1 = args[0]; string file2 = args[1]; Reader reader = new Reader(); reader.SetFileName( file1 ); bool ret = reader.Read(); if( !ret ) { return 1; } Anonymizer ano = new Anonymizer(); ano.SetFile( reader.GetFile() ); ano.RemovePrivateTags(); ano.RemoveGroupLength(); Tag t = new Tag(0x10,0x10); ano.Replace( t, "GDCM^Csharp^Test^Hello^World" ); UIDGenerator g = new UIDGenerator(); ano.Replace( new Tag(0x0008,0x0018), g.Generate() ); ano.Replace( new Tag(0x0020,0x000d), g.Generate() ); ano.Replace( new Tag(0x0020,0x000e), g.Generate() ); ano.Replace( new Tag(0x0020,0x0052), g.Generate() ); Writer writer = new Writer(); writer.SetFileName( file2 ); writer.SetFile( ano.GetFile() ); ret = writer.Write(); if( !ret ) { return 1; } return 0; } }