Is there a two-dimensional sinc interpolation software?

14 views (last 30 days)
Hello everyone. I have found this package of software. I am interested in doing a two-dimensonal sinc interpolation as defined in the diapositives 15 to 18 of this presentation. Unfortunately. I haven't found anything.
Can anybody point me to some code that might work?
Best regards.
Jaime.

Accepted Answer

Star Strider
Star Strider on 30 Sep 2021
One-dimensional sinc interplation is described in Ideal Bandlimited Interpolation. It may be possible to adapt it to a 2D problem.
.
  2 Comments
Matt J
Matt J on 30 Sep 2021
Edited: Matt J on 30 Sep 2021
Yes, it is possible, but this is only valid for plaid upsampling, not arbitrary interpolation.
Image=double(imread('cameraman.tif'));
M=length(Image);
t=1:M;
dt=0.2;
ts = -M:dt:2*M;
[Ts,T] = ndgrid(ts,t);
A=sinc(Ts - T);
A([1:M/dt,end+1-M/dt:end],:)=[];
ImageInterpolated = A*Image*A.';
whos Image ImageInterpolated
Name Size Bytes Class Attributes Image 256x256 524288 double ImageInterpolated 1281x1281 13127688 double
imshow(ImageInterpolated,[])
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis on 30 Sep 2021
That is great, since I have a grid of size 19*13 with values of temperature and I want to find an equation using this sinc interpolation to have a function to describe said field. Is there a way to adapt this code so that instead of an image, a matrix is introduced and the resulting expressin can be read?

Sign in to comment.

More Answers (2)

Matt J
Matt J on 30 Sep 2021
Since interpolation is commonly approximated by cubic spline interpolation, which you have an option for in interp2.
Vq = interp2(X,Y,V,Xq,Yq,'spline');
  1 Comment
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis on 30 Sep 2021
Thanks for the answer. Is there a way to find the equation used to build said interpolation?

Sign in to comment.


Nikeet Pandit
Nikeet Pandit on 10 May 2022
We know that Fourier is a seperable transform... so if we want to do a Fourier 2D transform its equivalent to doing 1D transform on rows and then columns. I assume then this property holds for sinc interpolation... So I adapted the 1D example for sinc interpolation they provide on the sinc(x) documentation ... and then I applied the interpolation to the rows and then interpolation to the columns and it seemed to work

Categories

Find more on Interpolation in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!