Posted on

1. 免疫组化AOD平均光密度批量分析

使用脚本之前请仔细学习视频教程,相关参数需要根据实际图片修改,主要是阈值范围和set measurement需要勾选的参数:


dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"jpg")){
		open(filename);
		run("8-bit");
		run("Calibrate...", "function=[Uncalibrated OD] unit=[Gray Value] text1=[165.76 153.57 ] text2="); 
		setThreshold(0, 220, "raw");
		//run("Threshold...");
		run("Measure");  
	      selectWindow(list[i]);
		close();
	}
}

2. 免疫荧光MFI平均荧光强度批量分析

需要根据自己的图片调整阈值范围和图片扩展名

dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"tif")){
		open(filename);
		run("8-bit");
                          setAutoThreshold("Default dark");
		//run("Threshold...");
		setThreshold(20, 255);	//设置Threshold选出所有包含细胞的区域
		run("Measure");  
	             selectWindow(list[i]);
		run("Close");	//关闭图片窗口
	}
}

3. 图片背景不干净怎么办?批量进行图片背景校正并保存

参考5,主要需要修改的就是文件扩展名高斯模糊的sigma值

dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);
///运行前在目录下新建一个文件夹process
for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"tif")){
		open(filename);
		run("Duplicate...", "title=2222.tif");
		run("Gaussian Blur...", "sigma=50");
		imageCalculator("Subtract", list[i],"2222.tif");
		selectWindow("2222.tif");
		close();
		selectWindow( list[i]);
		saveAs("tif", dir+"/process/"+ list[i]);
		close();
	}
}

4.细胞计数批量宏命令脚本

参考5,主要需要修改的就是文件扩展名阈值范围

dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"tif")){
		open(filename);
		run("8-bit");
		setAutoThreshold("Default dark");
		//run("Threshold...");
		setThreshold(18, 255);
		run("Convert to Mask");
		run("Fill Holes");
		run("Watershed");
		run("Analyze Particles...", "size=200-Infinity show=Nothing summarize");
		selectWindow( list[i]);
		close();
	}
}

5.细胞图片背景校正&细胞计数批量宏命令脚本恩

dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"tif")){
		open(filename);
		run("Duplicate...", "title=2222.tif");
		run("Gaussian Blur...", "sigma=50");
		imageCalculator("Subtract", list[i],"2222.tif");
		selectWindow( list[i]);
		run("8-bit");
		setAutoThreshold("Default dark");
		//run("Threshold...");
		setThreshold(18, 255);
		run("Convert to Mask");
		run("Fill Holes");
		run("Watershed");
		run("Analyze Particles...", "size=200-Infinity show=Nothing summarize");
		selectWindow("2222.tif");
		close();
		selectWindow( list[i]);
		close();
	}
}

6. 细胞划痕图片批量定量分析

需要根据自己的图片调整阈值和图片扩展名

//Analyze wound healing
dir=getDirectory("Select the source directory");
list=getFileList(dir);
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"tif")){
		open(filename);
		

	run("8-bit");
	run("Enhance Contrast...", "saturated=0.5 normalize");
	run("Find Edges");
	setAutoThreshold("Default");
	//run("Threshold...");
	setThreshold(0, 26);
	//setThreshold(0, 26);
	setOption("BlackBackground", false);
	run("Convert to Mask");
	run("Fill Holes");
	run("Analyze Particles...", "size=50000-Infinity summarize");
	selectWindow(list[i]);
        close();	//关闭图片窗口
	}
}

7. 免疫荧光多通道图片批量Merge

需要根据自己的荧光通道进行定义(搜索red_label),参考格式把这边对应都要修改

////Merge channels
var red_label = "-1.tif"; //edu
var blue_label = "-2.tif"; //nuclear
path = getDirectory("Choose a Directory to proess");
list = getFileList(path);

for (i = 0; i < list.length; i++) {
	if(endsWith(list[i],red_label)){
		label = substring(list[i], 0,1);     //Get the different title labels
		print(label);
		open(path + label+red_label);
		open(path + label+blue_label );
		image_r = label+red_label;
		image_b = label+blue_label;
		run("Merge Channels...", "c1="+image_r+ " c3="+image_b);		
		saveAs("tif", path+ label);
		saveAs("tif", path+"merge/"+ label);
		run("Close");
		}
	}

8. 免疫组化图片拆分核和DAB并计算AOD

参考上述AOD和计数调整相关参数

Colour Deconvolutionhttps://console.box.lenovo.com/l/8ufw0I 提取码:dbyp

//Analyze Average Density (Average Optical Density AOD) values IHC Images
dir=getDirectory("Select the source directory"); 
print(dir); 

File.makeDirectory(dir + "/Colour_1/"); 
File.makeDirectory(dir + "/Colour_2/"); 
File.makeDirectory(dir + "/Colour_3/"); 

list=getFileList(dir);
Array.sort(list);


for(i=0;i<list.length;i++){
	filename=dir+list[i];
	print(list[i]);
	if(endsWith(filename,"jpg")){
		open(filename);
		print(filename);
		run("Colour Deconvolution", "vectors=[H DAB] hide");
		selectWindow(list[i]+"-(Colour_1)");
		setAutoThreshold("Default");
		//run("Threshold...");
		setThreshold(0, 220);
		setOption("BlackBackground", false);
		run("Convert to Mask");
		selectWindow(list[i]+"-(Colour_1)");
		run("Fill Holes");
		run("Watershed");
		selectWindow(list[i]+"-(Colour_1)");
		run("Analyze Particles...", "size=50-Infinity summarize");
		selectWindow(list[i]+"-(Colour_1)");
		saveAs("Tiff", dir + "/Colour_1/"+list[i]+"-(Colour_1)");
		close();
		selectWindow(list[i]+"-(Colour_2)");
		saveAs("Tiff", dir + "/Colour_2/"+list[i]+"-(Colour_2)");
		run("8-bit");
		run("Calibrate...", "function=[Uncalibrated OD] unit=[Gray Value] text1=[165.76 153.57 ] text2="); 
		setThreshold(0, 220, "raw");
		//run("Threshold...");
		run("Set Measurements...", "area mean integrated limit redirect=None decimal=2");
		run("Measure");  
		close();
		selectWindow(list[i]+"-(Colour_3)");
		saveAs("Tiff", dir + "/Colour_3/"+list[i]+"-(Colour_3)");
		close(); 
	   selectWindow(list[i]);
		close();
	}
}

8.

发表评论

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