Development and Evaluation of the Virtual Pathology Slide: A New Tool in Telepathology

Background The Virtual Pathology Slide is an interactive microscope emulator that presents, via the Internet or CD-ROM, a complete 15.53 mm x 11.61 mm digitalized tissue section. The Virtual Pathology Slide mimics the use of a microscope in both the stepwise increase in magnification (from 16x up to 2000x) and in lateral motion in the X and Y Cartesian directions. This permits a pathologist to navigate to any area on a slide, at any magnification, similar to a conventional microscope. Objective The aim of this study was to assess the diagnostic accuracy and acceptability of the Virtual Pathology Slide. Methods Ten breast needle core biopsies were randomly selected and presented to 17 pathologists or trainee pathologists with at least 2 years experience in pathology practice. Participants were required to examine each case online and provide a diagnostic classification using online feedback forms. The recorded data permitted examination of interobserver variability and user satisfaction. Results Agreement between original glass-slide diagnosis and consensus diagnosis using the Virtual Pathology Slide was reached in 9 out of 10 slides. Percentage concordance for slides lay in the range of 35.3% to 100% with an average percentage concordance between slides of 66.5%. The average Kappa statistics for interobserver agreement was 0.75 while average percentage concordance amongst participants was 66.5%. Participants looked at an average of 22 fields of view while examining each slide. Confidence: 81.25% of the participants indicated confidence using the Virtual Pathology Slide to make a diagnostic decision, with 56.25% describing themselves as "reasonably confident," 18.75% as "confident," and 6.25% as "very confident." Ease of use: 68.75% reported the system as "easy" or "very easy" to use. Satisfaction: 87.5% of participants expressed satisfaction with image quality, with 43.75% describing the image quality as "adequate," 25% describing it as "good," and 18.75% describing the image quality as "excellent." Pathologists with a working bandwidth greater than 20 kilobits per second found the download speed of the Virtual Pathology Slide "adequate" or better. Conclusions Results from this study show that the Virtual Pathology Slide can be used to make a correct diagnostic decision, and that the system is a realistic alternative to dynamic telepathology.


Description of the VPS
The Virtual Pathology Slide (VPS) is an interactive microscope emulator that presents a complete digitised tissue section of size 15.53mm x 11.61mm via the Internet. VPS mimics the use of a microscope in both the stepwise increase of magnification (from 16x to 2000x) and in lateral motion in the X and Y Cartesian directions. This permits a pathologist to navigate within the selected region to a broad range of magnifications, similar to a conventional microscope.
The practice of disease classification using microscopy is a subjective skill mainly dependent on years of clinical experience by the pathologist. A novel feature of the VPS is its ability to record data sets, describing a pathologists interaction with the web-site, as they examine a pathology slide. The parameters that are recorded provide a diagnostic trace as to how and why pathologists arrive at a certain disease classification for a given case. The following document describes the methodology behind the development of the VPS.

Hardware and software utilised
An imaging workstation was developed in-house to fulfil the needs of the

Slide Digitisation
The first stage of the construction of a Virtual Pathology Slide is the digitisation of the tissue of interest at the highest required magnification (40x objective). All imaging applications were developed within Optimas 6.5, image acquisition and analysis software (Media Cybernetics, L.P., Leiden, The Netherlands). Optimas offers a programmable platform, which facilitates the creation of image analysis algorithms using ALI (Analytical Language for Images). The software also allows programmable control of RS232 interfaced devices, such as the robotic stage. An algorithm was constructed in ALI to perform a programmed raster scan of 15.53mm x 11.61mm (180mm 2 ) of tissue, and build subsequent layers of lesser magnification.

Raster Scan -Generation Of Image-Layer 1
The raster scan involves acquiring 128 x 128 images in both the X and Y Cartesian directions, one row at a time. The scanning algorithm is manually seeded with the Cartesian X, Y coordinates of the tissue midpoint. Using the midpoint coordinates, the scanning algorithm determined the boundaries of the scan.
At high power magnification, variations in tissue thickness require constant adjustment of fine focus while scanning. This is achieved using an autofocus utility integrated in the system. However, due to progressive mechanical slippage, the system had potential to lose focus over time. To compensate for this shortcoming, a custom focus determination was utilised.

Scaling of Image Layers 2-5
To fulfill the range of required magnifications for display, four Image Layers of lower magnification but equal resolution to Image Layer 1 are generated using a scalable i maging algorithm as described in Figure 1. The Image Layers were constructed as follows.
Image Layer 2 was constructed by resizing all the images in Image Layer 1 to 1/16 of their original size (192 pixels by 143 pixels).
Image Layer 3 was constructed b y tiling 16 spatially related images (4 horizontal x 4 vertical) from Image Layer 2, resizing the tiled composite to 1/16 of its size and saving as one image (192 pixels by 143 pixels). This process was performed 1024 times to create a complete Image Layer.
Image Layer 4 was constructed in the same manner as Image Layer 3, however images from Image Layer 3 were used as the source images for all operations.
The process resulted in the production of 64 images (192 pixels by 143 pixels)  www.telepathology.dcu.ie e-mail: telepathology@dcu.ie 9 Image Layer 5 was constructed by tiling 4 spatially related images (2 horizontal x 2 vertical) from Image Layer 4, resizing them to 1/4 of their size (192 pixels by 143 pixels) and saving as one image. This resulted in the production of 16 images with an apparent magnification of 16x.
When tiling and creating a composite image during the generation of Image Layers 3 to 5, one or more of the 16 spatially related images may not exist, as only images that contain tissue were originally saved during the raster scan. To complete the composite, a blank image generated at the beginning of the raster scan was inserted.
Image filenames for each Image Layer are generated in a similar fashion to

File Transfer to Server
The web server utilised for the study was a Sun Microsystems Enterprise 450  A file transfer protocol application called FTP Explorer is used to upload images to the server. This is available on the Internet at www.ftpx.com.
Image Layers are archived in an identical fashion on the server as on the local hard drive, where each layer maintains its own separate folder. The folder name has a numerical value i.e. folder "1" contains Image Layer 1.

VPS Interface
The VPS user interface, is a Webpage that can be displayed by any conventional browser connected to the Internet. However, a magnification of 2000x is experienced, when using a 19 inch (48cm) monitor with a s creen resolution of 1024x768. The full range of magnifications experienced at the above resolution is 2000x, 500x, 125x, 32x and 16x.
The ability to zoom in, zoom out, and scroll laterally within a VPS slide is dependent on: (i) A client action. When the user interacts with the client, an Internet browser the user employs to view the VPS, variable input data is sent from the client to the server.
(ii) The server response. The server processes the information and dynamically creates VPS content to send to the client.
(iii) Client-Server communication, the ability of the server to receive, process and respond to variable input data from the client.

d) Move laterally around area of interest.(e)Zoom to 500x on area of interest.(f) Zoom to 2000x on area of interest. (i) Slide selected for viewing. (ii) Magnification of current view. (iii) Zoom and Zoom out buttons. A user may also zoom in by clicking on an image in the VPS field of view.(iv) Lateral navigation buttons for traversing within a given magnification.(v) Auxiliary user information buttons.(iv) The VPS field of view.
www.telepathology.dcu.ie e-mail: telepathology@dcu.ie 14

Client Action
The VPS interface is written in HTML (Hypertext Markup Language). HTML is a universal browser language for creating Webpages. It instructs a browser how to display page content, such as images and text. Acting as a client, a browser can submit to and receive data from a remote server. When a client requests a page from a server, the server sends the page to the client, with HTML instructions as to how to display the page content.

Server Response
The server is utilised as a store for information, requested by the client. Under certain conditions a server can be utilised to perform some processing at the request of the client. This feature is generally facilitated using server side scripting. Server side script is incorporated in certain HTML based pages requested by the client. To identify pages containing script, such pages are appended with a special extension (an extension other than "*.htm"). For Microsoft Active Server Pages, the extension is "*.asp", for PHP, the extension is "*.php".
PHP is an open source, server side, cross-platform, scripting language 22 . With syntax similar to the C language it has evolved from other server-side programming tools such as PERL. When the server receives a request from a client for a page with "*.php" extension, the server will open the file and parse the contents until it identifies a PHP tag within the text. The s erver then processes the commands within the start and finish PHP tags and replaces this content with static HTML, based on the outcome of the processing.

Client-Server Communication
For any dynamic processing to be conducted on the server, the client needs to be able to send the server variable data, which can subsequently be utilised in These variables can be utilised within the PHP script of "main.php3". In the above example, the variables DIRECTION, LAYER and IMAGE are passed to the page, "main.php3". Every time the user clicks on an image or a navigational control button (Figure 2a(iv)), a hyperlink is activated calling the server page, "main.php3". However, the value of the variables returned to the server changes, depending on the magnification the user is currently viewing, the images displayed on the VPS and the image or navigational control button the user clicked. Figure 3. illustrates the client-server communication and response for the VPS.   www.telepathology.dcu.ie e-mail: telepathology@dcu.ie 18

Zoom
The first field of view the user experiences is the tissue at 16x magnification.
This view is composed of 16 tiled images (4 horizontal, 4 vertical) from Image Layer 5. As the user clicks on one of the 16 images, an associated hyperlink is activated. T his calls "main.php", with the variable IMAGE in the hyperlink identifying the calling image to the server.
If the server reads the variable DIRECTION=1, this results in the activation of the PHP script that constructs a field of view of higher magnification to the current field of view.
The server reads the variable LAYER (for example, LAYER=5) and decreases its value by 1 (LAYER=4). This results in the output set of images being retrieved from Image Layer 4, which contains images at 32x magnification.
Using the delimiter (k) as a recognition character, PHP splits the IMAGE variable into its X and Y coordinates (e.g. IMAGE=102K104 returns X=102 Y=104). The X and Y coordinates (Xn and Yn) of the new top left image ( Figure   4, "Image1") is calculated. This is based on the spatial relationship between images on different Image Layers.
The X and Y coordinates of the fifteen adjacent images are generated by manipulating the value of Xn and Yn appropriately (Figure 4) presented to the user.

