How to add certain elements of an array

2 views (last 30 days)
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
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)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!