ImageJ 用户手册——第五部分

29. Process

此菜单列出了与图像处理相关的所有命令,包括多个图像之间的点运算、滤波器和算术运算。

29.1 Smooth

使活动图像或所选内容变暗。该滤波器将每个像素替换为其3×3邻域的平均值。

29.2 Sharpen

增加对比度并突出图像或选择中的细节,但也可能突出噪声。该滤波器使用以下加权因子将每个像素替换为3×3邻域的加权平均值:
在这里插入图片描述

29.3 Find Edges

使用Sobel边缘检测器来突出显示活动图像或选区中强度的急剧变化。两个3×3卷积核(如下所示)用于生成垂直和水平导数。
通过使用平方和的平方根组合两个导数来产生最终图像。
在这里插入图片描述

29.4 Find Maxima

确定图像中的局部最大值,并创建与标记的最大值或每个最大值一个分段粒子大小相同的二进制(类似遮罩)图像。对现有的矩形选区执行分析,或者如果没有选区,则对整个图像执行分析。

对于RGB图像,将选择亮度的最大值,亮度定义为颜色的加权或未加权平均值,具体取决于在Edit>Options>Conversions中设置“加权RGB到灰度转换”的方式。

  • Noise Tolerance:如果Maxima在周围环境中的突出程度不超过该值(校准图像的校准单位),则忽略Maxima。换言之,将阈值设置为最大值减去噪声容限,并分析阈值以上最大值周围的连续区域。为了接受最大值,此区域不得包含任何值高于最大值的点。此区域内最多只能接受一个。
  • Output Type:可以是:
    - Single Points:每个最大值产生一个单点。
    - Maxima Within Tolerance:每个最大值的“噪波容差”内的所有点。
    - Segmented Particles:假设每个最大值都属于一个粒子,并通过应用于图像值的分水岭算法对图像进行分割(与使用欧几里得距离图–EDM的Process>Binary>Watershed不同)。
    - Point Selection:显示多点选择,每个最大值都有一个点。
    - List:在“结果”窗口中显示每个最大值的XY坐标。
    - Count:在“结果”窗口中显示最大值的数目。
  • Exclude Edge Maxima:如果最大值周围的噪声容限范围内的区域接触到图像的边缘(选区的边缘无关紧要),则排除最大值。
  • Above Lower Threshold:(仅限阈值图像)仅查找高于较低阈值的最大值。忽略图像的上限阈值。如果选择“分段粒子”作为“输出类型”,则低于较低阈值的区域将被视为背景。在查找最小值(具有浅色背景和倒置LUT的图像)时,不能使用此选项。
  • Light Background:要检查图像背景是否比要找到的物体亮,如下图中的细胞集落图像所示。
  • Help: http://imagej.nih.gov/ij/docs/menus/process.html#find-maxima

在这里插入图片描述
输出为二进制图像,前景255,背景0,使用反转或正常LUT,具体取决于Process>Binary>Options中的“黑色背景”选项。输出图像中的粒子数(通过Analyze>Analyze Particles获得)不取决于选定的“输出类型”。请注意,如果选择了“排除边最大值”,则“分段粒子”通常会导致粒子接触边。“排除边最大值”适用于最大值,而不是粒子。

29.5 Enhance Contrast

