问题标签 [itk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2971 浏览

ios - iOS 上的 ITK 库 - 加载 DICOM

我已经为 ipad 构建了 ITK 库 - 它可以工作。然后我尝试制作一个 ITK 示例 - 类似这样的:

但是我尝试了很多可能将DICOM堆栈加载到 ipad 的文档文件夹而不是c:/test路径的目录中。但这没有用。

DICOM所以我的想法是通过互联网加载类似的内容:

现在我考虑尝试获取 dicom 数据(患者姓名等)并将其与图像数据分开。然后我认为最后一定有可能在 IPAD 上显示 UIImage。

我为此搜索了一个示例,但遗憾的是……我没有找到好的东西。如果有人知道如何通过 ipad 在 ipad 上加载 dcm,ITK或者知道如何从NSData对象中获取图像数据?

0 投票
2 回答
272 浏览

c++ - ITK 中的双精度和智能指针问题

我遇到的问题是我使用Qt从GUI打开一个图像(通过我创建的ImageFrame类,这个类定义了PixelType如下:

在提取图像后,我会撒谎做一个 FFT,输入是真实数据。错误说:不能将'itk::SmartPointer'的第三个参数转换为'double *'和ImageFrame类的对象(它已将像素类型定义为double)。

1>.\prueba_r01.cpp(126) : error C2664: 'fftw_plan_dft_r2c_2d' : no se puede convertir el parametro 3 de 'itk::SmartPointer' a 'double *'
1> with
1> [
1> TObjectType=itk:: Image
1> ]
1> No hay disponible ningún operador de conversión definido por el usuario que pueda realizar esta conversión, o bien no se puede llamar al operador

现在我不明白为什么如果像素是双格式,它就不能计算 fft。有谁可以告诉我如何解决这个问题?非常感谢大家!

0 投票
1 回答
1682 浏览

c++ - 带有 ITK 和 FFTW 的 VS2008 中的错误 LNK2019(未解析的外部符号)

我正在使用 ITK 执行一个项目来处理医学图像。经过大量工作后,没有进一步的编译错误,但在链接过程中,我得到以下信息:

1>--------生成开始:proyect:prueba_r01,配置:Debug Win32 ------ 1>Linking... 1>Creating library C:\Documents and Settings\GTTS\Mis documentos\Visual Studio 2008\Projects \prueba_r01\Debug\prueba_r01.lib 和对象 C:\Documents and Settings\GTTS\Mis documentos\Visual Studio 2008\Projects\prueba_r01\Debug\prueba_r01.exp

1>prueba_r01.obj : 错误 LNK2019: extern symbol "public: double (* __thiscall prueba_r01::multiply_matrix_2D(double ( )[2],double ( )[2],int,int))[2]" (?multiply_matrix_2D@ prueba_r01@@QAEPAY01NPAY01N0HH@Z) 未解决,在函数“private: void __thiscall prueba_r01::filtro(void)”(?filtro@prueba_r01@@AAEXXZ) 中引用

1>C:\Documents and Settings\GTTS\Mis documentos\Visual Studio 2008\Projects\prueba_r01\Debug\prueba_r01.exe : 致命错误 LNK1120: 1 externos sin resolver

1>prueba_r01 - 2 个错误,0 个警告 =========== 一般:0 个更正,1 个不正确,0 个实现,0 个省略 ==========

方法 multiply_matrix_2D 在私有槽“filtro()”中调用时会产生错误(翻译为过滤器)文件的标题是:

而问题所在的主要部分在.cpp文件中,显示在这里:

将 **double 指针转换为 *fftw_complex 的过程在这里完成,因为我想将频域 (H(w)) 中的滤波器与图像的 fft 变换结果相乘,这就是原因。重要的是要注意 fftw_complex 是 double[2],第一行为实部,第二行为虚部。有问题的方法如下所示:

任何帮助都会非常好!我现在很迷茫……谢谢!格拉西亚斯!安东尼奥

0 投票
2 回答
482 浏览

c++ - 时间编译访问违规 (0xC0000005)

我想要做的过程是对图像进行 FFT(存储在“imagen”中),然后将其与过滤器“H”相乘,之后也会进行逆 FFT。代码如下所示:

问题出在此处,在函数“multiply_matrix_2D”内的循环中:

x = 95 和 y = 93 的值是 M = 191 和 N = 96;prueba_r01.exe 中 0x004273ab 处的不受控制的异常:0xC0000005 访问违规读取 0x01274000。

图片 http://img846.imageshack.us/img846/4585/accessviolationproblem.png

很多变量的值都是红色的,并且对于翻译问题:H_cast[][1] 在值框中:“Error30CXX0000:不可能评估表达式”。

我将非常感谢任何形式的帮助!

安东尼奥

0 投票
1 回答
232 浏览

c++ - 用于计算 FFT_2D 的 2D 双 * 指针中图像的像素值

我想计算一个图像的 FFT,我读取图像,ITK SmartPointer 被称为“imagen”。我用于计算 FFT (fftw_plan_dft_r2c_2d) 的函数的输入需要一个 2D 双 * 指针作为输入。因此,我这样做:

但是当我尝试访问图像的像素值时,它们没有被定义“图像”的像素类型是双倍的:

并且图像是使用 Qt 通过用户界面从帧中读取的:

谁能帮我这个?我需要将图像的值放在 2D double* 指针中以计算 fft。

干杯并感谢您的帮助!

安东尼奥·戈麦斯·巴克罗

已编辑

我已经解决了我的问题,贴在下面,但现在的问题是将结果转换为二维矩阵,直到执行时间才知道它的第二维,因为图像是在执行期间而不是在编译期间加载的,有什么提示吗? ? 谢谢!

解决方案

0 投票
1 回答
3446 浏览

c++ - 如何使用itkvtkglue将ITK与VTK一起使用?

我想从wiki示例中创建一个将ITK与VTK结合起来的示例,称为IO/ImageFileReader。

我下载了itkvtkglue,解压到一个文件夹,用cmake配置,用visual studio 2010构建。

但是当我尝试配置给定的示例时,我无法使用它。即使 cmake 自己找到了 ItkVtkGlue_DIR,它也会给出他无法包含必要文件的错误。未能包含(${ItkVtkGlue_USE_FILE})

我应该以某种方式更改 CMake 查找我的 ItkVtkGlue 头文件的文件夹吗?有没有其他方法可以同时使用 ITK 和 VTK?

错误和文件内容如下。

CMakeLists.txt 看起来像这样:

感谢大家的帮助。

0 投票
1 回答
1209 浏览

xcode - 带有 ITK、VTK 的 Cocoa 应用程序读取 DICOM 文件

我有 xcode 3.2.6 和 Mac OS X 10.6.8,所以我下载了 ITK 3-2.20 和 VTK,Cmake 2.8-5。

我已经使用 Cmake 安装了 ITK 和 VTK,然后我也使用 Cmake 创建了 Xcode 项目 ITK 和 VTK。我设置了目标“ALL_BUILD”,然后运行目标“安装”。所以我可以从 VTK 运行一些测试并且它们工作!

但是谁能说我应该做些什么来创建 Xcode 项目(Cocoa 应用程序)以使用 ITK 和 VTK 库读取和显示 DICOM 文件?

我不明白如何使用例如 DicomImageReadWrite.cxx 来创建 Cocoa 应用程序。

有人有类似 Xcode 项目的例子吗?(我有 osirix.xcodeproj 但是当我尝试运行它时会出现很多错误)

0 投票
2 回答
870 浏览

c++ - 使用 ITK 类的 C++ 上的奇怪段错误

自 1 或 2 周前以来,我一直在尝试解决这个非常奇怪的问题。

我正在尝试使用 ITK 读取 DICOM 图像,然后进行一些处理。

问题是,我想独立于像素类型读取图像。为此,我必须找出像素类型并在运行时实例化 itkImage。

因此,当我读取图像文件时,我必须将它从 itkImage 转换为 itkImageBase(在 itkImage.h 中它被声明为类 itkImage:public itkImageBase)。

不幸的是,当我在 if 块内将它从一种类型转换为另一种类型后,我无法在 if 块之外的任何地方访问存储在此变量上的值。这是代码:

*对不起葡萄牙语中的变量和方法名称。这里有一点帮助:

leitor是读者的意思

TipoPixel 表示像素类型

abreImagem(templated method) 表示 openImage

iniciaAbrirImagem 表示initialOpenImage

正如您所看到的(或者至少我希望代码足够清晰,以便您可以看到它),我声明了一个指向 itk::ImageBase<3> 的指针并在类构造函数上使用值 0 启动它(已经尝试过不初始化,初始化使用null,没有任何效果......)。

之后,我调用其他类的一些方法来找出输入图像的像素类型。然后,我进入 if 块,在其中实例化一个 itk::ImageFileReader 和一个与输入图像具有相同像素类型的 itkImage。

然后,我将 TipoLeitor 类型的变量(或 ReaderType,如你所愿)发送到模板函数,在那里我实际读取 try/catch 块内的图像文件。然后,在下一次尝试中,我将阅读器的输出(一个 itkImage)转换为 itkImageBase 并将其放入 imagemB 变量中。

如果我尝试调用该类的一些随机方法,例如模板化方法中的 GetNameOfClass,那没关系,一切都按预期进行。如果我在调用模板化方法的 if 块中做同样的事情,那也没关系。但是,如果我在 if 块之后尝试在函数内部做同样的事情,它就不起作用。如果我尝试在 GetOutput() 方法上执行此操作,也会发生同样的情况。

就像变量 imagemB 在 if 块中初始化一样,当它退出块时,它被设置为未初始化(这个词甚至存在吗)。

没有详细的错误消息,只是“分段错误”。

感谢您的帮助,并对糟糕的英语和长文本感到抱歉。

0 投票
3 回答
2254 浏览

vtk - 使用 ITK 时 DICOM 图像太暗

我正在尝试使用 ITK 读取图像并使用 VTK 显示。

但是有一个问题困扰了我很久。

我使用 itkGDCMImageIO 和 itkImageSeriesReader 类读取图像。

阅读后,我可以做两件事:

1. 我可以使用 itkImageToVTKImageFilter 将 ITK 图像转换为 vtkImageData 并使用 vtkImageReslicer 来获取所有三个轴。然后,我使用 vtkImageMapper、vtkActor2D、vtkRenderer 和 QVTKWidget 类来显示图像。

在这种情况下,当我显示图像时,颜色有几个问题。其中一些显示得很亮,另一些则非常暗,几乎看不到它们。

2. 第二种场景是注册流水线。在这里,我像以前一样阅读图像,然后使用 ITK 软件指南关于注册的章节中显示的类。然后我重新采样图像并使用 itkImageSeriesWriter。

这就是问题出现的时候。将图像写入文件后,我将这个新图像与我在 XMedcon 软件中用作输入的图像进行比较。如果我写的图像在我的软件中显示得太亮,当我在 XMedcon 中比较它们时没有任何变化。否则,如果我的软件中的图像太暗,它会在 XMedcon 中显得一团糟。

我注意到,在比较两个图像(原始图像和新图像)时,在这两种情况下,模态、像素尺寸和 glmax 都有变化。

我想问题出在 glmax 上,因为主要变化发生在较暗的图像上。

我真的不知道该怎么办。这与颜色级别/窗口有关吗?最奇怪的是,所有图像都非常相似,具有相同的标签,只有其中一些在显示/写入时显示错误。

0 投票
2 回答
595 浏览

c++ - 在 Qt 用户界面中更新 itk 图像

我有一个问题想告诉你,因为大约有几天我没有新的想法。

我有一个用双 * 指针指向的图像,我想将其转换为 itk::smartpointer 以更新用户图形界面,为此我制作了这个方法:

然后在这里调用:

之后,更新用户界面:

问题是似乎一切正常,但界面中的图像没有更新。另一个对我的项目也有效的选项可能是将图像存储在“.bmp”或“.jpeg”文件中。有人可以帮助我吗?关于什么不能正常工作的任何想法?有没有创建这个图像文件的功能?