如何获取自动阈值使用的阈值插件

问题描述:

我有以下代码,我从目录中读取图像并使用ImageJ Auto Threshold插件分割我的图像。如何获取自动阈值使用的阈值插件

dir = getDirectory("path"); 
list = getFileList(dir); 

for (i=0; i<list.length; i++) 
{ 
    if (endsWith(list[i], ".tif")) 
    { 
     open(dir + list[i]); 
     run("8-bit"); 
     run("Gaussian Blur...", "sigma=2"); 
     setAutoThreshold("Otsu dark"); 
     run("Convert to Mask"); 
     saveAs("TIFF", dir+list[i]); 
     close(); 
    } 
} 

我想获得使用“大津黑”方法的阈值,并修改值(例如通过因子缩放),并把它应用到我的图片进行分割。

在ImageJ宏中,使用getThreshold(lower,upper)setThreshold(lower,upper)方法(here的文档)。

您的代码应该是这样的,那么:

dir = getDirectory("path"); 
list = getFileList(dir); 
factor = 1.5; 

for (i=0; i<list.length; i++) 
{ 
    if (endsWith(list[i], ".tif")) 
    { 
     open(dir + list[i]); 
     run("8-bit"); 
     run("Gaussian Blur...", "sigma=2"); 
     setAutoThreshold("Otsu dark"); 
     getThreshold(lower,upper); 
     setThreshold(lower,upper*factor); 
     run("Convert to Mask"); 
     saveAs("TIFF", dir+list[i]); 
     close(); 
    } 
} 

如果你打算做更复杂的东西,考虑使用其他scripting language像由Fiji提供的。

+0

谢谢你,这真的很有帮助。 – chans 2013-04-29 08:43:29