If yes, Please share, if not than also a response would be appreciated.
Please clarify with a minimal working example:
- presumably you want to pad with
0
s, but how? rows, columns, above, below, … - what would you do with the result? you may be much better off with sparse matrices.
The padarray
function in the Images
package might be what you are looking for.
E.g.
julia> using Images
julia> x = [1 2 3;4 5 6]
2×3 Array{Int64,2}:
1 2 3
4 5 6
julia> y = padarray(x, Pad(1, 1))
OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}} with indices 0:3×0:4:
1 1 2 3 3
1 1 2 3 3
4 4 5 6 6
4 4 5 6 6
https://github.com/JuliaArrays/PaddedViews.jl
if you want a view
Where exactly is this padarray in the images package? I could not find it.
ImageFiltering.jl has one for sure…
EDIT: For reference, here’s the docs for padarray: https://juliaimages.github.io/latest/function_reference.html#ImageFiltering.padarray
It lives in ImageFiltering.jl but is exported when using Images
as @GunnarFarneback pointed out above.
You can use resample function in FourierTools package.
https://bionanoimaging.github.io/FourierTools.jl/dev/resampling/
The advice from @Gnimuc to use PaddedViews.jl seems pretty good:
using PaddedViews
a = rand((sqrt(2),im), 3, 3)
b = PaddedView(π, a, (4, 5))
1.41421 im im π π
im im 1.41421 π π
1.41421 1.41421 im π π
π π π π π