The INCF Digital Atlasing Infrastructure (INCF-DAI) in-depth discussion

50
The INCF Digital Atlasing Infrastructure (INCF-DAI) in-depth discussion Ilya Zaslavsky (UCSD) Pilsen, September 4, 2009

description

The INCF Digital Atlasing Infrastructure (INCF-DAI) in-depth discussion. Ilya Zaslavsky (UCSD) Pilsen , September 4, 2009. OUTLINE. What is INCF-DAI A system of distributed atlas hubs and services Anatomy of a service Spatial transformations INCF Central - PowerPoint PPT Presentation

Transcript of The INCF Digital Atlasing Infrastructure (INCF-DAI) in-depth discussion

Page 1: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

The INCF Digital Atlasing Infrastructure (INCF-

DAI)in-depth discussion

Ilya Zaslavsky (UCSD)

Pilsen, September 4, 2009

Page 2: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

OUTLINE

1. What is INCF-DAI2. A system of distributed atlas hubs and

servicesAnatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 3: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Purpose of this INCF program: To enhance the interoperability, accessibility, and sharing of spatial data sets in neuroscience: INCF-sponsored standards

Page 4: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

The Integration Problem: Whose standard?

Page 5: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

What are we trying to do?

• We have many individual fragmented efforts, each using separate semantic and spatial frameworks

• Each is a research effort, i.e. constantly changing, imperfect, not necessarily designed for integration

• Our focus is not on perfecting tools, but integrating them into an interoperable system, by creating an INCF-DAI architecture and standardizing data exchange

• This is an iterative process: integration experiment -> finding “weakest links” -> prioritizing tool improvement -> new level of integration, with enhanced integration models…

Page 6: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

1. What is INCF-DAI2. A system of distributed atlas hubs and

servicesAnatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 7: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Managing different data types in INCF-DAI

Page 8: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

INCF Central, and INCF Services and Hubs

INCF Central:

Service registry,Registry of

spaces,Metadata catalog

ABA Service

WHSService

UCSDService

EMAGEService

Other…

Other…

Page 9: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Atlas Services

ABA Service WHS Service UCSD Service EMAGE ServiceCore Services

GetCapabilities, DescribeProcess

GetCapabilities, DescribeProcess

GetCapabilities, DescribeProcess

GetCapabilities, DescribeProcess

Known coordinate spaces

ABAvoxel, AGEA, ABAreference

WHS Paxinos EMAP

Lookup GetStructureNameByPOI

GetStructureNameByPOI

GetStructureNameByPOI

GetStructureNameByPOI

Coordinate translations

WHS AGEA,ABAreference ABAvoxel,AGEA ABAvoxel

Paxinos WHS EMAP WHS

Other, based on POI

Get2DImageAtPOI, GetCorrelationMap, GetGenesByPOI

Get2DImageAtPOI Get2DImageAtPOI, GetGenesByPOI

Based on structure

GetGenesByStructure GetGenesByStructure

(As of August 2009; planned services in italic)

Service = some functionality that you can call over the web in a standard manner

Page 10: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Internals of a service(with ABAServiceController as an Example)

• Service definition resides at the INCF server (as with all current services)

• Some methods are implemented locally: core methods, all space translations (with mandatory bridge to WHS), also structure lookup by POI

• Other methods wrap ABA API calls: GetCorrelationMap, Get2DImageatPOI, GetGenesAtPOI, GetGenesByStructure

• The services return either HTML (currently), or XML/txt

• GetCapabilities and DescribeProcess comply with OGC’s Web Processing Service (WPS) specification

API: Application Programming Interface

Page 11: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Some examples of service signatures

• Coordinate transformation:– http://132.239.131.188:8080/incf-services/service/ABAServiceController?request

=SpaceTransformation&FromSRSCode=WHS&ToSRSCode=AGEA&x=X&y=Y&z=Z&output=txt

• Structure name lookup:– http://132.239.131.188:8080/incf-services/service/ABAServiceController?request

=GetStructureNameByPOI&SRScode=ABAVoxel&x=X&y=Y&z=Z&filter=structures:anatomic&output=txt

• Find genes:– http://132.239.131.188:8080/incf-services/service/EmageServiceController?requ

est=GetGenesByStructure&vocabulary=ABAvoxel&term=term&filter=“structures:anatomic” &output=html

Services can be chained (i.e. output of one service becomes input of another) to implement different research workflows.

We attempted to make the service signatures as common across different atlas hubs as possible

Page 12: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

The Central Role of Waxholm Space

Page 13: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Transformation service issues (looking at WHS to Paxinos as example)