通过使用直方图拉伸或直方图均衡来增强图像对比度。只要未选中“Normalize”、“Equalize Histogram”或“Normalize All n Slices”(在堆栈的情况下),此命令就不会更改像素值。

  • Saturated Pixels:确定图像中允许饱和的像素数。增加该值将增加对比度。该值应大于零,以防止少数外围像素导致直方图拉伸无法按预期工作。
  • Normalize:如果选中,ImageJ将重新计算图像的像素值,使其范围等于数据类型的最大范围,或浮动图像的0–1.0。对图像执行的对比度拉伸类似于亮度/对比度[C]窗口中的“自动”选项,不同之处在于使用堆栈时,堆栈中的每个切片都会单独根据该切片的最佳值进行调整。对于8位图像,最大范围为0–255,对于16位图像,则为0–65535。对于堆栈,将显示另一个复选框“规格化所有n个切片”。如果选中,则将对堆栈中的所有切片应用规范化。请注意,不支持RGB图像的标准化,因此此选项在RGB堆栈上不可用。
  • Equalize Histogram:如果选中,ImageJ将使用直方图均衡来增强图像。创建一个选区,均衡将基于该选区的直方图。使用修改后的算法,该算法取直方图值的平方根。按住Alt键可使用标准直方图均衡算法。选中“均衡直方图”时,“饱和像素”和“规格化”参数将被忽略。
  • Use Stack Histogram:如果选中,ImageJ将使用整体堆栈直方图,而不是单独的切片直方图,这允许单独对每个切片进行最佳调整。当基于ROI执行增强时,此选项可能特别相关。
  • Help: http://imagej.nih.gov/ij/docs/menus/process.html#enhance

29.6 Noise

使用此子菜单中的命令可以向图像添加噪波或将其移除。

29.6.1 Add Noise

将随机噪波添加到图像或选区中。噪声是高斯(正态)分布的,平均值为零,标准偏差为25。

29.6.2 Add Specified Noise

添加平均值为零和选定标准偏差的高斯噪声。

29.6.3 Salt and Pepper

通过将2.5%的像素随机替换为黑色像素,2.5%的像素被替换为白色像素,将椒盐噪声添加到图像或选择中。此命令仅适用于8位图像。

29.6.4 Despeckle

这是一个中值滤波器。它将每个像素替换为其3×3邻域中的中值。这是一个耗时的操作,因为对于选择中的每个像素,必须对3×3邻域中的9个像素进行排序,并用中值(第五个)替换中心像素。中值滤波器能够很好地去除椒盐噪声。

29.6.5 Remove Outliers

如果像素与中值的偏差超过某个值(阈值),则用周围像素的中值替换像素。用于校正CCD相机的热像素或死像素。

  • Radius:确定用于计算中值的面积(未校准,即以像素为单位)。运行Process>Filters>Show Circular Masks,查看半径如何转化为区域。
  • Threshold:以原始(未校准)单位确定像素必须偏离中值多少才能被替换。
  • Which Outliers:确定是否应替换比周围(中值)亮或暗的像素。
29.6.6 Remove NaNs

该滤波器将32位(浮点)图像中的NaN(Not-a-Number)像素替换为Radius定义的圆形内核区域内邻居的中值。然而,它不会删除大于内核大小的NaN补丁。请注意,一些ImageJ过滤器,如“处理”>“过滤器”>“高斯模糊”、“均值”和“方差”,通过将其也设置为NaN来破坏NaN像素的周围。其他滤波器可能在NaN像素的位置上产生无效的结果。

29.7 Shadows

此子菜单中的命令会产生阴影效果,灯光看起来来自与命令名称对应的方向(东、北、东北、西北、南、东南、西南和西)。命令使用卷积3×3,ImageJ的3×3卷积函数。Shadows Demo命令使用所有八个内核来演示卷积3×3的速度。下图显示了四个阴影卷积内核。
在这里插入图片描述

29.8 Binary

此子菜单包含创建或处理二进制(黑白)图像的命令。它们假设对象为黑色,背景为白色,除非在Process>Binary>Options对话框中选中“黑色背景”。

29.8.1 Make Binary

将图像转换为黑白图像。如果使用Image>Adjust>Threshold工具设置了阈值,则会显示所示对话框。“黑色前景,白色背景”复选框的值反映并设置Process>Binary>Options的全局“黑色背景”值。如果尚未设置阈值,Make Binary将分析当前选择的直方图,如果没有选择,则分析整个图像的直方图,并设置自动阈值级别以创建二进制图像。

对于堆栈,将显示“转换为遮罩”对话框。请注意,对于非阈值图像和堆栈,Make Binary和Convert to Mask的行为类似。

29.8.2 Convert to Mask

