Esempio n. 1
0
        private void insertToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (InsertElementDlg dlgInsert = new InsertElementDlg(GetTags()))
            {
                if (dlgInsert.ShowDialog(this) == DialogResult.OK)
                {
                    DicomTagNode node = null;

                    foreach (long tag in dlgInsert.Tags)
                    {
                        DicomTag     dicomTag = DicomTagTable.Instance.Find(tag);
                        DicomTagNode tagNode  = null;

                        tagNode = AddAnonymizationTag(tag, dicomTag != null ? dicomTag.Name : string.Empty, GetDefaultMacro(dicomTag));
                        if (node == null)
                        {
                            node = tagNode;
                        }
                    }
                    _Modified = dlgInsert.Tags.Count > 0;
                    if (node != null)
                    {
                        treeGridViewTags.ClearSelection();
                        treeGridViewTags.SelectRow(node.Index);
                        treeGridViewTags.FirstDisplayedScrollingRowIndex = node.Index;
                    }
                }
            }
        }
Esempio n. 2
0
        private void LoadMacros(ObservableCollection <TagMacro> macros)
        {
            treeGridViewTags.Nodes.Clear();
            foreach (TagMacro macro in macros)
            {
                DicomTag     dicomTag = DicomTagTable.Instance.Find(macro.Tag);
                string       name     = dicomTag != null ? dicomTag.Name : string.Empty;
                DicomTagNode node     = new DicomTagNode();

                treeGridViewTags.Nodes.Add(node);
                node.SetValues(string.Format("({0:X4},{1:X4})", macro.Tag.GetGroup(), macro.Tag.GetElement()), name, macro.Macro);
                node.DicomTag = dicomTag;
                node.Tag      = macro;
                AddToList(macro.Macro);

                if (dicomTag != null)
                {
                    if (dicomTag.VR == DicomVRType.SQ)
                    {
                        node.Image = Resources.Tags_16x16;
                    }
                    else
                    {
                        node.Image = Resources.Tag_16x16;
                    }
                }
            }
        }
Esempio n. 3
0
        private DicomTagNode AddAnonymizationTag(long tag, string name, string macro)
        {
            DicomTagNode node     = null;
            DicomTag     dicomTag = DicomTagTable.Instance.Find(tag);

            node = new DicomTagNode();
            treeGridViewTags.Nodes.Add(node);
            node.SetValues(string.Format("({0:X4},{1:X4})", tag.GetGroup(), tag.GetElement()), name, macro);
            node.DicomTag = dicomTag;
            node.Image    = Resources.Tag_16x16;

            if (dicomTag != null && dicomTag.VR == DicomVRType.SQ)
            {
                node.Image = Resources.Tags_16x16;
            }
            _Anonymizer[tag] = macro;
            node.Tag         = _Anonymizer.FindTag(tag);
            return(node);
        }
Esempio n. 4
0
        private void LoadDataset(DcmDataset ds, Collection <Node> parent)
        {
            if (ds == null)
            {
                return;
            }

            foreach (DcmItem di in ds.Elements)
            {
                Image icon = LoadTreeViewAdvResourceImage("Leaf", di.VR.VR, Color.Blue);

                DicomNode dn = new DicomNode(icon, di);
                parent.Add(dn);

                if (di is DcmItemSequence)
                {
                    dn.Icon = LoadTreeViewAdvResourceImage("FolderClosed", "SQ", Color.Blue);

                    DcmItemSequence sq = di as DcmItemSequence;
                    foreach (DcmItemSequenceItem item in sq.SequenceItems)
                    {
                        icon = LoadTreeViewAdvResourceImage("Folder", "", Color.Black);
                        DicomTagNode din = new DicomTagNode(icon, DicomTags.Item, item.StreamLength);
                        dn.Nodes.Add(din);
                        LoadDataset(item.Dataset, din.Nodes);
                        if (item.StreamLength == 0xffffffff)
                        {
                            icon = LoadTreeViewAdvResourceImage("FolderClosed", "", Color.Black);
                            din.Nodes.Add(new DicomTagNode(icon, DicomTags.ItemDelimitationItem, 0));
                        }
                    }
                    if (sq.StreamLength == 0xffffffff)
                    {
                        icon = LoadTreeViewAdvResourceImage("FolderClosed", "", Color.Black);
                        dn.Nodes.Add(new DicomTagNode(icon, DicomTags.SequenceDelimitationItem, 0));
                    }
                }
            }
        }
Esempio n. 5
0
        private void LoadDataset(DcmDataset ds, Collection<Node> parent)
        {
            if (ds == null)
                return;

            foreach (DcmItem di in ds.Elements) {
                Image icon = LoadTreeViewAdvResourceImage("Leaf", di.VR.VR, Color.Blue);

                DicomNode dn = new DicomNode(icon, di);
                parent.Add(dn);

                if (di is DcmItemSequence) {
                    dn.Icon = LoadTreeViewAdvResourceImage("FolderClosed", "SQ", Color.Blue);

                    DcmItemSequence sq = di as DcmItemSequence;
                    foreach (DcmItemSequenceItem item in sq.SequenceItems) {
                        icon = LoadTreeViewAdvResourceImage("Folder", "", Color.Black);
                        DicomTagNode din = new DicomTagNode(icon, DicomTags.Item, item.StreamLength);
                        dn.Nodes.Add(din);
                        LoadDataset(item.Dataset, din.Nodes);
                        if (item.StreamLength == 0xffffffff) {
                            icon = LoadTreeViewAdvResourceImage("FolderClosed", "", Color.Black);
                            din.Nodes.Add(new DicomTagNode(icon, DicomTags.ItemDelimitationItem, 0));
                        }
                    }
                    if (sq.StreamLength == 0xffffffff) {
                        icon = LoadTreeViewAdvResourceImage("FolderClosed", "", Color.Black);
                        dn.Nodes.Add(new DicomTagNode(icon, DicomTags.SequenceDelimitationItem, 0));
                    }
                }
            }
        }