2013-09-02 7 views
0

У меня есть контур макроса, который я создал, однако он хотел бы сделать несколько более простых функций, которые я не могу понять, как программировать. У меня есть серия изображений, которые я буду импортировать в виде стека. Для каждого изображения я буду использовать многоточечный инструмент, чтобы сделать несколько кликов по различным объектам вручную в каждом изображении. Макрос печатает координаты точек в таблице результатов. Однако каждая «группа/серия» точек в каждом изображении (там будет 4-5 кластеров с 10 + точками), в таблице результатов (по-видимому, через срез?) Нужно будет по-разному помечать по-разному. Например, для каждого изображения я хотел бы пометить первый кластер точек «1» вторым кластером точек «2» и т. Д. Есть ли способ вручную пометить это в окне результатов? В столбце метки я хотел бы сохранить или добавить имя изображения, а не заменять, но добавление этой метки в столбце среза было бы идеальным.ImageJ Macro Labeling Multipoints in Results Window

Это макрос я создал до сих пор ...

macro "Macro 2" { 
getSelectionCoordinates(xCoordinates, yCoordinates); 
for(i=0; i<lengthOf(xCoordinates); i++) { 
setResult("X", i, xCoordinates[i]); 
setResult("Y", i, yCoordinates[i]); 
} 
updateResults(); 

Это работает, за исключением того, что я не могу понять, как маркировать различные «группы/кластеры» точки по-разному для каждого изображения и между изображениями ,

ответ

1

Попробуйте это:

var label = 1; 

macro "Save to Results" { 
    row = nResults; 
    getSelectionCoordinates(xCoordinates, yCoordinates); 
    for(i=0; i<lengthOf(xCoordinates); i++) { 
    setResult("X", i+row, xCoordinates[i]); 
    setResult("Y", i+row, yCoordinates[i]); 
    setResult("Label", i+row, label); 
    setResult("Slice", i+row, getSliceNumber()); 
    } 
    updateResults(); 
} 

macro "Increment label" { 
    label++; 
    showStatus("label = "+label); 
} 

macro "Reset Label" { 
    label = 1; 
    showStatus("label = "+label); 
} 

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