我想使用ITCN插件來計算ImageJ環境中使用javascripts的圖像中的nuclie數量。我的舊版(ImageJ 1.49xx)javascript不再有效,因爲所有內容都已更改爲ImageJ1.51xx的Java 8編譯器。在這篇文章的幫助下,(http://forum.imagej.net/t/itcn-threshold-option-missing/1095/3)和這個(ImageJ jar file plugin shortcut creation - More help needed)我取得了一些進展。無法使用ITCN_Runner通過javascript(插件中的可能的錯誤)
下面是一個簡單的示例代碼: -
//importing the requisite packages
importClass(Packages.ij.ImagePlus);
importClass(Packages.ITCN_Runner);
var filename = 'Path/to/8bit/single/channel/.tiff/file'
//make a ImagePlus object
var imp = new ImagePlus(fileName);
//Call ITCN_runner to generate results window
var runner = new ITCN_Runner(imp,
24, /* width*/
12, /* minimum distance */
0.5, /* threshold */
false, /* detect dark peaks */
null /* mask ImagePlus */)
當我運行上面的腳本,我碰到下面的錯誤: -
TypeError: new cannot be used with non-public java type ITCN_Runner.
at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
Followed by several lines...
我的猜測是,這是因爲造成ITCN_.jar中的ITCN_Runner.class沒有將ITCN_Runner類指定爲public。這在Java6中是正常的,但它似乎不再允許在Java 8中使用。
ITCN_Runner.class是否已被源構建器聲明爲公共?或者我在這裏犯了一個錯誤。我該如何解決這個問題。
歡迎任何建議或解決辦法。