将图像转换为黑白图像。除非在“进程>二进制>选项”对话框中选中“黑色背景”,否则遮罩将具有反转LUT(白色为0,黑色为255)。如果尚未设置阈值,将计算自动阈值级别。请注意,对于非阈值图像和堆栈,Make Binary和Convert to Mask的行为类似。对于堆栈,将显示所描绘的对话框。

  • Calculate Threshold for Each Image:如果选中,将为每个单独切片计算阈值级别,否则将为所有切片使用当前显示切片的计算阈值
  • Black Background:定义背景是黑色还是前景是白色。请注意,此复选框的值反映并设置Process>Binary>Options的全局黑色背景值。
29.8.3 Erode

删除二进制图像中对象边缘的像素。使用“过滤器”>“最小值”对非阈值图像执行灰度侵蚀。

29.8.4 Dilate

将像素添加到二进制图像中对象的边缘。使用Filters>Maximum对未阈值化的图像执行灰度膨胀。

29.8.5 Open

进行侵蚀操作,然后进行扩张。这将平滑对象并删除孤立的像素。

29.8.6 Close-

进行扩张操作,然后进行侵蚀。这样可以平滑对象并填充小孔。该命令有一个尾部连字符,以区别于File>Close w]”。

29.8.7 Outline

在二进制图像中生成前景对象的一个像素宽的轮廓。该线绘制在对象内部,即在先前的前景像素上。

29.8.8 Fill Holes

此命令通过填充背景来填充对象中的孔(4个连接的背景元素)。

29.8.9 Skeletonize

可重复删除二进制图像中对象边缘的像素,直到它们缩小为单像素宽的形状。

29.8.10 Distance Map

从二进制图像生成欧几里得距离图(EDM)。二进制图像中的每个前景像素被替换为灰度值,该灰度值等于该像素与最近的背景像素的距离(对于背景像素,EDM为0)。极限点、分水岭和Voronoi运算基于EDM算法。此命令的输出类型(覆盖、8位、16位或32位)可以在Binary>Options对话框中设置。请注意,当选择“覆盖”或“8位输出”时,大于255的距离标记为255。

29.8.11 Ultimate Points

从二进制图像生成欧几里得距离图(EDM)的最终侵蚀点(UEP)。最终侵蚀点是EDM的最大值。在输出中,为点指定EDM值,该值等于以UEP为中心的适合二元粒子的最大圆的半径。此命令的输出类型(覆盖、8位、16位或32位)可以在Binary>Options对话框中设置。

29.8.12 Watershed

分水岭分割是一种自动分离或切割接触粒子的方法。它首先计算欧几里得距离图(EDM),并找到最终侵蚀点(UEP)。然后,它尽可能地扩张每个UEP(EDM的峰值或局部最大值)——要么达到粒子的边缘,要么边缘接触另一个(生长的)UEP的区域。分水岭分割最适用于不重叠太多的平滑凸面对象。在Edit>Options>Misc中启用调试,“分水岭”命令将创建一个动画,显示分水岭算法的工作方式。

29.8.13 Voronoi

通过与两个最近粒子的边界距离相等的点线分割图像。因此,每个粒子的Voronoi单元包括比任何其他粒子更靠近该粒子的所有点。当粒子是单点时,此过程是Voronoi镶嵌。此命令的输出类型(覆盖、8位、16位或32位)可以在Process>Binary>Options对话框中设置。在输出中,Voronoi单元格内部的值为零;单元之间的分界线的像素值等于两个最近粒子之间的距离。这类似于背景的中轴变换,但粒子的内孔中没有线。

29.8.14 Options

