2017-05-17 3 views
0

私はオープン)しますエラー

1のImageJマクロを記述しようとしていますと2つのチャンネル 2に画像を分割)、各画像の上に粒子解析を行い、測定値を保存する 3)オーバーレイされたパーティクルアウトラインを含む元の画像を保存する

これまでROIを後で保存できるように、元の画像を複製する必要がありました。しかしI現時点では私は後で平坦化のためにそれを選択することができますので、この重複画像の名前を変更する方法を見つけ出すことはできません。これは非常に単純なものである場合は、事前に

dir=getDirectory("Choose a Directory"); 
print(dir); 
greenDir=dir + "/Green/"; 
blueDir=dir + "/Blue/"; 
print(greenDir); 
print(blueDir); 
File.makeDirectory(greenDir); 
File.makeDirectory(blueDir); 
list = getFileList(dir); 

for (i=0; i<list.length; i++) { 
    if (endsWith(list[i], ".tif")){ 
       print(i + ": " + dir+list[i]); 
      open(dir+list[i]); 
      imgName=getTitle(); 
     baseNameEnd=indexOf(imgName, ".tif"); 
     baseName=substring(imgName, 0, baseNameEnd); 

     run("Split Channels"); 

     selectWindow("C1-" + imgName); 
    run("Duplicate...", "title= imgName + "original"); 
    selectWindow("C1-" + imgName); 
    setAutoThreshold("Default dark"); 
    //run("Threshold..."); 
    //setThreshold(1, 255); 
    run("Convert to Mask"); 
    run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add"); 
    selectWindow(imgName + "original"); 
    roiManager("Show All without labels"); 
    run("Flatten"); 
    saveAs("Tiff", greenDir + baseName + "green.tif"); 
     close(); 

申し訳ありませんが、これはすべて私には非常に新しいですgooglingから学んだ!

ImageJの中

答えて

1

私はこの最後の夜に私のコードを修正し、今では働いている:

dir=getDirectory("Choose a Directory"); 
print(dir); 
greenDir=dir + "/Green/"; 
blueDir=dir + "/Blue/"; 
print(greenDir); 
print(blueDir); 
File.makeDirectory(greenDir); 
File.makeDirectory(blueDir); 
list = getFileList(dir); 

for (i=0; i<list.length; i++) { 
    if (endsWith(list[i], ".tif")){ 
       print(i + ": " + dir+list[i]); 
      open(dir+list[i]); 
      imgName=getTitle(); 
     baseNameEnd=indexOf(imgName, ".tif"); 
     baseName=substring(imgName, 0, baseNameEnd); 

     run("Split Channels"); 
    roiManager("Reset"); 

     selectWindow("C1-" + imgName); 
    run("Duplicate...", "title="); 
    saveAs("Tiff", greenDir + "originalgreen" + baseName); 
    selectWindow("C1-" + imgName); 
    setAutoThreshold("Default dark"); 
    //run("Threshold..."); 
    //setThreshold(1, 255); 
    setOption("BlackBackground", false); 
    run("Convert to Mask"); 
    run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add"); 
    selectWindow("originalgreen" + imgName); 
    roiManager("Show All with labels"); 
    run("Flatten"); 
    saveAs("Tiff", greenDir + baseName + "overlaygreen.tif"); 
     close(); 
    } 
} 

for (i=0; i<list.length; i++) { 
    if (endsWith(list[i], ".tif")){ 
       print(i + ": " + dir+list[i]); 
      open(dir+list[i]); 
      imgName=getTitle(); 
     baseNameEnd=indexOf(imgName, ".tif"); 
     baseName=substring(imgName, 0, baseNameEnd); 

    run("Split Channels"); 
    roiManager("Reset"); 


     selectWindow("C2-" + imgName); 
    run("Duplicate...", "title="); 
    saveAs("Tiff", blueDir + "originalblue" + baseName); 
    selectWindow("C2-" + imgName); 
    //run("Threshold..."); 
    //setThreshold(23, 255); 
    setOption("BlackBackground", false); 
    run("Convert to Mask"); 
    run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add"); 
    selectWindow("originalblue" + imgName); 
    roiManager("Show All with labels"); 
    run("Flatten"); 
     saveAs("Tiff", blueDir + baseName + "overlayblue.tif"); 
     run("Close All"); 
    } 
} 
関連する問題