Преобразование макроса ImageJ в плагин
У меня есть несколько концептуальный вопрос, поэтому извиняюсь за неконкретность.
Я биолог и занимаюсь анализом изображений. Я работаю над публикацией методов, которая включает анализ изображений с ImageJ
скрипт, который я разработал и анализ данных с использованием нашего R
пакет. В идеале мы хотели бы опубликовать наши данные, распространить макрос и сделать R
анализ доступен через веб-приложение. Цель состоит в том, чтобы сделать метод доступным для людей с небольшой компьютерной грамотностью.
Поэтому я пытаюсь понять, нужно ли мне превращать свой макрос в плагин. Насколько я понимаю, разработка плагина, скорее всего, ускорит анализ больших наборов данных, будет безопасна при компиляции и позволит выполнять автоматические обновления.
мой ImageJ
макрос довольно прост. Он использует кучу ImageJ
Команды из нескольких уже доступных плагинов.
Интерфейс сделан так, чтобы пользователю не нужно было ImageJ
-Literate, с диалоговыми окнами, чтобы указать входные папки и установить некоторые параметры. Конечным результатом является набор изображений и CSV-файлов, которые могут быть использованы в дальнейшем для анализа в R
, Он также документирует, какой анализ был выполнен, и сохраняет некоторые промежуточные файлы.
Он работал очень хорошо, и я попробовал это на платформах Mac OS, Windows и Linux. Однако с большими наборами данных макрос может стать довольно медленным.
У меня бедный Java
навыки, поэтому разработка плагина займет много времени и обучения с моей стороны.
Поэтому я обдумываю, смогу ли я опубликовать скрипт как он есть, или было бы безответственно выпускать код, который может вызывать ошибки, работает медленно и не обновляется автоматически. Или есть какие-то альтернативы или, возможно, более простые способы конвертировать скрипт в плагин.
Буду очень признателен за любые комментарии или советы!
2 ответа
Поэтому я обдумываю, смогу ли я опубликовать скрипт как он есть, или было бы безответственно выпускать код, который может вызывать ошибки, работает медленно и не обновляется автоматически. Или есть какие-то альтернативы или, возможно, более простые способы конвертировать скрипт в плагин.
Этот вопрос, скорее всего, не по теме для Stackru. Если вы еще этого не сделали, я бы предложил разместить его на форуме ImageJ, который предназначен именно для такого рода дискуссий.
В случае сомнений я бы всегда советовал публиковать ваш код как есть, а не сидеть на нем. Это достаточно хорошо! Если вы смущены, вы можете включить явный отказ от ответственности или даже использовать лицензию, такую как CRAPL, для передачи контекста разработки кода. Хорошо, что вы рассматриваете последствия выпуска испорченного или ошибочного кода, но этого должно быть достаточно, чтобы документировать способы, которыми код не справляется.
Я согласен с вашей оценкой, что разработка макросов ImageJ проще, чем разработка с использованием одного из других поддерживаемых языков сценариев, даже если эти другие языки в конечном итоге более мощные.
Обратите внимание, что вы можете вызывать макросы из сценариев и наоборот. Таким образом, вы можете написать скрипт, а затем вызвать из него свой макрос, если это облегчает задачу.
Также обратите внимание, что ImageJ включает версию R на основе JVM под названием Renjin, хотя документации по его использованию пока нет. Это может потенциально облегчить вашу жизнь в отношении ваших функциональных возможностей на основе R, в зависимости от того, какие пакеты R вы используете (не все из них доступны для Renjin).
Или есть какие-то альтернативы или, возможно, более простые способы конвертировать скрипт в плагин.
Вы можете использовать Macro Recorder для записи на таком языке, как JavaScript. Это значительно облегчает генерацию правильных строк кода для использования на любом из полноценных языков сценариев, часто с минимальными изменениями синтаксиса или без изменений в зависимости от того, на какой язык сценариев вы нацеливаетесь.
Наконец, чтобы распространить ваши функциональные возможности среди конечных пользователей, я настоятельно рекомендую вам ознакомиться со страницей распространения вики-страницы ImageJ, на которой представлены лучшие практики для этого.
Я хотел бы предложить, возможно, пытаясь писать в Jython, так как это немного проще, чем Java. если вы отправите код или письмо по электронной почте, это может дать какой-то совет / я мог бы изменить язык сам, если это не слишком сложно. Трудно сказать, насколько быстрее он будет работать, но должен быть быстрее (зависит от того, что вы пытаетесь сделать)