itk

Running HelloWorld example of itk in Visual Studio 2013

好久不见. 提交于 2019-12-11 04:49:45
问题 I have installed itk on my system using the answer in this link. So, I have bin, include, lib, share sub-folders in C:\Program Files (x86)\ITK. (Small question : does bin sub-folder only have "itkTestDriver.exe" file?) Now, I am trying to run HelloWorld example. I have created a project which consists of HelloWorld.cpp. #include "stdafx.h" #include "itkImage.h" #include <iostream> int main() { typedef itk::Image< unsigned short, 3 > ImageType; ImageType::Pointer image = ImageType::New(); std:

Python - Write a three dimensional image from 3D array

落花浮王杯 提交于 2019-12-11 04:48:46
问题 I'm trying to obtain an image from 3D array and convert it to TIF 3D. I'm using simple ITK but it doesn't work. I obtain this error message : 'in method 'WriteImage', argument 1 of type 'itk::simple::Image const &' Here's my code: import numpy as np import SimpleITK as sitk test = np.ones((20,20,20)) sitk.WriteImage(test,'test.tif') -------------------- EDIT LATER ---------------------------- I try by working with "GetImageFromArray" it seems work as i keep the same size and finally i try to

四、如何通过CT三维图像得到DRR

六眼飞鱼酱① 提交于 2019-12-09 23:26:51
一、介绍   获取DRR图像是医疗图像配准里面的一个重要的前置步骤。   在2D/3D的配准流程里面,需要首先通过CT三维图像,能够获取任意位置的DRR图像,然后去与已经获取的X光平面图像配准。   配准过程如下(下面的描述是不准确的,我只是描述了一种情况,即基于灰度的图像配准算法的过程,并且可能会有纰漏):   1- 定义一个评价函数:即相似性测度函数,通过这个函数评价当前是否已经达到了配准的要求。   2- 不断通过调整输入参数得到不同角度下的DRR图像。   3-通过1里面的评价函数判断是否停止搜索   实际上这是一个循环,终止条件就是是否满足相似性测度函数。   具体流程可以参考下面的流程图:    二、DRR例子运行   在ITK5.0里面有一个相关的例子,我也是跑了好久才把程序跑通的,跑通以后就觉得做了许多的无用功......   说到底还是菜,跑一个程序就要两周,醉了(好吧,吐槽完毕^-^)   1-找到例子,构建工程   按照之前第一个 博客 的过程安装ITK之后,我们找到这个例子所在的位置:    ITK-5.0/Examples/Filtering/DigitallyReconstructedRadiograph1.cxx 例子的代码也可以在这里找到:    https://itk.org/Doxygen/html/Examples_2Filtering

ITK: Could not create IO object

﹥>﹥吖頭↗ 提交于 2019-12-08 07:50:49
问题 I am trying to calculate the gradient of an image. I tried this code on the sample image given (Gourds6.png). I used cmake . to create the CMakeFiles and then make . Everything works fine and the executable file is created. Now when I run the code using command ./computeGradient Gourds6.png out.png 1.5 , it complains that: Error: itk::ImageFileWriterException (0x1446b40) Location: "void itk::ImageFileWriter<TInputImage>::Write() [with TInputImage = itk::Image<float, 2u>]" File: /usr/local

CMake error when configuring itkvtkglue

人走茶凉 提交于 2019-12-08 04:07:40
问题 My question is similar to Emre's question. I am trying to build the itkImageToVTKImageFilter example from the wiki. I hope to use it for a Gaussian low pass filter that I plan to apply to an image. After I download the itkvtkglue, extract it to a folder, and then press configure in Cmake, I receive the following error message: Check for working C compiler using: Visual Studio 9 2008 Check for working C compiler using: Visual Studio 9 2008 -- works Detecting C compiler ABI info Detecting C

ITK读取裸数据方法

