/*========================================================================= 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. =========================================================================*/ /* * This example will take in a DICOM file, and tries to decompress it (actually write it * as ImplicitVRLittleEndian Transfer Syntax). * * Compilation: * $ CLASSPATH=gdcm.jar javac ../../gdcm/Examples/Java/DecompressPixmap.java -d . * * Usage: * $ LD_LIBRARY_PATH=. CLASSPATH=gdcm.jar:. java DecompressPixmap gdcmData/012345.002.050.dcm out.dcm */ import gdcm.*; public class DecompressPixmap { public static void main(String[] args) throws Exception { String file1 = args[0]; String file2 = args[1]; PixmapReader reader = new PixmapReader(); reader.SetFileName( file1 ); boolean ret = reader.Read(); if( !ret ) { throw new Exception("Could not read: " + file1 ); } ImageChangeTransferSyntax change = new ImageChangeTransferSyntax(); change.SetTransferSyntax( new TransferSyntax(TransferSyntax.TSType.ImplicitVRLittleEndian) ); PixmapToPixmapFilter filter = (PixmapToPixmapFilter)change; filter.SetInput( reader.GetPixmap() ); if( !change.Change() ) { throw new Exception("Could not change: " + file1 ); } // The following does not work in Java/swig 2.0.7 //Pixmap p = ((PixmapToPixmapFilter)change).GetOutput(); Pixmap p = change.GetOutputAsPixmap(); // be explicit //System.out.println( p.toString() ); // Set the Source Application Entity Title FileMetaInformation.SetSourceApplicationEntityTitle( "Just For Fun" ); PixmapWriter writer = new PixmapWriter(); writer.SetFileName( file2 ); writer.SetFile( reader.GetFile() ); writer.SetImage( p ); ret = writer.Write(); if( !ret ) { throw new Exception("Could not write: " + file2 ); } } }