ftp给网站上传图片后图片的链接地址被改了,制作网站站用的软件,免费网站建设总部,餐饮加盟什么网站建设内容概要
数字图像由像素组成#xff0c;每个像素具有一个数值#xff0c;通常与检测到的光线相关。相同的像素值可以通过不同的方式进行显示。在科学图像处理中#xff0c;可以通过修改查找表来独立于像素值改变图像外观。 一、引言 图像由其最小的组成单位——像素构成。…内容概要
数字图像由像素组成每个像素具有一个数值通常与检测到的光线相关。相同的像素值可以通过不同的方式进行显示。在科学图像处理中可以通过修改查找表来独立于像素值改变图像外观。 一、引言 图像由其最小的组成单位——像素构成。 像素一词来源于“pic_ture _el_ement”在计算机系统中每个像素仅代表一个数值。
当图像数据被显示时像素值通常被转换成特定颜色的方块这仅是为了让我们能够快速地获取图像内容的概览即像素的大致值及其相互之间的位置关系。在处理和分析图像时我们需要超越显示层面深入到实际数据即数值。
数据像素值与显示彩色方块之间的区分在荧光显微镜领域中尤为重要。显微镜提供的像素是对样本发出光的测量。基于这些测量我们可以进行推断例如更多的光可能表明特定结构或物质的存在而了解确切的数值则允许我们进行对比和量化测量。
另一方面彩色方块对于测量并不重要它们只是为了视觉上的美观图1。 图像展示方式 (A) (B)图像使用不同灰度的小方块来展示每个方块代表一个像素。这是一种用于展示的惯例使得图像可以被直观地看到。 像素存储方式尽管图像在展示时使用灰度方块但像素本身是以数字数组的形式存储的。数字表示的挑战直接查看这些数字数组对于我们来说很难直观地想象图像包含的内容。图像与数据的关系这段文字强调了图像的视觉表示与其底层数据表示之间的差异。我们习惯于通过视觉元素来理解图像而数字数据需要通过特定的方式转换或解码才能形成我们可以识别的图像。 然而有两个相关的事实可能会给我们带来困扰 相同外观的图像可能包含不同的像素值 这个观点指出即使两幅图像在视觉上看起来几乎相同它们在像素层面上的数据可能不同。这可能是由于多种原因造成的例如 图像使用不同的颜色深度例如8位与16位颜色。图像在不同的时间或条件下被获取导致微小的差异。图像经过不同的处理步骤如压缩、调整大小或颜色校正这些步骤可能改变了像素值。 外观不同的图像可能包含相同的像素值 这个观点说明两幅在视觉上明显不同的图像可能在某些区域或某些像素上具有相同的数值。这可能是由于 图像中存在不可见或不重要的区域这些区域的像素值可能相同但对整体视觉效果影响不大。图像的某些部分可能经过了相同的处理如滤镜或效果导致这些区域的像素值一致。图像的显示方式或观察条件如亮度、对比度设置可能影响我们对图像差异的感知即使某些像素值相同。
这两个观点强调了图像分析中的一个重要概念像素值与人类视觉感知之间的关系并不总是直接的。图像的外观不仅取决于像素值还受到观察条件、图像处理方法和人类视觉系统的影响。
因此在图像分析和处理中理解像素值与视觉感知之间的复杂关系是非常重要的。 二、图像处理软件ImageJ与Fiji
为了处理数字图像我们不仅需要能够处理图像的任何软件我们更需要能够探索数据并精确控制数据处理的科学软件。
ImageJ是由Wayne Rasband在美国国立卫生研究院开发的一款为此目的设计的软件。其中的“J”代表Java即该软件所使用的编程语言。ImageJ可从http://imagej.net免费下载其源代码属于公共领域便于修改和分发。此外通过添加插件、宏或脚本来扩展其功能使其具有极高的可定制性。[1]
这种出色的可定制性可能存在一个潜在缺点初学者可能难以知道从何处开始哪些可选功能真正优秀以及在哪里能找到这些功能。 2-Fiji
Fiji其全称为“Fiji Is Just ImageJ”在某种程度上解决了这个问题。
Fiji是ImageJ的一个发行版它预装了一系列主要面向生命科学家的附加组件。Fiji还包含了自身的额外功能如集成的自动更新和错误修复系统以及额外的开源库这些库使得程序员能够更轻松地实现复杂的算法。
因此ImageJ能够执行的所有操作在Fiji中也能完成因为Fiji内包含了完整的ImageJ但反之则不成立因为Fiji包含了许多额外的功能。在本课程中我们将使用Fiji可从http://fiji.sc/免费下载。 如果你是Mac芯片且遇到了我这种问题可以参考下列解决方式。 ✅解决方法 安装成功界面如下 2-用户界面
ImageJ/Fiji[3]的用户界面可能需要一些时间来适应其初始界面可能不如某些商业软件那样友好和亲切。但好消息是一旦用户熟悉了操作方式就能够完成许多在其他软件应用中无法实现的功能。
我们将要使用的一些界面组件如图2所示。 一开始仅显示包含菜单、工具栏和状态栏的主窗口其他窗口会在打开和处理图像时按需出现。如果用户在处理众多图像时意外将主窗口置于后台可以通过按Enter键将其恢复到前台。 2-操作技巧与提示
以下是一些不那么显而易见的操作技巧它们可以帮助用户更轻松地使用ImageJ或Fiji
通过将文件例如从桌面、Windows资源管理器或Mac Finder拖动到状态栏可以快速打开文件。大多数可下载的插件也可以通过这种方式安装。如果用户知道命令包括插件的名称但忘记了它在菜单中的位置可以输入CtrlL或者可能只需输入L来唤出命令查找器——可以将其视为一个列表——并开始输入名称。用户可以直接运行命令或者选择“显示完整信息”来查找其所在的菜单。注意一些命令可能有相似或相同的名称在这种情况下它们可能只能通过其所在的菜单来区分。ImageJ的撤销功能非常有限——在修改单个2D图像时可能可用但在处理更多维度的数据时则不可用参见“维度”部分。如果你习惯了像Microsoft Word或Adobe Photoshop这样具有长撤销列表的软件这可能会不方便。但这样做有一个合理的理由支持撤销可能需要存储图像前版本的多个副本这在处理大型数据集时可能会迅速耗尽所有可用内存。解决方案是在进行任何可能不想保留的处理之前手动选择创建图像的副本。有许多快捷键可供使用。尽管菜单提示需要按Ctrl键但实际上除非选项下方另有说明否则并不需要。用户还可以在设置中添加更多快捷键。在浏览大型图像时可以使用滚动工具或者按住空格键的同时点击并拖动图像。图像窗口左上角的一个小矩形图示如图2所示指示了当前显示的是整个图像的哪一部分。工具栏中的图标提供了比看起来更多的工具和选项。双击和右键点击工具栏中的图标都可以揭示更多的可能性。按下Escape键可能中止任何当前正在运行的命令的操作……但这需要命令的作者实现了此功能。因此它可能不会产生任何效果。 三、数据及其显示
3-1图像比较
现在我们回到数据与显示的二分法。在图3的顶部行中可以看到四幅图像。第一对和第二对图像看起来彼此相同。 然而实际上只有A和C在内容上是相同的。由于这些图像包含显微镜给出的原始像素值它们可以进行分析但是分析B或D可能会导致不可靠的结果。
因此仅基于图3顶部行中的外观来可靠地评估这些图像之间的相似性和差异性是不可能的但如果我们考虑下面的相应图像直方图就会变得容易得多。
这些直方图使用插件创建通过一系列垂直条形图展示了图像中每个不同值的像素总数条形图上方显示了一些额外的统计数据——如该图像中所有像素的最大值、最小值和平均值。观察直方图和下方的统计数据可以清楚地看出只有A和C可能包含相同的值。 仅通过比较直方图是否总是可靠的方法来判断两幅图像是否完全相同 直方图比较的局限性 明确指出仅通过比较直方图来判断两幅图像是否相同是不可靠的。即使两幅图像在视觉上截然不同它们的直方图仍有可能完全相同。 像素重排的例子 举例说明如果你有一幅图像然后随机重排它的像素来创建第二幅图像直方图将保持不变但图像本身会改变。这是因为直方图只记录了像素值的分布而不记录像素的具体位置。 更微妙的差异 指出即使图像在视觉上相似也可能因为像素的不同排列而具有不同的直方图和统计数据。 直方图比较的优点 尽管直方图比较有局限性但它快速且是一个相当好的指导。在ImageJ中比较直方图只需点击每幅图像然后按H键。 直方图比较的指示作用 如果两幅图像的直方图不相同至少可以明确它们不是完全相同的。这为图像差异提供了一个基本的指示。 总结 直方图是比较图像的一种快速方法但它不是决定性的。对于更精确的图像比较需要采用其他方法这些方法可能包括像素级的分析。 3-2图像颜色映射至像素的分析
图3中图像呈现不同外观的原因在于前三个图像并未使用相同的查找表LUTs有时也称为色彩映射而在D中图像已被展平。展平操作将在“通道与颜色”部分变得相关但目前我们将重点讨论LUTs。
LUT本质上是一个表格其中行给出了可能的像素值以及用于显示它们时应采用的颜色。在ImageJ中对于图像的每个像素通过在LUT中“查找”其值来确定在屏幕上绘制方块的色彩。
这意味着当我们想要修改图像的显示方式时可以简单地更改其LUT同时保持所有像素值安全不变。 以“Spooked.tif”作为示例图像在Fiji软件中探讨像素值与查找表LUTs。 原始状态下每个像素应呈现某种灰度阴影这表明相应的LUT色调沉重。当光标在图像上移动时屏幕顶部的状态栏将显示“value ”其后跟随光标下像素的数值。 随后若进入“图像”菜单选择“查找表…”Image ▸ Lookup Tables…并点击其他LUT图像外观应立即更新。但将光标放置于之前相同的像素上会发现实际像素值并未改变。 最后若要“查看”正在使用的LUT可选择“图像”菜单下的“颜色”然后选择“显示LUT”Image ▸ Color ▸ Show LUT。 这将展示一个从0到255的条形图这个范围的含义将在阅读“类型与位深度”后更加清晰其中显示了每个值对应的颜色。
点击“列表”List将展示LUT中涉及的实际数值以及“红色”、“绿色”和“蓝色”的列。这些列提供了混合红色、绿色和蓝色光线的相对量以得到正确的颜色详见“通道与颜色”。 3-3使用不同LUT的原因 更改LUT具有多个优势。 一个简单的理由是我们可以利用LUT使图像中的颜色与我们检测到的光波长相匹配例如将DAPI染色显示为蓝色或GFP显示为绿色。
然而这往往并非最佳选择您可能更倾向于使用某种多色LUT例如ImageJ中的“Fire”来显示图像尽管这种LUT在物理上没有特定意义。 这是因为人眼对于区分同一颜色的不同阴影相对不敏感而使用许多不同的颜色呈现相同信息可以使像素值之间的差异更加明显。 3-4修改LUT有助于信息的可视化 将一组LUT颜色替换为另一组并不是改变外观的唯一方法。 我们还可以保持相同的颜色但更改每个颜色所对应的像素值。
例如假设我们选择了一个灰度LUT。大多数显示器理论上可以显示256种不同的灰度阴影因此我们可以为0到255之间的像素值分配不同的阴影其中0对应黑色255对应白色。
但假设我们的图像只在5到50的范围内包含有趣的信息。那么我们只使用了46种相似的灰度阴影来显示它而没有充分利用显示器或我们的视力。
如果我们把所有值≤5的像素设为黑色≥50的设为白色然后将所有可用的灰度阴影分配给之间的值那么更容易看出发生了什么。
这将充分利用我们LUT中的颜色并给我们一个对比度提高的图像。当然我们可以使用相同的原则应用任何其他LUT分别用LUT中的第一和最后颜色替换黑色和白色。 3-5调整显示范围
在ImageJ中这种类型的LUT调整是通过命令来完成的Image ▸ Adjust ▸ Brightness/Contrast…可以通过按ShiftC快速访问见图[4]。 出现的头两个滚动条称为“最小值”和“最大值”它们定义了像素被赋予LUT的第一种或最后一种颜色的阈值。修改这两个滑块中的任何一个都会自动改变“亮度”和“对比度”滑块。 图像处理中对比度调整和按钮功能使用的说明和警告 按钮功能解释 Auto自动选择对比度设置可能会使图像看起来更好通过使最小值和最大值更接近。Reset重置确保最小值和最大值与图像中的实际最小和最大像素值相匹配对于8位图像即为0和255。Set允许用户手动输入最小值和最大值。 Apply按钮的警告 特别注意Apply按钮因为它实际上会改变图像的像素值导致信息丢失。提醒用户按下Apply后原始的像素值很可能无法恢复。 3-6科学图像分析与照片编辑的区别
可以将像素值与LUT的区别想象为像素值决定了图像的真实身份而LUT仅仅是图像恰好穿着的“外衣”图5。 Figure 5通过类比阐释了图像的像素值与其显示效果之间的关系。 正如同一个人因服装和配饰的改变而看起来截然不同A图像的显示效果也可能因调整而与原始数据产生显著差异。
反之不同的人可能因装扮相似而在初看之下难以区分但细看之下仍有本质的不同B这同样适用于图像其中原始像素值保持不变而显示效果可能因不同的视觉呈现而变化。
这个类比强调了在图像分析中不应仅凭显示效果判断而应深入考虑图像的原始数据以揭示其真实信息。 对于科学分析而言至关重要的一点是更改LUT无论是通过切换颜色还是调整亮度/对比度不会破坏或修改底层数据。在ImageJ中的正常对比度控制中便是如此如果您避免点击诱人的“应用”按钮。
然而在只关心最终外观的其他应用中如照片编辑这一特性可能并不那么重要。例如在Photoshop中调整亮度、对比度或“色阶”时您确实会改变底层像素值——一旦更改您无法“改回”除非使用“撤销”命令并期望恢复原始值。
因此如果您在Photoshop中增强了图像像素值可能会轻易地被更改以至于无法再对其可靠地解释 3-7像素属性与像素大小
至此您可能已经对意外更改像素值从而损害图像完整性产生了应有的警惕因此在尝试新操作之前您总是会先计算直方图或其他测量数据以检查像素值是否发生了变化。
本章最后讨论的是像素分析的另一个重要特征像素的大小以及因此测量或计数像素如何与实际生活中识别事物的大小和位置相关联。对于许多分析来说尺寸的正确性是使其具有意义的关键。
在ImageJ中像素大小可以在菜单下找到Image ▸ Properties…您将看到Pixel width像素宽度和Pixel height像素高度的值这些值是以Unit of Length长度单位来定义的。 一种有用的思考方式是将这些值视为图像包含的总视场大小的比例见图[6]。 Figure 6展示了两个具有相同视场但不同像素数量的图像这导致了不同的像素尺寸。 图像(A)的像素宽度和高度都是64.2微米除以600像素等于0.107微米每像素。而图像(B)的像素宽度和高度都是64.2微米除以75像素等于0.856微米每像素。
尽管为了显示目的(B)被放大到与(A)相同的尺寸但其较大的像素使其看起来更加块状。这说明了图像的分辨率和像素尺寸对于图像的显示效果有重要影响即使两个图像在内容上具有相同的视场。
分辨率较低的图像(B)由于每个像素覆盖更大的实际面积因而在放大后会显示出更明显的像素化效果这可能会影响对图像细节的观察和分析。
例如假设我们正在成像一个宽度为100µm的区域且图像水平方向上有200个像素。那么我们可以将像素的’宽度’视为100/200 0.5µm。PS这也是病理AI中常用的参数
像素高度可以以类似的方式定义和使用通常但不一定与宽度相同。 3-8像素大小与测量 了解像素大小使得尺寸测量校准成为可能。 例如如果在图像中测量某个结构的水平长度并发现它是10个像素长像素大小为0.5µm我们可以推断出其实际长度大致为10 × 0.5µm 5µm。
在ImageJ中测量事物时这种校准通常是自动进行的因此为了使结果合理尺寸必须是正确的。在理想情况下适当的像素大小会在图像获取过程中写入图像文件并在随后读取——但这并不总是奏效因此应始终检查属性…。
如果ImageJ在图像文件中找不到合理的值默认情况下它会将每个像素的宽度和高度设定为1.0像素……这并不提供太多信息但至少不是错误的。如果您知道更合适的值可以手动输入。 3-9像素大小与细节
通常情况下如果荧光图像中的像素尺寸较大那么我们无法观察到非常精细的细节见图[6]。
然而当我们考虑数百纳米的尺度时光的衍射会使问题变得复杂因此获取像素尺寸更小的图像并不一定能带来额外的信息——实际上可能反而成为一种阻碍。
这个问题将在后续章节中进一步探讨。