function [ im ] = D35WQ8_block2im( blocks, shape )
    [N, BH, BW, C] = size(blocks);
    H = shape(1);
    W = shape(2);
    
    Rows = floor(H/BH);
    Cols = floor(W/BW);
    
    blocks = reshape(blocks, Rows, Cols, BH, BW, C);
    % probably a bottleneck
    % squeeze was an overhead... what a shame...
    im=zeros(H, W, 1, 1, C);
    for i=1:Rows
        for j=1:Cols
            %im(i*BW:(i+1)*BW-1, j*BH:(j+1)*BH-1, :) = squeeze(blocks(i, j, :, :, :));
            im((i-1)*BW+1:i*BW, (j-1)*BH+1:j*BH, :, :, :) = blocks(i, j, :, :, :);
            
            %[Rows, Cols, i+(j-1)*Cols]
            %subplot(Rows, Cols, j+(i-1)*Cols)
            %imshow(squeeze(blocks(i, j, :, :, :)));
        end
    end
    im = squeeze(im);
end

