Effacer les filtres
Effacer les filtres

Detecting samples greater than a threshold and grouping.

4 vues (au cours des 30 derniers jours)
Anum Ahmed Pirkani
Anum Ahmed Pirkani le 29 Juin 2020
Hi all,
Lets say we have a vector: A = [1 2 3 5 2 3 5 2 5 3 10 8 9 11 14 1 4 3 3 4 5 3 2 3 4 5 6 4 2 2 3 4 5 6 6 2 2 3 4 11 23 12 56 23 12 34 12 1 3 4 1 2 3 4 5 ];
In the vector, I have applied a threshold of A>5 for detection of any samples greater than 5. So I detect all the bold samples.
However, as a second step, I want to group these samples. As in, first bold set goes to group 1 and second bold set goes to group 2 (All the consecutive samples goes to same group). How can I do it in Matlab in a way that their original indices in vector A are preserved?
Kind Regards
Anum
  2 commentaires
the cyclist
the cyclist le 29 Juin 2020
What specifically would you want the output to be, for that input vector A? "Goes to a group" is not enough information to design an algorithm.
Anum Ahmed Pirkani
Anum Ahmed Pirkani le 29 Juin 2020
It can be something like this
Group1val = [10 8 9 11 14]; %group 1 values greater than threshold
Group1ind = [11 12 13 14 15]; %group 1 indices with values greater than threshold
Group2val = [11 23 12 56 23 12 34 12]; %group 2 values greater than threshold
Group2ind = [40 41 42 43 44 45 46 47]; %group 2 indices with values greater than threshold
Indices can be obtained using the find command i.e.
Indices = find(A>5);
But as a next step, I want to seperate them into (in this case) two groups. This is decided if there are 5 values less than the threshold between the groups (in this case there are 24 values less than the threshold between these two groups).

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 29 Juin 2020
What you want is bwlabel(), in the Image Processing Toolbox:
A = [1 2 3 5 2 3 5 2 5 3 10 8 9 11 14 1 4 3 3 4 5 3 2 3 4 5 6 4 2 2 3 4 5 6 6 2 2 3 4 11 23 12 56 23 12 34 12 1 3 4 1 2 3 4 5 ];
[groups, numGroups] = bwlabel(A > 5)
groups =
Columns 1 through 27
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 2
Columns 28 through 54
0 0 0 0 0 0 3 3 0 0 0 0 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0
Column 55
0
numGroups =
4
  1 commentaire
Anum Ahmed Pirkani
Anum Ahmed Pirkani le 29 Juin 2020
Oh brialliant. Thanks a lot... This is exactly what I needed.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by