指定二进制命令使用的几个设置。

  • Iterations:指定执行侵蚀、扩张、打开和关闭的次数。按Esc键可以中止迭代。
  • Count:指定在侵蚀过程中从对象边缘移除像素之前所需的相邻背景像素数,以及在扩展过程中将像素添加到对象边缘之前所必需的相邻前景像素数。
  • Black background:如果选中,将在不使用反向LUT的情况下创建二进制图像,并且Process>Binary>submenu中的命令将假定图像包含黑色背景上的白色对象。宏可以使用setOption设置此选项‌(“黑色背景”,true)。
  • Pad edges when eroding:如果选中,Binary>Erode不会从图像边缘侵蚀。此设置还会影响Binary>Close–,除非选中此复选框,否则它会从边缘侵蚀。
  • EDM output:确定Binary>Distance Map、Ultimate Points和Voronoi命令的输出类型。将其设置为“覆盖”,用于覆盖输入图像的8位输出“8位”、“16位”或“32位”用于单独的输出图像。32位输出具有浮点(亚像素)距离分辨率。
  • Do:此下拉菜单允许用户通过预览活动图像上的每个二进制操作(Erode、Dilate、Open、Close–、Outline、Fill Holes、Skeletonize)来测试所选设置。此选项仅在活动图像为二进制时可用。
  • Help: http://imagej.nih.gov/ij/docs/menus/process.html#options

29.9 Math

此子菜单中的命令向活动图像或选择中的每个像素添加(减去、相乘等)一个常数。“预览”选项可用于大多数操作。

29.9.1 Add

将常量添加到图像或所选内容中。对于8位图像,大于255的结果将设置为255。对于16位带符号图像,大于65535的结果将设置为65535。

29.9.2 Subtract

从图像或选区中减去一个常量。对于8位和16位图像,小于0的结果将设置为0。

29.9.3 Multiply

将图像或所选内容乘以指定的实数常量。对于8位图像,大于255的结果将设置为255。对于16位图像,大于65535的结果将设置为65535。

29.9.4 Divide

将图像或所选内容除以指定的实数常量。除了32位(浮点)图像外,尝试除以零的操作将被忽略。对于32位图像,当源像素为正、负或零时,除以零会产生无穷大、无穷大或NaN(0/0)像素。可以使用Edit>Options>Misc重新定义除以零值。

29.9.5 AND

对图像和指定的二进制常数进行逐位“与”运算。

29.9.6 OR

对图像和指定的二进制常数进行逐位“或”运算。

29.9.7 XOR

对图像和指定的二进制常数进行逐位异或。

29.9.8 Min

图像中值小于指定常量的像素将被该常量替换。

29.9.9 Max

图像中值大于指定常量的像素将被该常量替换。

29.9.10 Gamma

将函数f(p)=(p/255)γ×255应用于图像或选择中的每个像素(p),其中0.1≤γ≤5.0。对于RGB图像,此函数将应用于所有三个颜色通道。对于16位图像,图像最小值和最大值用于缩放,而不是255。

29.9.11 Set

使用指定值填充图像或选定内容。

29.9.12 Log

对于8位图像,将函数f(p)=ln(p)×255/ln(255)应用于图像或选择中的每个像素(p)。对于RGB图像,此函数将应用于所有三个颜色通道。对于16位图像,图像最小值和最大值用于缩放,而不是255。对于浮动图像,不进行缩放。要计算图像的log10,请将此运算的结果乘以0.4343(1/ln(10))。

29.9.13 Exp

对活动图像或选定内容执行指数变换。

29.9.14 Square

对活动图像或选定内容执行平方变换。

29.9.15 Square Root

对活动图像或选定内容执行平方根变换。

29.9.16 Reciprocal

生成活动图像或选择的倒数(乘法倒数),将每个像素(p)转换为1/p。需要32位浮动图像。

29.9.17 NaN Background

将32位浮点图像中的非阈值像素设置为NaN(非数字)值。对于浮动图像,Image>Adjust>Threshold[T]中的“应用”选项将运行此命令。值为“浮点”的像素。NaN(0f/0f)、Float.POSITIVE_INFINITY(1f/0f)或Float。在32位浮点图像上进行测量时,忽略NEGA TIVE_INFINITY(-1f/0f)。

29.9.18 Abs

生成活动图像或选区的绝对值。仅适用于32位浮点或带符号的16位图像。

29.9.19 Macro

此命令使用用户指定的表达式执行图像运算。它可以用于创建完全合成的图像或对现有图像执行精确的像素操作。Math MacroDemo宏演示了此命令的用法。