WHS is a voxel space, containing continuous information of a particular mouse’s brain, obtained elegantly from an MRI imaging. Paxinos is derived from a mouse brain sample, physically sliced into cross-sections and observed visually:

– Different animals, and different shape of the brain– There is no Paxinos information between two adjacent slices– Some Paxinos slides are “out of step” with the adjacent slides– Many Paxinos boundaries are estimated and not consistent with one another, particularly in the cerebellum.

Method:– Taking cross-sections of the MRI image, projecting them over Paxinos slides. – The human eye and brain is still a very powerful data processor. By looking at a WHS section over a

Paxinos slide, one can see what adjustments are needed: a nudge to the left, a twist clockwise, or a dilation in one direction. Not only can the shape of the brain itself be used, but the light-and-dark patches in the MRI match with Paxinos brain regions. Eventually, each Paxinos slide can match very closely with a WHS cross-section.

– Once these cross-sections are found, a clear mathematical correlation in the data gives a formula from one space to another.

Additional problems:– It is virtually impossible to make a perfect match, or ascertain accuracy– The anterior commisure region in WHS mouse happened to be located slightly higher than that in the

Paxinos mouse. The discrepancy distance is about one diameter. A query in the WHS ac would be likely to miss the Paxinos ac.

– The Olfactory Bulb is another difficult region; its cone shape is susceptible to deformation and has different relative dimensions not only in WHS and Paxinos, but in other spaces such as ABA as well.

– In some slides, while the internal regions match up very well, the outside extent of the cerebral cortex fails to match.

Page 14: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

1. What is INCF-DAI2. A system of distributed atlas hubs and

servicesAnatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 15: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

INCF Central, and INCF Services and Hubs

INCF Central:

Service registry,Registry of

spaces,Metadata catalog

ABA Service

WHSService

UCSDService

EMAGEService

Other…

Other…

Page 16: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Atlasing Hubs

User Interface

EMAGE:INCF Hub

webservices

WHS canonical space and datasetStandard terminologies

Standard services and exchange schemas

INCF SpatialServer

Atlasing Infrastructure

webservices

INCF ConceptServer

INCF Registry

webservices webservices

ABA:INCF Hub

webservices

UCSD:INCF Hub

webservices

INCF DAI Infrastructure Components

Present informationabout atlasing hubs Query

atlasing hubs

All components built on standards

Harvest metadatafrom atlasing hubs

Page 17: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

INCF Central: Registry of Atlas Spaces

• INCF role may play similar role to EPSG, the authority in coordinate systems – EPSG codes (e.g. EPSG:4326

for WGS84) are ubiquitous in GIS software. EPSG:900913 is the coordinate system used in Google Maps, Yahoo Maps, Virtual Earth.

• INCF may maintainits own registry ofatlas coordinatesystems (we have aprototype)

Page 18: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Other INCF Central Registries

• Service registry for atlas hubs (GetCapability requests)

• Spatial transformations registry, from all atlas hubs

• Ontology registry and repository (PONS)• Additional metadata: replicas of local

metadata catalogs and spatial registries, segmentations, etc.

Page 19: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Internal organization of the server

• Why: support development by a group (different developers for web services, transformations, lookup, central database, etc.)

• Code management system

Page 20: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

1. What is INCF-DAI2. A system of distributed atlas hubs and services

Anatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the

demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 21: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Demo ContributorsNeuroscience scenarios: Maryann Martone, Stephen Larson (UCSD), Jyl Boline

(Informed Minds), Lydia Ng and Mike Hawrylycz (Allen Institute), Al Johnson (Duke University)

WHS dataset: Al Johnson and Jeff Brandenburg (Duke University), Jonathan Nissanov and Pablo Burstein (Drexel University)

Other datasets and meshes: Maryann Martone and Stephen Larson (UCSD), Lydia Ng and Chris Lau (Allen Institute)

INCF Central and atlas service wrappers: Asif Memon (UCSD)INCF hubs and local services: Lydia Ng (Allen Institute), Albert Burger (MRC, UK),

Kenneth McLeod (Heriot-Watt Univ, UK), Asif Memon (UCSD)Spatial transformations and anatomic structure lookup: Lydia Ng (Allen

Institute), Steven Lamont and Alexander Young (UCSD)Representation of coordinate spaces: Alexander Young (UCSD)Client development: Stephen Larson and UCSD team; Seth Ruffins and UCLA teamHardware and server setup: Larry Lui (UCSD)Architecture: Albert, Fons, Jyl, Mike, Janis, Ilya

