首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Main中调用Output.dcm文件?

如何在Main中调用Output.dcm文件?
EN

Stack Overflow用户
提问于 2018-03-21 13:11:08
回答 1查看 872关注 0票数 0

我是file中的新成员,我试图在Dicom转储中调用我的output.dcm文件,我试图使用Fo-Dicom添加私有标记

代码语言:javascript
复制
        string filename = "output.dcm";
        DicomDataset ds = new DicomDataset(); //Main dataset
        ds.Add(DicomTag.SpecificCharacterSet, txtCharacherSet.Text);    
        //Add some items
        ds.Add(DicomTag.PatientID, txtid.Text);
        ds.Add(DicomTag.PatientName, txtname.Text);
        DicomDataset sqContent = new DicomDataset();                
        //Content of the sequence
        sqContent.Add(DicomTag.Modality, txtModality.Text);
        sqContent.Add(DicomTag.ScheduledProcedureStepStartDate, 
        DateTime.Now.Date);
        DicomSequence sq = new 
        DicomSequence(DicomTag.ScheduledProcedureStepSequence, sqContent); 
       // Create sequence, add content
        ds.Add(sq); //Add sequence to main dataset
        DicomFile file = new DicomFile();
        file.Dataset.Add(ds); //Add main dataset to DicomFile
        file.FileMetaInfo.TransferSyntax = 
        DicomTransferSyntax.ImplicitVRLittleEndian;                  
       //Specify transfer syntax
        file.Save(filename); //Save file to disk

此代码工作良好,但我的私人标签没有显示在显示形式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-21 19:23:58

我不太确定我是否正确地理解了你想做的事。但是,正如我所看到的,您希望匿名化一个数据集,这意味着您希望将自己的值写入默认的公共字典标记(私有标记是在dicom中定义的术语,也是指在DICOM标准中未定义的标记)。

我建议您执行以下操作:首先打开第一个文件

代码语言:javascript
复制
DicomDataset ds = DicomFile.Read("input1.dcm").Dataset;

而不是创建一个完整的新DicomDataset实例。然后添加第二个标题中的所有信息:

代码语言:javascript
复制
ds.AddOrUpdate(DicomTag.PatientId, txtid.Text);
...

如果AddOrUpdate不存在,则添加DicomTag,如果它已经存在,则用新值替换它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49407242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档