Closed zygmuntszpak closed 5 years ago
using Images, TestImages, ImageFiltering, OffsetArrays img1 = Gray{Float64}.(testimage("mandrill")) img2 = OffsetArray(img1, 3, 0) sigma = 1.0 N = 2 kerng = KernelFactors.IIRGaussian(sigma) kern = ntuple(d->kerng, Val(N)) # Error img_smoothed_main = imfilter(img2, kern, NA())
The error is:
julia> img_smoothed_main = imfilter(img2, kern, NA()) ERROR: BoundsError: attempt to access Base.Slice{UnitRange{Int64}} with indices 4:515 at index [1:3] Stacktrace: [1] throw_boundserror(::Base.Slice{UnitRange{Int64}}, ::Tuple{UnitRange{Int64}}) at ./abstractarray.jl:492 [2] checkbounds at ./abstractarray.jl:457 [inlined] [3] getindex at ./indices.jl:302 [inlined] [4] _imfilter_dim!(::ComputationalResources.CPU1{ImageFiltering.Algorithm.IIR}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9}, ::CartesianIndices{0,Tuple{}}, ::Base.Slice{UnitRange{Int64}}, ::CartesianIndices{1,Tuple{Base.Slice{UnitRange{Int64}}}}, ::Fill{Gray{Float64},0}) at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:1306 [5] _imfilter_inplace_tuple! at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:1269 [inlined] [6] imfilter!(::ComputationalResources.CPU1{ImageFiltering.Algorithm.IIR}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::Tuple{ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9},ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9}}, ::Fill{Gray{Float64},0}) at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:1226 [7] imfilter_na_separable! at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:1448 [inlined] [8] _imfilter_na!(::ComputationalResources.CPU1{ImageFiltering.Algorithm.IIR}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::Tuple{ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9},ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9}}, ::NA{0}) at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:676 [9] imfilter! at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:663 [inlined] [10] imfilter!(::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::Tuple{ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9},ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9}}, ::NA{0}, ::ImageFiltering.Algorithm.IIR) at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:612 [11] imfilter at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:606 [inlined] [12] imfilter(::OffsetArray{Gray{Float64},2,Array{Gray{Float64},2}}, ::Tuple{ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9},ImageFiltering.KernelFactors.TriggsSdika{Float64,3,3,9}}, ::NA{0}) at /home/zygmunt/.julia/packages/ImageFiltering/bMda8/src/imfilter.jl:5 [13] top-level scope at none:0
I believe I have a fix for this, but I still need to add more tests before I make a pull request.
The error is: