Progressive loading

NOTE: this page is obsolete and I have left it only for backward compatibility. These features are now included in the new .ptv and .ptvref file formats. Those formats offer a number of advantages over the solution described in this page.

This version of PTViewer can progressively load a panorama divided in a number of "slices". Each slice is loaded as a ROI (region of interest).

If you set a new parameter PTViewer does not load ROIs in a fixed order, but it always loads first the ROIs in the current direction of view, and it loads last the ROIs that are "at your back". The loading order changes if you pan while the ROIs are loading too, always loading first what you need to see at the moment.

This feature enhances the user experience when using larger images, since the time needed to "see something in the viewer" is greatly reduced.

Here is a commented example of the HTML code needed to progressively load a panorama:

<param name=file value="chaberton1_GS.jpg">

Specifies a low-resolution preview image. This is not mandatory.

<param name=pwidth value=4000>
<param Name=pheight value=647>

Specify the total size of the panorama.

<param name=dynLoadROIs value=true>

This parameter enables dynamic progressive loading.

<param name=roi0 value=" i'Chaberton1_01.jpg' x0 y0 w400">
<param name=roi1 value=" i'Chaberton1_02.jpg' x400 y0 w400">
<param name=roi2 value=" i'Chaberton1_03.jpg' x800 y0 w400">
<param name=roi3 value=" i'Chaberton1_04.jpg' x1200 y0 w400">
<param name=roi4 value=" i'Chaberton1_05.jpg' x1600 y0 w400">
<param name=roi5 value=" i'Chaberton1_06.jpg' x2000 y0 w400">
<param name=roi6 value=" i'Chaberton1_07.jpg' x2400 y0 w400">
<param name=roi7 value=" i'Chaberton1_08.jpg' x2800 y0 w400">
<param name=roi8 value=" i'Chaberton1_09.jpg' x3200 y0 w400">
<param name=roi9 value=" i'Chaberton1_10.jpg' x3600 y0 w400">

Specify the ROIs to be loaded. In this example the original image has been divided in 10 parts, each part is 400 pixels wide. Note the "w400" parameter in each roi tag. This parameter informs ptviewer about the width of the ROI image and is used exclusively to determine the loading order of the ROIs. You don't need to set the exact value of the image width: a small error will not change the loading order. If the "w" parameter is missing ptviewer can make (small) mistakes while determining the loading order.
There is also an "h" parameter that contains the height of the ROI. At the moment it is not used, but it could be used in future versions in order to support multirow ROIs.
So a full ROI tag now would look like this one:

<param name=roi9 value=" i'Chaberton1_10.jpg' x3600 y0 w400 h647">

Again, the "w" and "h" parameters have only meaning if the applet parameter "dynLoadROIs" is set to true, they are not mandatory and the "h" parameter is not used at the moment. 

I have prepared three pages that are exactly identical except for the pan parameter. Each page opens the same panorama with a different pan angle. If you open the pages you can see that ptviewer always loads the needed ROIs first.

Page 1
Page 2
Page 3

You can click here to find a program that will automatically create the ROI images.