%% Count imagefiles in current directory
ImageFiles = dir('*.png');
n=numel(ImageFiles);
Highest = 0;
for i =1:n
    imageNo = strcat('Image',num2str(i));
    for j=i:n
    FileNo = strfind(ImageFiles(j,1).name,imageNo);
    if isempty(FileNo)
    else
        Highest = i;
    end
    end
end
    delimiter = ',';
    formatSpec = '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%*s%*s%[^\n\r]';
Highest = 1000;
    meanNPQperDisc = [];
medianNPQperDisc = [];
FmPrime=[];
FmP=[];
h=waitbar(0,'Calculating NPQ per leaf disc...');
for i=1:Highest
    if i<10
        filenameFmPrime = strcat('Image00',num2str(i),'-Fm''','-DataValues.csv');
        filenameFm = strcat('Image00',num2str(i),'-Fm','-DataValues.csv');
    elseif i<100
        filenameFmPrime = strcat('Image0',num2str(i),'-Fm''','-DataValues.csv');
        filenameFm = strcat('Image0',num2str(i),'-Fm','-DataValues.csv');
    else
        filenameFmPrime = strcat('Image',num2str(i),'-Fm''','-DataValues.csv');
        filenameFm = strcat('Image',num2str(i),'-Fm','-DataValues.csv');
    end
    try
        fileID = fopen(filenameFmPrime,'r');
        dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'EmptyValue' ,NaN, 'ReturnOnError', false);
        fclose(fileID);
        FmPrime = [dataArray{1:end-1}];
        clearvars fileID dataArray ans;
    catch
    end
    try
        fileID = fopen(filenameFm,'r');
        dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'EmptyValue' ,NaN, 'ReturnOnError', false);
        fclose(fileID);
        FmP = [dataArray{1:end-1}];
        clearvars fileID dataArray ans;
    catch
    end
    if isempty(FmPrime)
    else
        NPQ = Fm./FmPrime -1;
        meanNPQ=zeros(numel(RowsSorted(:,1)),1); medianNPQ=zeros(numel(RowsSorted(:,1)),1);
        for j = 1: numel(RowsSorted(:,1))
            meanNPQ(j) = mean(NPQ(label==RowsSorted(j,1)));
            medianNPQ(j) = median(NPQ(label==RowsSorted(j,1)));
        end
        meanNPQperDisc = [meanNPQperDisc,meanNPQ];
        medianNPQperDisc = [medianNPQperDisc,medianNPQ];
    end
    if isempty(FmP)
    else
        NPQ = Fm./FmP -1;
        meanNPQ=zeros(numel(RowsSorted(:,1)),1); medianNPQ=zeros(numel(RowsSorted(:,1)),1);
        for j = 1: numel(RowsSorted(:,1))
            meanNPQ(j) = mean(NPQ(label==RowsSorted(j,1)));
            medianNPQ(j) = median(NPQ(label==RowsSorted(j,1)));
        end
        meanNPQperDisc = [meanNPQperDisc,meanNPQ];
        medianNPQperDisc = [medianNPQperDisc,medianNPQ];
    end
    FmPrime=[];
    FmP=[];
    waitbar(i/Highest,h);
    end
delete(h)
csvwrite('meanNPQperDisc.csv', meanNPQperDisc); csvwrite('medianNPQperDisc.csv', medianNPQperDisc); 