WPF中如何使用fo-dicom解析多帧dicom数据并显示

在Dicom标准中,Pixel Data存放在tag(7FE0,0010)中。但是我们直接使用Pixel Data很困难,fo-dicom提供了相应函数可以很方便的多帧数据进行分割,并可以直接转为Bitmap格式的图片进行显示。

var dcmFile = DicomFile.Open(@FileName);//open your file
           var  dcmDataSet = dcmFile.Dataset;//数据集
            DicomPixelData  PixelData = DicomPixelData.Create(dcmDataSet );
            var buffer =  PixelData.GetFrame(frame);//选择你需要的第几帧可以作为一个变量去控制你需     要哪一帧
            DicomDataset currDataset = DataSet.Clone();
            DicomPixelData currPixelData = DicomPixelData.Create(newDataset, true);
            currPixelData.AddFrame(buffer);
            DicomImage dcmImage = new DicomImage(currDataset , 0);
            IImage iImage= dcmImage.RenderImage();
            image.Source = iImage.AsWriteableBitmap();
    这样就可以使用你的图像控件或者按钮控件显示多帧的dicom图像了,通过过控制frame来选择你需要的那一帧图像。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以。以下是一个 DataGridComboBoxColumn 在 WPF 使用的示例,并绑定到数据源的代码: 1. 首先,你需要在 XAML 定义一个 DataGrid 控件,并在其添加模板列,以包含 DataGridComboBoxColumn: ```xml <DataGrid AutoGenerateColumns="False"> <DataGrid.Columns> <!-- other columns... --> <DataGridTemplateColumn Header="MyComboBox"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <ComboBox ItemsSource="{Binding ItemsSource}" DisplayMemberPath="DisplayMember" SelectedValuePath="SelectedValue" SelectedValue="{Binding SelectedItem, Mode=TwoWay}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> ``` 2. 接下来,你需要在代码获取 DataGridComboBoxColumn,并将其绑定到数据源: ```csharp private void SetupDataGrid() { // get the DataGridComboBoxColumn var comboBoxColumn = dataGrid.Columns.First(c => c.Header.Equals("MyComboBox")) as DataGridComboBoxColumn; // setup the ItemsSource binding var binding = new Binding("MyItemsSource") { Source = this }; comboBoxColumn.ItemsSourceBinding = binding; // setup the DisplayMemberPath binding binding = new Binding("MyDisplayMemberPath") { Source = this }; comboBoxColumn.DisplayMemberPathBinding = binding; // setup the SelectedValuePath binding binding = new Binding("MySelectedValuePath") { Source = this }; comboBoxColumn.SelectedValuePathBinding = binding; // setup the SelectedValue binding binding = new Binding("MySelectedValue") { Source = this, Mode = BindingMode.TwoWay }; comboBoxColumn.SelectedValueBinding = binding; } // in your ViewModel or code-behind, define the following properties for each of the bindings: public IEnumerable MyItemsSource { get; set; } public string MyDisplayMemberPath { get; set; } public string MySelectedValuePath { get; set; } public object MySelectedValue { get; set; } ``` 这样就可以在 WPF 使用 DataGridComboBoxColumn 并绑定数据源了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值