示例#1
0
        /// <string>Replaces the content of a UID with a random one</string>
        /// <param name="dataset">Reference to the dataset</param>
        /// <param name="item"></param>
        private void ReplaceUID(DicomDataset dataset, DicomItem item)
        {
            if (!(item is DicomElement))
            {
                return;
            }

            string   rep;
            DicomUID uid;
            var      old = ((DicomElement)item).Get <string>();

            if (ReplacedUIDs.ContainsKey(old))
            {
                rep = ReplacedUIDs[old];
                uid = new DicomUID(rep, "Anonymized UID", DicomUidType.Unknown);
            }
            else
            {
                uid = DicomUIDGenerator.GenerateDerivedFromUUID();
                rep = uid.UID;
                ReplacedUIDs[old] = rep;
            }

            var newItem = new DicomUniqueIdentifier(item.Tag, uid);

            dataset.AddOrUpdate(newItem);
        }
示例#2
0
        public void DicomUniqueIdentifier_UidNotTransferSyntax_Throws(DicomUID uid)
        {
            var tag = DicomTag.EncryptedContentTransferSyntaxUID;
            var ui  = new DicomUniqueIdentifier(tag, uid);

            var exception = Record.Exception(() => ui.Get <DicomTransferSyntax>(0));

            Assert.IsType <DicomDataException>(exception);
        }
示例#3
0
        public void DicomUniqueIdentifier_GetKnownTransferSyntax_ReturnsFullField(DicomUID uid, DicomTransferSyntax expected)
        {
            var tag    = DicomTag.ReferencedTransferSyntaxUIDInFile;
            var ui     = new DicomUniqueIdentifier(tag, uid);
            var actual = ui.Get <DicomTransferSyntax>(0);

            Assert.Equal(expected.UID, actual.UID);
            Assert.Equal(expected.Endian, actual.Endian);
            Assert.Equal(expected.LossyCompressionMethod, actual.LossyCompressionMethod);
        }
示例#4
0
        public void DicomUniqueIdentifier_UidTransferSyntax_DoesNotThrow(DicomUID expected)
        {
            var tag = DicomTag.EncryptedContentTransferSyntaxUID;
            var ui  = new DicomUniqueIdentifier(tag, expected);

            DicomUID actual    = null;
            var      exception = Record.Exception(() => actual = ui.Get <DicomTransferSyntax>(0).UID);

            Assert.Null(exception);
            Assert.Equal(expected, actual);
        }