📝 显微图处理流程(极简版)
拖入 3 个视野到 ImageJ
教学:直接拖拽文件即可导入,每个图像含 2 通道(C=0 DAPI,C=1 GFP)。
在 Stack 时选择 C=0(DAPI)、C=1(GFP)
教学:保证生成的 stack 带上两个通道,方便后续操作。
加 Scale Bar
教学:比例尺是 overlay,帮助展示实际尺寸。
Flatten 并保存彩色图
教学:Flatten 会把颜色和比例尺烤进像素,生成 RGB 彩图,数据不可再拆。
Concatenate 拼接多个 stack
教学:Concatenate 把多个 stack 首尾相连,得到一个长 stack。
Make Montage
教学:Montage 把 stack 展开为拼贴图,方便展示。
保存结果图
教学:保存为 TIFF/PNG,保证颜色固定。
用 Photoshop 合并不同处理组
教学:PS 用于最后的自由排版和标注,适合投稿图。
Macro脚本是个好东西啊:
JavaScript
// =========================================================
// 全自动批量拼图宏 (开启 Autoscale 版)
// 功能:遍历文件夹 -> Bio-Formats导入 -> 自动调整亮度 -> 拼图 -> 保存
// =========================================================
// --- 1. 弹出窗口选择文件夹 ---
inputDir = getDirectory("请选择包含 .nd2 文件的 输入 文件夹");
outputDir = getDirectory("请选择保存结果图片的 输出 文件夹");
// 获取文件夹内所有文件列表
list = getFileList(inputDir);
// 开启“批处理模式”,后台运行不弹窗,速度飞快
setBatchMode(true);
// --- 2. 开始循环遍历文件 ---
for (i = 0; i < list.length; i++) {
filename = list[i];
// 只处理 .nd2 结尾的文件
if (endsWith(filename, ".nd2")) {
// --- A. 打开图片 ---
path = inputDir + filename;
run("Bio-Formats Importer", "open=[" + path + "] color_mode=Default view=Hyperstack stack_order=XYCZT");
// 获取基本信息
nameWithoutExt = File.nameWithoutExtension;
title = getTitle();
// --- B. 处理逻辑 ---
// 拆分通道
run("Split Channels");
// 关闭不需要的明场 (假设是 C3)
if (isOpen("C3-" + title)) {
selectWindow("C3-" + title);
close();
}
// --- 处理 DAPI (C1) ---
selectWindow("C1-" + title);
run("Blue");
// 【Autoscale】自动增强对比度 (0.35% 饱和度)
run("Enhance Contrast", "saturated=0.35");
// 复制一份用于 Merge
run("Duplicate...", "title=DAPI_For_Merge");
// 制作单张 DAPI 图
selectWindow("C1-" + title);
run("Flatten");
rename("Final_DAPI");
// --- 处理 HA-RTCB (C2) ---
selectWindow("C2-" + title);
run("Red");
// 【Autoscale - 修改处】这里不再使用 setMinAndMax 固定值
// 而是使用自动增强,让每张图都清晰显示
run("Enhance Contrast", "saturated=0.35");
// 复制一份用于 Merge
run("Duplicate...", "title=HA_For_Merge");
// 制作单张 HA 图
selectWindow("C2-" + title);
run("Flatten");
rename("Final_HA");
// --- 制作 Merge 图 ---
// 使用刚才已经被 Autoscale 过的图来合并,所以 Merge 图也会很漂亮
run("Merge Channels...", "c1=DAPI_For_Merge c2=HA_For_Merge create");
selectWindow("Composite");
run("Flatten");
rename("Final_Merge");
// --- 拼接三张 RGB 图 ---
// 顺序:DAPI -> HA -> Merge
run("Concatenate...", " title=[Montage_Stack] image1=Final_DAPI image2=Final_HA image3=Final_Merge image4=[-- None --]");
// --- 制作拼图 (Montage) ---
selectWindow("Montage_Stack");
// border=5 是图片之间的白色间隙
run("Make Montage...", "columns=3 rows=1 scale=1 border=5");
// --- 加比例尺 ---
run("Scale Bar...", "width=10 height=8 font=12 color=White background=None location=[Lower Right] bold overlay");
// --- Flatten 最终结果 ---
run("Flatten");
// --- C. 保存结果 ---
savePath = outputDir + nameWithoutExt + "_Panel.png";
saveAs("PNG", savePath);
// --- D. 清理内存 ---
close("*");
// 打印进度
print("已处理: " + filename);
}
}
setBatchMode(false);
showMessage("Autoscale 处理模式:所有图片已处理完毕!");
End.