private void StoreDicomFilesInPermStorage(CTScanInfo ctInfo, string permStorage)
 {
     foreach (var file in ctInfo.DcmFiles)
     {
         Directory.Move(file, permStorage);
     }
 }
        public void OnCorrectedCTScanRetrieved(CTScanInfo info, string id)
        {
            _ctScanInfos = new ConcurrentQueue <CTScanInfo>();  //Equal to clearing the queue.

            var baseDirectory = Directory.GetDirectories(ConfigurationManager.GetConfigurationPaths().BaseTargetPath, "*" + id + "*")[0];
            var ctDirectory   = Directory.GetDirectories(baseDirectory, "*" + "CT" + "*")[0];

            DirectoryInfo directoryInfo = new DirectoryInfo(ctDirectory);

            foreach (FileInfo file in directoryInfo.GetFiles())
            {
                file.Delete();
            }

            StoreDicomFilesInPermStorage(info, ctDirectory);
        }
Esempio n. 3
0
        public static void AnonymizeCT(CTScanInfo ctInfo)
        {
            var settings = AnonymizationSettings.Default;

            //Change mapping but keep connections
            settings.DoAnonymizeUIDs = true;

            //Gets a current list of UIDs so it can create new ones
            var queue = EvilDICOM.Anonymization.AnonymizationQueue.BuildQueue(settings, ctInfo.DcmFiles);

            foreach (var file in ctInfo.DcmFiles)
            {
                var dcm = DICOMObject.Read(file);
                queue.Anonymize(dcm);
                //Write back to initial location - though this can be a different place
                dcm.Write(file);
            }
        }
 public void OnCTScanRetrieved(CTScanInfo ctScanInfo)
 {
     _ctScanInfos.Enqueue(ctScanInfo);
 }