function [ D, k ] = normalise( i, k )
    [l,c]=size(i);
    D11=i(1:l/2,1:c/2);
    if(max(max(D11))-min(min(D11))>20)
        [D11, k]=normalise(D11, k);
    else D11(:,:)=k;
    end
    k=k+1;
    
    D12=i((l/2)+1:l,1:c/2);
    if(max(max(D12))-min(min(D12))>20)
        [D12, k]=normalise(D12, k);
    else
        if(D12==D11)
            D12=D11;
        else
            D12(:,:)=k;
            k=k+1;
        end
    end
    
    
    D21=i(1:l/2,(c/2)+1:c);
    if(max(max(D21))-min(min(D21))>20)
        [D21, k]=normalise(D21, k);
    else
        if(D21==D11)
            D21=D11;
        elseif (D21==D12)
            D21=D12;
        else
            D21(:,:)=k;
            k=k+1;
        end
    end
    
    D22=i((l/2)+1:l,(c/2)+1:c);
    if(max(max(D22))-min(min(D22))>20)
        [D22, k]=normalise(D22, k);
    else
        if(D22==D11)
            D22=D11;
        elseif (D22==D12)
            D22=D12;
        elseif (D22==D21)
            D22=D21;
        else
            D22(:,:)=k;
            k=k+1;
        end
    end
    
    D=zeros(l,c);
    D(1:l/2,1:c/2)=D11;
    D((l/2)+1:l,1:c/2)=D12;
    D(1:l/2,(c/2)+1:c)=D21;
    D((l/2)+1:l,(c/2)+1:c)=D22;
end

