You might want to try Images.jl anyway–I don’t think it has any particular restrictions to 2-dimensional arrays (that’s one of it’s best features, in my opinion).

Using interpolations directly, you just need to give the right range indices. `1:0.5:2`

is a range with values `[1, 1.5, 2]`

, which is why you end up with 3 (instead of 4) rows in the result. If you want 4 elements in your range, you just need to pick the appropriate step size. In this case, it would be exactly `1/3`

which you can represent as an exact Rational number in Julia with `1//3`

:

```
julia> length(1 : 1//3 : 2)
4
```

And you can use that range for to index into the interpolation:

```
julia> A[1:1//3:2, 1]
4-element Array{Float64,1}:
1.0
3.0
5.0
7.0
```

you can do the same with the column indices:

```
julia> A[1:1//3:2, 1:5//11:6]
4×12 Array{Float64,2}:
1.0 1.90909 2.81818 3.0 3.0 3.27273 3.72727 4.18182 4.63636 5.09091 5.54545 6.0
3.0 3.75758 4.51515 4.78788 4.93939 5.27273 5.72727 6.18182 6.63636 7.09091 7.54545 8.0
5.0 5.60606 6.21212 6.57576 6.87879 7.27273 7.72727 8.18182 8.63636 9.09091 9.54545 10.0
7.0 7.45455 7.90909 8.36364 8.81818 9.27273 9.72727 10.1818 10.6364 11.0909 11.5455 12.0
```