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); } }