Binning
Often we want to bin the data (sum pixels) in microscopy
MicroscopyTools.bin — Functionbin(arr, binning)Bins a arr by the factors given in binning.
For efficient 2 binning, see bin2.
Examples
Simple Usage
julia> bin([1 2 3 4; 5 6 7 8], (2, 2))
1×2 Matrix{Int64}:
14 22
julia> bin(ones((4, 4)), (2, 4))
2×1 Matrix{Float64}:
8.0
8.0
julia> bin([1,2,3,4,5], (2,))
2-element Vector{Int64}:
3
7You can leave out trailing 1s
julia> bin(ones((2,2,2)), (2,))
1×2×2 Array{Float64, 3}:
[:, :, 1] =
2.0 2.0
[:, :, 2] =
2.0 2.0
julia> bin(ones((2,2,2)), (2,)) == bin(ones((2,2,2)), (2,1,1))
trueMicroscopyTools.bin2 — Functionbin2(arr)Essentially calls bin(arr, (2,2)). However, works only for Union{AbstractArray{T, 2}, AbstractArray{T, 3}} where T since we use specialized methods of Tullio for that.
Examples
julia> x = [1 2 3 4; 5 6 7 8]
2×4 Matrix{Int64}:
1 2 3 4
5 6 7 8
julia> bin2(x)
1×2 Matrix{Int64}:
14 22
julia> bin2(x) ≈ bin(x, (2,2))
true