public void CheckRemovals() { var ds = new DicomDataset(new DicomShortString(DicomTag.PerformedProcedureStepID, "123")); var cp = new ConfidentialityProfile(); var anonymizer = new AnonymizeEngine(Mode.blank); anonymizer.RegisterHandler(cp); var nds_blank = anonymizer.Anonymize(ds); Assert.IsFalse(nds_blank.Contains(DicomTag.PerformedProcedureStepID)); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.PerformedProcedureStepID)); anonymizer = new AnonymizeEngine(Mode.clone); anonymizer.RegisterHandler(cp); var nds_clone = anonymizer.Anonymize(ds); Assert.IsFalse(nds_clone.Contains(DicomTag.PerformedProcedureStepID)); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.PerformedProcedureStepID)); anonymizer = new AnonymizeEngine(Mode.inplace); anonymizer.RegisterHandler(cp); anonymizer.Anonymize(ds); Assert.IsFalse(ds.Contains(DicomTag.PerformedProcedureStepID)); }
public void CheckWhitelistTags() { var cp = new ConfidentialityProfile(SecurityProfileOptions.BasicProfile | SecurityProfileOptions.RetainUIDs); var ds = new DicomDataset(new DicomUniqueIdentifier(DicomTag.RequestedSOPInstanceUID, "123")); var anonymizer = new AnonymizeEngine(Mode.blank); anonymizer.RegisterHandler(cp); var nds_blank = anonymizer.Anonymize(ds); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); Assert.AreEqual("123", nds_blank.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); anonymizer = new AnonymizeEngine(Mode.clone); anonymizer.RegisterHandler(cp); var nds_clone = anonymizer.Anonymize(ds); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); Assert.AreEqual("123", nds_clone.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); anonymizer = new AnonymizeEngine(Mode.inplace); anonymizer.RegisterHandler(cp); anonymizer.Anonymize(ds); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); }
public void IgnoreNullReturnsInActions() { var anon = new AnonymizeEngine(Mode.inplace); var th = new TestHandler(null, null); anon.RegisterHandler(th); anon.ForceRegisterHandler(th); }
/// <summary> /// Gets the anonymisation engine for the input protocol. If the input protocol is null we will fallback /// to using the segmentation service anonymisation protocol. /// </summary> /// <param name="anonymisationProtocolId">The anonymisation protocol unqiue identifier.</param> /// <param name="anonymisationProtocol">The anonymisation protocol.</param> /// <returns>The anonymisation engine.</returns> private static AnonymizeEngine GetAnonymisationEngine(Guid anonymisationProtocolId, IEnumerable <DicomTagAnonymisation> anonymisationProtocol) { var anonymisationEngine = new AnonymizeEngine(Mode.blank); var tagHandler = new AnonymisationTagHandler(anonymisationProtocolId, anonymisationProtocol); anonymisationEngine.RegisterHandler(tagHandler); Trace.TraceInformation(string.Join(Environment.NewLine, anonymisationEngine.ReportRegisteredHandlers())); return(anonymisationEngine); }
public void TestDescriptionIsRequired() { var anon = new AnonymizeEngine(Mode.clone); AnonFunc f = (o, s, i) => { return(null); }; var th = new TestHandler(new Dictionary <DicomTag, AnonFunc>() { { DicomTag.SOPInstanceUID, f } }, null); anon.RegisterHandler(th); }
public void RegistreredHandlersReport() { var anon = new AnonymizeEngine(Mode.clone); var cp = new ConfidentialityProfile(); anon.RegisterHandler(cp); var report = anon.ReportRegisteredHandlers(); Assert.AreEqual(336, report.Count); }
public void CheckEmptyStringComparison() { var engine = new AnonymizeEngine(Mode.clone); var profileOpts = SecurityProfileOptions.BasicProfile | SecurityProfileOptions.RetainLongModifDates | SecurityProfileOptions.CleanDesc; var cp = new ConfidentialityProfile(profileOpts); engine.RegisterHandler(cp); }
public void AnonymizeInPlace_Dataset_PatientDataEmpty() { var dataset = DicomFile.Open(@"TestData/CT1_J2KI").Dataset; var anonymizer = new AnonymizeEngine(Mode.inplace); var cp = new ConfidentialityProfile(); anonymizer.RegisterHandler(cp); anonymizer.Anonymize(dataset); Assert.AreEqual(0, dataset.GetValues <string>(DicomTag.PatientName).Length); Assert.AreEqual(0, dataset.GetValues <string>(DicomTag.PatientID).Length); Assert.AreEqual(0, dataset.GetValues <string>(DicomTag.PatientSex).Length); }
public void Anonymize_Dataset_OriginalDatasetNotModified() { var dataset = DicomFile.Open(@"TestData/CT-MONO2-16-ankle").Dataset; var expected = dataset.GetSingleValue <DicomUID>(DicomTag.StudyInstanceUID); var anonymizer = new AnonymizeEngine(Mode.clone); var cp = new ConfidentialityProfile(); anonymizer.RegisterHandler(cp); var newDataset = anonymizer.Anonymize(dataset); var actual = dataset.GetSingleValue <DicomUID>(DicomTag.StudyInstanceUID); var actualNew = newDataset.GetSingleValue <DicomUID>(DicomTag.StudyInstanceUID); Assert.AreEqual(expected, actual); Assert.AreNotEqual(expected, actualNew); }
public void AnonymizeInPlace_File_ImplementationVersionNameNotMaintained() { var file = DicomFile.Open(@"TestData/CT1_J2KI"); var expected = file.FileMetaInfo.ImplementationVersionName; Assert.IsFalse(string.IsNullOrEmpty(expected)); var anonymizer = new AnonymizeEngine(Mode.inplace); var cp = new ConfidentialityProfile(); anonymizer.RegisterHandler(cp); file = anonymizer.Anonymize(file); var actual = file.FileMetaInfo.ImplementationVersionName; Assert.IsNull(actual); }
public void AnonymizeInPlace_File_SopInstanceUidTransferredToMetaInfo() { var file = DicomFile.Open(@"TestData/CT1_J2KI"); var old = file.Dataset.GetSingleValue <DicomUID>(DicomTag.SOPInstanceUID); var anonymizer = new AnonymizeEngine(Mode.inplace); var cp = new ConfidentialityProfile(); anonymizer.RegisterHandler(cp); file = anonymizer.Anonymize(file); var expected = file.Dataset.GetSingleValue <DicomUID>(DicomTag.SOPInstanceUID); var actual = file.FileMetaInfo.MediaStorageSOPInstanceUID; Assert.AreNotEqual(expected, old); Assert.AreEqual(expected, actual); }
public void CheckThereIsNoGlobalCachedState() { var anonymizer = new AnonymizeEngine(Mode.inplace); var cp = new ConfidentialityProfile(SecurityProfileOptions.BasicProfile); anonymizer.RegisterHandler(cp); var ds = new DicomDataset(new DicomUniqueIdentifier(DicomTag.RequestedSOPInstanceUID, "123")); anonymizer.Anonymize(ds); Assert.AreNotEqual("123", ds.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); cp = new ConfidentialityProfile(SecurityProfileOptions.BasicProfile | SecurityProfileOptions.RetainUIDs); anonymizer.ForceRegisterHandler(cp); ds = new DicomDataset(new DicomUniqueIdentifier(DicomTag.RequestedSOPInstanceUID, "123")); anonymizer.Anonymize(ds); Assert.AreEqual("123", ds.GetSingleValue <string>(DicomTag.RequestedSOPInstanceUID)); }