Zooming Out
When zooming out using the navigation button on the control panel ( Figure   2(iii)), it is perceptually important to center the previous view within the zoomed out view. This is accomplished by assigning the previous location of Figure 4 -"Image 6", to the previous view in the zoom out view.
The server reads the variable, DIRECTION=2 (Table 2) resulting in the "zoomout" section of the PHP script being processed. The value of LAYER is increased by 1, so that image files will be retrieved from a folder containing lower magnification images.
The server reads the variable, IMAGE. As with zoom, the server splits IMAGE into its X, Y Cartesian coordinates. A condition exists to ensure that both X and Y are even numbers. If either number is not, a value of 1 is added. The Cartesian X, Y coordinates (Xn and Yn respectively) of the zoomed out top left image, is calculated using an algorithm that describes the spatial relationship between the www.telepathology.dcu.ie e-mail: telepathology@dcu.ie 20 most central image (Figure 4, "Image 6") on the lower-magnification Image Layer and the top left zoomed out image.
In an identical fashion to zoom in, manipulating the value of Xn and Yn generates the coordinates of the fifteen adjacent zoom-out images. Conditions within the PHP script ensure the newly created X, Y co-ordinates are valid for that Image Layer. The X and Y co-ordinates of the sixteen images are then concatenated with the delimiter and constructed into a valid image file name and attached to a dynamically created hyperlink. This results in a set of sixteen output images being sent to the client.

Scrolling
When scrolling within an Image Layer (using the navigational buttons on the control panel (Figure 2a(iv)) the following events occur. DIRECTION will have a value between 3 and 10 depending on which navigational button the user clicked ( Table 2).
The server retrieves images from the same Image Layer folder (the value of LAYER remains constant). The server splits the value of IMAGE, representing the top left image file name (Figure 4, "Image 1"), into its X and Y co-ordinates. In an identical fashion to Zoom, the X, Y coordinates of the fifteen adjacent images are created and concatenated back with the delimiter (k) and file format into valid file names. If the view is at 2000x (Image Layer 1), the server produces an output page containing a single image that is adjacent in the direction of scrolling, to the image in the input page.

Additional variables passed from the client to the server.
Using client-server communication, the file size of each image sent to the client, in conjunction with the time taken to download the image is recorded. This data is used to calculate the rate of data transfer per second between the server and the client. This is commonly referred to as "bandwidth" and is a descriptor of the performance of the network connection between the client and the server. When performing the calculation, data is discounted where the client has viewed an image more than once as the image may reside on the clients cache. The time spent viewing a set of images is also passed from the server to the client in order to determine the amount of time a user spent examining a field of view, as distinct to the amount of time a user spent downloading a field of view.

Data Recorded by database:
There are three specific data types recorded by the VPS.
• System configuration data-This consists of data submitted by a client browser to the VPS server as they interact with the VPS. This includes parameters such as client browser version, OS screen resolution, screen colour depth and IP address.
• Client tracking data-This data describes client "movements" as a pathologist examines a series of pathology images using the VPS. This data set is sufficiently comprehensive to replay the online examination of a VPS pathology slide by a client, in real time.
• User submitted data-This is data submitted to the VPS server by pathologists, using simple HTML forms.

Configuration of VPS Data Archive:
The data described above is written to an oracle database on the VPS server using PHP. The architecture of the VPS data archive is structured in a format that mirrors the sequential steps pathologists undertake when examining a VPS pathology slide.
The database is composed of seven tables. A detailed description of the database structure is described below.

MachNo.
Data submitted when a logged in user selects a pathology slide for examination.

BrowserOs
Color size Data submitted when a logged in user selects a pathology slide for examination.

User Anonymity:
Upon registration, every user is assigned a unique user id number. When examining a VPS slide it is this number that is associated with the data that is recorded in the VPS database. This preserves their anonymity and ensures any data submited to the server can be stored in the strictest confidence.

Data Retrieval:
In order to monitor in-house, users interaction with the VPS and perform statistical analysis of the data, a website powered by a PHP engine to successfully interrogate data for statistical analysis was developed. The php engine dynamically writes SQL queries which retrieves requested information from the database.

VPS Customised Browser
The VPS customised browser was developed to control access for users during VPS dedicated studies, optimise the integrity of recorded data and to provide a uniform experience for users who would otherwise experience subtle differences due to the plethora of web browser versions currently in existence.
Constructed using Visual C++ application wizard, the VPS Customised Browser is a Microsoft Foundation Class (MFC) application that utilises Internet Explorer file libraries in order to behave as a customised browser. The VPS Customised Browser opens up a prescribed webpage on the VPS server. The VPS browser is optimised for PC users with Internet Explorer 5.

VPS CD-ROM
The availability of high-speed broadband Internet connectivity is currently still unavailable to many pathologists. This is currently a major limiting factor for acceptability of the web driven telepathology due to the time taken to download large number of images over the Internet. In order to improve users experience, the VPS interface has been adapted to download images locally from a VPS-CD, if one is present in the CD-ROM drive. Otherwise images are downloaded from the VPS server.