Excluding NaNs in resize

Hi
I want to resize 2 arrays, A and B, to make them the same size.
BUT, array B has a lot of NaN value.
So, I only want to resize A to fit the numerical data in B, excluding the NaN values.
% The CODE to resize
C = imresize(A, size(B));
% How can I modify the size(B) part to exclude the NaN during the resize process?

Answers (1)

KSSV
KSSV on 22 Apr 2020

0 votes

You can fill the NaN's using fillmissing. And then use resize the way you want.
You can use interp2 to get them to the same size.

5 Comments

SuzieChan
SuzieChan on 22 Apr 2020
Edited: SuzieChan on 22 Apr 2020
Hi. I want to ignore NaN. I don't want to fill them.
KSSV
KSSV on 22 Apr 2020
You have entire rows and columns as NaN?
Yes. I literally want the imresize to ignore the NaN data in B when resizing image A, so the data in A are only resized onto numerical data in B.
SuzieChan
SuzieChan on 22 Apr 2020
Edited: SuzieChan on 22 Apr 2020
I could convert the NaN to 0 and maybe there is some code to ignore the 0 when doing the imresize?
Remove rows and columns with NaN.
A(all(isnan(A),2),:) = [] ; % remove in NaN's rows
A(all(:,isnan(A),1)) = [] ; % remove rows in columns

Sign in to comment.

Tags

Asked:

on 22 Apr 2020

Commented:

on 22 Apr 2020

Community Treasure Hunt

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

Start Hunting!