Inplace clamp
This commit is contained in:
parent
10e3f2c990
commit
8778119792
@ -323,15 +323,20 @@ end
|
|||||||
|
|
||||||
|
|
||||||
# # images - grays
|
# # images - grays
|
||||||
clamp_greys(mat::AMat{T}) where T<:Gray = Gray.(clamp!([m.val for m in mat], 0, 1))
|
function clamp_greys!(mat::AMat{T}) where T<:Gray
|
||||||
|
for i in eachindex(mat)
|
||||||
|
mat[i].val < 0 && (mat[i] = Gray(0))
|
||||||
|
mat[i].val > 1 && (mat[i] = Gray(1))
|
||||||
|
end
|
||||||
|
mat
|
||||||
|
end
|
||||||
|
|
||||||
@recipe function f(mat::AMat{T}) where T<:Gray
|
@recipe function f(mat::AMat{T}) where T<:Gray
|
||||||
n, m = size(mat)
|
n, m = size(mat)
|
||||||
if is_seriestype_supported(:image)
|
if is_seriestype_supported(:image)
|
||||||
seriestype := :image
|
seriestype := :image
|
||||||
yflip --> true
|
yflip --> true
|
||||||
any(x-> x.val<0 || x.val >1, mat) && (mat = clamp_greys(mat))
|
SliceIt, 1:m, 1:n, Surface(clamp_greys!(mat))
|
||||||
SliceIt, 1:m, 1:n, Surface(mat)
|
|
||||||
else
|
else
|
||||||
seriestype := :heatmap
|
seriestype := :heatmap
|
||||||
yflip --> true
|
yflip --> true
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user