Beispiel #1
0
        private void SaveFile(string filename)
        {
            if (_anonymizer != null)
            {
                DicomFile dicomFile = new DicomFile(filename);
                dicomFile.Load();

                _anonymizer.Anonymize(dicomFile);

                //anonymize first, then audit, since this is what gets exported.
                _exportedInstances.AddInstance(
                    dicomFile.DataSet[DicomTags.PatientId].ToString(),
                    dicomFile.DataSet[DicomTags.PatientsName].ToString(),
                    dicomFile.DataSet[DicomTags.StudyInstanceUid].ToString(),
                    filename);

                string fileName = System.IO.Path.Combine(OutputPath, dicomFile.MediaStorageSopInstanceUid);
                fileName += ".dcm";
                CheckFileExists(fileName);                 // this will never happen for anonymized images.
                if (_canceled)
                {
                    return;
                }

                dicomFile.Save(fileName);
            }
            else
            {
                _exportedInstances.AddPath(filename, false);

                string destination = Path.Combine(OutputPath, Path.GetFileName(filename));
                CheckFileExists(destination);
                if (_canceled)
                {
                    return;
                }

                File.Copy(filename, destination, true);
            }
        }