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
0
340
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
Tweet
Share
More Decks by Wendy Liu
See All by Wendy Liu
Git and Github: Version control for a happier you
dellsystem
0
310
Optimising your JavaScript
dellsystem
1
500
Git and Github: Tips and tricks
dellsystem
2
380
Git and Github: version control for the 21st century
dellsystem
1
280
Django: The web framework for perfectionists with deadlines
dellsystem
0
390
Git and GitHub: an introduction
dellsystem
2
250
What's in a name? Using first names as features for gender inference in Twitter
dellsystem
1
400
Other Decks in Programming
See All in Programming
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
890
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
240
useSyncExternalStoreを使いまくる
ssssota
6
1k
MCP with Cloudflare Workers
yusukebe
2
220
命名をリントする
chiroruxx
1
380
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
선언형 UI에서의 상태관리
l2hyunwoo
0
130
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
GitHub's CSS Performance
jonrohan
1030
460k
Rails Girls Zürich Keynote
gr2m
94
13k
Making the Leap to Tech Lead
cromwellryan
133
9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
Building Adaptive Systems
keathley
38
2.3k
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.