gpt4 book ai didi

qt - 如何在 Qt 中使用 Dcmtk?

转载 作者:行者123 更新时间:2023-12-03 18:15:11 24 4
gpt4 key购买 nike

我正在研究一个必须读取 dicom 图像的项目。

我无法安装 dcmtk。我使用的是 win7 64 位和 vs2010。

请解释在我的程序中包含 dcmtk 的过程。

最佳答案

使用 Windows + DCMTK + QT ,您需要执行以下步骤:

  • 编译 DCMTK(步骤 1.A)
  • 创建您的示例应用程序(第 2 步)
  • 创建引用编译/安装的 DCMTK 库(步骤 3.B)
  • 的 QT 项目文件
  • 在 IDE 中编译应用程序(步骤 4.B)

  • If you are reading this and don't want to use the Qt, I am answering a version without Qt as well.

    Windows+VisualStudio+DCMTK: Steps 1.A, 2, 3.A and 4.A

    Linux+GCC+DCMTK: Steps 1.B, 2, N/A, 4.C



    1) 编译DCMTK
    首先,要在您的应用程序中使用 DCMTK 库,您应该编译 DCMTK 源代码以生成库:
    在我写这篇文章时,最后一个可用版本是 3.6.0。所以,我们应该下载它:
    ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk360/dcmtk-3.6.0.zip
    下载完成后,您需要解压缩文件夹。 DCMTK 源没有项目文件,但这不是问题,有一个 CMakelist 文件负责在您想要的操作系统/编译器中生成项目文件。如果您不熟悉 CMake 工具,可以在此处阅读更多信息 ( https://cmake.org/)
    1.A) 在 Windows/Visual Studio 2012 上编译
    1.A.1) 您需要安装一个编译器,就我而言,它是 Visual Studio 2012
    1.A.2) 运行 CMake tool生成项目文件到Visual Studio 2012。你需要能够填写 source DCMTK 目录。
    1.A.3) 现在,执行 VisualStudio 2012,打开文件 sln在上一步(2)中创建并编译目标 ALL_BUILD1.A.4) 在 Admin 中重新执行 VisualStudio模式(由于权限 C:\Program Files )编译目标 INSTALL (它会将 DCMTK 复制并安装到默认路径: C:/Program Files/DCMTK/ ,我们可以引用它,例如 PATH_WHERE_DCMTK_WAS_INSTALLED )
    (1.B) 在 GNU/Linux GCC 上编译
    我已经在 Ubuntu/CentOS 上测试过。首先,你应该去 DCMTK Source并运行以下三个命令:
    $ ./configure --prefix=path_to_dcmtk
    $ make all
    $ sudo make install
    示例:path_to_dcmtk =/home/user/dcmtk

    2) 创建您的示例应用程序
    创建一个名为 your_sample/testapp.cxx 的文件有以下内容。这是在 DCMTK 论坛中找到的演示,用于打开 DICOM 文件并打印患者姓名。
    #include "dcmtk/dcmdata/dctk.h"
    #include <iostream>
    using namespace std;

    int main()
    {
    DcmFileFormat fileformat;
    OFCondition status = fileformat.loadFile("test.dcm");
    if (status.good())
    {
    OFString patientsName;
    if (fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientsName).good())
    {
    cout << "Patient's Name: " << patientsName << endl;
    }else{
    cerr << "Error: cannot access Patient's Name!" << endl;
    }

    }else{
    cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;
    }
    return 0;
    }

    3) 使用 VisuaStudio 作为编译器创建应用程序项目
    上一步创建的文件需要放在一个工程中。您可以在选项 Windows VisualStudio (3.1) 之间进行选择和 Windows Qt (3.2) .如果您使用的是 Linux,则可以跳过此步骤。
    3.A) 带有 Visual Studio 2012 IDE 的 Windows
    要创建 Visual Studio 项目,您可以使用 Wizard并设置必要的设置,例如: Linker , Libraries等。但是,为了使这个答案更容易,我将使用 CMakeList.txt为 Visual Studio 2012 创建一个项目。因此,请创建一个名为 your_sample/CmakeList.txt 的文件。具有以下内容:
    PROJECT(testapp)

    SET(DCMTK_DIR ABSOLUTE_PATH_WHERE_DCMTK_WAS_INSTALLED)
    #an example: SET(DCMTK_DIR "C:\\Users\\test\\test_dcmtk\\DCMTK")

    # settings for Microsoft Visual C++ 6
    SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX")
    SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od")
    SET(CMAKE_C_FLAGS_RELEASE "/MT /O2")
    SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX")
    SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od")
    SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2")

    ADD_DEFINITIONS(-D_REENTRANT)

    INCLUDE_DIRECTORIES(${DCMTK_DIR}/include)
    LINK_DIRECTORIES(${DCMTK_DIR}/lib)

    ADD_EXECUTABLE(testapp testapp)
    TARGET_LINK_LIBRARIES(testapp netapi32 wsock32 ofstd dcmdata)
    3.B) 使用 VisuaStudio 作为编译器的 Windows QtCreator IDE
    为 QtCreator IDE 创建项目文件。您需要创建一个名为 your_sample/my_project.pro 的文件。具有以下内容:
    SOURCES += testapp.cxx
    CONFIG += debug console
    DEFINES += _REENTRANT

    QMAKE_CFLAGS_RELEASE -= -MD
    QMAKE_CFLAGS_RELEASE = -MT
    QMAKE_CFLAGS_DEBUG -= -MDd
    QMAKE_CFLAGS_DEBUG = -MTd
    QMAKE_CXXFLAGS_RELEASE -= -MD
    QMAKE_CXXFLAGS_RELEASE += -MT
    QMAKE_CXXFLAGS_DEBUG -= -MDd
    QMAKE_CXXFLAGS_DEBUG += -MTd

    INCLUDEPATH += (RELATIVE_PATH_WHERE_DCMTK_WAS_INSTALLED)/include
    #an example: INCLUDEPATH += ../../../test_dcmtk/DCMTK/include

    LIBS += -L"(RELATIVE_PATH_WHERE_YOU_INSTALLED_DCMTK)/lib" \
    -ladvapi32 \
    -ldcmdata \
    -loflog \
    -lofstd \
    -lws2_32 \
    -lnetapi32 \
    -lwsock32
    #an example: LIBS += -L"../../../test_dcmtk/DCMTK/lib" \

    4.A) 带有 Visual Studio 2012 IDE 的 Windows
    VisualStudio 打开项目文件然后点击 Build .
    4.B) 使用 VisuaStudio 作为编译器的带有 QtCreator IDE 的 Windows
    QT 打开项目文件然后点击 Build .
    4.C) GNU/Linux - GCC 命令行
    g++ testapp.cxx -DHAVE_CONFIG_H -I/path_to_dcmtk/include -L/path_to_dcmtk/lib -pthread -ldcmdata -lz -loflog -lofstd -o main

    Please, note that whether you have compiled the libraries in DEBUG mode, your application should be compiled in DEBUG mode as well.



    引用
  • 如何安装
    http://support.dcmtk.org/docs/file_install.html
  • DCMTK 文档
    http://support.dcmtk.org/docs/
  • 常见问题 #40:如何在自己的应用程序中使用 DCMTK 库? [MSVC]
    http://forum.dcmtk.org/viewtopic.php?f=4&t=652
  • CMake 配置
    http://support.dcmtk.org/wiki/dcmtk/howto/cmakeconfiguration360
  • 关于qt - 如何在 Qt 中使用 Dcmtk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052148/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com