public static void printTagValuePair(TagValuePair t)
 {
     for (int i = 0; i < t.TagID.Count(); i++)
     {
         Console.Write(t.TagID[i] + " ");
         Console.Write(t.TagDescription[i] + " ");
         Console.WriteLine(t.Value[i]);
     }
 }
        //Reads through the entire DICOM file and returns the found tag descriptions and their data.
        //In TagValuePair class the tag ID is at TagValuePair.TagID[i], description is at TagValuePair.TagDescription[i],
        //and the value for that tag is at TagValuePair.Value[i]
        public static TagValuePair getAllDICOMTagsAndValues(string dcmFilePath)
        {
            TagValuePair tagValues = new TagValuePair();

            var dcmFile = DICOMObject.Read(@dcmFilePath);

            for (int i = 0; i < dcmFile.AllElements.Count; i++)
            {
                tagValues.TagID.Add(dcmFile.AllElements[i].Tag.CompleteID);
                tagValues.TagDescription.Add(EvilDICOM.Core.Dictionaries.TagDictionary.GetDescription(dcmFile.AllElements[i].Tag));
                tagValues.Value.Add(getDataFromTag(dcmFile, dcmFile.AllElements[i]));
            }
            return(tagValues);
        }
        public static TagValuePair getSpecificTagsAndData(string dcmFilePath, List <string> tags)
        {
            TagValuePair tagValues = new TagValuePair();

            var dcmFile = DICOMObject.Read(@dcmFilePath);

            foreach (string tag in tags)
            {
                tagValues.TagID.Add(tag);
                tagValues.TagDescription.Add(EvilDICOM.Core.Dictionaries.TagDictionary.GetDescription(tag));
                tagValues.Value.Add(getDataFromTag(dcmFile, tag));
            }

            return(tagValues);
        }