1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
/*=========================================================================
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:
* $ LD_LIBRARY_PATH=. CLASSPATH=gdcm.jar:. java FileAnonymize input.dcm output.dcm
*/
import gdcm.*;
public class FileAnonymize
{
public static class MyWatcher extends SimpleSubjectWatcher
{
public MyWatcher(Subject s) { super(s,"Override String"); }
protected void ShowProgress(Subject caller, Event evt)
{
ProgressEvent pe = ProgressEvent.Cast(evt);
System.out.println( "This is my progress: " + pe.GetProgress() );
}
}
public static void main(String[] args) throws Exception
{
String input = args[0];
String output = args[1];
FileAnonymizer fa = new FileAnonymizer();
fa.SetInputFileName( input );
fa.SetOutputFileName( output );
// Empty Operations
// It will create elements, since those tags are non-registered public elements (2011):
fa.Empty( new Tag(0x0008,0x1313) );
fa.Empty( new Tag(0x0008,0x1317) );
// Remove Operations
// The following Tag are actually carefully chosen, since they refer to SQ:
fa.Remove( new Tag(0x0008,0x2112) );
fa.Remove( new Tag(0x0008,0x9215) );
// Replace Operations
// do not call replace operation on SQ attribute !
fa.Replace( new Tag(0x0018,0x5100), "MYVALUE " );
fa.Replace( new Tag(0x0008,0x1160), "MYOTHERVAL" );
if( !fa.Write() )
{
System.out.println( "Could not write" );
return;
}
System.out.println( "success" );
}
}
|