21
Using the Digital Anatomist Foundation Model: a Graphical User Interface Emily Chung Linda Shapiro, Dept. of Computer Science and Engineering University of Washington Summer 2001

Using the Digital Anatomist Foundation Model: a Graphical User Interface Emily Chung Linda Shapiro, Dept. of Computer Science and Engineering University

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Using the Digital Anatomist Foundation

Model: a Graphical User Interface

Emily Chung

Linda Shapiro, Dept. of Computer Science and Engineering

University of Washington

Summer 2001

Foundational What?

The Structural Informatics Group has for years been working on a logic-based representation of anatomy.

In order to be able to store and retrieve anatomical information efficiently, that information must be organized in a coherent, logical way that supports higher level applications.

Organize, Organize, OrganizeHow do you organize anatomical data in a meaningful way?

There should be a hierarchy system for easy location of data, data tree-style.

It’d be nice to have links from parts of the body to other parts of the body if there is some anatomical relationship between them.

That way this data model can represent what we know of anatomy and how different parts of the body are connected to and affect other parts (what we’re interested in).

Introducing the Digital Anatomist Foundational Model

Details and Implementation

All the data lives in a database.

We use a tool from Stanford called Protégé that talks to the database and can display, retrieve and edit the information in a user-friendly way.

Yet more details…Besides displaying the data in a hierarchical, tree format, we also can see information associated with each object.This information, drawn from a set group of attributes called slots, includes information on what the object is connected to, is part of, and is adjacent to.

And the point of this is…?

This database of anatomical terms along with their information of other entities they affect form a comprehensive knowledge base.

From this knowledge of anatomy and their connectivity, we can begin to answer questions cropping up in both the clinical and educational setting.

Ex: An actual question from an anatomy exam book

The brachiocephalic trunk divides into two arteries:A. Right and left common carotidB. Right common carotid and right subclavianC. Left common carotid and left subclavianD. Right and left subclavianE. Right and left coronary.

Some problemsThe answer to this question was a direct look-up of what is in brachiocephalic’s “has_branch” slot.

But it takes time to look up entries and match them against possible answers.

And what about questions that are more complex than a simple look-up, and involve multiple links or the intersection of the answer set of different queries?

And does everyone have to learn how to use Protégé and the details of the FM’s ontology in order to search for the answers to their questions?

Enter the undergrad programmerThat’s where I come in, and where my project fits in.

This summer I inherited and expanded the capabilities of a graphical user interface (GUI) that sits on top of Protégé and allows a user to query the database for information.

The program also does some behind-the-scenes data processing and manipulation on the information returned by the database through Protégé.

This program allows the user to construct more complex queries at a higher level of abstraction, without being concerned with the more low-level details of implementation and data organization.

For all you computer geeks out there

Written in Java, it directly uses the Protégé API, which is also written in Java.

All of the graphical side of the program uses Java’s Swing classes.

How to use it: simple queries

Composite Queries

Boolean queries

Relation queries

Combining queries

And voila!

With this ability to take the logical combination of queries, you can get the complement, intersection and union of different answer sets.

Importing and exporting, too

An example of its use

Question: In a long plane ride, a blood clot forms in the leg by the muscle X from prolonged sitting, and can travel fatally up to the lung. What path did it take to get there?Series of queries to make:Muscle X is drained by Unknown (U1)U1 is tributary of Unknown (U2)Unknown (U3) is continuous with right atrium of heart.The intersection of U2 and U3 should give you the vein that has a tributary of a vein that is part of the leg, and that is also continuous with the right atrium, which from outside knowledge is continuous with the right ventricle, which is continuous with the pulmonary tree, which branches to the lung.Then you can trace from U1 to the answer to the previous step to find the intermediate veins in the venous tree, by calling (U1 is tributary of Unknown) recursively.

Looking beyond

This program sits on top of the Protégé application, and works by translating potentially complex queries into calls to the simpler Protégé retrieval functions.Further programs could themselves sit on top of this program and provide an interface at a higher level of abstraction, the highest being a natural language query engine.Those programs then could use this program by boiling high level questions into ones in a format this program can understand and answer.So instead of the user having to make a number of queries, and perform logic on the answer sets, another program could know how to interpret high level questions and generate automatically those queries.