% decoding empty = create_struct(ones(im_size), step); result = create_struct(ones(im_size), step); for n = 1 : 50 n for i = 1 : numel(result) for j = 1 : numel(result{i}.subseg) result{i}.subseg{j} = segment{i}.sts(j) * ... imresize(empty{segment{i}.min_diff_seg(j)}.seg, [8, 8]); end result{i}.seg = [result{i}.subseg{1}, result{i}.subseg{2};... result{i}.subseg{3}, result{i}.subseg{4}]; empty = result; end end out_image = recrete_from_struct(result, im_size); imshowpair(image, out_image, 'montage');