Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }