2016-03-16 6 views
0

У меня проблема с получением имени файла из стека изображений в ImageJ. я написал плагин, который может быть использован на стеках изображений и дающий результат вывода для каждого изображения в стеке с:ImageJ- как получить slicename из фактически обработанного изображения в imagestack

if (mfpc == true) { 
      IJ.log(fileName+": Good"); 
     } else { 
      IJ.log(fileName+": Bad"); 
     } 

GetTitle() работает для одиночных изображений, но только показывает стек-имя для стеков, а не имя фактического фрагмента.

я также пытался получить имя ломтика с помощью следующего кода

fileName = imp.getImageStack().getShortSliceLabel(imp.getCurrentSlice()); 

, но это только показывает выбранный в данный момент картину, не картина, которая обрабатывается с помощью плагина. Мой выдавать желаемое за действительное является следующий вывод (в то время как имя файла Imagex.png):

  • Image1.png: Хорошо
  • Image2.png: Bad
  • Image3.png: Хорошо

Это возможно, и если да, то как? :)

ответ

0

Грязный способ решить проблему: запустите Stack to Images, сохраните все имена в массиве, закройте все изображения, откройте свой стек еще раз.

Вот фрагмент кода на языке макросов ImageJ:

setBatchMode(true); 

open("your_stack.tif") 

n=nSlices; 
titles=newArray(n); 

run("Stack to Images"); 

// for every image (slice of the stack) 
for(cpt=0;cpt<n;cpt++){ 
    titles[cpt]=getTitle(); //get its title 
    close(); //then close it so focus goes to the next image 
} 

Array.print(titles);