-
Notifications
You must be signed in to change notification settings - Fork 54
/
browser.html
111 lines (82 loc) · 3.03 KB
/
browser.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<!-- Test: Typical fullscreen usage; autoload an image and overlay. -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="../build/daikon.js"></script>
<script type="text/javascript">
function clearLog() {
var logger = document.getElementById('results');
logger.innerHTML = "";
}
function readDICOM(name, buf) {
clearLog();
console.log("File: " + name);
console.log("");
var data = new DataView(buf);
daikon.Parser.verbose = true;
daikon.Series.parseImage(data);
}
function makeSlice(file, start, length) {
var fileType = (typeof File);
if (fileType === 'undefined') {
return function () {};
}
if (File.prototype.slice) {
return file.slice(start, start + length);
}
if (File.prototype.mozSlice) {
return file.mozSlice(start, length);
}
if (File.prototype.webkitSlice) {
return file.webkitSlice(start, length);
}
return null;
}
function readFile(file) {
var blob = makeSlice(file, 0, file.size);
var reader = new FileReader();
reader.onloadend = function (evt) {
if (evt.target.readyState === FileReader.DONE) {
readDICOM(file.name, evt.target.result);
}
};
reader.readAsArrayBuffer(blob);
}
function handleFileSelect(evt) {
var files = evt.target.files;
readFile(files[0]);
}
</script>
<title>Daikon Test</title>
</head>
<body>
<div id="select" style="font-family:sans-serif">
<h3>Daikon — JavaScript DICOM Parser</h3>
<h4><a href="https://github.com/rii-mango/Daikon">https://github.com/rii-mango/Daikon</a></h4>
<p>Select a file: <input type="file" id="file" name="files" /></p>
<hr />
</div>
<div id="results" style="font-family:sans-serif"></div>
<script type="text/javascript">
var old = console.log;
var logger = document.getElementById('results');
console.error = console.log = function (message) {
var str;
if (typeof message == 'object') {
str = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />';
} else {
str = message + '<br />';
}
str = str.replace(/^\s*/mg, function(x) { return new Array(++x.length).join(' ') });
str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');
if (str.indexOf("Private Data") != -1) {
logger.innerHTML += ("<span class='private'>" + str + "</span>");
} else {
logger.innerHTML += str;
}
};
document.getElementById('file').addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>