`The Digital Anatomist Common Gateway Interface
`
`S.W Bradley
`Rosse J.F Brinkley
`Digital Anatomist Program Dept Biological Structure and
`Integrated Academic Information Management Systems IAIMS Program
`University of Washington Seattle WA 98195
`
`ABSTRACT
`World Wide Web Common Gateway
`Inter
`face package is described for accessing existing on
`The Web in
`line interactive atlases of anatomy
`the same 2-D and 3-D images of
`terface accesses
`human neuroanatomy
`knee anatomy and thoracic
`custom in
`viscera that are currently accessed
`by
`learning courses Al
`teractive atlas in distance
`though the Web interface is too slow to replace the
`parallel access path that
`existing atlas it provides
`has much broader potential
`for development
`of
`distributed distance learning network in anatomy
`By maintaining both access methods
`to the same
`information sources we continue to satisfy the fast
`interactivity needs for our local courses while at
`the same time providing
`migration path to the
`Web as the capabilities of Web browsers evolve
`
`INTRODUCTION
`
`the World Wide
`The recent explosion in use of
`Web
`has led to several applications
`for dis
`tance
`in medicine including
`radiol
`learning
`The
`ogy blood morphology and many others
`University of Washington HealthLinks Web site
`http //www.hslib .washington edu has point
`to some of
`However
`these applications
`ers
`current Web
`for highly interactive
`applications
`browsers are very slow because the connection to
`the server must be re-established for each interac
`tion and because all processing must be done at
`the server
`separate presentation we describe
`non-
`In
`Web based client-server
`framework for the Digi
`tal Anatomist interactive atlas of anatomy
`In
`this system the client-server connection is main
`the session and all
`information
`tained throughout
`single image is downloaded in
`related to
`single
`chunk after which the client performs the compu
`for interaction with the image
`tations necessary
`
`01954210195/$5.OO
`
`1995 AMIA Inc
`
`512
`
`viable ap
`This mechanism has proven to be
`proach to distance learning in our medical school
`and is used extensively in several neuroanatomy
`and gross anatomy classes both at the University
`of Washington and at remote sites on the Internet
`The success of our online anatomy atlas has led
`us to consider ways to make it more widely us
`building block for University of Wash
`able as
`ington IAIMS Integrated Academic Information
`tools How
`Management Systems
`educational
`ever the custom framework is
`one-of-a-kind sys
`tem that
`runs only on the Macintosh computer
`is not directly compatible with the
`In addition it
`newer Web based learning programs nor is the in
`formation easily distributed among many sites as
`is on the Web Thus there is
`tradeoff between
`the increased interactivity of the custom approach
`the Web-based
`the wider applicability of
`versus
`approach and we have begun
`ments to evaluate these tradeoffs
`In this paper we describe one such experiment
`interface to the same images that are
`Web-based
`accessed by the custom client Although the Web
`is inher
`client is slower than the custom client
`ently portable across multiple platforms and has
`to link distributed sources of infor
`the potential
`mation By providing both
`Web-based
`and
`custom interface to the same data we ensure that
`the atlas remains fast enough for use in our local
`pathway for much wider
`courses while providing
`availability as Web-based
`browsers evolve
`
`it
`
`series of experi
`
`it
`
`Web-Based Extensions to the
`Digital Anatomist Framework
`
`The Digital Anatomist
`atlas is an
`Interactive
`and practice program Images
`image-based drill
`depicting 2-D or 3-D views of anatomic objects are
`from server Once
`downloaded to
`local client
`the image is available the student clicks the mouse
`
`Petitioner IBM – Ex. 1048, p. 1
`
`
`
`on various regions and the atlas displays the name
`of the structure along with other attributes such
`The structure name is also linked
`as definition
`The interactive
`to available Quicktime movies
`the Digital Anatomist
`atlas is one component of
`distributed framework
`portion of which is
`The components above the net
`shown in figure
`work line are clients whereas the components be
`low the line are servers and information resources
`The original custom client
`is the Macintosh Inter
`active Atlas the original custom servers are the
`structural database server the structural knowl
`the log server and the dispatch
`edge base server
`server
`The interactive
`atlas client
`images
`accesses
`stored as files in the database by means of the
`structural database server which acts somewhat
`like an ftp server The Mac client can also access
`anatomic terminology and relationships stored in
`our knowledge
`base via the structural knowledge
`server
`
`file
`
`as
`
`of
`
`Each database request from the client retrieves
`PICT file showing the anatomic region
`two files
`of interest and an associated frame file The frame
`contains the name of the PICT file as well
`list of polygonal
`regions denoting structures
`interest on the image When the user clicks
`on the image the client determines which polygon
`has been indicated and displays the name of the
`The name also acts as an
`associated structure
`index for retrieving associated information from
`the knowledge base
`second kind of frame file
`associates commands with the polygonal
`regions
`the primary command is OPEN-FRAME for
`new frame file
`retrieving
`The bottom-left
`shows
`side of
`the
`figure
`World Wide Web extensions to the existing Digi
`standard Web Server i.e
`tal Anatomist servers
`NCSA httpd 1.3 and the Digital Anatomist CGI
`Common Gateway Interface Package Anatomy
`atlas images are retrieved from the database by
`the CGI package which is in turn ac
`means of
`cessed by the Web server
`The images are dis
`standard Web browser such as Mosaic
`played on
`or Netscape Unlike the custom framework the
`Web-based
`interface to the databases is structured
`such that almost all of the processing is done in-
`side the servers CGI package and only minimal
`amount of data is sent
`to the client at any one
`time
`
`shows
`Figure
`the Digital
`typical page of
`Anatomist Interactive Atlas on the World Wide
`Web Once the image has been retrieved the stu
`
`513
`
`Web extensions to the Digital Anatomist
`Figure
`framework
`
`dent clicks on
`region of the image causing the
`name of the structure in this case descending
`tho
`racic aorta to appear at the top of the image If
`the Show Outlines button is selected the screen
`shows the same image with all structures outlined
`figure
`
`The Digital Anatomist Common
`Gateway Interface
`
`The heart of the Web extension is the CGI pack
`age which consists of four main CGI programs
`and
`server cache directory for saving converted
`The CGI programs access ifies in the
`images
`database and knowledge
`base directly bypassing
`the custom servers
`is an expansion of the CCI box in fig
`Figure
`and shows how these programs work to
`ure
`between
`gether All communication
`these pro
`grams and the client is facilitated through the Web
`server The arrows denote information flow from
`program to program The following sections de
`scribe these programs in more detail
`
`The Controller Imageform
`Every atlas page on the client is actually an HTML
`sent by the Web server
`form
`There are
`several specific items each form contains
`Every
`user interface control such as the Show All Out
`lines checkbox is one of these items The actual
`anatomical
`image shown on the page is also
`form
`item In addition there may be one or more in
`visible text fields for use by the server Each form
`name and
`item has
`value For instance the
`
`Petitioner IBM – Ex. 1048, p. 2
`
`
`
`of the Digital Anatomist
`Architecture
`Figure
`Common Gateway Interface
`
`value of
`
`checkbox named outlines may have
`on or off One of the invisible fields ffpath
`has its value set
`to
`string denoting the path
`to the frame file containing the named structure
`information
`The image acts as two form items image.x
`and image.y which record the value of
`the
`coordinates of the mouse click respectively
`and
`All forms must have an action that causes them
`to the server Many forms have Sub
`to be sent
`mit button The Digital Anatomist forms use the
`the image as Submit button
`inside of
`When the user clicks
`im
`inside the image the
`age.x and
`image.y items are assigned their ap
`propriate values and all of the form items names
`and values are sent
`to the server for interpreta
`tion
`Imageform is the program responsible for read
`ing the form data from the Web client
`It does not
`process the value of the forms user interface con
`trols but passes them on to the other programs
`that do Imageform uses the path stored in the
`ffpath invisible field to read the structural out
`line coordinates and perform point-in-polygon
`comparison with the mouse-click coordinates
`Once Imageform determines which region the
`the name of
`click was in it
`looks at
`the region
`to determine whether
`control button that
`is
`links to another frame with
`image or an
`different
`anatomical structure that needs to be identified If
`is an anatomical structure imageform transfers
`to PageMaster passing it
`control
`the values of all
`the form items one of which is the path to the
`frame file and the name of the anatomical
`current
`structure
`
`Figure
`Web
`
`typical Atlas page on the World Wide
`
`typical Atlas page with the structural
`Figure
`outlines turned on
`
`514
`
`click
`
`it
`
`it
`
`Petitioner IBM – Ex. 1048, p. 3
`
`
`
`control but
`If the region is determined to be
`ton imageform reads the path name of the new
`frame to be linked to It
`then substitutes the new
`frame files path name for the form item that was
`frame file Imageform then
`specifying the current
`calls PageMaster with no structure name parame
`ter and all of the form items
`If the mouse-click is not found to intersect any of
`the named regions Imageform transfers to Page-
`Master passing the structure name unlabeled
`area and all of
`form items without
`the current
`changing frames
`
`Screen Design PageMaster
`
`is the program responsible for pro
`PageMaster
`cessing most of the form data and designing the
`next
`form page that
`see First
`the client will
`it names the client window alter the frame file
`Then at the top of the page it displays the name
`of the last structure clicked as passed from Image-
`form From the directive in the frame file Page-
`Master finds out the relative path to the image file
`then determines from form item whether the
`It
`outlines should be shown PageMaster
`then looks
`into the servers cache of GIF files to see if
`image file exists in GIF format
`the
`If
`necessary
`GIF was found PageMaster outputs
`pointer di
`rectly to that file for the Web browser to display
`probably from its own local memory cache Oth
`erwise PageMaster outputs an 1MG SRC path to
`another CGI program Getpict This URL directs
`the Web client
`to retrieve the GIF image that get
`redirects it to Once the 1MG SRC path has
`pict
`been resolved PageMaster outputs the Show All
`Outlines button with its previous state remem
`bered just below the image The last thing Page
`Master outputs is the invisible form item contain
`ing the path of the frame file for this image as it
`was passed from Imageform
`
`the
`
`Image File Handler Getpict
`
`Since all of the image files are stored as Macintosh
`PICT files and the standard image file format for
`the World Wide Web is GIF image file conver
`sion must be done To keep everything compatible
`with the original Macintosh version of the Digital
`Anatomist our current approach is to not
`touch
`the original PICT ifies but to convert them to GIF
`as they are needed at run time This conversion
`process can take an unacceptable length of time
`slow computer
`the process is run on
`especially if
`This is the reason for the server-side GIF cache
`
`if
`
`directory with the hierarchy dupli
`This cache is
`cated from the original PICT directory When
`PICT file is converted to GIF format it
`is saved in
`the cache directory exactly where it would appear
`in the PICT directory Having
`separate cache di
`rectory gives us the ability to monitor the cache
`size and remove the least-recently-used image file
`the cache gets too big
`This image conversion is the main function of
`Getpict As input Getpict
`takes the relative path
`PICT file and
`flag denoting whether out
`to
`lines should be on or not
`If no outlines are needed
`the appropriate path prefix is prepended then the
`PICT file
`is converted to GIF with Unix netpbm
`and saved in the cache directory Get
`utilities
`then exits outputting redirection commands
`pict
`to the Web client
`the new GIF ifie If out
`to get
`lines are needed Getpict
`to Out-
`transfers control
`liner passing the full paths to both the PICT file
`and the frame file and then echos Outliners out
`put back to the Web client via PageMaster
`
`Outliner
`
`shows an atlas page containing an image
`Figure
`that is the result of Outliner Outliner is the pro
`gram that takes care of drawing the structural out
`lines on top of the image file It
`is passed the path
`to PICT file and the path to its associated frame
`file First Outliner converts the PICT file
`to
`standard format called ppm Once this has been
`done Outliner can easily read information about
`the image like height width and number of col
`ors After this information has been read Outliner
`reads the coordinates from the frame file storing
`them in order in memory It must also compute
`the coordinates of the pixels that compose the line
`segment connecting two adjacent region boundary
`Then Outliner modifies the ppm file
`coordinates
`by replacing all of the pixels that correspond to the
`region boundaries with
`pixel of the color speci
`fled by the frame file This is all done in memory
`After this process has been completed the content
`to GIF format and saved
`of memory is converted
`name similar to the
`in the cache directory under
`original that denotes that it has outlines Outliner
`the Web client
`then outputs commands to redirect
`to retrieve the new GIF file
`
`RESULTS AND DISCUSSION
`
`The Digital Anatomist CGI Package provides
`to the same image data that is available to
`access
`the custom client currently 423 image frames of
`
`515
`
`Petitioner IBM – Ex. 1048, p. 4
`
`
`
`which 290 are neuroanatomy and 133 are thoracic
`As the anatomists update the database
`viscera
`the changes are immediately visible on the Web
`via the CGI package
`Each image obtained via the
`Web is associated with the same structural regions
`as in the custom version so all structures that are
`outlined can be seen in Web image
`Qualitative comparison between the Web based
`atlas and the custom atlas suggests that although
`the Web atlas is slower to return
`structure name
`than the custom atlas it
`is not unacceptably slow
`especially when run on fast clients and servers
`However since all mouse clicks must be processed
`on the server we expect that as network distance
`increases the Web based atlas will be unacceptably
`slow when compared to the custom atlas This
`expectation along with the lack of overlays delin
`eating outlined structures is the main reason we
`the custom atlas
`will continue to support
`In addition to the slower speed and lack of over
`features of the custom atlas
`lays there are other
`that are not yet supported in the Web version in
`cluding quiz mode animations and access
`to the
`base
`These features should be rela
`knowledge
`tively easy to incorporate into the CGI package
`the forms interface and
`given the availability of
`our Lisp-based knowledge
`server organization
`We have already demonstrated
`text entry Web
`base All
`that needs
`interface to the knowledge
`to be done now is to replace the manual text en
`structure name returned from Image-
`try with
`form With the help of
`the anatomic extensions
`to the UMLS Unified Medical Language System
`currently under development
`this will be very
`for looking up synonyms and root words
`powerful
`of structure names that have been retrieved
`The current experiment has shown us the fea
`Web based interface to
`sibility of constructing
`an interactive atlas of anatomy Although the in
`terface is too slow to replace our current atlas it
`provides many exciting opportunities for expan
`sion that could not be easily accomplished with
`Among these are automatic
`the custom atlas
`easy creation of user in
`platform independence
`terface devices dynamic generation of atlas con
`bases and graphics
`tents by back-end
`knowledge
`server programs which are already available in
`our framework and elsewhere and sharing of
`content among multiple sites
`The latter
`idea has great appeal as the basis
`network for distance learning
`collaborative
`for
`in structural biology of the kind envisioned in our
`IAIMS project
`For instance one school may
`
`have
`premier neuroanatomy program while the
`other may have more strength in its musculoskele
`tal program With the use of this type of frame
`work any group of
`institutions or departments
`may collaborate to create
`distributed anatomy
`distance learning system As some of the current
`Web limitations are resolved this approach to med
`ical education will become
`very useful and pow
`learning tool
`Acknowledgments
`
`erful
`
`This work was funded by National Library of
`Medicine Grants LM05620 and LM04925 and Hu
`The au
`man Brain Project Grant DC/LM02310
`thors would like to acknowledge
`the support of
`the following members of the IAIMS Educational
`Jim Bar
`Group at the University of Washington
`rett Cliff Solomon John Bolles Debbie Ketchell
`and Sherrilynne Fuller The Digital Anatomist
`the World Wide Web
`be
`found
`on
`can
`at
`the URL http//wwwl.biostr.washington.edu/
`DigitalAnatomist.html
`
`References
`
`Spell and Ward
`R.J Vetter
`Mosaic and
`the World-Wide Web Computer 271049
`57 1994
`
`J.F Brinkley K.R Eno J.W Sundsten D.M
`Rosse
`distributed framework
`Conley and
`for distance learning in anatomy The Digital
`Anatomist Interactive Atlas 19th Symposium
`in Medical Care In
`on Computer Applications
`Press 1995
`
`Fuller Creating the integrated information
`infrastructure for the 21st century at the Uni
`versity of Washington Warren
`Magnuson
`Health Sciences Center
`In Proceedings 17th
`Annual Symposium on Computer Applications
`in Medical Care pages 529533 Washington
`D.C 1993
`
`and J.W Sund
`Eno
`J.F Brinkley
`sten Knowledge-based client-server approach
`information retrieval
`to structural
`the Digital
`Anatomist Browser Computer Methods
`and
`Programs in Biomedicine 40131145 1993
`
`Ben Said K.R Eno and
`Rosse
`of anatomi
`Enhancements
`J.F Brinkley
`information in UMLS knowledge
`sources
`cal
`19th Symposium on Computer Applications in
`Medical Care In Press 1995
`
`516
`
`Petitioner IBM – Ex. 1048, p. 5