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; } } } }
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; } } } }
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); }
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)); } } } }
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)); } } } }