function imout = haardecomp(im)
subimLL = (im(1:2:end,1:2:end) + im(2:2:end,1:2:end) + im(1:2:end,2:2:end) + im(2:2:end,2:2:end));
subimHL = (im(1:2:end,1:2:end) - im(2:2:end,1:2:end) + im(1:2:end,2:2:end) - im(2:2:end,2:2:end));
subimLH = (im(1:2:end,1:2:end) + im(2:2:end,1:2:end) - im(1:2:end,2:2:end) - im(2:2:end,2:2:end));
subimHH = (im(1:2:end,1:2:end) - im(2:2:end,1:2:end) - im(1:2:end,2:2:end) + im(2:2:end,2:2:end));
imout = [subimLL subimLH; subimHL subimHH];
