Dicom.Data.DcmDictionaryEntry.DcmDictionaryEntry C# (CSharp) Method

DcmDictionaryEntry() public method

Initializes a new instance of the DcmDictionaryEntry class.
public DcmDictionaryEntry ( string group, string element, string name, string privcreator, DicomVR vrs, string vm, bool retired ) : System
group string Group
element string Element
name string Name
privcreator string Private Creator
vrs DicomVR VR
vm string VM
retired bool Retired
return System
        public DcmDictionaryEntry(string group, string element,
			string name, string privcreator, DicomVR[] vrs, string vm, bool retired)
        {
            DisplayTag = group + "," + element;
            DisplayTag = DisplayTag.ToUpper();
            Group = ushort.Parse(group.Replace('x', '0'), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture);
            Element = ushort.Parse(element.Replace('x', '0'), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture);
            Tag = (uint)Group << 16 | (uint)Element;

            StringBuilder msb = new StringBuilder();
            msb.Append(group.ToLower()).Append(element.ToLower());
            msb	.Replace('0', 'F').Replace('1', 'F').Replace('2', 'F')
                .Replace('3', 'F').Replace('4', 'F').Replace('5', 'F')
                .Replace('6', 'F').Replace('7', 'F').Replace('8', 'F')
                .Replace('9', 'F').Replace('a', 'F').Replace('b', 'F')
                .Replace('c', 'F').Replace('d', 'F').Replace('e', 'F')
                .Replace('f', 'F').Replace('x', '0');
            Mask = uint.Parse(msb.ToString(), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture);

            Name = name;
            PrivateCreator = privcreator.Trim();
            Retired = retired;
            VM = vm;
            AllowedVRs = vrs;

            if (DefaultVR == DicomVR.NONE) {
                MultipleVM = 0;
                MinimumVM = 0;
                MaximumVM = 0;
            } else {
                MultipleVM = 1;
                if (vm.Contains("-")) {
                    string[] parts = vm.Split('-');
                    MinimumVM = uint.Parse(parts[0], CultureInfo.InvariantCulture);
                    if (parts[1].Contains("n")) {
                        MaximumVM = 0xffffffff;
                        if (parts[1] != "n") {
                          MultipleVM = uint.Parse(parts[1].Replace("n", ""), CultureInfo.InvariantCulture);
                        }
                    } else {
                        MaximumVM = uint.Parse(parts[1], CultureInfo.InvariantCulture);
                    }
                } else {
                    MinimumVM = MaximumVM = uint.Parse(vm, CultureInfo.InvariantCulture);
                }
            }

            IsPrivate = !String.IsNullOrEmpty(PrivateCreator);
        }