Top Banner
Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan
13

Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Dec 30, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Atlas Interoperability Session

Ilya Zaslavsky, Willy Wong

+ Bill Bug + Heng Yuan

Page 2: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Why atlas integration• Multiple atlases exist, to present different kinds of

data, and offer different analysis and visualization functions

• Atlas authors are best to decide what presentation and functionality are most appropriate for their data

• Atlas authors tend to like their atlases more than other atlases – which creates a set of contradictory requirements…

• Needs:– Ability to search, query, retrieve different images, volumes,

and segmentations, from any atlas of choice– Ability to easily switch between atlases

Page 3: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Interoperability desiderata

Read data from other atlases/databases

API for data retrieval and transformation

Find relevant data in other atlases/ databases

API for atlas catalogs

View the region of interest in another atlas

API for atlas state exchange

MBAT Drexel’s NTUCLA’s ShivaSmart Atlas

GensatAllen Brain AtlasCCDB, others

Spatial registry

Page 4: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Mechanisms of integration• Directly:

– By space, using Stereotaxic coordinates• Formal coordinate system definitions• Coordinate system translation services (incl. between image and

stareotaxic)• Spatial registration of images and segmentations

– By anatomic feature names, via UMLS + Bonfire + Neuronames + BIRNLex…

• Ontological registration• Semantic translation services

• Indirectly– By verbal description of spatial locations relative to well-

defined features (rules)– In relative coordinates; by matching derived indices:

histograms, shape indexes, etc.

Page 5: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Mechanisms of integration: 2

Integration across atlas clients• Specification of state of atlas client• API for initializing exchange service and submitting and

retrieving states

ServletOr

Web Service

NTShivaMBAT

WOMBAT

SmartAtlas

Init()

New service id & URLOpen SmartAtlas using

returned URL

Submit()

Confirmation

Retrieve()

Result wrapped in XML

End_service()

Confirmation

Retrieve()

Result wrapped in XML

Submit()

Confirmation

Service ended automatically when application is closed

Page 6: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

text

text

Atlas 1SmartAtlas

Atlas 2MBAT

PortalAuthentication

API

Interoperability API: Initialization

Spatial Exchange

Ontology-Based Information Exchange

Coordinate Transformation

User/PWD + Optio

ns

Session ID

Interoperability API:Information Exhange

Session ID

User/PWD +Options

Session ID +

Informatio

n

Mouse BIRN Interoperability API

Session ID +

Information

The currentimplementation

Page 7: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

The message exchange WS

• http://132.239.132.181:8080/axis/InterAtlasServer.jws?wsdl– InitState– Submit_Ontology_Terms– Submit_stereotaxic_2D_pointlist– Submit_stereotaxic_3D_pointlist– Retrieve_Ontology_Terms– Retrieve_Stereotaxic_2D_Pointlist– Retrieve_Stereotaxic_3D_Pointlist– Clear_Ontology_Terms– Clear_Stereotaxic_All_Pointlist– Logout

Page 8: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Agreed-upon ROI description and state exchange protocol

STATE_INIT::

<atlas_state> <request name= "initialize_session">     <user>user</user>     <pwd>pwd</pwd>

 </request></atlas_state>

 <atlas_state>

 <response name= "initialize_session">    <sessionID>10009 </sessionID>

 </response></atlas_state>

  

STATE_SUBMIT

 <atlas_state> <request name="submit">    <sessionID>10009</sessionID>    <submitting_atlas>smart</submitting_atlas>

    <action name="highlight|...">       <locations>          <location coordsys="Stereotaxic">              <format type="pointlist3D">                     <ROI>                             <bbox>m1,n1,p1 m2,n2,p2</bbox>                             <data>x1,y1,z1 x2,y2,z2 ...</data>                     </ROI>                     <ROI>                              <bbox>m1,n1,p1 m2,n2,p2</bbox>                              <data>x1,y1,z1 x2,y2,z2 ...</data>                     </ROI>              </format>           </location>       </locations>     </action>   </request></atlas_state>

 

<atlas_state> <response name="submit">      <status>success</status> </response></atlas_state> 

STATE_RETRIEVE

 <atlas_state> <request name="retrieve">  <sessionID>10009</sessionID>  <targetatlas>shiva</targetatlas>  <targetterm ontology="UMLS|..."/>  <targetlocation coordsys="Stereotaxic" format="pointlist3D"/> </request></atlas_state>

<atlas_state > <response name="retrieve"> <submitting_atlas>smart</submitting_atlas> <action name="highlight"> <locations> <location coordsys="Stereotaxic">  <format type="pointlist3D">   <ROI>    <bbox>m1,n1,p1 m2,n2,p2</bbox>    <data>x1,y1,z1 x2,y2,z2 ...</data>   </ROI>   </ROI>   <ROI>    <bbox>m1,n1,p1 m2,n2,p2</bbox>    <data>x1,y1,z1 x2,y2,z2 ...</data>   </ROI>  </format> </location> </locations> </action> </response></atlas_state>

+ Java API

Page 9: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

State Exchange between NT & SA

• We have a set of JAVA APIs for the external programmers to specify a Paxinos Plate (via Stereotaxic coordinates).• We are still in the process of integrating NT/SA with the existing Interoperability Webservice APIs (2D exchange, tuning NT knife to available Paxinos for NT ->SA; the SA ->NT direction is straightforward)

Page 10: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

State Exchange between SA-MBAT

Atlas alignment problems… Transformation matrix wrapped in Coordinate Transformation Service

Page 11: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Exchanging atlas state in a format-independent manner

• Several formats for state: – pointlist3D, plane_pointlist2D, canonical_sagittal;

plane_filling_pixels, plane_quadrtree, plane_bounding_pixels; filling_voxels, octtree, surface_bounding_voxels

– Ontology-based + verbal state descriptions (?)

• Coordinate transformation services– http://132.239.132.181:8080/axis/MouseCoordinate.jws?w

sdl(Shiva to SmartAtals)

Page 12: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Universal description of location??

• Should work across scales and coordinate systems, (eventually across species, development stages?)

• Location description:– By geometries (in common coordinates: there are

three of them at least) – By feature names (in shared ontology) – Neuronames

most likely– By relationships (in common mereotopology terms):

need engines for “packing” and “unpacking” collections of mereotopological rules describing relative location of ROI w.r.t. common features

– NEED TRANSLATIONS BETWEEN THE THREE

Page 13: Atlas Interoperability Session Ilya Zaslavsky, Willy Wong + Bill Bug + Heng Yuan.

Atlas Interop API: thoughts

• MGI (they don’t do atlasing) and other collaborators• Semantic web community interested in integration with spatial semantics• UCSC site with more image data (VISIGENE)• 6-month application timeframe

– MRI +Protein localization +microarray, within a project; 2 other projects– Parkinsonian dataset as a use case - linkages to human

• Connectivity - USC, Hong Wei, COCOMAC• Visualization integration – 2D into 3D• Building (not) a Prius rather than two cars• Making canonical anatomical presentations accessible• 2D exchange definitely a short-term focus, but keep wider spectrum in mind• Formal specifications of coordinate systems and describing existing

datasets in these terms• Develop more transformation routines, for the defined coord systems• Pull more Gensat data into the atlasing environment? (start with data that

we already have)• Use cases for when you switch from one integration mdoe (bring data into

your current interface) to inter-atlas API