imagej菜单栏列出了ImageJ的所有命令,它包含八个菜单:
File:基本的文件操作,包括打开、保存、创建新图片,大多数命令看名字就知道什么意思
可以新建的东西有很多:
可以打开的东西也有很多:
关闭当前图片,打开目录中的下一个图片(如果有的话)。按住Alt打开目录中的前一个图片(如果有的话)。
打开ImageJ服务器上的样例图片,可以用来测试宏、脚本、插件等。
子菜单会显示最近15个打开的文件,可以选择其中一个。
打开所选文件夹中的一系列图片作为一个stack。图片可能有不同的尺寸,也可以是任意ImageJ所支持的格式。非图片格式的文件会被忽略。
用于导入ImageJ所不支持的图片文件,需要事先知道关于该特定文件的信息,包括图片大小、与开头数据的偏移量等。
打开一个ImageJ或NIH的图片查询表,或者一个原生的表。原生的表必须是768字节大小,且包含256个红色、256个蓝、256个绿。如果事先没有图片打开,那么一个256*32的图片会创建来显示该表。
打开一个制表符分隔的文本文件作为一个32-bit的真实图片。图片的宽度和高度是通过扫描和计算文件的单词数和行数所确定的。对于不大于255的文本文件,使用Image-Type-8-Bit来转换为8-bit图片。在转换前,在Edit-Options-Conversions中不勾选Scale When Converting,从而避免图片被缩放到0-255范围。
打开一个文本文件。也可以通过上面的File-Open或拖拽打开。
通过一个URL来下载和显示图片。
打开一个ImageJ表格或任意制表符和逗号分隔的文本文件。.csv和.xls文件可直接拖拽打开。
从一个包含一系列图片文件路径的文本文件或URL中打开stack或virtual stack。文件可以放在不同的文件夹中,但必须是相同的尺寸和类型。
打开一个TIFF格式的文件作为Virtual Stack。
使用内置的AVI reader插件打开一个AVI文件,作为stack或virtual stack。动画速度是从图片帧速率获取的。
导入一个两栏的文本文件,比如通过File-Save As-XY Coordinates所存取的选区。选区可在当前图片中显示,如果当前文件太小,则在新的空白图片中显示。活跃选区的坐标可以通过Edit-Selection-Properties中的List coordinates显示。
关闭当前活动图片。
关闭所有图片。
将当前活动图片存成TIFF格式。如果仅存储一个所选区域,创建一个选区,然后使用Image-Duplicate。
Save命令与File-Save As-TIFF是相同的。
将图片存储为TIFF、GIF、JPEG或原始格式。也能用来存储测量结果、查询表、选区和选区的坐标。
TIFF是唯一一种(除了“raw”原始格式)支持所有ImageJ的数据格式(8-bit、16-bit、32-bit 浮点型和RGB)以及唯一支持空间和密度标定数据的格式。除此以外,选区和Overlay也存储在TIFF文件的header中。
将当前活动图片存储成GIF格式。在此之前,首先要将RGB图片通过Image-Type-8-bit Color转换一下格式。Stacks将被存成有动画的GIF。使用Image-Stacks-Tools-Animation Options来设定帧率。
将当前活动图片存储成JPEG格式。通过Edit-Options-Input/Output来设置JPEG的压缩率。
当存成JPEG时,Overlay会被永久嵌入图片中。
将当前活动图片存储成以制表符分隔的文本文件。已标定的和浮点类型的图片是用Analyze-Set Measurements所设定的Decimal places小数位数这样的精度来保存。对于RGB图片,每个像素通过三原色的平均来转成灰度,或者如果Edit-Options-Conversions中的If Weighed RGB to Grayscale Conversion勾选后,通过加权平均来转成灰度。
将当前活动图片或stack存成一个压缩的Zip格式的TIFF。
将当前活动图片或stack存成没有header的原始像素数据。8-bit图片存成unsigned bytes,unsigned的16-bit图片存成unsigned short,signed 16-bit图片存成signed short,32-bit图片存成float,RGB存成每像素3个字节的数据。
把一个stack或hyperstack存成一个图片序列。
把一个stack或hyperstack存成AVI文件。
把当前活动图片存成PNG。
把当前活动图片存成FITS。
把当前活动图片的查询表存成文件。
把“Results”窗口的内容存成制表符分隔或逗号分隔的csv文件。
把当前选区的边界存到文件中,然后稍后可以使用File-Open再导入。
把当前ROI的XY坐标存入一个两栏、制表符分隔的文本文件。ROI坐标也可以通过Edit-Selection-Properties勾选List coordinates来获得。
Revert实际的操作是:不保存而关闭窗口,重新打开图片。
控制输出的尺寸及其他选项。
打印当前图片。
退出程序。
这里详解Edit菜单的功能。
撤销上一步操作。
将当前选区中的内容复制到内部剪贴板,然后用当前背景色填充选区。
将当前选区中的内容复制到内部剪贴板,如果没有选区,则复制整个图片。
将当前选区中的内容复制到系统剪贴板。
将内部剪贴板的内容(如果为空,则是系统剪贴板)粘贴到当前图片。
粘贴以后,使用该菜单控制图片的粘贴方式。
将选区中的内容清除,换成当前的背景色。Backspace和Del是该操作的快捷键。
将当前选区以外的区域清除,换成背景色。
将当前前景色填充进当前选区。
使用当前的前景色和线宽绘制当前选区的轮廓。使用Edit-Options-Colors设定前景色和背景色,使用Edit-Options-Line Width设定线宽。
对当前选区或当前图片进行取反。对于8-bit和RGB图片,Invert总是使用min=0min=0和max=255max=255。对于16-bit和32-bit的图片,分别使用真实的最小和最大值。
创建一个与图片相同大小的矩形选区
使当前图片的选区失效
恢复之前的寻去到它原先的位置。该命令可以用于在不同图片之间传递选区,也可以用于恢复之前不小心删除的ROI。
在不同图片之间传递ROI的方式有:
用一个三次样条(cubic spline)曲线拟合一个多边形polygon或多线polyline选区。
用一个圆circle拟合一个多点(至少三个点)或区域。不支持复合选区。如果是一个非闭合选区(比如点或线),拟合算法用的是基于Netwon的Pratt拟合;如果是一个闭合选区,该命令就是创建一个与该选区面积相同、重心相同的圆。
用一个椭圆拟合一个选区,该椭圆与原始选区有相同的面积、取向和重心。
把当前选区转化成一个亚像素的ROI。
将多边形选区转成它的凸包(凸包可看成紧紧套在选区的各个角点上的橡胶带)。
反选选区,将原先选区的“内部”变成了“外部”。
创建一个新的名为“Mask”的8-bit图片,内部的像素是255,外部是0。默认下该图片的LUT是反的,所以黑色是255,白色是0,除非Process-Binary-Options中的Black Background勾选。
从一个做过阈值处理的图片或一个二值mask中创建一个选区。
打开一个对话框,使得用户设置画笔颜色Stroke color和画笔宽度,或者设置填充颜色。注意,选区只能被填充或绘制轮廓,不能两者同时设定。
也能通过勾选List coordiantes显示选区的XY坐标。
注意,该命令仅对当前活动选区有效。而ROI管理器的Properties(在Analyze-Tools-ROI Manager)对多个ROI有效。
旋转选区
通过设定特定数目的像素来扩大或缩小选区。
该项设为0可以讲一个复合选区转为一个多边形选区。
基于当前的选区形成一个条带,即可视为在当前选区上长出了一个条带。
打开一个对话框,允许用户定义一个矩形或椭圆形选区。可以定义大小和位置。
该命令可以把图片中的弯曲的对象变直,比如图片中有条弯曲的河,通过该命令将该河拉直并提取成一张新的图片。该对象必须提前用分段直线工具标示出来。
将一个非矩形的寻去转为完全包含它的最小的矩形。
将一个线段选择转为一个选区。
将一个选区转为它的轮廓。
创建一个图像选区ImageROI。
将当前选区加入ROI管理器。
使用该命令来改变ImageJ的用户偏好设置。
改变线宽,用来改变Line Selections的线宽和Edit-Draw的线宽。
改变某些输入和输出的设置,比如JPEG的质量、table的后缀名、Results Table的选项。
改变字体,改变Text Tool的文本显示和Image-Stacks-Label。
使用该对话框来控制ImageJ所产生的各种Plots的显示形式,如Image-Stacks-Plot Z-axis Profile、Analyze-Plot Profile。
比如坐标轴的长度、y轴的范围、是否绘制网格线等。
设置圆角矩阵选择工具的属性。
设置箭头工具的属性
设置点工具的属性
设置魔棒工具的属性
设置前景色、背景色和选区工具的颜色。
控制图片怎样被显示,工具条怎样显示更好,以及设置菜单字体尺寸等。
控制图片怎样从一种格式转换为另一种格式,比如转换过程中是否缩放,RGB怎样转成灰度等。
设置ImageJ可用的最大内存,以及当处理stack时线程数目。
修改Java虚拟机的代理。
设置所编译的插件的Java版本。
设置与DICOM图片相关的参数。
设置其他的一些选项,有:
将会在ImageJ退出后,删除”IJ_pref.txt”这个文件,然后在ImageJ重启后使用所有参数的默认值。
显示当前活动图像的类型(子菜单打钩的即是当前类型)以及将其转化成另一种类型。
该菜单用来调节亮度/对比度、阈值和尺寸等。
使用该工具来交互地调节图片的亮度和对比度。对于8-bit图片,亮度和对比度是通过修改查询表LUT来改变,所以像素值是不变的。对于16-bit和32-bit图片,是通过改变从像素值到8-bit显示值的映射来改变的,所以像素值也不会改变。对于RGB图,亮度和对比度是通过修改像素值来改变的。
该命令和Brightness/Contrast是重复的,它更多地适用于医学图片的处理。
该命令改变一个标准RGB图片的每个通道的亮度和对比度。使用下拉菜单选择应用于哪个通道。
这里面的滑块和按钮的应用跟上面的B/C相同。
注意:当在色彩通道之间改变时,如果不点击Apply,那么之前的修改会丢失。
该命令自动或交互地设置阈值的上界和下界,从而将灰度图片分割成感兴趣的区域和背景。红框内框住的范围即是选择区域。
上面的Threshold是对灰度图像进行操作。这里的Color Threshold是对24-bit的RGB图像基于HSB、RGB或YUV等进行阈值设定。
将当前图片或选区缩放到一个特定的以像素为单位的Width和Height。
缩放时可以设定是否保持长宽比,以及是否插值。
改变画布尺寸,而不缩放真实图片。如果画布尺寸增加了,边界用当前的背景色填充,如果选择了Zero Fill,那么边界用数值为0的像素填充。也可以指定原图片在新画布中的位置。
设置线宽,更简单的方式是双击Line Selection Tools的图标。
显示图片信息
使用该命令显示和设置当前图片或stack的属性。
Channels、Slices、Frames的数目都可以更改,只要三者的成绩等于stack中图片的数目。
Unit of Length是一个字符串,用来表明下方的Pixel Width、Pixel Height和Voxel Depth的测量单位。这三个维度可以自动转换,如果单位在ImageJ已知的单位之间转换,这些单位有:nmnm、μmμm(或写成umum和micronmicron)、mmmm、cmcm、metermeter、kmkm和inchinch等。
对于时间序列的stack,可以设定Frame Interval,即frame rate的倒数。如果单位是sec,这个设置也会同时设定Animation Options中所用的frame rate。
Origin是图片坐标系的参考点,该参考点的x和y坐标永远是像素为单位。
如果勾选Global,这里的设置将会施加到当前session打开的所有图像。
该菜单是处理彩色图片。
将一张RGB图分割成三个8-bit的灰度图,分别是红绿蓝的三个通道。如果是复合图片或hyperstacks,该命令将分割这个stack成不同的channels。
把2-7张图片合并成RGB图片或多通道的复合图片。
如果勾选了Create composite,那么就会创建一个多通道的复合图片,如果不勾选,那么就会创建一个RGB图片。当创建复合图片时,原始的LUT和显示范围都会保留,除非勾选了下面的Ignore source LUTs。创建RGB时总是忽略原始的LUTs。
如果勾选了Keep source Images,源图片不会被清除。
等同于Image-Hyperstacks-Channels Tool。
将一个含2个或3个slices的stack转化成RGB,假定slices是按R、G、B的顺序排列的。stack必须是8-bit或16-bit的灰度图。也可以将一个复合图片转成RGB。
将RGB图、stack等转成复合图片。
显示当前图片的LUT。
打开ImageJ的LUT编辑器。
设定前景色和背景色。当前调色板是基于HSB,双击某个颜色可以设置RGB值。
该菜单包含与Stacks相关的命令。
在当前slice之后插入一个空白slice,按住Alt则在当前slice之前插入。
删除当前slice。
显示下一个slice
显示上一个的slice
显示一个特定的slice
从当前在不同窗口显示的图片创建一个新的stack。
如果图片尺寸不同,那么可以选择转换的Method。Copy(center)和Copy(top-left):将最宽的照片的宽度设为stack的宽度,将最高的照片的高度设为stack的高度。较小的图片将会复制到slice的中间center或左上角top-left。边界用数值为0的像素填充。Scale(smallest)和Scale(largest):Stack将会选择最小或最大的图片的尺寸,其他的图片会被缩放到新的尺寸,如果勾选了Bicubic interpolation,就会使用双三次插件。
Title Contains:输入一个字符串,然后ImageJ将会仅仅转换包含该string的图片。
将当前stack的slices转成分开的图片窗口。
创建拼贴集。
通过当前stack或hyperstack的图片体重新切片。
提供当前stack的正交视图,即如果原stack是XY视图,则该命令提供YZ和XZ视图。
将stack沿着垂直于图片的轴,即Z轴,进行投影。
可以很自由地对stack进行各个方向的投影。
将ROI选区的平均灰度值对slice进行作图。该命令需要一个点选区或线选区。
对stack添加一系列数字(比如时间戳)和/或标签。数字和标签使用当前前景色绘制。
标签的初始X和Y坐标及字体尺寸等基于当前的矩形选区(如果有的话)。
这个菜单针对于Hyperstacks,即4D或5D的图片。
创建一个新的hyperstack,属性主要有Width(w)、Height(h)、Channels(c)、Slices(z)、Frames(t)。
将stack转化为hyperstack。RGB的stack将转为3个通道的hyperstack。Order就是channels、slices和frames的次序。ImageJ的hyperstack总是czt次序,不是czt顺序的stack将被重新排序为czt。
将hyperstack转为stack。
该命令通过创建一个新的hyperstack而将原hyperstack降维,比如抽取给定z坐标的所有的channels和时间点,或者抽取在当前channel和时间点的所有的z的slices。
不勾选channels将会删除所有的channels、但保留当前channel,不勾选Slices将仅保留当前的slice,不勾选Frames仅保留当前时间点。
打开Channels部件。
基于当前的矩形选区来裁剪图片或stack。
创建一个新的窗口,包含当前图片或矩形选区的副本。对于stack和hyperstack,可以指定channels、slices和Frames的复制范围。
重命名当前图片。
通过对话框中的缩放因子来调整当前图片或选区的大小,可以选择两种重采样方法:双线性或双三次插值。
为了更好的显示效果,对于图片和文字,使用整数缩放因子,如果该因子小于1,则勾选Average when downsizing。
如果勾选了Create New window,则缩放的图片或选区可以复制到一个新的图片;如果缩放一个选区,且不复制到新图片,则勾选Fill with Background Color将提供背景色,而不是填充0。勾选Process entire stack后将缩放整个stack。
该菜单包含常用的几何图形变换的命令。
水平翻转
垂直翻转
将stack中的slice的顺序翻转
顺时针90度旋转
逆时针90度旋转
旋转特定角度。
平移特定的像素值。对于stacks,可以平移当前图片或所有图片。勾选Preview可以预览效果。图片边缘的背景将被设为0。
通过指定X、Y、Z方向的收缩因子,来减小图片的尺寸。最终的像素可以通过Average、Median、Maximum或Minimum等方法计算。Undo撤销操作仅对二维图片有效,即对stack无效。
Z方向的操作与Image-Stacks-Tools-Grouped Z Project效果相同。然而,有两个主要的不同点:Bin替代了当前图片,Grouped Z Project则创建了一个新的substack;Bin中的Z shrink factor可以填入任意值,而Group size必须能够stack尺寸所整除。
将当前选区打印到Resutls Table中,同时清除之前的结果。如果没有ROI,则处理整个图片。表格中详细显示了XY坐标及其像素值。
对于RGB图片,每个像素通过平均或加权平均算法转化为灰度值。
是上面操作的逆操作,将Results Table中的表格数据转化为32-bit图片。
该菜单控制怎样显示图片。对于下面的In和Out命令,更提倡使用+、-或上下箭头。如果有选区时,使用上下箭头时需要按住Shift或者Ctrl。
有21种可能的放大级别。放大时,如果箭头在画布中,那么将会围绕箭头放大,如果箭头不在画布中,将会围绕图片的中心扩大。左上角的Zoom Indicator表明了当前显示的是图片的哪一部分。当放大到一定级别后,默认就会显示像素的格点,除非勾选Edit-Options-Appearance中的Interpolate zoomed images。当需要滚动放大的图片时,在拖拽鼠标的同时按住空格键。
默认Overlays和选区是按一个像素的宽度来显示,如果想要在较高放大级别下加粗ROI边缘,将Edit-Selection-Properties中的Stroke width设为非零。
缩小放大层级。
显示最初打开时的尺寸。快捷键是双击“放大镜”工具的图标
使用100%放大,即1个图片像素等于1个屏幕像素。将Edit-Options-Appearance中的Enable Open Images at 100%勾选后,即可设置图片在打开时就是100%显示。
基于当前的选区进行缩放。如果没有选区的话,就会使得图片缩放到fit to screen级别。
手动设定精确值供缩放,也可以同时设定缩放的中心点的坐标。
该菜单用于设置对图片无损的Overlay。Overlay包含一个或多个选区:箭头、线段、点、各种形状和文本等,也可以包含图片选区,即ImageROI。
该命令用于将选区立即加入当前的Overlay,快捷键是B。按住Alt+B将会显示一个对话框供设置Stroke Color、Width和Fill color。除了文本选区,Stroke color和width这两个与Fill color是不共存的。
如果勾选了New overlay,那么之前添加的Overlay将被删除。
如果在Analyze-Set Measurements中勾选了Add to overlay,那么要测量的选区(Analyze-Measure)将会自动添加到Overlay。
通过将一张图片添加到另一张图片的overlay而实现组合图片的效果。要组合的图片可以是任意类型,但不能比主图大。组合时可以设置透明度,初始的XY坐标是基于当前矩形选区。
默认情形下,创建的新图片不能随意在画布上移动,即不是一个图片选区ImageROI,它存在TIFF的header中。如果想得到一个图片选区,可以通过Edit-Selection-Image to Selection或者Image-Overlay-To ROI Manager。
隐藏Overlay
显示Overlay
从ROI管理器中的选区创建一个overlay,注意之前添加的overlay将被删除。
把当前Overlay中的选区复制到ROI管理器,这样就可以对其进行编辑。注意,ROI管理器中的之前项目会被删除。
永久清除overlay,使其不可被恢复
创建一个新的RGB图片,其中的overlay被渲染成图片数据,该RGB图片与原图片的尺寸相同,这跟Plugins-Utilities-Capture Image不同,后者是创建一个“所见即所得”的与当前窗口尺寸相同的图片。
定义怎样对overlay打标签。比如定义颜色、标签字体、标题、背景等。
定义默认的overlay的Stroke color、width和Fill Color。将Stroke width设为0,则选区的边缘的宽度就是1个像素,不管放大多少倍。
该菜单包含选择哪种色彩查询表用来将灰度图创建成伪彩色图。
反转当前的LUT。对于8-bit图片,表中的每一个值v都被255-v所替代。与Edit-Invert不同的是,像素值没有被改变,只是在屏幕上显示的方式改变了。
将当前的LUT施加到图片或选区的像素值上。该命令等价于Image-Adjust-Brightness/Contrast的Apply操作。对于阈值处理过的图片,等价于Image-Adjust-Threshold的Apply操作。
对当前图片或选区进行模糊处理。该过滤器将每个像素值设为它的3*3邻居的平均值。
对当前图片或选区进行锐化,即增加对比度和强调细节,但有可能对噪点进行了加强。该滤波器使用下面的权重因子:
−1 −1 −1−112−1−1−1−1−1−1−1 −112−1 −1−1−1
使用Sobel边缘检测器来高粱像素值强度的剧烈变化。使用下面的两个3*3的卷积核来产生垂直和水平的梯度。最终的图片是计算两个梯度的平方的和的平方根得到:
1 0 −120−210−1121000−1−2−112110−1 00020−2 −1−2−110−1
计算当前图片的局部最大值,然后创建一个含最大值等形式的二值图片。对于RGB图片,挑选的是luminance的最大值,luminance是根据Edit-Options-Conversions中的平均或加权平均计算出来的。
该命令不适用于stacks,但FindStackMaxima宏可以作用于stack的所有图片。
通过使用histogram stretching或histogram equalization来增强图片对比。该命令不会改变像素值,只要Normalize、Equalize Histogram等不勾选。
对图片增加随机噪声,噪声服从均值为0、标准差为25的高斯分布。
增加一个均值为0、手动输入标准差的高斯噪声。
通过随机替换2.5%的黑色像素和2.5%的白色像素来增加椒盐噪声。该命令仅适用于8-bit图片。
这是一种中值滤波器,它将像素值替换为它周围3*3的像素点的均值。中值滤波器对于去掉上面的椒盐噪声很有用。
如果一个像素点离它周围点的均值超过一定数值,该命令就会去除这个像素点。该命令对CCD相机的hot pixels或dead pixels很有用。
该滤波器将32-bit图片中的NaN像素点替换成由Radius定义的圆形kernel区域内部的像素点的平均值。
创建阴影效果,使得光看起来从不同的方向照来。这些操作实际上是使用了不同的3*3的卷积核。
创建或处理二值图片,图片里仅有两个值,ImageJ处理成0和255,也有软件处理成0和1。这里假设对象是黑色的,背景是白色的,除非Process-Binary-Options中的Black Background被勾选。
将一张图片转化为黑白二值图片。如果之前使用Image-Adjust-Threshold设置了阈值,就会跳出一个对话框使设置怎样处理阈值以外和以内的像素。如果没有设置阈值,就会分析当前选区或整个图片的直方图,然后自动设置阈值进行二值化。如果是Stack,就会显示Convert to Mask对话框。注意,对于未经过阈值处理的图片和stack,Make Binary和Convert to Mask表现类似。
将图片转为黑白二值图片。该mask有一个反转的LUT(即白色是0,黑色是255),除非在Process-Binary-Options中勾选了Black Background。效果跟上面的Make Binary近似。
在二值图片中在图像边缘去除像素,在非阈值化的图片上使用Filters-Minimum来腐蚀灰度图。
在二值图片中在图像边缘增加像素,在非阈值化的图片上使用Filters-Maximum来膨胀灰度图。
开操作,即先腐蚀后膨胀。这将平滑对象及去除独立的像素点。
闭操作,即先膨胀后腐蚀。这将平滑对象及填充小洞。
在二值图片中在前景图片中产生一个像素宽的轮廓。
填充小洞(4个相连的背景色的元素)。
在二值图片中对对象边缘不断地去除像素点知道形成一个单像素宽的形状。
从二值图片中产生一个欧氏距离映射EDM。每一个前景像素被设为等于其离最近的背景像素的距离。下面的Ultimate Points、Watershed和Voronoi操作都是基于EDM算法。
该命令的输出类型需要在Binary-Options中设定,注意当选择Overwrite或8-bit output时,大于255的距离会被设为255。
产生极限腐蚀点,这种点是上面EDM的最大值。
泛洪分割可以自动分割两个碰撞的颗粒。它首先计算欧氏距离映射EDM,然后找到极限腐蚀点。接着尽可能膨胀每一个极限腐蚀点,直到达到颗粒的边缘或者达到另一个正在膨胀的极限腐蚀点。泛洪分割对重叠不严重的平滑凸包对象的分割很有用。
在Edit-Options-Misc中开启debug模式后,该命令可以创建一个泛洪算法怎样工作的动画。
将图片分割成与两个最近邻颗粒的边界有相等距离的一系列的点连成的线。因此,每个颗粒的Voronoi包含了与该颗粒更近的所有点。当颗粒是单个的点时,这个过程称为Voronoi镶嵌或称Dirichlet镶嵌。
在输出中,在Voronoi胞内部的值是0,分割线上的点的像素值等于两个最近邻颗粒的距离。
指定Binary命令的有关设置:
该菜单对当前图片或选区上的每个像素加减乘除一个常数。
相加一个常数。对于8-bit图片,大于255的结果被置为255;对于16-bit图片,大于65535的结果被置为65535。
减去一个常数。对于8-bit和16-bit图片,小于0的结果被置为0。
乘以一个常数。对于8-bit图片,大于255的结果被置为255;对于16-bit图片,大于65535的结果被置为65535。
除以一个常数。对于非32-bit的图片,忽略除以0的操作;对于32-bit图片,如果源像素分别是正值、负值或零,那么默认除以0的结果是正无穷、负无穷和NaN。可以Edit-Options-Misc重新定义除以0的结果。
与一个特定的二进制常数进行逐位与运算
与一个特定的二进制常数进行逐位或运算
与一个特定的二进制常数进行逐位异或运算
如果像素值小于某特定常数,则该像素值被替换为该常数
如果像素值大于某特定常数,则该像素值被替换为该常数
对每一个像素值施加f(p)=(p/255)γ∗255f(p)=(p/255)γ∗255,其中γγ在0.1和5.0之间。对于RGB图片,该函数作用于所有的3个通道,对于16-bit图片,图片的最小和最大值将代替255用于缩放。
用特定值来填充图片或选区。
对于8-bit图片,对图片或选区中的每个像素施加f(p)=ln(p)∗255/ln(255)f(p)=ln(p)∗255/ln(255);对于RGB图片,该函数作用于三个通道;对于16-bit图片,图片的最小和最大值将代替255;对于float型图片,不进行缩放。如果想计算log10log10,则对该结果乘以0.4343。
对当前图片或选区进行指数变换
对当前图片或选区进行平方变换
对当前图片或选区进行平方根变换
对当前图片或选区进行倒数变换
将32-bit浮点型图片的非阈值的像素设为NaN。对于浮点型图片,Image-Adjust-Threshold的Apply就是执行的该命令。
产生当前图片或选区的绝对值,仅对32-bit浮点型图片或signed 16-bit图片有效。
可以自定义算术运算。
该菜单支持频域显示、编辑和处理,基于二维快速哈特利变换FHT。三维的FHT可以通过3D Fast Hartley Transform插件来实现。
进行傅里叶变换,显示功率谱。测量的点的极坐标由Anayze-Measure所记录。如果鼠标在当前频谱窗口上悬停,那么它的位置是通过极坐标显示。
进行逆向傅里叶变换。
从频谱图片中重新计算功率谱。
显示快速傅里叶变换的选项。
去除高频和低频。
使用用户自定义的空间域图片作为滤波器。
对两张图片进行convolve或deconvolve。
交换象限。
该菜单包含五花八门的滤波器。
使用填入文本区域的kernel进行空间卷积。
一个kernel就是一个矩阵,它的中心是源像素,其他的元素是该像素的邻居。通过对像素点乘以相应的kernel中的系数然后相加得到结果。对kernel的尺寸没有限制,但它必须是方形,且必须是奇数宽度。
勾选Normalize Kernel可以使得每个系数都除以所有系数的和,从而保持图片的亮度。
该过滤器使用一个高斯函数进行卷积,从而实现平滑效果。
计算一个三维高斯低通滤波。
将像素替换为周围点的平均像素值,从而实现降噪效果。
怎么感觉跟上面的Median是一个意思呢。。
将像素替换为周围点的最小值,从而实现灰度腐蚀。
将像素替换为周围点的最大值,从而实现灰度膨胀。
通过从原图片中提出一个模糊的版本,从而锐化和加强边缘。
将每个像素替换为邻居的方差,从而高亮边缘。
产生一个包含上面Median、Mean、Minimum、Maximum和Variance滤波器使用的圆形mask产生的事例。
包含批量处理一系列图片的命令。
Batch命令是非递归的,即命令是施加在当前Input文件夹的所有图片上,但不作用于它的子文件夹,除非使用BatchProcessFolders宏中定义了目录遗传树。
关于批处理有三个重要提醒:
在指定文件夹中批量转换或调整文件尺寸。
运行指定文件夹中的一个宏,最近使用的宏存储在/ImageJ/macros/batchmacro.ijm文件中,可以在重启时记忆住。
该命令与上面的macro的界面相同,允许操作virtual stack。
对两张图片进行逻辑或算术运算,Image1可以是stack,或者Image1和Image2同时是stacks。如果两者都是stacks,那么都是有相同数目的slice。两张图片不一定有相同的文件类型或尺寸。
去除平滑的连续的背景,基于“rolling ball”算法。想象一个二维灰度图有一个第三维度,其值是每个点的像素值的大小,一个有特定半径的球在这个表面下面滚动,碰到该图的点就是要去除的背景。
重复之前的命令。忽略Edit-Undo和File-Open这两个命令。
基于当前选择,在Results Table中计算和显示区域统计、线长、角度或者点坐标等信息。具体的测量操作可以在下方的Set Measurment对话框中进行指定。
在二值图片或阈值处理过的图片上,对对象进行计算和测量。它是通过扫描图片或选区直到找到对象的边缘,然后用魔棒工具将对象的轮廓画出来,使用上面的Measure命令计算测量。
对于Results Table中的每一列,计算这一项的均值、标准差、最小和最大值。
从Results Table的选定列中创建该列数据的频率直方图。
该命令使用Results Table的行数来对当前的选区进行标注。
清除结果
使用该对话框来指定Analyze-Measure、ROI管理器的Measure和Analyze-Analyze Particles怎样进行测量。对于阈值处理的图片,如果勾选了Limit to Threshold,则可以仅对高亮的像素点进行测量。
这些选项分成了两类:第一类是控制输出到Results Table中的测量的类型有哪些;第二类是怎样测量。
第一类的18个选项有:
第二类的选项是控制怎样测量:
使用该对话框来定义空间比例,从而使得测量能用真实单位显示,比如mmmm和μmμm。
在使用该命令之前,先用一个直线选区工具在已知距离上进行划线,然后再调用该对话框,在Known Distance和Unit中填入真实距离及单位即可。
如果将Pixel Aspect Ratio设为非1,还可以支持水平和垂直两个方向上不同的空间比例。
当勾选Global后,该比例将会应用于所有的当前session已打开的图片中。
功能是使用不同的函数来拟合像素值和灰度值之间的关系。
计算和显示当前图片或选区的灰度值的分布直方图。
X轴是可能的灰度图,Y轴是该灰度值的像素个数。X轴下方的LUT用来显示图片的显示范围。再下方会显示总的像素个数、灰度值的平均值、标准差、最小、最大和modal值。
点击list或copy来存储直方图数据。点击Log来显示一个对数坐标的直方图。点击live可以在浏览stack或移动ROI时见识直方图的变化。
显示沿着一条线或一个矩形选区的像素值的强度的变化曲线。为了得到多个选区的作图,可以使用ROI管理的Multi Plot命令。
其他类型的选区,可以先运行Edit-Selction-Area to Line将其转化为直线选择。
在一个灰度图或伪彩色图上显示一个三维的像素值的图。作图是基于现有的矩形选区或整个图片。
使用该命令来分析一个一维的电泳凝胶。
该菜单提供了多种图像分析插件。
将当前图片的所有非背景像素点的XY坐标值和像素值写入一个文本文件中。背景假设为图片左上角的像素点的值。对于灰度图,每行写入三个值,用空格分割。对于RGB图,每行写入五个值。坐标系的原点是在图片的左下角。
估计一个二值图片的分形维度。
该命令使用上面的Particle Analyzer来提取线图的坐标值。这个功能跟GetData软件一样,但明显不如专业的GetData好用。
曲线拟合。这块还是使用专业的软件吧。。
可以用来管理多个ROI。
绘制一个带标注的空间比例尺。
绘制一个带标注的色度条。
在多个窗口上同步鼠标移动和输入,使得某个图片上绘制的ROI能够复制到其他同步窗口中。
这里详解Plugins菜单的功能。
Plugins菜单反映了ImageJ/plugins文件夹(至多两个子文件夹)的层级结构,因此可以创建子菜单(即子文件夹)来保持该菜单的简洁性,比如将EPS_Writer.class移动到ImageJ/Plugins/Input/PDF文件夹就可以实现将EPS Writer插件移入Plugins-Input-PDF子菜单下。
另外,勾选Edit-Options-Misc中的Move isolated plugins,就可以将仅有一个命令的插件移入Plugins-Miscellaneous菜单中。
该菜单包含了安装、运行、录制宏等命令。在文件StartupMacros.txt中包含的宏会在ImageJ启动时自动加载。ImageJ被设计成一次仅能安装一个集合的宏,因此,通过Install加载的最后一个集合的宏总会替换上一次的宏。
安装宏。
加载宏并运行,而不在Editor中打开。为了运行一个宏,同时查看它的代码,使用File-Open,然后在编辑器里点Macros-Run Macro。
打开ImageJ/macros/StartupMacro.txt文件。
打开ImageJ的命令录制器。为了创建一个宏,先打开录制器,然后使用一个或多个命令,然后点击Create。当录制器打开时,使用的每一个菜单命令都将产生一个run函数。
快捷键相关的操作。
该命令显示快捷键列表。在command一列中用星号开头的快捷键是用Create Shortcuts创建的,而用^号开头的表明是通过所安装的macro创建,其会覆盖掉ImageJ的默认热键。
为ImageJ的菜单命令指定一个快捷键。
在用户指定的子菜单下安装一个插件。如果一个插件有showAbout()函数,那么它会自动添加到Help-About Plugins子菜单下。
注意,新版的ImageJ将Install Plugins单独提到Plugins这个一级菜单下了。
删除通过Create Shortcuts添加的命令。
该命令用一个遗传树的结构来显示ImageJ的菜单。点击一个叶子节点来启动对应的命令。双击一个主干节点(文件夹图标)会展开或收起它。点击和拖拽一个主干节点可以在另外一个窗口中显示它的子节点。
无需浏览所有菜单而直接找到一个命令的最快捷的方式。
快捷键是“L”。
查找包含某个特定字符串的宏、脚本、插件源代码等。
通过使用IJEventListener、CommandListener、ImageLister界面,可以监视前景色和背景色的变化、工具切换、日志窗口、命令执行、图形窗口的打开、关闭和升级等。
显示内存使用情况。
将电脑的当前屏幕截屏,显示成一个RGB图片。
将当前显示的图片保存进一个RGB图片,所见即所得。
显示ImageJ的属性,如Java版本、OS名字和版本、文件路径、屏幕尺寸等信息。
显示当前运行的线程和优先级。
在当前图片上运行62种图像处理操作,然后在状态栏上显示运行时间。
使用该命令解锁一个锁定的图片、释放剪贴板所使用的内存和undo的缓存。
打开一个编辑窗口,用来编辑和运行宏、脚本和插件。
打开一个空白的编辑器窗口。
打开一个创建圆形选区的宏demo。
打开一个名为Script.js的空白的编辑器窗口。
打开一个使用PlugIn接口的原型插件。该类型的插件打开、捕捉和差生图片。使用Ctrl+R来编译和运行。注意插件的名字应该包含至少一个下划线。
打开一个使用PlugInFilter接口的原型插件。该类型的插件处理当前图片。
打开一个使用PlugInFrame类的原型插件。该类型的插件显示一个包含控制体(如按钮和滑块)的窗口。
打开一个使用PlugInTool的原型插件,该插件用于与画布交互。
打开一个特定尺寸的文本窗口,用于宏的写入。
打开一个类似于Results Table的空白table,用于宏的写入。
编译和运行一个插件。如果一个文件的名字后缀是.class,则运行该插件。
显示所有的窗口。
显示下一个窗口。
将所有的图片都移动到屏幕的左上角,互相之间稍有偏移。
以“磁贴”的形式显示图片,尽量不互相覆盖。
打开ImageJ的官网。
打开ImageJ官网的新闻频道。
打开ImageJ官网的文档部分。
打开ImageJ官网的安装部分。
打开ImageJ的邮件列表。
打开ImageJ官网的开发者资源。
打开ImageJ官网的插件资源,其有超过500个插件。
打开ImageJ官网的宏资源,其有超过400个插件。
打开ImageJ官网的宏函数参考页。
升级ImageJ到最新版本,将最新的ij.jar放在../../upgrade/,或者降级到../../download/jars/中的某个早期版本。
在添加(或移除)插件和宏后,使用该命令来更新菜单。
显示插件文件夹下的插件信息。
显示ImageJ的版本、作者、网站、Java版本和可用内存等。