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

问题描述 投票:0回答:1

我想找到结果表中某一列的中值。我使用以下方法将列作为数组拉出:

Table.getColumn (Column);

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

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

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

我正在努力寻找任何类型的中值函数。有人有什么想法吗?

交叉发布于 RedditImage.sc 论坛

arrays math median imagej fiji
1个回答
0
投票

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
}
© www.soinside.com 2019 - 2024. All rights reserved.