2016-10-03 31 views
0

我用下面的使用以检索某些DICOM标记的值FO-DICOM:FO-DICOM,获取DicomTag RegionLocationMinX0和PhysicalDeltaX

ULONG imageMin_x = file.Dataset.Get < ULONG>(DicomTag.RegionLocationMinX0);

double delta_x = file.Dataset.Get < double>(DicomTag.PhysicalDeltaX);

这些值都是0.当我使用Matlab dicominfo()显示标签,但它们具有非零值。如何使用fo-dicom在C#中进行检索?

谢谢。

回答

0

我得到了答案。它是基于区域序列的。希望能帮助到你。

 DicomSequence ds = file.Dataset.Get<DicomSequence>(DicomTag.SequenceOfUltrasoundRegions); 

     for (int i = 0; i < ds.Items.Count; ++i) 
     { 
      DicomDataset dds = ds.Items[i]; 
      imageMin_x = dds.Get<ulong>(DicomTag.RegionLocationMinX0); 
      imageMin_y = dds.Get<ulong>(DicomTag.RegionLocationMinY0); 
      imageMax_x = dds.Get<ulong>(DicomTag.RegionLocationMaxX1); 
      imageMax_y = dds.Get<ulong>(DicomTag.RegionLocationMaxY1); 

      delta_x = dds.Get<double>(DicomTag.PhysicalDeltaX); 
      delta_y = dds.Get<double>(DicomTag.PhysicalDeltaY); 
     }