我是file中的新成员,我试图在Dicom转储中调用我的output.dcm文件,我试图使用Fo-Dicom添加私有标记
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此代码工作良好,但我的私人标签没有显示在显示形式。
发布于 2018-03-21 19:23:58
我不太确定我是否正确地理解了你想做的事。但是,正如我所看到的,您希望匿名化一个数据集,这意味着您希望将自己的值写入默认的公共字典标记(私有标记是在dicom中定义的术语,也是指在DICOM标准中未定义的标记)。
我建议您执行以下操作:首先打开第一个文件
DicomDataset ds = DicomFile.Read("input1.dcm").Dataset;而不是创建一个完整的新DicomDataset实例。然后添加第二个标题中的所有信息:
ds.AddOrUpdate(DicomTag.PatientId, txtid.Text);
...如果AddOrUpdate不存在,则添加DicomTag,如果它已经存在,则用新值替换它。
https://stackoverflow.com/questions/49407242
复制相似问题