2016-04-22 191 views
0

在宏我寫,我想結果從導出插件採用以下結構:ImageJ的宏路徑問題

savePath = newfolder+"\\"+fileid; 
run("Export results", "filepath=savePath fileformat=[CSV (comma separated)]...; 

其中的fileid是一種簡單的文件的名稱從數組中拉出(即「cell_1」)。

在調試控制檯,savePath讀取「C:\用戶\主\目錄... \ FILE.CSV」(即它顯示爲正確指定),但沒有文件是文件夾中指定的輸出。而是將其作爲名爲「savePath」的文件輸出到ImageJ Plugins文件夾中。不過,我手動插入評論裏面的路徑名使用「\」作爲分隔符,它的工作原理。

據我所知,沒有關於ImageJ的是如何處理\與\和/在過去,但我嘗試了一些修正這個問題和他們都沒有工作。事情我已經嘗試過包括:

replace(savePath,"\\","\\\\"); 

以及

var s = File.separator; 
replace(savePath,"\\",s); 

replace(savePath,"\\","/"); 

,沒有工作過。

有趣的是,我用另一個宏使用相同的格式savePath序列中,它工作正常:

directory = getDirectory("Choose input directory"); 
newfolder=directory+fileid; 
run("Image Sequence...", "open=newfolder file=act"); 

那裏,同樣,的fileid是一種簡單的文件的名稱從拉數組(即「cell_1」)。

在這個問題上的任何幫助或解決方法將不勝感激!

回答

1

事實證明這是多與路徑名的格式的問題。路徑名包含一個ImageJ難以識別的空間。將來,我將避免在我的文件夾和文件名中使用空格。此外,輸出宏的正確格式爲

savePath = newfolder+"\\"+fileid; 
run("Export results", "filepath="+savePath+" fileformat=[CSV (comma separated)]...; 

輸入變量時使用「+ ... +」。