如何在 FIJI/ImageJ 中计算数组的中位数?

How to calculate median of an array in FIJI/ImageJ?

提问人:Nathan Stutzman 提问时间:9/8/2023 更新时间:9/8/2023 访问量:51

问:

我想在“结果”表中查找列的中值。我使用以下方法将列作为数组拉出:

Table.getColumn (Column);

所以现在我只需要知道如何找到这个数组的中值。我知道那件事:

Array.getStatistics(array, min, max, mean, stdDev)

可以返回其他汇总统计信息,但由于某种原因,它没有中位数。

我正在努力寻找任何类型的中位数函数。有人知道吗?

交叉发布自 RedditImage.sc 论坛

数组 数学 中位数 图像J 斐济

评论


答:

0赞 quantixed 9/8/2023 #1

OP 在 image.sc 上得到了答案,我在下面复制了答案,供其他人寻找这个问题的答案。

您可以使用现有数组轻松找到数组的中位数 功能。您可以使用: - 排序数组,它必须 包含所有数字或所有字符串。字符串排序不区分大小写。 (内置宏函数)来组织您的数组。这是一些宏 返回数组中值的函数的代码。Array.sort(array)

array1=newArray(3,5,9,2,7);
array2=newArray(10,3,7,9);

print(median(array1));
print(median(array2));


function median(x){
    x=Array.sort(x);
    if (x.length%2>0.5) {
        m=x[floor(x.length/2)];
    }else{
        m=(x[x.length/2]+x[x.length/2-1])/2;
    };
    return m
}