C#GDCM函数指针,无法转换为SWIGTYPE

本文关键字:转换 SWIGTYPE 函数 指针 C#GDCM | 更新日期: 2023-09-27 18:20:03

我正在使用GDCM读取DICOM文件。由于该项目是用C#编写的,我按照GDCM的手册,用SWIG编译了GDCM的C#包装。

现在我正在尝试将文件夹中的所有DICOM分类到Volumes中(很像GDCM提供的VolumeSorter示例,但这是用c++编写的)。我正在遵循SortImage2.cs的示例,但这不会编译,这给了我错误:

错误CS1503参数1:无法从"方法组"转换为'SWIGTYPE_p_f_r_q_const__gdcm__DataSet_r_q_const __gdcm__ DataSet_bool'新Unity项目。夏普。。。''脚本''SortImage2.cs 33

以下是完整的示例:

/*=========================================================================
  Program: GDCM (Grassroots DICOM). A DICOM library
  Copyright (c) 2006-2011 Mathieu Malaterre
  All rights reserved.
  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.
=========================================================================*/
using System;
using gdcm;
public class SortImage2
{
  bool mysort(DataSet ds1, DataSet ds2)
    {
    return false;
    }
  public static int Main(string[] args)
    {
    Sorter sorter = new Sorter();
    sorter.SetSortFunction( mysort );
    return 0;
    }
}

我想它不能解释有没有办法将该方法"强制转换"为期望的类型?或者这是GDCM设置SWIG的错误?

C#GDCM函数指针,无法转换为SWIGTYPE

您所描述的示例实际上被注释掉了,如下所示:

  • https://github.com/malaterre/GDCM/blob/master/Examples/Csharp/CMakeLists.txt#L15

我怀疑这是一个从未完成的功能。