How to select the range of data based on threshold range of our own choice?

4 ビュー (過去 30 日間)
Dear MATLAB experts,
I want to use only the points corresponding to relatively high amplitudes? (e.g., try -10 to 0 dB or -20 to -10 dB or -30 to -20 on the normalized plots).
In attached imaging data output which veries from -45 to 0 dB.
I want to make 3 classes and plot data in with 3 classes and 3 colors.
.
I lookforward to receive your suggestions. I tried an approach but it gives logical output which is not suitable for my case.
Tahnk you!
  2 件のコメント
Amjad Iqbal
Amjad Iqbal 2022 年 9 月 20 日
Sorry, for my mistake.
I corrected the ranges (-10 to 0 dB or -20 to -10 dB or -30 to -20) in three classes now, as high, medium and low respectively.
Also the .mat file is attached for reference.
load('output_classes.mat'); % data
imagesc(x_vect, y_vect,20*log10(abs(S_VH)/max(max(abs(S_VH)))),[-45 0]),...
axis('equal'),axis('tight'),title('Output'),colormap('jet'),...
colorbar,set(gca,'FontSize',14),grid;
Please have a look, Thank you!

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

採用された回答

Image Analyst
Image Analyst 2022 年 9 月 20 日
Try this:
load('output_classes.mat'); % data
intensity = 20*log10(abs(S_VH)/max(max(abs(S_VH))));
imagesc(x_vect, y_vect, intensity,[-45 0]);
axis('equal');
axis('tight');
title('Output');
cmap = [0,0,0;
1,0,0;
0,1,0;
0,0,1
]
cmap = 4×3
0 0 0 1 0 0 0 1 0 0 0 1
colormap(cmap);
colorbar;
caxis([-40, 0]);
set(gca,'FontSize',14)
grid;
  1 件のコメント
Amjad Iqbal
Amjad Iqbal 2022 年 9 月 20 日
Much appreciated dear @Image Analyst
It's very fast and much accurate method. Thank you for your kind input and providing solution

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

その他の回答 (0 件)

カテゴリ

Find more on Modify Image Colors in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by