2015年8月22日土曜日

GDCM memo / send scu

  1. var dir = new System.IO.DirectoryInfo(@"c:\dicom");
  2. var filesInfo = dir.GetFiles("*.dcm");
  3. //
  4. var scu = new gdcm.ServiceClassUser();
  5. scu.SetHostname("host");
  6. scu.SetPort((ushort)11112);
  7. scu.SetCalledAETitle("DCM4CHEE");
  8. scu.SetAETitle("any");
  9. scu.SetTimeout(2000);
  10. if (!scu.InitializeConnection())
  11. { Console.WriteLine("Err :suc initialize connection"); return; }
  12. var ft = new gdcm.FilenamesType();
  13. foreach (FileInfo fi in filesInfo)
  14. ft.Add(fi.FullName);
  15. var g = new gdcm.PresentationContextGenerator();
  16. g.GenerateFromFilenames(ft);
  17. scu.SetPresentationContexts(g.GetPresentationContexts());
  18. if (!scu.StartAssociation())
  19. { Console.WriteLine(": suc Start Association"); return; }
  20. foreach (FileInfo fi in filesInfo)
  21. {
  22. if (!scu.SendStore(fi.FullName))
  23. {
  24. Console.WriteLine("Err: Send scu[" + fi.FullName +"]");
  25. break;
  26. }
  27. }
  28. if (!scu.StopAssociation())
  29. { Console.WriteLine("\r\nErr: suc Stop Association\n"); return; }
  30. Console.WriteLine("\r\nEnd");
  31. scu.Dispose();
  32. g.Dispose();
  33. ft.Dispose();

0 件のコメント :

コメントを投稿