在 ImageJ 中按索引编号打印数组项(斐济)

Printing Array Items by Index Number in ImageJ (Fiji)

我想知道如何通过索引号访问数组中的项目。我写了一个脚本,它将生成一个数组,其中包含一些变量。 imageJ 邮件列表存档中有一个旧脚本(如下所示),它能够打印数组中已知值的给定索引值,但是有没有办法在数组本身中找到该值? IE。如果我让用户输入应该在数组中的值的数量,我可以让宏从中调用数组中的值吗?

我的数组生成器:

Dialog.create("Time Point Input");
Dialog.addNumber("How many time points?", 0)
Dialog.addString("What are your time points (comma separated, no spaces)?:",0);
Dialog.show();
time = Dialog.getNumber();
points = Dialog.getString();
Fpoints = newArray(points);

读数可能类似于:

time = 4
points = 5,10,12,27

Fpoints[0] = 5
Fpoints [1] = 10
Fpoints [2] = 12
Fpoints [3] = 27

从数组数值中调用索引示例代码:

arr = newArray(1,5,3,12); 
i = index(arr, 5); 
print("index = "+i); 

  function index(a, value) { 
      for (i=0; i<a.length; i++) 
      if (a[i]==value) return i; 
  return -1; 
 } 

谢谢!

我不是 100% 确定我是否答对了你的问题。

but is there a way to find the value within the array itself?

问题是您不能使用 points 创建数组,因为它是一个字符串。 尝试一些链接:

Fpoints = split(points, ',');

然后你可以用循环遍历 Fpoints,或者使用你的索引函数来获取给定值的索引。

for (i = 0; i < Fpoints.length; i++) {
    print(Fpoints[i]);
}