diff --git a/src/MATLAB/+NCD/imNCDM.m b/src/MATLAB/+NCD/imNCDM.m
index 52d3646a5b6b2bb70902ca9d75c1548ee04fce46..0498b7c14c2fda337209bc7d1b1110c98134a997 100644
--- a/src/MATLAB/+NCD/imNCDM.m
+++ b/src/MATLAB/+NCD/imNCDM.m
@@ -1,7 +1,7 @@
 % NCDM
 % X is a 1-D cell array of images
 % eg
-% im = rand(100,100); ncd=ncd.imNCDM({im,im})
+% im = rand(100,100); ncd=NCD.imNCDM({im,im})
 %
 function [ncd,GX]= imNCDM(X)
 ncd=NaN;
diff --git a/src/MATLAB/apps/nist digits/Copy_of_getK5k10-15-2021.mat b/src/MATLAB/apps/nist digits/Copy_of_getK5k10-15-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..39581829a8f92ca7554fa5c8d6cf167441e6bfb5
Binary files /dev/null and b/src/MATLAB/apps/nist digits/Copy_of_getK5k10-15-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/fixedCardinality/getKfixed.m b/src/MATLAB/apps/nist digits/fixedCardinality/getKfixed.m
new file mode 100644
index 0000000000000000000000000000000000000000..75b7b343d161293cecbda9eb740ac8fcc1eacc50
--- /dev/null
+++ b/src/MATLAB/apps/nist digits/fixedCardinality/getKfixed.m	
@@ -0,0 +1,46 @@
+function [kOD,mx,sd,clusterConfusion]=getKfixed(xDigits,kMax,NUMBER_OF_SAMPLES,clusterConfusion)
+
+dx=[];
+idx=[];
+idxsp=[];
+kTrue=length(unique([xDigits.idxTrue]));
+dDigits=MNISTdistance(xDigits);
+
+for k=1:kMax
+    
+    idxsp=Cluster.SpectralCluster(dDigits,k);
+    if k==kTrue
+        clusterConfusion=updateConfusion(xDigits,clusterConfusion,kTrue,kMax,idxsp);
+    end
+      
+    dx(k)=deltaK(xDigits,idxsp);
+
+end
+
+% mx=mean(dx,2,'omitnan');
+% mx=min(dx,[],2);
+
+% sx=sort(dx,2);
+% sx=sx(:,1:100);
+mx=mean(dx,2,'omitnan');
+sd=std(dx,0,2,'omitnan');
+% account for simulation error, as in gap statistic
+sd=sd.*sqrt(1+1/NUMBER_OF_SAMPLES); 
+kOD=find(mx(1:end-1)-sd(1:end-1)>mx(2:end),1,'first');
+
+if ~isempty(kOD)
+    kOD=kOD+1;
+%     fprintf(1,'sd :: kOD=%d\n',kOD);
+else    
+    deltaMx=diff(mx)';
+    kOD=find(deltaMx>0,1,'first');
+    if isempty(kOD)
+        od=max(deltaMx(deltaMx<0));
+        kOD=find(deltaMx==od,1,'first');
+%         fprintf(1,'max(deltaMX<0) :: kOD=%d\n',kOD);
+    else
+%         fprintf(1,'deltaMX>0 :: kOD=%d\n',kOD);
+    end
+
+end 
+4; 
diff --git a/src/MATLAB/apps/nist digits/fixedCardinality/goNISTkFixed.m b/src/MATLAB/apps/nist digits/fixedCardinality/goNISTkFixed.m
new file mode 100644
index 0000000000000000000000000000000000000000..f42cf60e40f5c5cd3d5e83bd433a69c1e7a0feb7
--- /dev/null
+++ b/src/MATLAB/apps/nist digits/fixedCardinality/goNISTkFixed.m	
@@ -0,0 +1,55 @@
+
+% outfolder='./results/';
+% if ~exist(outfolder,'dir')
+%     mkdir(outfolder);
+%     mkdir(fullfile(outfolder,'true'));
+%     mkdir(fullfile(outfolder,'false'))
+% end
+path(path,'..');
+tblResults=table();
+maxDigits=[0,1,2,3,8,9];
+CARDINALITY=10;
+clusterConfusion={};
+rgResults=[]; % maxDigit,trial,iteration
+kMax=12;
+NUMBER_OF_TRIALS=100;
+NUMBER_OF_SAMPLES=1000;
+p=startParallel();
+
+% outname=['getK5k' datestr(now,'mm-dd-yyyy') '.mat']
+NDIGITS=length(maxDigits);
+kConfusion=zeros(10,kMax);
+for nTrial=1:NUMBER_OF_TRIALS    
+    for d=1:NDIGITS
+        target=[0:maxDigits(d)];
+        K=length(target);        
+        
+        xDigits=getNISTdigits(target,CARDINALITY);
+        [kpred,mx,sd,clusterConfusion]=getK(xDigits,kMax,NUMBER_OF_SAMPLES,clusterConfusion);
+        rgResults(d,nTrial)=kpred;
+        kConfusion(K,kpred)=kConfusion(K,kpred)+1;
+%         drawResults(kpred,K,mx,sd,outfolder,nTrial);
+        5;
+    end
+%     if 0==mod(nTrial,20)
+%         clusterConfusion;
+%         kConfusion
+%         mean(rgResults,2)        
+%     end
+    5;
+end
+  toc()  
+  save(outname);
+    % idxKPred=tblResults.kPred==K;
+    % idxKGap=tblResults.kGap==K;
+    % idxKSP=tblResults.kSP==K;
+    % accPredGapSP=[length(find(idxKPred))/length(idxKPred),length(find(idxKGap))/length(idxKGap)...
+    %     length(find(idxKSP))/length(idxKSP)]
+    % sciPred=bootci(20000,@mean,idxKPred)
+    % sciGap=bootci(20000,@mean,idxKGap)
+    % sciSP=bootci(20000,@mean,idxKSP)
+    
+    
+    
+    
+    
diff --git a/src/MATLAB/apps/nist digits/getK10k08-04-2021.mat b/src/MATLAB/apps/nist digits/getK10k08-04-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ef7195c85aad61d29dfbe265287854bd70759e5b
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK10k08-04-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK10k08-24-2021.mat b/src/MATLAB/apps/nist digits/getK10k08-24-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..be642f0aed0739340037438db777ba9f3edf7245
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK10k08-24-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK10k08-31-2021.mat b/src/MATLAB/apps/nist digits/getK10k08-31-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..3839d69030d1eb126134385540b2e404478a9d83
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK10k08-31-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k09-06-2021.mat b/src/MATLAB/apps/nist digits/getK5k09-06-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..4656b786ea3418663f3a5f50b0d5aaef91c2f90a
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k09-06-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k09-16-2021.mat b/src/MATLAB/apps/nist digits/getK5k09-16-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..14d524886d0d4f84461aa16c411a51931ecd0c1c
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k09-16-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k09-17-2021.mat b/src/MATLAB/apps/nist digits/getK5k09-17-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..bc7df1dd9d1d83d26fdde2b0cf68a684258fa2cf
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k09-17-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k09-18-2021.mat b/src/MATLAB/apps/nist digits/getK5k09-18-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c76dd9a3504733ef35b0b6066fc9ddbf51b33c7b
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k09-18-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k09-24-2021.mat b/src/MATLAB/apps/nist digits/getK5k09-24-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..75f6282304ae630623d309d86b4b4813a3eed0ad
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k09-24-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k10-15-2021.mat b/src/MATLAB/apps/nist digits/getK5k10-15-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..39581829a8f92ca7554fa5c8d6cf167441e6bfb5
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k10-15-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/getK5k10-29-2021.mat b/src/MATLAB/apps/nist digits/getK5k10-29-2021.mat
new file mode 100644
index 0000000000000000000000000000000000000000..8a146d0749b191514faa14fd424462052af4c8ba
Binary files /dev/null and b/src/MATLAB/apps/nist digits/getK5k10-29-2021.mat differ
diff --git a/src/MATLAB/apps/nist digits/kTrials results 7 1 2021.txt b/src/MATLAB/apps/nist digits/kTrials results 7 1 2021.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a55a6dd5156be6f50b7488b7c996012d84323df3
--- /dev/null
+++ b/src/MATLAB/apps/nist digits/kTrials results 7 1 2021.txt	
@@ -0,0 +1,8 @@
+mod5
+[0:1] 0.86
+
+mod4
+[0:1] 0.99
+[0:2] 0.94  [3.155;3.222] 
+[0:8] 0.97
+[0:9] 0.96
diff --git a/src/MATLAB/apps/nist digits/nist10.mat b/src/MATLAB/apps/nist digits/nist10.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a1cd0986f293cdf74579afd2281dd302a9c75116
Binary files /dev/null and b/src/MATLAB/apps/nist digits/nist10.mat differ
diff --git a/src/MATLAB/apps/nist digits/postProcessNistK.m b/src/MATLAB/apps/nist digits/postProcessNistK.m
new file mode 100644
index 0000000000000000000000000000000000000000..b01a7e2103d45cef178762f6ea6ccfba71d00c0c
--- /dev/null
+++ b/src/MATLAB/apps/nist digits/postProcessNistK.m	
@@ -0,0 +1,14 @@
+load 'getK5k10-15-2021.mat'
+
+truncResults=[];
+for i=1:100
+    rg2=rgResults(:,(i-1)*50+1:i*50);
+    truncResults(:,i)=mean(abs(rg2),2,'omitnan');
+end
+
+bootci(20000,@mean,truncResults')
+% length(find(tr2(2,:)==2))
+% length(find(tr2(3,:)==3))
+% length(find(tr2(4,:)==4))
+% length(find(tr2(5,:)==9))
+% length(find(tr2(6,:)==10))
\ No newline at end of file
diff --git a/src/MATLAB/apps/nist digits/supervised/digitsTraining2k.mat b/src/MATLAB/apps/nist digits/supervised/digitsTraining2k.mat
index 0de054aa61e9232bfab5ef4164b36968bcc27fda..07d113f47417e9989c71a890dec153b99c12d627 100644
--- a/src/MATLAB/apps/nist digits/supervised/digitsTraining2k.mat	
+++ b/src/MATLAB/apps/nist digits/supervised/digitsTraining2k.mat	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:cd4670a8de1a4e571b11c39ef283d84b936903a513114c107a0b48abfddd3d79
-size 95578
+oid sha256:567e4c57c3a6aab22decc58d14a561334de4ad67fd27f63fa0a7005285d02f40
+size 63913
diff --git a/src/MATLAB/apps/nist digits/supervised/digitsTraining2k9.mat b/src/MATLAB/apps/nist digits/supervised/digitsTraining2k9.mat
new file mode 100644
index 0000000000000000000000000000000000000000..24c7348fa21a29c6f714f778df2fd468f64c3cbd
Binary files /dev/null and b/src/MATLAB/apps/nist digits/supervised/digitsTraining2k9.mat differ