| 26 | namespace itk.simple.examples |
| 27 | { |
| 28 | public class DicomConvert |
| 29 | { |
| 30 | public static void Main(string[] args) |
| 31 | { |
| 32 | if (args.Length < 2) |
| 33 | { |
| 34 | Console.WriteLine("Usage: DicomConvert <root_of_data_directory> <output_file_extension> [--w width] [--od output_directory]"); |
| 35 | return; |
| 36 | } |
| 37 | string rootDir = args[0]; |
| 38 | string outputExt = args[1]; |
| 39 | int? width = null; |
| 40 | string outDir = null; |
| 41 | for (int i = 2; i < args.Length; ++i) |
| 42 | { |
| 43 | if (args[i] == "--w" && i + 1 < args.Length) |
| 44 | { |
| 45 | width = int.Parse(args[++i]); |
| 46 | } |
| 47 | else if (args[i] == "--od" && i + 1 < args.Length) |
| 48 | { |
| 49 | outDir = args[++i]; |
| 50 | } |
| 51 | } |
| 52 | var inputFiles = new List<string>(); |
| 53 | WalkDir(new DirectoryInfo(rootDir), inputFiles); |
| 54 | var fileNames = new List<string>(); |
| 55 | if (outDir != null) |
| 56 | { |
| 57 | for (int i = 0; i < inputFiles.Count; ++i) |
| 58 | { |
| 59 | fileNames.Add(Path.Combine(outDir, i.ToString())); |
| 60 | } |
| 61 | } |
| 62 | else |
| 63 | { |
| 64 | fileNames.AddRange(inputFiles); |
| 65 | } |
| 66 | var outputFiles = new List<string>(); |
| 67 | foreach (var f in fileNames) |
| 68 | { |
| 69 | outputFiles.Add(f + "." + outputExt); |
| 70 | } |
| 71 | var res = new List<bool>(); |
| 72 | for (int i = 0; i < inputFiles.Count; ++i) |
| 73 | { |
| 74 | res.Add(ConvertImage(inputFiles[i], outputFiles[i], width)); |
| 75 | } |
| 76 | var filteredInput = new List<string>(); |
| 77 | var filteredOutput = new List<string>(); |
| 78 | for (int i = 0; i < res.Count; ++i) |
| 79 | { |
| 80 | if (res[i]) |
| 81 | { |
| 82 | filteredInput.Add(inputFiles[i]); |
| 83 | filteredOutput.Add(outputFiles[i]); |
| 84 | } |
| 85 | } |
nothing calls this directly
no outgoing calls
no test coverage detected