Я пытаюсь использовать плагин ITCN для подсчета количества нукли в моем изображении с помощью javascripts, поддерживаемых средой ImageJ. Мой старый (ImageJ 1.49xx) javascript больше не работает, потому что все было изменено на компилятор Java 8 для ImageJ1.51xx. С помощью этого поста (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_Runner.class в ITCN_.jar не указывает класс ITCN_Runner как общедоступный. Это было хорошо в Java6, но больше не разрешено в Java 8.
Должен ли ITCN_Runner.class объявлен публичным источником-источником? Или я ошибаюсь здесь. Как я могу исправить эту проблему.
Любые предложения или обходные пути приветствуются.