<影像组学pyradiomics教程> (五) pyradiomics模块--Image Processing and Filters(图像处理及滤波器)
2018-01-11 09:40
4639 查看
² radiomics.imageoperations.getBinEdges(binwidth, parameterValues)
计算并返回灰度直方图
² radiomics.imageoperations.binImage(binwidth, parameterMatrix,parameterMatrixCoordinates)
² radiomics.imageoperations.generateAngles(size, **kwargs)
² radiomics.imageoperations.checkMask(imageNode, maskNode, **kwargs)
Ø 检查Mask中的ROI的尺寸和维度是否符合要求,具体步骤如下:
1. 检查原始图像和Mask是否一致(例如尺寸、spacing、direction和origin),可使用geometryTolerance参数来调整tolerance,如果返回值为True,系统会检查Mask是否包含有效的ROI(即ROI区域必须小于图片的物理尺寸),如果上述检查没有问题,系统会将Mask重采样为原始图像的几何尺寸
2. 检查Mask中是否存在label
3. 检查ROI的维度是否符合定义的最小维度(使用minimumROIDimensions定义)
4. 检查ROI中体素数量是否符合定义的最小数量(使用minimumROISize定义)
Ø 该函数返回一个包含两个元素的元组,第一个元素是Mask的bounding box,第二个元素是重采样后的与原始图像具有同样几何尺寸的Mask
Ø 如果检测不通过,则报错,返回一个值为(None, None)的列表;如果检测通过,返回的bounding box将在cropToTumorMask()会用到。
Ø Bounding box在(1)中计算,并在后续的检查中需要用到。Bounding box是使用SimpleITK.LabelStatisticsImageFilter()计算得到的,是一个拥有六个元素的元组:(L_x, U_x, L_y, U_y, L_z, U_z)
Ø 通过反复调用SimpleITK.LabelStatisticsImageFilter()来计算boundingbox,提升性能
Ø 参数:
² minimumROIDimensions [1]:1-3范围内的整数
² minimumROISize [None]:大于0的整数
Ø 如果第一步检测失败,通常可能原因有两个:
² 原始图像和Mask匹配,但是在origin、sapacing或者direction等方面存在轻微的差异。具体的错误原因存储在DEBUG级别的log文件中(如果使用了log),通过更改geometryTolerance和调用correctMask函数可以解决这个问题
² 虽然原始图像和Mask不匹配,但是Mask中包含的ROI包含在原始图像范围内。我们可以通过在特征提取前进行重采样来解决这个问题
² radiomics.imageoperations.cropToTumorMask(imageNode, maskNode,boundingBox, padDistance=0
将原始图像和Mask裁剪成一个立方体的形状,其尺寸与Mask的ROI一致
Ø 输入参数:
n BoundingBox:checkMask()返回的bounding box,用于确定裁剪后的图像大小。
n Label:label的值
Ø 返回值:裁剪后的image和Mask(SimpleITK类型)
² radiomics.imageoperations.resampleImage(imageNode, maskNode,resampledPixelSpacing, interpolator=3, label=1, padDistance=5)
Ø 将原始图像和Mask重采样为特定的spacing(默认使用线性差值)
Ø Interpolator和resampledPixelSpacing参数可通过参数文件定义,或者作为关键字参数直接传递给特征抽取器
Ø imageNode和maskNode时候SimpleITK对象,resampledPixelSpacing是输出图片spacing(三元素的元组)
Ø 如果spacing的某元素为0,则用原始Mask的对应维度的spacing替代它
Ø 重采样网格会和输入的原始图片进行对齐,并且只会对Mask的ROI对应的区域进行重采样
² radiomics.imageoperations.normalizeImage(image, scale=1,outliers=None)
对图片进行归一化
² radiomics.imageoperations.resegmentMask(imageNode, maskNode,resegmentRange, label=1)
对Mask进行重分割,移除灰度值在resegmentRange之外的体素
² radiomics.imageoperations.getOriginalImage(inputImage, **kwargs)
获取原始图像
返回值:迭代器,指向的元素为一个三元素的Tuple,第一个元素为原始图像,第二个元素为字符串‘Oringinal’,第三个元素为参数字典
² radiomics.imageoperations.getLoGImage(inputImage, **kwargs)
对原始图像应用LOG滤波器
输入参数:
² Sigma:浮点数或者整数的列表,大于0。每一个元素代表一个滤波器。
² radiomics.imageoperations.getWaveletImage(inputImage, **kwargs)
对原始图像应用小波滤波器
² radiomics.imageoperations.getSquareImage(inputImage, **kwargs)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
² radiomics.imageoperations.getSquareRootImage(inputImage, **kwargs)
² radiomics.imageoperations.getLogarithmImage(inputImage, **kwargs)
² radiomics.imageoperations.getExponentialImage(inputImage, **kwargs
计算并返回灰度直方图
² radiomics.imageoperations.binImage(binwidth, parameterMatrix,parameterMatrixCoordinates)
² radiomics.imageoperations.generateAngles(size, **kwargs)
² radiomics.imageoperations.checkMask(imageNode, maskNode, **kwargs)
Ø 检查Mask中的ROI的尺寸和维度是否符合要求,具体步骤如下:
1. 检查原始图像和Mask是否一致(例如尺寸、spacing、direction和origin),可使用geometryTolerance参数来调整tolerance,如果返回值为True,系统会检查Mask是否包含有效的ROI(即ROI区域必须小于图片的物理尺寸),如果上述检查没有问题,系统会将Mask重采样为原始图像的几何尺寸
2. 检查Mask中是否存在label
3. 检查ROI的维度是否符合定义的最小维度(使用minimumROIDimensions定义)
4. 检查ROI中体素数量是否符合定义的最小数量(使用minimumROISize定义)
Ø 该函数返回一个包含两个元素的元组,第一个元素是Mask的bounding box,第二个元素是重采样后的与原始图像具有同样几何尺寸的Mask
Ø 如果检测不通过,则报错,返回一个值为(None, None)的列表;如果检测通过,返回的bounding box将在cropToTumorMask()会用到。
Ø Bounding box在(1)中计算,并在后续的检查中需要用到。Bounding box是使用SimpleITK.LabelStatisticsImageFilter()计算得到的,是一个拥有六个元素的元组:(L_x, U_x, L_y, U_y, L_z, U_z)
Ø 通过反复调用SimpleITK.LabelStatisticsImageFilter()来计算boundingbox,提升性能
Ø 参数:
² minimumROIDimensions [1]:1-3范围内的整数
² minimumROISize [None]:大于0的整数
Ø 如果第一步检测失败,通常可能原因有两个:
² 原始图像和Mask匹配,但是在origin、sapacing或者direction等方面存在轻微的差异。具体的错误原因存储在DEBUG级别的log文件中(如果使用了log),通过更改geometryTolerance和调用correctMask函数可以解决这个问题
² 虽然原始图像和Mask不匹配,但是Mask中包含的ROI包含在原始图像范围内。我们可以通过在特征提取前进行重采样来解决这个问题
² radiomics.imageoperations.cropToTumorMask(imageNode, maskNode,boundingBox, padDistance=0
将原始图像和Mask裁剪成一个立方体的形状,其尺寸与Mask的ROI一致
Ø 输入参数:
n BoundingBox:checkMask()返回的bounding box,用于确定裁剪后的图像大小。
n Label:label的值
Ø 返回值:裁剪后的image和Mask(SimpleITK类型)
² radiomics.imageoperations.resampleImage(imageNode, maskNode,resampledPixelSpacing, interpolator=3, label=1, padDistance=5)
Ø 将原始图像和Mask重采样为特定的spacing(默认使用线性差值)
Ø Interpolator和resampledPixelSpacing参数可通过参数文件定义,或者作为关键字参数直接传递给特征抽取器
Ø imageNode和maskNode时候SimpleITK对象,resampledPixelSpacing是输出图片spacing(三元素的元组)
Ø 如果spacing的某元素为0,则用原始Mask的对应维度的spacing替代它
Ø 重采样网格会和输入的原始图片进行对齐,并且只会对Mask的ROI对应的区域进行重采样
² radiomics.imageoperations.normalizeImage(image, scale=1,outliers=None)
对图片进行归一化
² radiomics.imageoperations.resegmentMask(imageNode, maskNode,resegmentRange, label=1)
对Mask进行重分割,移除灰度值在resegmentRange之外的体素
² radiomics.imageoperations.getOriginalImage(inputImage, **kwargs)
获取原始图像
返回值:迭代器,指向的元素为一个三元素的Tuple,第一个元素为原始图像,第二个元素为字符串‘Oringinal’,第三个元素为参数字典
² radiomics.imageoperations.getLoGImage(inputImage, **kwargs)
对原始图像应用LOG滤波器
输入参数:
² Sigma:浮点数或者整数的列表,大于0。每一个元素代表一个滤波器。
² radiomics.imageoperations.getWaveletImage(inputImage, **kwargs)
对原始图像应用小波滤波器
² radiomics.imageoperations.getSquareImage(inputImage, **kwargs)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
² radiomics.imageoperations.getSquareRootImage(inputImage, **kwargs)
² radiomics.imageoperations.getLogarithmImage(inputImage, **kwargs)
² radiomics.imageoperations.getExponentialImage(inputImage, **kwargs
相关文章推荐
- <影像组学pyradiomics教程> (四) pyradiomics模块--Feature Extractor(特征抽取器)
- <影像组学pyradiomics教程> (六) pyradiomics模块--General Info Module(通用信息模块)
- <影像组学pyradiomics教程> (三) 自定义特征提取
- <影像组学pyradiomics教程> (一) pyradiomics 安装
- <影像组学pyradiomics教程> (二) pyradiomics 使用示例
- <影像组学pyradiomics教程> (七)影像组学特征
- <影像组学pyradiomics教程> (零) 影像组学利器--pyradiomics简介
- <数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印
- 《learn objective-c on the Mac for OS X and IOS》<译名>《objective-C基础教程》
- Python图像处理库PIL的ImageOps模块介绍 -----> 一些基本的图像操作
- <转>JavaScript 参考教程之事件处理
- PHP极其强大的图片处理库Grafika详细教程(2):图像特效处理模块
- 在Python中使用PIL模块处理图像的教程
- OpenCV图像处理---->>滤波器
- OpenCV之imgproc 模块. 图像处理(1)图像平滑处理 腐蚀与膨胀(Eroding and Dilating) 更多形态学变换 图像金字塔 基本的阈值操作
- OpenCV之imgproc 模块. 图像处理(2)实现自己的线性滤波器 给图像添加边界 Sobel 导数 Laplace 算子 Canny 边缘检测
- <<Javascript基础教程学习(第8版)>>第4章 学习笔记 ---处理图像
- 【opencv 官方教程】翻译3 图像处理 上
- IOS开发中(null)与<null>的处理
- 【OpenCV入门教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