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
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.
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.

Categories

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!