@cornerstonejs/nifti-volume-loader 2.11.6 → 2.12.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 +17 -0
- package/dist/esm/cornerstoneNiftiImageLoader.js +11 -0
- package/dist/esm/createNiftiImageIdsAndCacheMetadata.js +11 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/init.d.ts +3 -0
- package/dist/esm/init.js +5 -0
- package/dist/esm/internal/index.d.ts +2 -0
- package/dist/esm/internal/index.js +2 -0
- package/dist/esm/internal/options.d.ts +3 -0
- package/dist/esm/internal/options.js +10 -0
- package/dist/esm/types/LoaderOptions.d.ts +3 -0
- package/dist/esm/types/LoaderOptions.js +0 -0
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/types/index.js +0 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
# @cornerstonejs/nifti-volume-loader
|
|
2
2
|
|
|
3
3
|
Nifti volume loader for the cornerstone3D framework.
|
|
4
|
+
|
|
5
|
+
# Injecting headers
|
|
6
|
+
|
|
7
|
+
You can inject custom headers to the requests made by the loader. This is useful for authentication purposes.
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { init } from '@cornerstonejs/nifti-volume-loader';
|
|
11
|
+
|
|
12
|
+
niftiInit({
|
|
13
|
+
beforeSend: (xhr, headers, url) => {
|
|
14
|
+
headers['Cornerstone3D-Is-Awesome'] = 'True';
|
|
15
|
+
return headers;
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Now, every request made by the loader will have the `Cornerstone3D-Is-Awesome` header with the value `True`.
|
|
@@ -2,12 +2,23 @@ import { Enums, eventTarget, metaData, triggerEvent, utilities, } from '@corners
|
|
|
2
2
|
import * as NiftiReader from 'nifti-reader-js';
|
|
3
3
|
import { Events } from './enums';
|
|
4
4
|
import { modalityScaleNifti } from './helpers';
|
|
5
|
+
import { getOptions } from './internal';
|
|
5
6
|
const dataFetchStateMap = new Map();
|
|
6
7
|
function fetchArrayBuffer({ url, signal, onload, }) {
|
|
7
8
|
return new Promise((resolve, reject) => {
|
|
8
9
|
const xhr = new XMLHttpRequest();
|
|
9
10
|
xhr.open('GET', url, true);
|
|
11
|
+
const defaultHeaders = {};
|
|
12
|
+
const options = getOptions();
|
|
13
|
+
const beforeSendHeaders = options.beforeSend(xhr, defaultHeaders, url);
|
|
14
|
+
const headers = Object.assign({}, defaultHeaders, beforeSendHeaders);
|
|
10
15
|
xhr.responseType = 'arraybuffer';
|
|
16
|
+
Object.keys(headers).forEach(function (key) {
|
|
17
|
+
if (headers[key] === null) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
xhr.setRequestHeader(key, headers[key]);
|
|
21
|
+
});
|
|
11
22
|
const onLoadHandler = function (e) {
|
|
12
23
|
if (onload && typeof onload === 'function') {
|
|
13
24
|
onload();
|
|
@@ -5,6 +5,7 @@ import Events from './enums/Events';
|
|
|
5
5
|
import { NIFTI_LOADER_SCHEME } from './constants';
|
|
6
6
|
import makeVolumeMetadata from './helpers/makeVolumeMetadata';
|
|
7
7
|
import { getArrayConstructor } from './helpers/dataTypeCodeHelper';
|
|
8
|
+
import { getOptions } from './internal';
|
|
8
9
|
export const urlsMap = new Map();
|
|
9
10
|
const NIFTI1_HEADER_SIZE = 348;
|
|
10
11
|
const NIFTI2_HEADER_SIZE = 540;
|
|
@@ -18,8 +19,17 @@ export async function fetchArrayBuffer({ url, onProgress, controller, onLoad, on
|
|
|
18
19
|
let contentLength;
|
|
19
20
|
const receivedLength = 0;
|
|
20
21
|
const signal = controller.signal;
|
|
22
|
+
const options = getOptions();
|
|
23
|
+
const defaultHeaders = {};
|
|
24
|
+
const beforeSendHeaders = options.beforeSend?.(null, defaultHeaders, url);
|
|
25
|
+
const headers = Object.assign({}, defaultHeaders, beforeSendHeaders);
|
|
26
|
+
Object.keys(headers).forEach(function (key) {
|
|
27
|
+
if (headers[key] === null) {
|
|
28
|
+
headers[key] = undefined;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
21
31
|
try {
|
|
22
|
-
const response = await fetch(url, { signal });
|
|
32
|
+
const response = await fetch(url, { signal, headers });
|
|
23
33
|
if (!response.ok) {
|
|
24
34
|
throw new Error(`HTTP error! status: ${response.status}`);
|
|
25
35
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import cornerstoneNiftiImageLoader from './cornerstoneNiftiImageLoader';
|
|
|
2
2
|
import * as helpers from './helpers';
|
|
3
3
|
import * as Enums from './enums';
|
|
4
4
|
import { createNiftiImageIdsAndCacheMetadata } from './createNiftiImageIdsAndCacheMetadata';
|
|
5
|
-
|
|
5
|
+
import init from './init';
|
|
6
|
+
export { cornerstoneNiftiImageLoader, helpers, Enums, createNiftiImageIdsAndCacheMetadata, init, };
|
package/dist/esm/index.js
CHANGED
|
@@ -2,4 +2,5 @@ import cornerstoneNiftiImageLoader from './cornerstoneNiftiImageLoader';
|
|
|
2
2
|
import * as helpers from './helpers';
|
|
3
3
|
import * as Enums from './enums';
|
|
4
4
|
import { createNiftiImageIdsAndCacheMetadata } from './createNiftiImageIdsAndCacheMetadata';
|
|
5
|
-
|
|
5
|
+
import init from './init';
|
|
6
|
+
export { cornerstoneNiftiImageLoader, helpers, Enums, createNiftiImageIdsAndCacheMetadata, init, };
|
package/dist/esm/init.js
ADDED
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/nifti-volume-loader",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "Nifti Image Loader for Cornerstone3D",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/esm/index.d.ts",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"nifti-reader-js": "^0.6.8"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@cornerstonejs/core": "^2.
|
|
64
|
+
"@cornerstonejs/core": "^2.12.0"
|
|
65
65
|
},
|
|
66
66
|
"contributors": [
|
|
67
67
|
{
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"type": "individual",
|
|
75
75
|
"url": "https://ohif.org/donate"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "b922cdc85eba1e60b7a7bb6cb7d7309921aefcbe"
|
|
78
78
|
}
|