╄→尐↘猪︶ㄣ 提交于 2019-12-07 18:26:44
ITK读取裸数据方法 关键词:ITK、裸数据、MRIcro、itk::RawImageIO ITK多用于医学图像的配置和分割,所以其对DICOM文件读写操作的支持是很好的(ITK内部使用GDCM对DICOM文件进行操作,有关GDCM的信息可直接访问其主页: 点击打开链接 获取更多信息),但很多时候,特别是做研究的,往往会把处理后的数据以裸数据的形成临时保存,以便进行其它后续操作,而在ITK关于IO的例子中没有关于读取裸数据的信息。使用GOOGLE检索后,得到一条很有用的信息,自己测试了下,把自己翻译和测试的代码记录下来。 1、裸数据的获得 将DICOM文件转化为裸数据的方法很多,使用现成的软件---MRIcro进行转化是最简单的方法,MRIcro的主页: http://www.mccauslandcenter.sc.edu/mricro/mricro/mricro.html ,在其主页的 Installation 部分可以下载到安装文件,具体讲DICOM文件转化为裸数据的方法可以查看MRIcro的使用说明,如果还不会,可以联系我。另外建议使用DCMTK软件包来读取和保存DICOM文件中的数据信息,很简单,也很方便,可以作很多的中间处理,代码量也很少,可以参考DCMTK的说明文档。如果你使用MRIcro来转化,那么转化之后会产生两个文件,一个后缀名称是*.hdr,另外一个是*.img

CMake internal error (TEST_BIG_ENDIAN)

隐身守侯 提交于 2019-12-07 13:57:45
问题 I am using CMake on Windows 7, 64 bit (although I'm compiling in 32 bit). I am trying to install vxl library and when I run CMake (from interface) I get the following error: The C compiler identification is unknown The CXX compiler identification is unknown Check if the system is big endian Searching 16 bit integer CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/TestBigEndian.cmake:44 (message): no suitable type found Call Stack (most recent call first): config/cmake

四、读取一系列dcm图片,然后重新写入

二次信任 提交于 2019-12-06 13:12:54
一、程序功能   读取一系列的CT dcm图片,然后重新写入到一个文件夹 二、代码    #pragma warning(disable:4996) #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageSeriesWriter.h" int main(int argc, char** argv) { //定义像素类型,图像类型,三维有符号数,定义指针 typedef signed short PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > ImageType; typedef itk::ImageSeriesReader< ImageType > ReaderType; //声明读、写 DICOM 图 像 的 itk::GDCMImageIO对象 //itk::GDCMSeriesFileNames对象将生成并将构成所有体数据的切片的文件名进行排序 typedef itk::GDCMImageIO ImageIOType; typedef itk:

二、ITK例子-jpg图像读写

只谈情不闲聊 提交于 2019-12-06 05:57:04
一、ITK的读写工作原理   在ITK里面,我们需要设置读取图像的像素类型,图像类型。   然后设置读取指针,将读取参数传入。   同时设置写指针,也将写入文件参数传入。   为了实现读写动作,我们需要构造一个IO工厂(IOFactory),用来实现读写的动作。   同时需要一个动作,用来触发上面设置的内容,使得一切开始工作。   这就好比是一台机器,我们并不知道机器内部是如何运行的(factory的工作机制),但是我们可以设置自己知道的参数,然后点击开始开关, 这个时候机器就能够正常运行,达到我们想要的效果。(这个其实也是API的含义所在)。 二、下面是对于读写机制的讲解      首先我们在右侧设置了ImageFileWriter 和ImageFileReader, 告诉函数我们需要操作的目标文件名。   然后factory创建ImageIO.   通过ImageIOFactory判断里面的哪一个工人可以对于这个文件进行读写操作。   比如说这个时候我们查找到了PNGImageIOFactory(确定的工人)可以对于目标文件进行读写操作,一个PNGImageIOFactory 就在内存中创建,作为ImageIOFactory的操作者,就把数据交给它来进行操作的,完成相应的读写操作。   工作就完成了。   这个机制就相当于供需平台一样:   一个人(wirter 或者

Operate on slices of 3D image in SimpleITK and create new 3D image

萝らか妹 提交于 2019-12-05 22:33:20
I have a 3D image read in to SimpleITK (using python) from a NIfTI file, take each axial slice, do something with it and re-insert the new 2D slice into a 3D volume with the (hopefully) appropriate dimensions. For example, output = sitk.Image(original.GetSize(), sitk.sitkFloat32) output.CopyInformation(original) for z in numpy.arange(original.GetDepth()): image = original[:,:,z] << Do Something in SimpleITK>> << Produce a new 2D image = newimage >> output[:,:,z] = newimage The final step is throwing an error In [???]: (executing line ??? of "code.py") Traceback (most recent call last): File