Thanks to Jyl and Janis for coordination!

Page 22: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Demo overview

Page 23: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Testing transformation chains: from Paxinos Reference Plates to ABA Reference Plates via WHS and AGEA/ABA

Initial point: (1.0, 4.3, 1.78)

Anterior to Bregma at 1.78 mm, Fig. 16

Structure= AC (anterior commissure)

Page 24: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Testing, Step 1: Paxinos to WHS

The original

Transform to WHS using Alexander’s conversion, wrapped in Asif’s service:http://incf-dev-mapserver.crbs.ucsd.edu:8080/incf-services/service/UCSDServiceController?request=SpaceTransformation&fromSRSCode=paxinos&toSRSCode=whs&x=1.0&y=4.3&z=1.78&output=html

Result = 308,642,224

WHS coronal cut WHS coronal cut fitted with Paxinos plate

Page 25: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Testing, Step 2: WHS to AGEA

The original

Transform to AGEA using Steve’s lookup over Lydia’s conversion matrix, wrapped in Asif’s service:http://incf-dev-mapserver.crbs.ucsd.edu:8080/incf-services/service/ABAServiceController?request=SpaceTransformation&fromSRSCode=whs&toSRSCode=AGEA&x=308&y=642&z=224&output=html

Result: 3825,5650,4650

http://tirebiter.ucsd.edu/cgi-bin/get_plane.cgi?atlas=whs&view=Y&x=308&y=642&z=224

http://tirebiter.ucsd.edu/cgi-bin/get_plane.cgi?atlas=whs&view=Z&x=308&y=642&z=224

WHS views

Looking at the result in AGEA:http://mouse.brain-map.org/agea/all_coronal?correlation&seedPoint=3825,5650,4650

Page 26: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Testing, Step 2: WHS to AGEA;Results in AGEA

The original

http://mouse.brain-map.org/agea/all_coronal?correlation&seedPoint=3825,5650,4650

Wrapped in Asif’s service: http://incf-dev-mapserver.crbs.ucsd.edu:8080/incf-services/service/ABAServiceController?request=GetCorrelationMap&SRSCode=whs&x=308&y=642&z=224&filter=maptype:coronal&output=html

Page 27: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Testing, Steps 3 and 4: AGEA to ABA volume to ABA reference plates

The original

Transform to ABA (i.e. divide by 25):http://incf-dev-mapserver.crbs.ucsd.edu:8080/incf-services/service/ABAServiceController?request=SpaceTransformation&fromSRSCode=agea&toSRSCode=abavoxel&x=3825&y=5650&z=4650&output=html Result: 153,226,186

Transform to ABA reference plate coordinates, using Lydia’s formula implemented in Asif’s service:http://incf-dev-mapserver.crbs.ucsd.edu:8080/incf-services/service/ABAServiceController?request=SpaceTransformation&fromSRSCode=abavoxel&toSRSCode=abareference&x=153&y=226&z=186&output=html

Result: 1.194, 5.127,1.693

Check the result in ABA reference atlas at http://mouse.brain-map.org/atlas/ARA/Coronal/browser.html(see http://mouse.brain-map.org/viewImage.do?imageId=130973 ) – we are in Coronal level 38, as predicted!

Page 28: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

The results, againThe original Paxinos

Page 29: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Placing a probe in the 3D atlas viewer

Page 30: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Lateral view, with the probe in hippocampus

Page 31: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Calling ABA services

Page 32: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Calling EMAGE services

Page 33: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Calling WHS services

Page 34: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Calling UCSD (Smart Atlas) services

Page 35: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Response from UCSD Get2DImageAtPOI

Page 36: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Lateral view, rotated

Page 37: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Responses from various ABA requests

Page 38: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Fine Structure Name: DGAnatomic Structure Name:HIP

WHC GetStructureNameByPOI: Hc

Responses from various ABA requests - 2

Page 39: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Response from EMAGE GetGenesByStructure

Page 40: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

1. What is INCF-DAI2. A system of distributed atlas hubs and services

Anatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 41: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Servers &Databases

MicroarrayImaging Informati

onSpatial registry

Spatial Transformations

+ metadata

+ metadata Image

APIs

IntegrateSpatial

Integration

SemanticIntegrati

onDatabase

IntegrationStandards

Data Upload

Client

IntegrationAPIs

AnalyzeVisualizeQuery

Register to Atlas

Microarray

APIs

INCF-DAI: path to adoption

Page 42: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Requirements• Flexibility

– Individual atlases may use different representations and data types– Atlases may support different functions– Atlases may adhere to known (already registered) or unique (but

defined) spatial and semantic frameworks– There may be different amount of funding available to bring the atlas in

