Eliminates the small components of a GMixture.
Produces a Gaussian mixture removing the small components of the input
mixture.
Parameters:
gm: The input mixture.
t: Weight threshold. Components with a weight with absolute value
below this threshold are removed.
Outputs:
gmOut: The mixture resulting from removing the small components.
map: Vector indicating which elements in the input mixture are used
in the output one (map(i)=j if the i-th component of the output
mixture is the j-th component of the input mixture).
0001 function [gmOut map]=RemoveSmallComponents(gm,t)
0002 % Eliminates the small components of a GMixture.
0003 %
0004 % Produces a Gaussian mixture removing the small components of the input
0005 % mixture.
0006 % Parameters:
0007 % gm: The input mixture.
0008 % t: Weight threshold. Components with a weight with absolute value
0009 % below this threshold are removed.
0010 % Outputs:
0011 % gmOut: The mixture resulting from removing the small components.
0012 % map: Vector indicating which elements in the input mixture are used
0013 % in the output one (map(i)=j if the i-th component of the output
0014 % mixture is the j-th component of the input mixture).
0015
0016 map=find(abs(gm.w)>t);
0017 gmOut=GMixture(gm.w(map),gm.g(map));
0018