Плагин fiji: исключение imgOpener (класс scifio)

Я использую Фиджи впервые, мне нужно открыть изображение как FloatType, поэтому я следовал примеру, найденному здесь http://fiji.sc/wiki/index.php/ImgLib2_Examples#Example_1b_-_Opening_an_ImgLib2_image, но я получаю эту ошибку:

WARN: Ignoring non-Maven build directory: /home/utente/workspace/my_project/bin
Exception in thread "main" java.lang.IllegalArgumentException: No compatible service:  io.scif.SCIFIOService
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:222)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:176)
at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:153)
at org.scijava.Context.<init>(Context.java:200)
at org.scijava.Context.<init>(Context.java:127)
at org.scijava.Context.<init>(Context.java:116)
at io.scif.img.AbstractImgIOComponent.<init>(AbstractImgIOComponent.java:65)
at io.scif.img.ImgOpener.<init>(ImgOpener.java:99)
at SGP_db.StartingJFrame.getGn(StartingJFrame.java:216)
at Plugin.SGP_deblurring_boundary.main(SGP_deblurring_boundary.java:58)

Не могу понять, почему я получаю эту ошибку, есть идеи?

Спасибо,

Сара


person pips    schedule 04.12.2013    source источник
comment
Не могли бы вы подробнее рассказать о том, как устроен ваш проект? Вы используете Эклипс? Пытаетесь запустить из редактора сценариев Фиджи? Используете другую IDE? Или запускать из командной строки?   -  person ctrueden    schedule 05.12.2013
comment
Я использую Eclipse для написания и запуска моей программы. Возможно, я допустил ошибку при настройке пути сборки моего проекта. В любом случае я решил импортировать класс ImgOpener из imglib2.io.   -  person pips    schedule 05.12.2013


Ответы (1)


Это почти наверняка проблема пути сборки в Eclipse. Используете ли вы плагин M2E для управления своими проектами?

Если вы не уверены или не уверены, следуйте инструкциям на веб-сайте Фиджи по адресу:

Я бы настоятельно рекомендовал не манипулировать JAR-файлами вручную в проектах, отличных от Maven Eclipse. Интеграция с Eclipse Maven сделает вашу жизнь намного проще. Подробнее см.:

Я решил импортировать класс ImgOpener из imglib2.io

Обратите внимание, что imglib2-io больше не существует; современный способ доступа к ImgOpener состоит в том, чтобы вместо этого использовать библиотеку io.scif:scifio. Если вы основываете свою работу на примерах ImgLib2, обратите внимание, что вы можете получить исходный код с GitHub, который включает в себя Maven POM с указанием правильных зависимостей. Начните оттуда или из проекта minimal-ij1-plugin, если вам нужно использовать ImageJ. 1.x подпрограммы, а также.

person ctrueden    schedule 10.12.2013
comment
Большое спасибо! У меня уже была интеграция с maven; достаточно было исправить некоторые предупреждения о моем каталоге проекта и включить файл pom, теперь он работает! - person pips; 12.12.2013
comment
Теперь с eclipse я могу правильно скомпилировать и запустить плагин, но при запуске его на Фиджи я получаю исключение ArrayIndexOutOfBoundsException:3 при открытии tif-изображения (0 с jpg) в RandomAccessConverter.getPosition(122) из ​​RandomAccessConverter.populatePlane(86). Я просто использую метод: new ImgOpener().openImg(filePath, new ArrayImgFactory(), new FloatType()), как показано в примерах. Надеюсь, вы можете мне помочь, поиск в сети ничего не дал @crueden - person pips; 13.12.2013
comment
Вероятно, это связано с тем, что Фиджи до сих пор поставляет SCIFIO 0.7.1, а не версия 0.7.4. Тем временем было исправлено множество ошибок, в том числе связанных с изображениями RGB. Не могли бы вы протестировать SCIFIO 0.7.4 (удалите scifio-0.7.1.jar в папке jars и вместо этого поместите туда scifio-0.7.4) и сообщите мне, если это исправлено? Если да, я загружу эту версию на Фиджи. Спасибо! - person ctrueden; 16.12.2013
comment
@sara На самом деле, это может быть активная ошибка. См. GitHub issue #111. Если вы хотите получать информацию о прогрессе, просто напишите комментарий к проблеме, и GitHub начнет отправлять вам электронные письма, когда проблема изменится. - person ctrueden; 16.12.2013
comment
вы были правы... было достаточно изменить файл jar на версию 0.7.4 и файл jar scijava-common на версию 2.6.1, большое спасибо! - person pips; 17.12.2013