2011-01-25 3 views
0

Я работаю над проектом биологии развития, обозначающим различные ядерные маркеры вместе с пятном DAPI, чтобы определить процент маркерного выражения. Я обнаружил, что плагин ImageJ ITCN (http://rsbweb.nih.gov/ij/plugins/itcn.html) отлично подходит для каждого маркера при использовании программы CLAHE. Моя проблема заключается в том, что у меня есть около 6000 изображений для анализа, и я хотел бы иметь возможность автоматизировать процесс. Я записал макрос, такие как следующие (который сам по себе может быть зациклена на отдельные файлы изображений):ImageJ jar файл плагин ярлык создание

open("image"); 
run("8-bit"); 
run("CLAHE"); 
run("ITCN "); 
close(); 

но ITCN значок обыкновения начать анализировать автоматически, и не существует легко программируются кратчайший, чтобы сделать работу. Я совершенно незнаю с любым программированием на Java, и мне было бы интересно узнать, есть ли вообще возможность обойти эту вероятную проблему.

Заранее спасибо Майкл

ответ

1

ITCN плагина реализован в виде PlugInFrame и его параметры не записываемые, как вы открыли. Однако, глядя на источник, кажется, что плагин просто использует другой класс под названием ITCN_Runner после того, как он собрал параметры, которые вы сможете запрограммировать.

Однако вы не можете сделать это на макроязыке. Вероятно, самой простой альтернативой является использование встроенного скрипта JJJJ ImageJ. Например, запустите Macro Recorder, как обычно, но выберите «JavaScript» в левом верхнем углу. Тогда первые несколько команд появляются для меня (с некоторым переформатированием для ясности), как:

imp = IJ.openImage("/home/mark/test.tif"); 
IJ.run(imp, "8-bit", ""); 
IJ.run(imp, 
     "Enhance Local Contrast (CLAHE)", 
     "blocksize=127 histogram=256 maximum=3 mask=*None* fast_(less_accurate)"); 

Затем, если вы посмотрите на исходном коде ITCN плагина вы можете увидеть, как создать ITCN_Runner класс и запустить его - например:

runner = new ITCN_Runner(imp, 
          1, /* width*/ 
          5.0, /* minimum distance */ 
          0, /* threshold */ 
          false, /* detect dark peaks */ 
          null /* mask ImagePlus */) 
runner.run() 

Это производит вывод в другом окне, которое имеет такое же название, но с приставкой "Results ".

0

Спасибо, Марк.

К сожалению, при запуске java-скрипта возникает ошибка.

ReferenceError: "ITCN_Runner" не определен. (№ 6) в строке № 6

Сообщается, что в строке бегуна ITCN есть неизвестный источник. Я не могу сказать, является ли это проблемой для кода, тот факт, что я просто скопировал и вставил ваш в рекордер, не входя в исходный код, чтобы сделать это, или сам бегун ITCN.

Еще раз спасибо,

Майкл

+0

@Micheal L Я знаю, что это было долгое время. У меня похожая проблема. У вас была возможность его решить – Lune3414

Смежные вопросы