コード例 #1
0
        /// <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);
        }
コード例 #2
0
        public string SaveAnnotation(RevAnnImage revAnnImage)
        {
            var ret = _miniPacsDicomHelper.SaveAnnToDicomFile(revAnnImage);

            return(_commonTool.GetJsonStringFromObject(ret));
        }