0

我有我创建的宏的大纲,但是希望它执行一些我不知道如何编程的更简单的功能。我有一系列图像,我将作为堆栈导入。对于每张图片,我将使用多点工具在每张图片中手动点击不同的对象。宏打印结果表中点的坐标。然而,每个图像中的每个“组/系列”点(将有 4-5 个 10 多个点的集群)需要在结果表中进行不同的标记(可能通过切片??)。例如,对于每个图像,我想将第一个点簇标记为“1”,第二个点簇标记为“2”等。有没有办法在结果窗口中手动标记它?在我想保留或添加到图像名称的标签列中,

这是我到目前为止创建的宏...

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

它有效,除了我无法弄清楚如何为每个图像和图像之间不同地标记点的不同“组/集群”。

4

1 回答 1

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);
}

它使用标签的全局变量和其他宏来操作它。

于 2013-09-03T06:52:35.900 回答