compliance with INCF-DAI expectations

• A range of approaches:– Register a GetCapabilities service, then INCF Central will harvest the

rest of the metadata (implying that local coordinate system(s) and semantics are formally described and available via services): we need to provide sample software stack. This would be an ideal scenario, though need a monitoring infrastructure

– Work with INCF on a hybrid service, where some functions are hosted at the atlas hub, and other are created at INCF (e.g. space descriptions and WHS transformations)

– Have INCF host entire atlas

Page 43: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Development of coordinate translation services – still fairly time consuming

A few simple tools to help with this:• Image slice utility:

(http://<server>/cgi-bin/get_plane.cgi?atlas=<atlas>&view={X,Y,Z}&x=<x>&y=<y>&z=<x>)

• Coordinate lookuputility:(http://<server>/cgi-bin/atlas_lookup.cgi?atlas=<atlas>&x=<x>&y=<y>&z=<x>&direction={forward,inverse})

• Structure label lookuputility:http://<server>/cgi-bin/structure_lookup.cgi?atlas=<atlas>&x=<x>&y=<y>&z=<x>

• WHS label lookup utility: http://<server>/cgi-bin/canon_lookup.cgi?x=<x>&y=<y>&z=<x>

Page 44: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

1. What is INCF-DAI2. A system of distributed atlas hubs and services

Anatomy of a serviceSpatial transformations

3. INCF Central4. The current status: introduction to the demo5. How do you join the INCF atlasing network6. Summary, current limitations, future work

Page 45: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Summary• We developed concepts of INCF-DAI, atlas hubs and services,

INCF Central server, and communications between them• We built service-oriented architecture prototype for distributed

digital atlases of mouse brain, that relies, where possible:– On standard service descriptions and exchange schemas– On standardized spaces, and a registry of spaces– On a collection of coordinate translation services, with WHS at the center– On standard terminology, with term cross-walks where needed

• The translation services have performed well, and several tools were built for testing their performance

• Data from several atlas hubs can be spatially integrated for the first time, via services and service chains

• The integration has been demonstrated with a novel3D Atlas Integration application

• The system is extensible

Page 46: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Limitations

• There are many other ways to link data to tell a neuroscience story– E.g. get genes from ABA, and check where these genes are expressed in EMAGE ( but not the

focus of the prototype)

• Spatial integration methods:– From coordinate-based and anatomic feature-based, to integration by spatial placement rules

• WHS meshes are “fitted” into ABA volume space, for now– Because otherwise need to adjust 2D images in the view, and perhaps have their warped copies

• Spatial selection– Now by POI; in the future: by ROIs, transects, trajectories (e.g. along neuronal paths)

• The client does not yet integrate data returned by spatial requests:– It is still Alpha; client integration is planned for the complete version (for 2D images, in particular)– XML schemas are not yet standardized for must queries

Page 47: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Future work• Additional atlasing hubs• Additional data types and associated standard

services• XML schemas for the services• Further coordinate space standardization• Additional reference spaces and transformations

(EMAP, in particular)• A registration and metadata harvesting system• A compelling neuroscience story• Working closely with the ontology and metadata

TFs on APIs and central registries• Versioning of INCF-DAI

Page 48: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Global Spatial Data Infrastructure, as an example

• GSDI = technology, policies, standards, human resources necessary to acquire, process, store, distribute, and improve utilization of geospatial data– Started in 1995/96; GSDI conferences– Global access to spatial data based on standards– Builds on National SDIs operated by member states, and on SDIs created by

international bodies– Building a global picture without disturbing the NSDI process– Promote capacity building globally; GSDI implementation “cookbook”– Key features: common spatial framework based on international standards (ISO

for spatial metadata etc.; Open Geospatial Consortium); registries of geographic feature names and gazetteers; spatial data catalogs; clearinghouses; terminology, etc.

– Membership-based and funded; small grants mechanism

• Also: infrastructure developed by international research projects: for ocean observations, meteorology, hydrology, geology, etc. (but seriously constrained by national funding)

Page 49: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

Global Brain Data Infrastructure

• Supporting national BDI efforts to be compatible with the global framework– Small grants, workshops, tutorials, code-sharing, demo projects, etc.

• Infrastructure pillars– Common spatial and semantic framework, standards for data exchange,

registries of shared atlas spaces and concepts

• Community process for extending spatial and semantic frameworks, standards governance

Page 50: The INCF  Digital  Atlasing  Infrastructure (INCF-DAI) in-depth discussion

DISCUSSION