2017-05-17 16 views
0

을 통해 입자 분석의 개요를 버리는 것이 그 것이다오류가 내가 ImageJ에 매크로를 작성하는 것을 시도하고 원본 이미지

열기 1) 두 채널 2) 각 이미지를 입자 분석을 수행으로 이미지를 분할 측정 값 저장 3) 오버레이 된 입자 외곽선이있는 원본 이미지 저장

지금까지 원본 이미지를 복제해야만 ROI를 나중에 저장할 수 있습니다. 그러나 나는 순간 내가 나중에 평탄화를 선택할 수 있도록이 중복 된 이미지의 이름을 변경하는 방법을 알아낼 수 없습니다 : 이것은 매우 간단한 일 경우 사전에

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(); 

죄송합니다,이 모두 나에게 매우 새로운 인터넷 검색을 배웠습니다!

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"); 
    } 
}