29.10 FFT

此子菜单中的命令支持频域显示、编辑和处理。它们基于二维快速哈特利变换(FHT)的实现,由美国国立卫生研究院图像的衍生产品ImageFFT的作者Arlo Reeves贡献。3D FHT可以使用Bob Dougherty的3D Fast Hartley Transform插件执行。频域图像存储为32位浮点FHT,附在显示功率谱的8位图像上。此子菜单中的命令,如反向FFT,在32位FHT上操作,而不是在8位功率谱上操作。所有其他ImageJ命令仅“查看”功率谱。

ImageJ网站上提供了两个FFT专用教程:FFT MeasurementsFFT Filtering

29.10.1 FFT

计算傅立叶变换并显示功率谱。通过Analyze>Measure记录测量点选择的极坐标。如果鼠标位于活动频域(FFT)窗口上,则其位置以极坐标显示。角度以度表示,而半径以每个周期的像素(p/c)表示。如果图像的空间比例是使用Image>Properties或Analyze>Set Scale定义的,则半径以每周期[单位]表示(例如mm/c)。

29.10.2 Inverse FFT

计算傅立叶逆变换。您可以过滤或屏蔽变换后(频域)图像上的斑点,并进行逆变换以生成仅包含选定频率或抑制选定频率的图像。使用ImageJ的选择工具和填充/清除命令绘制黑色或白色区域,以遮挡变换图像的部分。黑色区域(像素值=0)导致相应的频率被滤波(去除),而白色区域(像素值255)导致相应频率被通过。然而,不可能在同一逆变换期间同时进行滤波和通过。

注意,频域图像中要滤波的区域必须为零填充,并且要通过的区域必须填充255。您可以通过将光标移动到填充区域上并观察状态栏中显示的值是否为0或255来验证是否为这种情况。因此,在定义前景(Edit.Fill[f])和背景(Edit.Clear)颜色时,应始终使用“颜色选择器”窗口小部件中的黑白重置选项来确认遮罩区域不是其他灰度值。

在偏心选择的情况下,相同的空间频率在功率谱中出现两次,位于与中心相反的点。只填充/清除其中一个就足够了。

29.10.3 Redisplay Power Spectrum

根据频域图像(32位FHT)重新计算功率谱。此命令允许您在错误编辑8位功率谱图像后重新开始。

29.10.4 FFT Options

显示“FFT选项”对话框。第一组复选框指定FFT命令创建哪些图像:

  • Display FFT Window:标准输出。它由功率谱的8位图像和实际数据组成,这些数据对用户来说是不可见的。功率谱图像以对数比例显示,增强了弱可见组件的可见性。实际数据用于反向FFT命令。
  • Display Raw Power Spectrum:没有对数标度的功率谱。
  • Display Fast Hartley Transform:命令使用的内部格式,它基于哈特利变换而不是傅立叶变换。
  • Display Complex Fourier Transform:FFT的实部和虚部具有两个切片的堆栈。
  • Do Forward Transform:如果选中,则在关闭“FFT选项”对话框时会立即变换当前图像。
29.10.5 Bandpass Filter

删除高空间频率(模糊图像)和低空间频率(类似于减去模糊图像)。它还可以抑制通过逐行扫描图像而产生的水平或垂直条纹。带通滤波器使用一种特殊的算法来减少边缘伪影(在傅立叶变换之前,通过在原始图像外部附加图像部分的镜像副本来扩展图像的大小,从而在边缘不会发生跳跃)。

  • Filter Large Structures Down to:具有大于该值的亮或暗斑块的典型尺寸的图像的平滑变化被抑制(背景)。
  • Filter Large Structures Up to:确定平滑程度。图像中小于此大小的对象会被强烈衰减。请注意,这些值都是实际截止的空间频率的一半。截止非常软,因此带通甚至会显著衰减带通中心的空间频率,除非两个值的差异很大(比如说,超过5倍左右)。
  • Suppress Stripes:选择是消除水平条纹还是垂直条纹。去除水平条纹类似于从原始图像中减去仅在水平方向上模糊的图像。
  • Tolerance of Direction:这是用于抑制条纹;较高的值会移除较短的条纹和/或在相对于水平(垂直)方向一定角度下运行的条纹。
  • Autoscale After Filtering:如果选中,则将最低强度设置为0,将最高强度设置为255,从而保留所有强度。
  • Saturate Image when Autoscaling:如果选中,则允许某些强度进入饱和状态,并产生更好的视觉对比度。“自动缩放时饱和图像”仅在启用“过滤后自动缩放”时才有效果。
  • Display Filter:如果选中,则显示生成的筛选器。请注意,这将禁用对原始图像的“撤消”过滤器操作。
