function output = multi_canvas( image_list, posy, posx )

minPos = [min(min(posy)) min(min(posx))];

% Add each image to the canvas.  Grow the canvas when needed.
for i=1:size(image_list)
    image = double(imread(image_list(i,:))) / 255;
    [h w] = size(image);
    
    p = [posy(i) posx(i)] - minPos;
    output(p(1)+1:p(1)+h, p(2)+1:p(2)+w) = image(:,:);
end

end

