/// <summary> /// Save annotation to dicom file /// </summary> /// <param name="revAnnImage"></param> /// <returns>Empty string is successful, else return the error message</returns> public string SaveAnnToDicomFile(RevAnnImage revAnnImage) { var ret = ""; try { var annTag = new DicomTag(0x0011, 0x101D); var bytes = Enumerable.Range(0, revAnnImage.AnnString.Length) .Where(x => x % 2 == 0) .Select(x => Convert.ToByte(revAnnImage.AnnString.Substring(x, 2), 16)) .ToArray(); var filePath = GetDicomFile(Convert.ToInt32(revAnnImage.Id), false); var dicomFile = DicomFile.Open(filePath); dicomFile.Dataset.AddOrUpdate(DicomVR.OB, annTag, bytes); var tempFile = filePath + ".tmp"; dicomFile.Save(tempFile); File.Copy(tempFile, filePath, true); File.Delete(tempFile); } catch (Exception e) { ret = e.Message; } return(ret); }
public string SaveAnnotation(RevAnnImage revAnnImage) { var ret = _miniPacsDicomHelper.SaveAnnToDicomFile(revAnnImage); return(_commonTool.GetJsonStringFromObject(ret)); }