public void Anonymize_UsePredefinedPatientNameAndId_ShouldBeSetInAnonymizedDataset() { const string fileName = "CT1_J2KI"; #if NETFX_CORE var dataset = Dicom.Helpers.ApplicationContent.OpenDicomFileAsync($"Data/{fileName}").Result.Dataset; #else var dataset = DicomFile.Open($"./Test Data/{fileName}").Dataset; #endif const string expectedName = "fo-dicom"; const string expectedId = "GH-575"; var anonymizer = new DicomAnonymizer(); anonymizer.Profile.PatientName = expectedName; anonymizer.Profile.PatientID = expectedId; var newDataset = anonymizer.Anonymize(dataset); var actualName = newDataset.GetSingleValue <string>(DicomTag.PatientName); var actualId = newDataset.GetSingleValue <string>(DicomTag.PatientID); Assert.Equal(expectedName, actualName); Assert.Equal(expectedId, actualId); }
public void Anonymize_PatientName_ShouldUseOriginalDicomEncoding() { const string fileName = "GH064.dcm"; #if NETFX_CORE var orignalDicom = Dicom.Helpers.ApplicationContent.OpenDicomFileAsync($"Data/{fileName}").Result; #else var orignalDicom = DicomFile.Open($"./Test Data/{fileName}"); #endif var securityProfile = Dicom.DicomAnonymizer.SecurityProfile.LoadProfile(null, Dicom.DicomAnonymizer.SecurityProfileOptions.BasicProfile); securityProfile.PatientName = "kökö"; var dicomAnonymizer = new Dicom.DicomAnonymizer(securityProfile); var anonymizedDicom = dicomAnonymizer.Anonymize(orignalDicom); // Ensure that we are using valid input data for test. Assert.Equal(Encoding.ASCII, DicomEncoding.Default); Assert.NotEqual(DicomEncoding.GetEncoding(orignalDicom.Dataset.GetString(DicomTag.SpecificCharacterSet)), DicomEncoding.Default); // Ensure DICOM encoding same as original. Assert.Equal(orignalDicom.Dataset.GetString(DicomTag.SpecificCharacterSet), orignalDicom.Dataset.GetString(DicomTag.SpecificCharacterSet)); Assert.Equal("kökö", anonymizedDicom.Dataset.GetString(DicomTag.PatientName)); }