dcmjs 0.49.3 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -0
- package/build/dcmjs.es.js +1071 -112
- package/build/dcmjs.es.js.map +1 -1
- package/build/dcmjs.js +1071 -112
- package/build/dcmjs.js.map +1 -1
- package/build/dcmjs.min.js +2 -2
- package/build/dcmjs.min.js.map +1 -1
- package/generate/dictionary.mjs +56029 -0
- package/package.json +18 -2
- package/.babelrc +0 -9
- package/.github/workflows/lint-and-format.yml +0 -27
- package/.github/workflows/publish-package.yml +0 -45
- package/.github/workflows/tests.yml +0 -24
- package/.prettierrc +0 -5
- package/.vscode/extensions.json +0 -7
- package/.vscode/settings.json +0 -8
- package/changelog.md +0 -31
- package/docs/ArrayBufferExpanderListener.md +0 -303
- package/docs/AsyncDicomReader-skill.md +0 -730
- package/eslint.config.mjs +0 -30
- package/generate-dictionary.js +0 -145
- package/jest.setup.js +0 -39
- package/netlify.toml +0 -22
- package/rollup.config.mjs +0 -57
- package/test/ArrayBufferExpanderListener.test.js +0 -365
- package/test/DICOMWEB.test.js +0 -1
- package/test/DicomMetaDictionary.test.js +0 -73
- package/test/SequenceOfItems.test.js +0 -86
- package/test/adapters.test.js +0 -43
- package/test/anonymizer.test.js +0 -176
- package/test/arrayItem.json +0 -351
- package/test/async-data.test.js +0 -575
- package/test/data-encoding.test.js +0 -59
- package/test/data-options.test.js +0 -199
- package/test/data.test.js +0 -1776
- package/test/derivations.test.js +0 -1
- package/test/helper/DicomDataReadBufferStreamBuilder.js +0 -89
- package/test/information-filter.test.js +0 -165
- package/test/integration/DicomMessage.readFile.test.js +0 -50
- package/test/lossless-read-write.test.js +0 -1407
- package/test/mocks/minimal_fields_dataset.json +0 -17
- package/test/mocks/null_number_vrs_dataset.json +0 -102
- package/test/normalizers.test.js +0 -38
- package/test/odd-frame-bit-data.js +0 -138
- package/test/rawTags.js +0 -170
- package/test/readBufferStream.test.js +0 -158
- package/test/sample-dicom.json +0 -904
- package/test/sample-op.lei +0 -0
- package/test/sample-sr.json +0 -997
- package/test/sr-tid.test.js +0 -251
- package/test/testUtils.js +0 -85
- package/test/utilities/deepEqual.test.js +0 -87
- package/test/utilities.test.js +0 -205
- package/test/video-test-dict.js +0 -40
- package/test/writeBufferStream.test.js +0 -149
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { ReadBufferStream, WriteBufferStream } from "../src/BufferStream";
|
|
2
|
-
|
|
3
|
-
describe("WriteBufferStream Tests", () => {
|
|
4
|
-
it("writeUint8", () => {
|
|
5
|
-
const stream = new WriteBufferStream(25, true);
|
|
6
|
-
expect(stream).toBeDefined();
|
|
7
|
-
for (let i = 0; i < 512; i++) {
|
|
8
|
-
stream.writeUint8(i % 256);
|
|
9
|
-
}
|
|
10
|
-
for (let i = 0; i < 512; i++) {
|
|
11
|
-
const expected = i % 256;
|
|
12
|
-
const actual = stream.view.getUint8(i);
|
|
13
|
-
if (expected !== actual) {
|
|
14
|
-
console.error(
|
|
15
|
-
"Expected and actual differ",
|
|
16
|
-
i,
|
|
17
|
-
expected,
|
|
18
|
-
actual
|
|
19
|
-
);
|
|
20
|
-
stream.view.getUint8(i);
|
|
21
|
-
}
|
|
22
|
-
expect(actual).toBe(expected);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("writeUint16", () => {
|
|
27
|
-
const stream = new WriteBufferStream(25, true);
|
|
28
|
-
expect(stream).toBeDefined();
|
|
29
|
-
for (let i = 0; i < 512; i++) {
|
|
30
|
-
stream.writeUint16((i * 511) % 0x10000);
|
|
31
|
-
}
|
|
32
|
-
for (let i = 0; i < 512; i++) {
|
|
33
|
-
expect(stream.view.getUint16(i * 2, stream.isLittleEndian)).toBe(
|
|
34
|
-
(i * 511) % 0x10000
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("writeUint32", () => {
|
|
40
|
-
const stream = new WriteBufferStream(25, true);
|
|
41
|
-
expect(stream).toBeDefined();
|
|
42
|
-
const expected = [];
|
|
43
|
-
for (let i = 0; i < 512; i++) {
|
|
44
|
-
expected[i] = i * 511;
|
|
45
|
-
stream.writeUint32(expected[i]);
|
|
46
|
-
}
|
|
47
|
-
expect(stream.view.buffers.length).toBe(Math.ceil((512 * 4) / 25));
|
|
48
|
-
for (let i = 0; i < 512; i++) {
|
|
49
|
-
const actual = stream.view.getUint32(i * 4, stream.isLittleEndian);
|
|
50
|
-
expect(actual).toBe(expected[i]);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it("writesLongStrings", () => {
|
|
55
|
-
const stream = new WriteBufferStream(32, true);
|
|
56
|
-
let string = "0";
|
|
57
|
-
for (let i = 1; i < 512; i++) {
|
|
58
|
-
string = string + ", " + i;
|
|
59
|
-
}
|
|
60
|
-
stream.writeAsciiString(string);
|
|
61
|
-
expect(stream.view.buffers.length).toBe(Math.ceil(string.length / 32));
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe("readWorksAfterWrite", () => {
|
|
65
|
-
const out = new WriteBufferStream(3, true);
|
|
66
|
-
const testStr = "Hello World";
|
|
67
|
-
// 64 bits
|
|
68
|
-
out.writeUint8Repeat(1, 128);
|
|
69
|
-
out.writeAsciiString("DICM");
|
|
70
|
-
out.writeDouble(Math.PI);
|
|
71
|
-
out.writeAsciiString(testStr);
|
|
72
|
-
out.writeFloat(Math.PI);
|
|
73
|
-
out.writeUTF8String(testStr);
|
|
74
|
-
out.writeInt16(-123);
|
|
75
|
-
out.writeInt32(-234);
|
|
76
|
-
out.writeInt8(-25);
|
|
77
|
-
out.writeUint32(123);
|
|
78
|
-
out.writeUint16(234);
|
|
79
|
-
out.writeUint8(25);
|
|
80
|
-
const firstSize = out.size;
|
|
81
|
-
out.concat(new ReadBufferStream(out, out.isLittleEndian, { start: 0 }));
|
|
82
|
-
expect(out.size).toBe(firstSize * 2);
|
|
83
|
-
|
|
84
|
-
const checkValues = stream => {
|
|
85
|
-
expect(stream.readUint8Array(128)[5]).toBe(1);
|
|
86
|
-
expect(stream.readAsciiString(4)).toBe("DICM");
|
|
87
|
-
expect(stream.readDouble()).toBeCloseTo(Math.PI);
|
|
88
|
-
expect(stream.readAsciiString(testStr.length)).toBe(testStr);
|
|
89
|
-
expect(stream.readFloat()).toBeCloseTo(Math.PI);
|
|
90
|
-
expect(stream.readAsciiString(testStr.length)).toBe(testStr);
|
|
91
|
-
expect(stream.readInt16()).toBe(-123);
|
|
92
|
-
expect(stream.readInt32()).toBe(-234);
|
|
93
|
-
expect(stream.readInt8()).toBe(-25);
|
|
94
|
-
expect(stream.readUint32()).toBe(123);
|
|
95
|
-
expect(stream.readUint16()).toBe(234);
|
|
96
|
-
expect(stream.readUint8()).toBe(25);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
it("Should clone with getBuffer", () => {
|
|
100
|
-
const stream = new ReadBufferStream(
|
|
101
|
-
out.getBuffer(),
|
|
102
|
-
out.isLittleEndian
|
|
103
|
-
);
|
|
104
|
-
expect(stream.size).toBe(out.size);
|
|
105
|
-
checkValues(stream);
|
|
106
|
-
// Second copy identical
|
|
107
|
-
checkValues(stream);
|
|
108
|
-
expect(stream.end()).toBe(true);
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
it("Should clone with stream", () => {
|
|
112
|
-
const stream = new ReadBufferStream(out, out.isLittleEndian, {
|
|
113
|
-
start: 0
|
|
114
|
-
});
|
|
115
|
-
expect(stream.size).toBe(out.size);
|
|
116
|
-
checkValues(stream);
|
|
117
|
-
// Second copy identical
|
|
118
|
-
checkValues(stream);
|
|
119
|
-
expect(stream.end()).toBe(true);
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
it("Should clone with buffer", () => {
|
|
123
|
-
const stream = new ReadBufferStream(
|
|
124
|
-
out.buffer,
|
|
125
|
-
out.isLittleEndian,
|
|
126
|
-
{
|
|
127
|
-
stop: out.size
|
|
128
|
-
}
|
|
129
|
-
);
|
|
130
|
-
expect(stream.size).toBe(out.size);
|
|
131
|
-
checkValues(stream);
|
|
132
|
-
// Second copy identical
|
|
133
|
-
checkValues(stream);
|
|
134
|
-
expect(stream.end()).toBe(true);
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it("Should clone with slice", () => {
|
|
138
|
-
const stream = new ReadBufferStream(
|
|
139
|
-
out.slice(0, out.size),
|
|
140
|
-
out.isLittleEndian
|
|
141
|
-
);
|
|
142
|
-
expect(stream.size).toBe(out.size);
|
|
143
|
-
checkValues(stream);
|
|
144
|
-
// Second copy identical
|
|
145
|
-
checkValues(stream);
|
|
146
|
-
expect(stream.end()).toBe(true);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
});
|