29.10.6 Custom Filter

该命令使用用户提供的空间域(非FFT)图像作为滤波器对活动图像进行傅立叶空间滤波。此图像将被转换为8位。对于值为0的像素,相应的空间频率将被阻塞。值为255的像素应该用于在没有衰减的情况下通过相应的空间频率。请注意,滤波器应相对于中心的反转对称:与中心点相对的点(定义为x=宽度/2,y=高度/2)应具有相同的值。否则,可能会出现伪影。

29.10.7 FD Math

该命令对两个图像进行相关、卷积或去卷积。它通过将Image1和Image2转换到频率域,执行共轭乘法或除法,然后将结果转换回空间域来实现这一点。频域中的这三种运算相当于空间域中的相关、卷积和反褶积。

29.10.8 Swap Quadrants

该命令在中心频率最低的傅立叶变换的“用户友好”显示和四个角频率最低的“原生”形式之间进行转换。交换象限将象限I与III交换,将象限II与IV交换(从“东北”开始逆时针方向),以便靠近中心的点向边缘移动,反之亦然。看到这个命令的另一种方式是想象图像周期性地重复,并且原点在x方向上偏移宽度/2,在y方向上偏移高度/2。

对于傅立叶变换,交换象限只影响显示的图像,而不影响实际的FHT数据。因此,编辑具有交换象限的图像以进行过滤或掩蔽可能会导致不希望的结果。

29.11 Filters

此子菜单包含其他筛选器。

29.11.1 Convolve

使用输入到文本区域的内核进行空间卷积。核是一个矩阵,其中心对应于源像素,其他元素对应于相邻的无聊像素。目标像素是通过将每个源像素乘以其对应的ker-nel系数并将结果相加来计算的。如果需要,可以通过向外复制边缘像素来有效地扩展输入图像。内核的大小没有任意限制,但它必须是正方形的,宽度必须是奇数。

文本区域中的行必须具有相同数量的系数,行必须以回车符结束,并且系数必须由一个或多个空格分隔。可以使用Ctrl V将核线粘贴到文本区域中。检查归一化内核会使每个系数除以系数的总和,从而保持图像亮度。

所示的内核是一个9×9的“墨西哥帽”,它在一次操作中完成平滑和边缘检测。请注意,可以通过单击“保存”按钮将内核保存为文本文件,使用File>Import>Text Image显示为图像,使用Image>Adjust>Size缩放到合理大小,并使用Analyze>Surface Plot绘制。

29.11.2 Gaussian Blur

