How to add certain elements of an array

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 件のコメント

MaHa
MaHa 2020 年 8 月 25 日
Convert your -60 values into NaNs :
noSignal = find(A == -60);
A(noSignal = NaN);
Then do your addition
Alan Keenan
Alan Keenan 2020 年 8 月 25 日
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
'=='.

サインインしてコメントする。

 採用された回答

Matt J
Matt J 2020 年 8 月 25 日
編集済み: Matt J 2020 年 8 月 25 日

0 投票

I'll call your two arrays A and B.
map=A<-20 | B<-20;
result=A+B;
result(map)=-60;

3 件のコメント

Alan Keenan
Alan Keenan 2020 年 8 月 25 日
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 2020 年 8 月 25 日
You're welcome, but please Accept-click the asnwer if your issue is resolved.
Alan Keenan
Alan Keenan 2020 年 8 月 25 日
Done, cheers.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2019b

質問済み:

2020 年 8 月 25 日

コメント済み:

2020 年 8 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by