%add the path to the toolbox (we can't save pathes on a CSL installation machine) addpath(genpath('/afs/cs.wisc.edu/p/zhu/public/html/space2/TTP2/advanced_image_selection/bin/toolbox')) %toolbox_compile %read the file with feature vectors! radiusOfGaussian = 25; filename = 'histogram.txt'; X = []; IDS = []; fid = fopen(filename, 'r'); rows = fscanf(fid,'%d',[1 1]); cols = fscanf(fid,'%d',[1 1]); X(1:rows,1:cols) = 0; for i = 1 : rows cur_id = fscanf(fid,'%d',[1 1]); IDS = [IDS; cur_id]; for j = 1 : cols luv1 = fscanf(fid, '%f', [1 1]); X(i,j) = luv1; end end fclose(fid); [IDX,M] = meanshift(X,radiusOfGaussian ); Indexes = []; Indexes(1:size(IDX,1)) = 0; for i = 1:size(IDX,1) Indexes(IDX(i)) = Indexes(IDX(i)) + 1; end [T,V] = max(Indexes); sumCenters = []; sumCenters(1:cols) = 0; numCenters = 0; for i = 1:size(IDX,1) if (IDX(i) == V) numCenters = numCenters + 1; sumCenters = sumCenters + X(i,:); end; end; sumCenters; numCenters; CenterOfCluster = sumCenters / numCenters; %T = find(r>sqrt(sum((data - repmat(Prev,1,n)).^2,1))); bestDistIdx = 1 MinDiff = norm(CenterOfCluster -X(1,:)); for i = 1:rows Diff = norm(CenterOfCluster - X(i,:)); if(Diff < MinDiff) MinDiff = Diff; bestDistIdx = i; end end %IDS(bestDistIdx); fid = fopen('resultStep3.txt', 'wt'); fprintf(fid,'%d',IDS(bestDistIdx)); fclose(fid);