function rcttestbloc50(especestart)
% run par bloc de 50 especes, à lancer 20 fois 1, 51, 101
% HG. Tiny Conv Net of Dyni for bird 2015
% Lauron 8 mai 2015

chemin = '/NAS3/SABIOD/public_data/DIENS_DYNI/NEW_CHALLENGE_2015/CMTfinalspectro_CHECKED/';
%  load TESTTOUT_prepaco
load touttestimreadTOUTRN.mat
load listetestRN.txt

% SIM F:
% max pooling intra = modele intra %
% pour dkl ? cosine ? L2 ? L1 ?
% for j = 1:length(RN) % test 
%k=RN(j)
% eval(['spectretest(k,:) = sum(te.s' num2str(k) '([1:65],:),2);']) ; % coupure suffit 
% eval(['dtest(k)=size(te.s' num2str(k) ',2);'])
% for c=1:65 % meme nbre de canaux dans chq facette
% eval(['ac.test' num2str(k) '(c,:)=xcorr(te.s' num2str(k) '(c,:));'])
% end % c 
% end % j prepa test 

% save -v7.3 TESTTOUT_prepaco

whos

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for train = especestart:-1:1 % à lancer 20 process 

clear fa spectre maxcnn ic 
clear ac mcc convo deptf maxdeptf vardeptf maxconvo varconvo

eval(['! ls ' chemin '/TRAIN' num2str(train) '/*.jpg > listetrain' num2str(train) '.txt']);
eval(['! wc listetrain' num2str(train) '.txt | cut -f 1 | cut -f 1 -d ''l'' > N' num2str(train) '.txt']);
% eval(['! cut -f 1 -d ''l'' N' num2str(train) '.txt > N' num2str(train) 'b.txt'])
% cube conv train intra espece
% a faire aussi en inter espece
% puis PCA dessus
% => multi modele multi classe
eval(['N = load(''N' num2str(train) '.txt'')'])
N=N(1);

for i=1:N % train 
eval(['k = lire_ligne(''listetrain' num2str(train) '.txt'',i)']);
eval(['fa.s' num2str(i) ' = imread(k) ;'])
eval(['d(i)=size(fa.s' num2str(i) ',2);'])
for c=1:65 % meme nbre de canaux dans chq facette
eval(['ac.s' num2str(i) '(c,:)=xcorr(fa.s' num2str(i) '(c,:));'])
end % c 
end % i 
clear k

%%%%%%%%%%%%%%%%%%%%%
% SIM TF
for i=1:N
for j=1:length(RN) %  tous les tests dans leur ligne
k = RN(j)
clear convo ic

eval(['dtest(k)=size(te.s' num2str(k) ',2);'])
dcom = min(d(i),dtest(k));

for c=1:65
eval(['ic = xcorr(fa.s' num2str(i) '(c,1:dcom), te.s' num2str(k) '(c,1:dcom));'])
% eval(['testacorr =xcorr(te.s' num2str(k) '(c,:));'])
eval(['mcc(i,k,c) = max( ic(dcom:end) ./ (eps + ac.s' num2str(i) '(c,d(i):d(i)+dcom-1) ));']) 
eval(['convo(:,c) = conv(single(fa.s' num2str(i) '(c,:)), single(te.s' num2str(k) '(c,:)) );']) ;
end % c
deptf = conv2([1 1 ; 1 1], convo);
maxconvo(i,k,:) = max(convo);
varconvo(i,k,:) = var(convo);
maxdeptf(i,k,:) = max(deptf);
vardeptf(i,k,:) = var(deptf);
end % j test 
end % i

% max pooling intra = modele intra %
% max pooling intra = modele intra %
% pour sim directement ? mean min max = simi ? std ?
% ou simplement LS dkl cos entre maxcnn intra et maxcnn (train, test) ( 7K * 22K ) a lancer ce soir
% mean sur les sample de train, conorm entre espece i et j ~ i
% **  vote majoriatire sur dkl de dist des max cnn entre cube intratrain et cube testtrain 7K*20K cube
% norme par max correlation intratrain ? 
clear deptf ic ac convo
eval(['save TESTsurESP_cohecon_' num2str(train) ])
end % espece 

% entropy n'apporte pas je pense
% possible en deux couche avec conv de conv ?
% PCA sur cette base ?
% permet de noter quel canal à conserver
% relancer tout à 1024 ?
% co norm / tnorm ?
end % fun
