function [data,labels]= gmm(num_samples,num_clusters,dim,num_indicators,ind_strength)
parameters.dim = dim;
parameters.num_samples(1)=num_samples(1);
parameters.num_samples(2)=num_samples(2);
parameters.num_clusters(1)=num_clusters(1);
parameters.num_clusters(2)=num_clusters(2);
parameters.num_indicators=num_indicators;
parameters.range=[0,5000];
parameters.indicator_strength=ind_strength;
parameters.indicator_var=300;
parameters.max_var=500^2;

[data,labels]=generate_gmm_data(parameters);

% figure;
% hold on;
% for i=1:size(data,1),
%     if(labels(i)==1) plot3(data(i,1),data(i,2),data(i,3),'r+','MarkerSize',2);
%     else plot3(data(i,1),data(i,2),data(i,3),'g+','MarkerSize',2);    
%     end
% end

% 
% figure;
% hold on;
% for i=1:size(data,2),
%     plot3(data(1,i),data(2,i),data(3,i),'r+','MarkerSize',2);
% end


%unsupervised clustering on class 1

%  [h1, mu1, sigmas1, P1] = em(parameters.num_clusters(1), data(1:parameters.num_samples(1),:));
%  [h2, mu2, sigmas2, P2] = em(parameters.num_clusters(2), data(parameters.num_samples(1)+1:size(data,1),:));
% 
%  for i=1:size(mu1,1),
%      plot3(mu1(i,1),mu1(i,2),mu1(i,3),'r+','MarkerSize',10);
%  end
% 
%  for i=1:size(mu2,1),
%      plot3(mu2(i,1),mu2(i,2),mu2(i,3),'g+','MarkerSize',10);
%  end
 
% b1 = vector_quant(data(1:parameters.num_samples(1),:)',parameters.num_clusters(1));
% b2 = vector_quant(data(parameters.num_samples(1)+1:size(data,1),:)',parameters.num_clusters(2));
% 
% for i=1:size(b1,2),
%     plot3(b1(1,i),b1(2,i),b1(3,i),'r+','MarkerSize',10);
% end
% 
% for i=1:size(b2,2),
%     plot3(b2(1,i),b2(2,i),b2(3,i),'g+','MarkerSize',10);
% end
