/*========================================================================= 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. =========================================================================*/ /* * Simple C# example to show how to use DICOMDIRGenerator * * Usage: * $ export LD_LIBRARY_PATH=$HOME/Projects/gdcm/debug-gcc/bin * $ mono bin/GenerateDICOMDIR.exe path output_filename */ using System; using gdcm; public class GenerateDICOMDIR { public static int Main(string[] args) { string directory = args[0]; string outfilename = args[1]; Directory d = new Directory(); uint nfiles = d.Load( directory, true ); if(nfiles == 0) return 1; //System.Console.WriteLine( "Files:\n" + d.toString() ); // Implement fast path ? // Scanner s = new Scanner(); string descriptor = "My_Descriptor"; FilenamesType filenames = d.GetFilenames(); gdcm.DICOMDIRGenerator gen = new DICOMDIRGenerator(); gen.SetFilenames( filenames ); gen.SetDescriptor( descriptor ); if( !gen.Generate() ) { return 1; } gdcm.FileMetaInformation.SetSourceApplicationEntityTitle( "GenerateDICOMDIR" ); gdcm.Writer writer = new Writer(); writer.SetFile( gen.GetFile() ); writer.SetFileName( outfilename ); if( !writer.Write() ) { return 1; } return 0; } }