ImageJ免疫荧光图片处理

📝 显微图处理流程(极简版)

拖入 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.

评论

您的邮箱地址不会被公开。必填项已用 * 标注

7 + 5 = ?

AI 助手

您好!我是 Agent-Fox 智能助手,可以帮您解答关于本页内容的问题。