Skip to content

If raster contains a single NaN Linear() works but Cubic() returns all NaNs #587

Open
@alex-s-gardner

Description

@alex-s-gardner

I'm seeing issues when using Cubic interpoaltion of data that contains NaN values. Here's what I see:

using Interpolations
A = rand(100,100);
x = 1:100;
y = 1:100;
interp = Cubic();

itp = Interpolations.extrapolate(Interpolations.scale(Interpolations.interpolate(A, BSpline(interp)), x, y), NaN);

itp has no NaN values

julia> sum(isnan.(itp.itp))
0

add a NaN value

 A[1,1] = NaN
itp = Interpolations.extrapolate(Interpolations.scale(Interpolations.interpolate(A, BSpline(interp)), x, y), NaN);

now all itp values are NaNs

julia> sum(isnan.(itp.itp))
10000

change interp to Linear

interp = Linear();
 itp = Interpolations.extrapolate(Interpolations.scale(Interpolations.interpolate(A, BSpline(interp)), x, y), NaN);

now itp contains only a single NaN

julia> sum(isnan.(itp.itp))
1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions