2015-11-11 154 views
1

我想在ImageJ中使用批處理腳本批量轉換200多個原始.img文件。我的腳本:ImageJ批量圖像轉換

//-----------Code starts here--------------------- 
dir1 = getDirectory("path/source"); 
dir2 = getDirectory("path/target"); 
list = getFileList(dir1); 
setBatchMode(true); 

for (i=0; i<list.length; i++) { 
     showProgress(i+1, list.length); 
     if(endsWith(list[i],".IMG")) 
     run("Raw...", open=["+dir1+list[i]+"] image=[16-bit Unsigned] width=2048 height=2048 offset=359 number=1 gap=0"); 
     else 
     open(dir1+list[i]); 
     saveAs(format, dir2+list[i]); 
     close(); 
    } 

然而,當我嘗試運行它,我得到以下錯誤:

我不知道爲什麼但是,由於我有一個;關閉線...

enter image description here

回答

5

錯誤消息是誤導,因爲你錯過了你的第二個參數的開頭一個引號(「),以run()

run("Raw...", "open=["+dir1+list[i]+"] image=[16-bit Unsigned] width=2048 height=2048 offset=359 number=1 gap=0"); 

的錯誤消息中的<>字符指示解析器發現意外事件的位置。

我編輯了您的原始代碼以包含語法highlig hting,這有助於找到這種錯誤。斐濟的script editor包含語法高亮顯示,並且在使用ImageJ宏時建議使用。

一般來說,特定ImageJ的,問題是更可能發生在專門的論壇貼出要及時回答:http://forum.imagej.net/

+0

謝謝! :) – MrD