Skip to content

Latest commit

 

History

History
82 lines (52 loc) · 10.3 KB

File metadata and controls

82 lines (52 loc) · 10.3 KB

IIIF 3D on MorphoSource

This document describes the ways the MorphoSource 3D Data Repository supports IIIF Presentation version 4. Presentation 4 enables flexible and powerful presentation of 3D assets with cameras, lights, and commenting annotations. If you are already using MorphoSource to upload 3D models, we also have documentation showing how to put this IIIF support into action by creating and saving annotations and setting initial model rotation.

IIIF Feature Matrix and Examples

This table shows what IIIF 3D features are currently supported in MorphoSource's 3D viewer using the IIIF 3D TSG list of example 3D manifests. The manifest link will take you to the manifest JSON. The example link will take you to MorphoSource's 3D viewer and will display the content described by the manifest.

Manifest Supported? Example
1. Basic model in scene
Single Model View
Single Model with background color View
4. Transform and position
Single Positioned Model View
Rotated Model View
Rotated Translated Model View
Translated Rotated Model View
Two Models with Scaling and Positioning View
Two Models with Translation, Scaling, and Positioning View
Two Models with Scaling, Translation, and Positioning View
Two Models with Left-Right Mirroring and Positioning View
Whale Cranium and Mandible Positioned View
9. Commenting Annotations
Single Model with Comment Annotations View
10. Content State
Single Model with Comment Annotations and Custom Views Per Annotation View
Whale Cranium and Mandible with Manifest-Level Comment Annotations View

✅ Works fully!  🟡 Some relevant features work  ❌ Relevant feature(s) not yet supported

The full list of IIIF 3D TSG draft manifests is here. Groups of manifests not listed here aren't supported yet - for example, our viewer only supports cameras specified as part of custom annotation views and not for scenes overall. Some manifests have been excluded because they are malformed and need some improvements (see this GitHub issue).

Trying Out IIIF 4

You can view any IIIF 4 Presentation manifest with a URL in MorphoSource's viewer environment, which uses Universal Viewer and the 3D viewer Aleph-R3F. In other words, you can use MorphoSource's viewer as a test sandbox to view your own IIIF 3D content.

The MorphoSource viewer is publicly available at the URL:

https://www.morphosource.org/uv/uv.html

Viewing a manifest in the viewer is accomplished by appending a query parameter #?manifest= to the viewer URL above where the query parameter value is your manifest URL. As an example, if you have IIIF 3D content located at manifest URL:

https://github.com/IIIF/3d/astronaut_comment_scope/manifests/10_content_state/astronaut_comment_scope.json

Then the combined URL to view this manifest in the MorphoSource viewer environment is:

https://www.morphosource.org/uv/uv.html#?manifest=https://github.com/IIIF/3d/astronaut_comment_scope/manifests/10_content_state/astronaut_comment_scope.json

Clicking the above link will display the specified manifest content in MorphoSource's UV environment. If 3D content is detected, the Aleph-R3F viewer within UV will be loaded automatically.

If you experience any issues, let us know by filing an issue or creating a discussion post. We are also active in the IIIF Slack, so reach out to us!

IIIF 4 Manifests for MorphoSource Media

MorphoSource serves IIIF Presentation 4 manifests for all preview content (3D models, CT scan volumes, 2D images, and video) hosted by the repository. For 3D content, MorphoSource supports saving comment annotations for 3D models, with comment annotations included in the IIIF manifest for the 3D model.

Example MorphoSource media with comment annotations and interactive preview

IIIF Presentation 4 manifest for media and comment annotations

For more detail, see our documentation on on how MorphoSource mobilizes preview content using IIIF.

3D Viewer and Technical Details

MorphoSource uses the open source 3D viewer Aleph-R3F wrapped in Universal Viewer as a UV extension. Our support for IIIF 4 is in beta state, and we're using a few different experimental code branches to get there. Here are the relevant packages with links to GitHub code branches and experimental NPM package pages.

Aleph-R3F: morphosource-prezi-4-beta branch on GitHub

Universal Viewer: aleph-r3f-prezi-4-beta branch on GitHub

Manifesto.js: get_more_content_and_transform_helpers branch on GitHub and experimental 3d-manifesto-dev-test NPM package

Manifold: experimental manifold-3d-dev NPM package