MATLAB Answers

How to add certain elements of an array

7 views (last 30 days)
Alan Keenan
Alan Keenan on 25 Aug 2020
Commented: Alan Keenan on 25 Aug 2020
I have two 200 x 200 arrays of pixel values.
They are all negative values representing -dB values
All of the signal pixel values are >= -20.
All other pixel values (no signal) have been forced to -60.
I want to add both arrays so that only the signal pixels are added to have a summated signal intensity.
This relates to TFM imaging in Ultrasonics.

  2 Comments

MaHa
MaHa on 25 Aug 2020
Convert your -60 values into NaNs :
noSignal = find(A == -60);
A(noSignal = NaN);
Then do your addition
Alan Keenan
Alan Keenan on 25 Aug 2020
Thanks for your answer, however, there appears to be a problem with the syntax of A(noSignal = NaN);
I entered
noSignal = find(img_dbLL == -60);
img_dbLL(noSignal = NaN);
When trying to run, I get the following message:
Incorrect use of '=' operator. To assign a value to a variable, use '='. To compare values for equality, use
'=='.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 25 Aug 2020
Edited: Matt J on 25 Aug 2020
I'll call your two arrays A and B.
map=A<-20 | B<-20;
result=A+B;
result(map)=-60;

  3 Comments

Alan Keenan
Alan Keenan on 25 Aug 2020
Thanks, this works, however, I had to do result=A-B as adding the 2 negative numbers gave a smaller summed signal intensity.
Matt J
Matt J on 25 Aug 2020
You're welcome, but please Accept-click the asnwer if your issue is resolved.

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!