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.
Files changed (55) hide show
  1. package/README.md +50 -0
  2. package/build/dcmjs.es.js +1071 -112
  3. package/build/dcmjs.es.js.map +1 -1
  4. package/build/dcmjs.js +1071 -112
  5. package/build/dcmjs.js.map +1 -1
  6. package/build/dcmjs.min.js +2 -2
  7. package/build/dcmjs.min.js.map +1 -1
  8. package/generate/dictionary.mjs +56029 -0
  9. package/package.json +18 -2
  10. package/.babelrc +0 -9
  11. package/.github/workflows/lint-and-format.yml +0 -27
  12. package/.github/workflows/publish-package.yml +0 -45
  13. package/.github/workflows/tests.yml +0 -24
  14. package/.prettierrc +0 -5
  15. package/.vscode/extensions.json +0 -7
  16. package/.vscode/settings.json +0 -8
  17. package/changelog.md +0 -31
  18. package/docs/ArrayBufferExpanderListener.md +0 -303
  19. package/docs/AsyncDicomReader-skill.md +0 -730
  20. package/eslint.config.mjs +0 -30
  21. package/generate-dictionary.js +0 -145
  22. package/jest.setup.js +0 -39
  23. package/netlify.toml +0 -22
  24. package/rollup.config.mjs +0 -57
  25. package/test/ArrayBufferExpanderListener.test.js +0 -365
  26. package/test/DICOMWEB.test.js +0 -1
  27. package/test/DicomMetaDictionary.test.js +0 -73
  28. package/test/SequenceOfItems.test.js +0 -86
  29. package/test/adapters.test.js +0 -43
  30. package/test/anonymizer.test.js +0 -176
  31. package/test/arrayItem.json +0 -351
  32. package/test/async-data.test.js +0 -575
  33. package/test/data-encoding.test.js +0 -59
  34. package/test/data-options.test.js +0 -199
  35. package/test/data.test.js +0 -1776
  36. package/test/derivations.test.js +0 -1
  37. package/test/helper/DicomDataReadBufferStreamBuilder.js +0 -89
  38. package/test/information-filter.test.js +0 -165
  39. package/test/integration/DicomMessage.readFile.test.js +0 -50
  40. package/test/lossless-read-write.test.js +0 -1407
  41. package/test/mocks/minimal_fields_dataset.json +0 -17
  42. package/test/mocks/null_number_vrs_dataset.json +0 -102
  43. package/test/normalizers.test.js +0 -38
  44. package/test/odd-frame-bit-data.js +0 -138
  45. package/test/rawTags.js +0 -170
  46. package/test/readBufferStream.test.js +0 -158
  47. package/test/sample-dicom.json +0 -904
  48. package/test/sample-op.lei +0 -0
  49. package/test/sample-sr.json +0 -997
  50. package/test/sr-tid.test.js +0 -251
  51. package/test/testUtils.js +0 -85
  52. package/test/utilities/deepEqual.test.js +0 -87
  53. package/test/utilities.test.js +0 -205
  54. package/test/video-test-dict.js +0 -40
  55. 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
- });