private bool IsImageElement(DicomElement element) { if (element != null) { DicomTag tag; #if (LTV15_CONFIG) if (element.UserTag != 0) { tag = DicomTagTable.Instance.Find(element.UserTag); } else { tag = DicomTagTable.Instance.Find(element.Tag); } #else tag = DicomTagTable.Instance.Find(element.Tag); #endif // // Pixel Data tags will not be display in our list box instead we will load // them in the image viewer // if (tag != null && tag.Name.IndexOf("Pixel Data") == -1) { element = ds.GetParentElement(element); if (element != null) { #if (LTV15_CONFIG) if (element.UserTag != 0) { tag = DicomTagTable.Instance.Find(element.UserTag); } else { tag = DicomTagTable.Instance.Find(element.Tag); } #else tag = DicomTagTable.Instance.Find(element.Tag); #endif if (tag != null && tag.Name.IndexOf("Pixel Data") != -1) { return(true); } } } else { return(true); } } return(false); }
void FillSubTree(DicomDataSet ds, DicomElement element, TreeNode ParentNode) { TreeNode node; string name; string temp = ""; DicomTag tag; DicomElement tempElement; tag = DicomTagTable.Instance.Find(element.Tag); if (tag != null) { name = tag.Name; } else { name = "Item"; } long tagValue = 0; tagValue = element.Tag; temp = string.Format("{0:x4}:{1:x4} - ", tagValue.GetGroup(), tagValue.GetElement()); temp = temp + name; if (ParentNode != null) { node = ParentNode.Nodes.Add(temp); } else { node = treeViewMPPSDataset.Nodes.Add(temp); } node.Tag = element.Tag; if (ds.IsVolatileElement(element)) { node.ForeColor = Color.Red; } node.ImageIndex = 1; node.SelectedImageIndex = 1; tempElement = ds.GetChildElement(element, true); if (tempElement != null) { node.ImageIndex = 0; node.SelectedImageIndex = 0; FillSubTree(ds, tempElement, node); } tempElement = ds.GetNextElement(element, true, true); if (tempElement != null) { FillSubTree(ds, tempElement, ParentNode); } else { element = ds.GetParentElement(element); } }