A non-transitory computer-readable medium comprising computer-readable instructions for providing image data, wherein execution of said computer-readable instructions by one or more processors, which have access to a tiled representation of a data set comprising an image data at a plurality of resolutions, wherein said tiled representation comprises a plurality of tiles at each of said plurality of resolution [330, 340, 350, 360], wherein said plurality of resolutions comprises a high resolution and at least one reduced resolution [340, 350, 360], wherein each one of said plurality of tiles is at least two dimensional and is limited in size to a maximum tile size, causes said one or more processors to carry out a process comprising: in response to receiving a request from a computing device to access said data set wherein said computing device is communicatively coupled with a display device, execute the following steps: determining an image display window based on information in said request from said computing device, wherein said image display window comprises a displayable area of said display device and a resolution of said display device; accessing said tiled representation of a data set; determining at least one overlap image to send to said computing device based on said image display window, wherein said at least one overlap image is selected from said tiled representation at said resolution of said display device, wherein said at least one overlap image comprises one or more tiles overlapping said displayable area; and sending at least a portion of said at least one overlap image to said computing device for display on said display device in real time; and when no active requests for other data are pending, sending background data to said computing device, wherein said background data comprises unsent image data selected from said tiled representation. in response to receiving a request from a computing device to access said data set wherein said computing device is communicatively coupled with a display device, execute the following steps: determining an image display window based on information in said request from said computing device, wherein said image display window comprises a displayable area of said display device and a resolution of said display device; accessing said tiled representation of a data set; determining at least one overlap image to send to said computing device based on said image display window, wherein said at least one overlap image is selected from said tiled representation at said resolution of said display device, wherein said at least one overlap image comprises one or more tiles overlapping said displayable area; and sending at least a portion of said at least one overlap image to said computing device for display on said display device in real time; and when no active requests for other data are pending, sending background data to said computing device, wherein said background data comprises unsent image data selected from said tiled representation. determining an image display window based on information in said request from said computing device, wherein said image display window comprises a displayable area of said display device and a resolution of said display device; accessing said tiled representation of a data set; determining at least one overlap image to send to said computing device based on said image display window, wherein said at least one overlap image is selected from said tiled representation at said resolution of said display device, wherein said at least one overlap image comprises one or more tiles overlapping said displayable area; and sending at least a portion of said at least one overlap image to said computing device for display on said display device in real time; and when no active requests for other data are pending, sending background data to said computing device, wherein said background data comprises unsent image data selected from said tiled representation.