protected override object GetValueEx(string name) { if (name == "Tag") { string str = DHelper.Int2HexString(Tag); if (str.Length == 4) { str = "0000" + str; } else if (str.Length == 5) { str = "000" + str; } else if (str.Length == 6) { str = "00" + str; } else if (str.Length == 7) { str = "0" + str; } return(str); } else if (name == "Value") { // 20110119 To avoid XML-invalid characters such as &,<,> be copied from the DICOM tag into the XML string //return string.Format("<![CDATA[{0}]]>", base.GetValueEx(name)); return(XMLTransformer.ConvertToXMLEscapeString(base.GetValueEx(name).ToString())); } else { return(base.GetValueEx(name)); } }
public static DPath GetDPath(DicomTag tag, DVR vr, string description, string sqRootPath, int sqIndex) { string strG = DHelper.Int2HexString(tag.Group); string strE = DHelper.Int2HexString(tag.Element); //string name = DHelper.GetTagName((uint)ele.Tag); // for shorten the DPath string length 20071010 string name = "A"; StringBuilder sb = new StringBuilder(); if (sqRootPath != null && sqIndex >= 0) { sb.Append(sqRootPath).Append(Seperator).Append(sqIndex.ToString()).Append(Seperator); } sb.Append(strG).Append(Seperator).Append(strE).Append(Seperator).Append(name).Append(Seperator); string str = sb.ToString(); DPath dpath = new DPath(); dpath.Path = str.TrimEnd(Seperator); dpath.Description = description; dpath.VR = vr; return(dpath); }
private string getValue() { try { int vm = 0; DVR vr = DHelper.ConvertToDVR(DicomVR.UN); if (_element != null) { vr = DHelper.ConvertToDVR(_element.ValueRepresentation); //vm = _element.VM; } if (vr == DVR.UN) { if (_element != null) // do not implement _element yet, because error handler is using Element with (0000,0000), fix this in the future 20080312 { return(""); } } // ---------------- switch (vr) { case DVR.UN: case DVR.OB: case DVR.OF: case DVR.OW: case DVR.SQ: { return(""); } //VRs of LO, LT, SH, ST, and UT plus PN for person name are subject to character set extensions. //VRs AE, AS, CS, DS, and IS always use the default character set and have further restrictions on their contents. case DVR.LO: case DVR.LT: case DVR.SH: case DVR.ST: case DVR.UT: default: { DicomMultiStringElement dicomMultiStringElement = _element as DicomMultiStringElement; StringBuilder sb = new StringBuilder(); for (int i = 0; i < dicomMultiStringElement.Count; i++) { sb.Append(dicomMultiStringElement.Get <string>(i)).Append(DHelper.ValueDelimiter); } return(sb.ToString().TrimEnd(DHelper.ValueDelimiter)); } } } catch (Exception err) { DElement errEle = new DElement(_tag, _vr); LogMgt.Logger.Write(err.ToString()); } return(""); }
public static bool IsPrivateTag(int tag) { // private tag or public tag which is not included in KDT's dictionary int group = DHelper.GetGroup(tag); return((group % 2 != 0) || !Enum.IsDefined(typeof(tag_t), tag)); }
private int getTag() { if (_element != null) { return(DHelper.GE2int(_element.Tag.Group, _element.Tag.Element)); } return(0); }
public DVR getVR() { if (_element != null) { DicomVR vr = _element.ValueRepresentation; return(DHelper.ConvertToDVR(vr)); } return(DVR.UN); }
public DElement(int groupNumber, int elementNumber, DVR vr, string value) { IsRef = false; DicomVR dicomVR = DHelper.ConvertToDicomVR(vr); DicomTag dicomTag = new DicomTag((ushort)groupNumber, (ushort)elementNumber); _element = CreateEmptyElement(dicomTag, dicomVR); Value = value; }
public DElement(int tag, DVR vr, DValueType type) { IsRef = false; DicomVR dicomVR = DHelper.ConvertToDicomVR(vr); DicomTag dicomTag = DHelper.Int2DicomTag(tag); _element = CreateEmptyElement(dicomTag, dicomVR); Type = type; }
public string GetTagName() { if (_description != null && _description.Length > 0) { return(_description); } else { return(DHelper.GetTagName((uint)GetTag())); } }
private void setTag(int tag) { DicomTag dicomTag = DicomTag.Parse(DHelper.Int2HexString(tag)); if (_element != null) { DicomVR vr = _element.ValueRepresentation; //string val = Value; _element = CreateEmptyElement(dicomTag, vr); //Value = val; } }
protected override bool SetValueEx(string name, string newvalue) { if (name == "Tag") { Tag = DHelper.HexString2Int(newvalue); return(true); } else { return(base.SetValueEx(name, newvalue)); } }
public int GetTag() { string strG = GetGroupString(); string strE = GetElementString(); if (strG.Length < 1 || strE.Length < 1) { return(0); } int tag = DHelper.HexString2Int(strG + strE); return(tag); }
public override string ToString() { if (_element != null) { return("(" + DHelper.Int2HexString(_element.Tag.Group) + "," + DHelper.Int2HexString(_element.Tag.Element) + ") " + getVRString() + " " + getValue() + "\t\t\t" + DHelper.GetTagName(DHelper.GE2uint(_element.Tag.Group, _element.Tag.Element))); } return(""); }
internal static DicomVR GetPrivateTagVR(uint tag) { if (PrivateTagList == null || PrivateTagList.Count < 1 || tag < 1) { return(DicomVR.UN); } foreach (PrivateTag t in PrivateTagList) { if (t.IntTag == tag) { return(DHelper.ConvertToDicomVR(t.VR)); } } return(DicomVR.UN); }
private DicomVR SwitchVR() { if (_vrSwitched) { return(_switchedVR); } uint tag = 0; if (_element != null) { tag = DHelper.GE2uint(_element.Tag.Group, _element.Tag.Element); } _switchedVR = PrivateTagHelper.GetPrivateTagVR(tag); _vrSwitched = true; return(_switchedVR); }
private void setVR(DVR vr) { try { DicomVR dicomVR = DHelper.ConvertToDicomVR(vr); if (_element != null) { DicomTag tag = _element.Tag; //string val = Value; _element = CreateEmptyElement(tag, dicomVR); //Value = val; } } catch (Exception ex) { LogMgt.Logger.Write(ex.ToString()); } }
public int GetTag(int depth) { if (depth < 0) { return(0); } int gIndex = depth * 4; int eIndex = depth * 4 + 1; string[] strlist = Path.Split(DPath.Seperator); if (strlist.Length <= eIndex) { return(0); } string gStr = strlist[gIndex]; string eStr = strlist[eIndex]; return(DHelper.HexString2Int(gStr + eStr)); }
/// <summary> /// Convert to DICOM rooted XML string. /// </summary> /// <returns></returns> public string ToDicomXMLString() { return(DHelper.ConvertToDicomXml(this)); }
public static DElementList CreateFromDicomXml(string dicomRootedXmlString) { return(CreateFromXml(DHelper.GetElementListXmlFromDicomXml(dicomRootedXmlString))); }
public static int GetElement(int tag) { DicomTag dicomTag = DHelper.Int2DicomTag(tag); return(dicomTag.Element); }
public static int GetGroup(int tag) { DicomTag dicomTag = DHelper.Int2DicomTag(tag); return(dicomTag.Group); }