Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
diva.js: A web-based document viewer for high-r...
Search
Wendy Liu
July 28, 2012
Programming
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
diva.js: A web-based document viewer for high-resolution images
Presented at the SIMSSA workshop held at McGill University.
Wendy Liu
July 28, 2012
More Decks by Wendy Liu
See All by Wendy Liu
Git and Github: Version control for a happier you
dellsystem
0
360
Optimising your JavaScript
dellsystem
1
550
Git and Github: Tips and tricks
dellsystem
2
400
Git and Github: version control for the 21st century
dellsystem
1
330
Django: The web framework for perfectionists with deadlines
dellsystem
0
440
Git and GitHub: an introduction
dellsystem
2
280
What's in a name? Using first names as features for gender inference in Twitter
dellsystem
1
500
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
130
さぁV100、メモリをお食べ・・・
nilpe
0
130
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
380
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
150
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.8k
RTSPクライアントを自作してみた話
simotin13
0
520
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
4
1.2k
The NotImplementedError Problem in Ruby
koic
1
660
New "Type" system on PicoRuby
pocke
1
730
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
180
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
180
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Git: the NoSQL Database
bkeepers
PRO
432
67k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Documentation Writing (for coders)
carmenintech
77
5.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Invisible Side of Design
smashingmag
302
52k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Transcript
A web-based document viewer for high-resolution images A web-based document
viewer for high-resolution images Wendy Liu Wendy Liu 1 / 41
Outline Outline 2 / 41 What it is What it
is How it works How it works Image manipulation features Image manipulation features
What it is What it is 3 / 41
Manuscript: Salzinnes Antiphonal Manuscript: Salzinnes Antiphonal 4 / 41
High resolution High resolution 5 / 41
Preserve document structure (scrolling) Preserve document structure (scrolling) 6 /
41
7 / 41 Fast and easy to use Fast and
easy to use
8 / 41 Free tool Free tool
9 / 41
10 / 41 Distribution? Distribution?
10 / 41 TIFF, ~30 megapixels (~180 MB) per photo
TIFF, ~30 megapixels (~180 MB) per photo TIFF, ~30 megapixels (~180 MB) per photo TIFF, ~30 megapixels (~180 MB) per photo
12 / 41 180 MB × 479 images ≈ 86
GB 180 MB × 479 images ≈ 86 GB
13 / 41 Enter Diva.js Enter Diva.js
14 / 41 From manuscript ... From manuscript ...
15 / 41 To browser-based document viewer. To browser-based document
viewer.
16 / 41 Zooming in and out Zooming in and
out
17 / 41 Grid view Grid view
18 / 41 Image manipulation Image manipulation
19 / 41 Extremely fast Extremely fast
20 / 41 Selective downloading Selective downloading
21 / 41 How it works How it works
22 / 41 Tiled images (JPEG2000 or pyramidal TIFF) Tiled
images (JPEG2000 or pyramidal TIFF)
23 / 41 Multiple resolutions in one file Multiple resolutions
in one file
24 / 41 Image server: IIPImage Image server: IIPImage
25 / 41 Setup frontend scripts Setup frontend scripts
26 / 41 Demo Demo http://coltrane.music.mcgill.ca/salzinnes/experiments/diva-cci-tif/
27 / 41 New feature: plugin system New feature: plugin
system
28 / 41 Download plugin Download plugin
29 / 41 Image manipulation plugin Image manipulation plugin
30 / 41 Canvas: HTML5 feature Canvas: HTML5 feature
31 / 41 Canvas: HTML5 feature Canvas: HTML5 feature
32 / 41
33 / 41
34 / 41 Working with large images: slow. Working with
large images: slow.
35 / 41 More pixels → more operations More pixels
→ more operations
36 / 41 Solution: thumbnail preview. Solution: thumbnail preview.
37 / 41 MIT license MIT license
38 / 41 Download from ddmal.music.mcgill.ca/diva Download from ddmal.music.mcgill.ca/diva
39 / 41 Development coordinated by Development coordinated by Ichiro
Fujinaga (DDMAL) Andrew Hankinson (DDMAL) Laurent Pugin (Swiss RISM) Ichiro Fujinaga (DDMAL) Andrew Hankinson (DDMAL) Laurent Pugin (Swiss RISM)
40 / 41 Sponsored by Sponsored by Swiss National Science
Foundation Swiss National Science Foundation
41 / 41 Thanks. Thanks.