Date post: | 04-Dec-2014 |
Category: |
Education |
Upload: | djmichael156 |
View: | 463 times |
Download: | 0 times |
1
British Library – RIC Workshop22 March 2011
A Virtual Research Environment for Cancer Imaging (VRE-CI)
2
Outline
• VRE-CI Project
• Manage Image Metadata
• Using Business Connectivity Services (BCS)
• Building the VRE-CI Site Template
3
A Virtual Research Environment for Cancer Imaging (VRE-CI)
• VRE-CI project is funded by the Joint Information Systems Committee (JISC) to provide a framework to allow researchers and clinicians involved in Cancer Imaging to share information, images and algorithms.
JISC VRE frameworks phase 3. 22 months 01/05/2009 – 21/02/2011. Project Partner: Microsoft Research
Lee DirksAlex WadeRoger Barga
Team members: PI. Prof. Anne E. Trefethen Co-I. Dr. Vicente Grau Project Manager Dr. M. Susana Avila-Garcia. Technical developers: Xin Xiong, Charles Crichton and Andrew Tsui.
4
VRE-CI
VRE Toolkit for SP2010
5
DICOM Image Viewer
6
Manage Image Metadata
• All of the images in the document set share the common metadata
7
Manage Image Metadata
• These fields are the Managed Terms which can be modified by users
8
Manage Image Metadata
• Managed Terms is stored in the Taxonomy Term Store in the Managed Metadata Service
9
The Image Metadata can be used for...
• Filtering images
10
The Image Metadata can be used for...
• Grouping images
11
The Image Metadata can be used for...
• Searching images
12
The Image Metadata can be used for...
• Searching Results
13
Exposing external data using Business Connectivity Services (BCS)
• Improved Business Data Catalog (BDC) in MOSS 2007
• BCS Architecture
• Rely on External Content Types & External Lists
• Options to create BCS solution: SharePoint Designer 2010 & Visual Studio 2010
Image Source: http://msdn.microsoft.com/en-us/magazine/ee819133.aspx
14
SharePoint Designer 2010 BCS Solution to Access Trident Registry
Add a new External Content Type
15
Connection to Trident SQL Server
16
Create Operations on “Activity” table
17
Create Filter Parameters
18
Create External List
19
Retrieve Trident Registry Information
• Trident Workflow Information
20
Visual Studio 2010 BCS Solution to Access Remote Image Metadata
• User Case:
– Unix file storing system in ROB
– Large volume of files
– Raw data containing no or less meaningful metadata
– Using a specific folder structure to indicate the image metadata e.g. Technology, Image Acquisition
Machine, Group Head, Users.
– Allow SSH to the file server
21
Folder Structure Example
tomography
Systems
Inveon MRI47
Data
RM1
SF1
RM1_SF1_SF36_420
20100223_static_VCAM_tumour_M1_5hpi
Data
RM1
SF1
RM1_SF1_SF36_420
20100223180102_01
22
Image Metadata Retrieved:
• Technology: Tomography
• Image Acquisition Machines: Inveon; MRI47
• Group Head: RM1
• User: SF1
• Study Name\Number: RM1_SF1_SF36_420
• DataSet Name: 20100223_static_VCAM_tumour_M1_5hpi; 20100223180102_01
23
Solution
– Shell script to populate the image metadata XML
– Use SSH to transfer the image metadata XML to the SharePoint Server
– Apply Business Data Connectivity Services to connect SharePoint to the external image metadata XML
– Navigating and searching the image metadata within SharePoint
24
Business Data Connectivity Model template
25
Edit TypeDescriptor Xml
26
Implement ReadItem & ReadList Methods in the service class
27
New External Content Type Created in BDC Service
28
Create External List
29
ROB Image List in SharePoint
30
Aims
• A reusable site definition for SharePoint to manage cancer related DICOM files.
• Make visible the metadata from inside the DICOM files within SharePoint. Especially within Search.
• Enable areas of the DICOM files to be marked for subsequent analysis.
• To link with Trident for subsequent analysis
31
Visual Studio 2010
• XML, C#, SharePoint APIs, Silverlight APIs
• The definition is built using Visual Studio
32
Creating a new site from a site definition
33
Site provisioning
• SharePoint ‘provisions’ a new site from a site definition.
• This requires the site definition to have to perform various actions – in the right order:
1. Global onet.xml
This file defines list templates for hidden lists, list base types, a default definition
configuration, and modules that apply globally to the deployment.
2. SPSite scoped features defined in site definitions onet.xml, in the order they are defined in
the file.
The onet.xml file defined in the site definition can define navigational areas, list templates,
document templates, configurations, modules, components, and server e-mail footers used in
the site definition to which it corresponds.
3. SPSite scoped stapled features, in quasi random order
4. SPWeb scoped features defined in onet.xml, in the order they are defined in the file.
5. SPWeb scoped stapled features, in quasi random order
6. List instances defined in onet.xml
7. Modules defined in onet.xml
[Source: Site Configurator v2: User Guide for Developers]
• This is frustratingly easy to get wrong!
34
Site Configurator
• To help build the definition we used the SharePoint Site Configurator Feature
– http://spsiteconfigurator.codeplex.com/ (January 2011)
• This enabled simpler ‘provisioning’
35
Useful techniques: mapping folders
36
Issues with document library names
• Site Configurator does not deal correctly with spaces in document library names for provisioning. Best to avoid spaces.
• Thicket folders: folders ending in ‘_Files’ and a host of other similar names are hidden/renamed by SharePoint. See KB905231.
– This ‘feature’ directly interacts with the DeepZoom technology, which uses ‘_files’ as a suffix
for a directory.
37
Including external unmanaged code
• Technically tricky: avoid if at all possible
• Map C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN and place unmanaged DLLs in it.
• Use managed code to call the unmanaged code. E.g. [DllImport("DICOM.dll")]
IIS (64bit)
SharePoint
Managed DLL (GAC) .
.
.
Unmanaged DLL
38
DICOM types
• DICOM has approximately 3500 field types – identified by their Tag name which has the form (Group, Element).
• We adapted the IETF RFC4122 name-based GUID algorithm (section 4.3 of http://www.ietf.org/rfc/rfc4122.txt) to map these onto SharePoint Field definitions with name based GUIDs, and generated corresponding fields within the site definition.
• An example generated field is:
• There can be issues when re-loading fields into SharePoint. It worked first time isn’t good enough! We found that the above form worked the second time as well. The key extra attribute is ‘DisplaceOnUpgrade’.
39
Things we would do differently
• Use the Silverlight client object model
• Prefer ‘Plain Old Document Libraries’ over Document Sets until they are more mature
• Separate the DICOM field definitions from the site definition during development (they take an age to load on a development VM)
• Consider recoding some of the ‘Untrusted code’ as trusted code.