此滤波器使用卷积和高斯函数进行平滑。Sigma是衰减到ee 0.5(≈61%)的半径,即高斯的标准差(σ)(这与Adobe®Photoshop®中的相同,但与ImageJ版本不同,直到1.38q,其中半径为2.5×σ。

与所有ImageJ卷积运算一样,它假设图像外像素的值等于最近的边缘像素。这使得边缘像素的权重高于图像内部的像素,而角像素的权重则高于边缘的非角像素。因此,当以非常高的模糊半径进行平滑时,输出将由边缘像素,尤其是角像素主导(在极端情况下,模糊半径例如为1020,图像将由四个角像素的平均值代替)。

为了提高速度,除了小的模糊半径外,线(图像的行或列)在卷积之前被缩小,然后被放大到它们的原始长度。

29.11.3 Gaussian Blur 3D

此命令使用三维高斯计算三维(3D)高斯低通滤波器。它适用于Stacks和Hyperstacks,但不适用于单层彩色合成图像。

29.11.4 Median

通过用相邻像素值的中值替换每个像素来减少活动图像中的噪声。

29.11.5 Mean

通过用邻域平均值替换每个像素来平滑当前图像。

29.11.6 Minimum

该滤波器通过将图像中的每个像素替换为该像素邻域中最小的像素值来进行灰度侵蚀。

29.11.7 Maximum

该滤波器通过将图像中的每个像素替换为该像素邻域中最大的像素值来进行灰度扩展。

29.11.8 Unsharp Mask

通过从原始图像中减去模糊版本的图像(非锐化遮罩)来锐化和增强边缘。

非锐化掩模减去图像的模糊副本,并重新缩放图像以获得与输入图像中相同的大(低频)结构的对比度。这相当于添加高通滤波图像,从而使图像锐化。

  • Radius:减去的高斯模糊的标准偏差(σ模糊半径,参见高斯模糊)。增加高斯模糊半径将增加对比度。
  • Mask Weight:确定过滤强度,其中M askW eight=1将是所添加的高通过滤图像的无限权重。增加“遮罩权重”值将提供额外的边缘增强。
29.11.9 Variance

通过用邻域方差替换每个像素来高亮显示图像中的边缘。

29.11.10 Show Circular Masks

生成一个堆栈,其中包含“中值”、“均值”、“最小值”、“最大值”和“方差”滤波器针对各种邻域大小使用的圆形遮罩的示例。

29.12 Batch

此子菜单允许在一系列图像中执行命令,而无需手动干预。批处理命令是非递归的,即它们应用于所选Input文件夹的所有图像,但不应用于其子文件夹。然而,目录层次结构可以使用ImageJ宏语言进行转换。在执行修改已处理图像的批处理操作时,需要记住三个关键方面:

  • 文件可以很容易地被覆盖,因为批处理程序将以静默方式覆盖具有相同名称的现有文件。
  • 目标Output文件夹应该有足够的磁盘空间来接收创建的映像。
  • 在非本地格式的情况下,批处理操作将受到读取器插件或库的行为的影响。
29.12.1 Measure

此命令通过在所选目录的所有图像中运行Analyze>Measure[m]命令来测量用户指定文件夹中的所有图像。

请注意,测量是在非阈值图像上执行的。在使用活动选择保存TIFF图像的情况下,对ROI执行测量,而不是对整个图像执行测量。

29.12.2 Convert

批量转换和/或调整指定文件夹中的多个图像的大小。

  • :Input:选择包含要处理的图像的源文件夹。
  • Output:选择存储已处理图像的目标文件夹。
  • Output Format:指定可以设置为TIFF、8位TIFF、JPEG、GIF、PNG、PGM、BMP、FITS、文本图像、ZIP或原始的输出格式。
  • Interpolation:比例因子不是1.00时使用的重新采样方法。为了获得更好的结果,缩小图像时会自动选择缩小时的平均值。
  • Scale Factor:指定是否应调整图像大小。
29.12.3 Macro

在指定的文件夹上运行宏。最后使用的宏存储在/ImageJ/macros/batchmacro.ijm文件中,并在重新启动时记住。

  • Input:选择包含要处理的图像的源文件夹。
  • Output:选择存储已处理图像的目标文件夹。请注意,如果此字段为空,则不会保存原始文件。
  • Output Format:指定可以设置为TIFF、8位TIFF、JPEG、GIF、PNG、PGM、BMP、FITS、文本图像、ZIP或原始的输出格式
  • Add Macro Code:此下拉菜单包含可以组合以创建处理宏的宏片段。打开对话框时,可以从宏记录器或ImageJ的编辑器粘贴其他语句。可以使用Open导入以前编写的宏。编辑宏时,注意任何可能干扰批处理程序正常操作的语句。
  • Test:在Input文件夹的第一个图像上测试宏(将显示处理后的图像)。
  • Open:导入以前编写的宏。
  • Save:保存组装的宏。
29.12.4 Virtual Stack

该命令共享Batch>Macro(参见BatchProcesser.java)的同一接口,允许进行虚拟堆栈操作。例如,裁剪虚拟堆栈可以通过执行以下步骤来执行:

  • 打开虚拟堆栈;
  • 运行Process>Batch>Virtual Stack
  • 选择输出文件夹和输出格式
  • 从“添加宏代码”下拉菜单中选择“裁剪”
  • 根据需要编辑宏代码,然后按“测试”按钮验证宏
  • 单击“处理”创建裁剪的虚拟堆栈

29.13 Image Calculator

在从图像操作表中描述的弹出菜单中选择的两个图像之间执行算术和逻辑运算。Image1或者Image1和Image2两者可以是堆栈。如果两者都是堆栈,则它们必须具有相同数量的切片。Image1和Image2不必是相同的数据类型或相同的大小。对于32位(浮点)图像,由零除法得到的像素设置为无穷大,或者如果零像素除以零,则设置为NaN(非数字)。可以在Edit>Options>Misc中重新定义除以零值。

  • Operation:从十三个可用运算符中选择一个。
  • Create New Window:如果选中,则会创建一个新图像来保存结果。如果未选中,则操作的结果将直接应用于Image1。
  • 32–bit (float) Result:如果选中,则在执行操作之前,源图像将转换为32位浮点。
  • Help:http://imagej.nih.gov/ij/docs/menus/
    process.html#calculator

29.14 Subtract Background

从凝胶和其他图像中删除平滑连续的背景。基于Sternberg Stanley,生物医学图像处理,IEEE中描述的“滚动球”算法的概念。想象一下,2D灰度图像在图像中的每个点都有一个由图像值决定的第三维度(高度),从而创建一个曲面。给定半径的球在该表面的底面上滚动;球可到达的体积的外壳是要减去的背景。

  • Rolling Ball Radius:抛物面的曲率半径。根据经验,对于8位或RGB图像,它应该至少与图像中不属于背景的最大对象的半径一样大。除非图像的背景太不均匀,否则较大的值也会起作用。对于像素值范围不同于0–255的16位和32位图像,半径应与像素值范围成反比(例如,对于16位图像(像素值0–65535),半径的典型值约为0.2至5)。
  • Light Background:允许处理具有明亮背景和深色对象的图像。
  • Separate Colors:(仅限RGB图像)如果未选中,操作将只影响亮度,而不影响色调和饱和度。
  • Create Background (Don’t Subtract):如果选中,则输出不是减去背景的图像,而是背景本身。此选项用于检查创建的背景(与“预览”选项一起使用)。创建背景也可用于自定义背景相减算法,其中在创建背景之前对图像进行复制和过滤(例如去除背景中的“洞”),并最终使用Process>image Calculator进行相减。
  • Sliding Paraboloid:如果选中,“滚动球”将被一个抛物面所取代,该抛物面的顶点曲率与该半径的球相同。此选项允许半径大于0.0001的任何值(“滚球”算法要求半径至少为1)。“滑动抛物面”通常会产生更可靠的校正,因为“滚动球”是一种传统算法(仅用于向后兼容性),容易出现边缘伪影。为了减少计算时间,“滚动球”算法以不一致的方式缩小图像的大小。“滑动抛物面”算法不使用降尺度,因此不会产生降尺度伪影。尽管如此,“滑动抛物面”也是一种近似,因为它不使用事实上的抛物面(精确实现需要大量计算),而是在图像上向不同方向滑动抛物面。
  • Disable Smoothing:为了计算背景(“滚球”),对图像进行最大值滤波(3×3像素)以去除灰尘等异常值,然后对图像进行平滑以减少噪声(平均值超过3×3个像素)。选中“禁用平滑”后,未修改的图像数据将用于创建背景。选中此选项可确保相减后的图像数据永远不会低于背景。
  • Help:http://imagej.nih.gov/ij/docs/menus/process.html#background

29.15 Repeat Command

重新运行上一个命令。将跳过Edit>Undo和File>Open命令。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