@ohif/app 3.7.0-beta.4 → 3.7.0-beta.40
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/dist/{192.bundle.a692060cb8ee9076ddee.js → 192.bundle.b2863bbbf41f16203af7.js} +4 -4
- package/dist/{199.bundle.69d1b0419e63f5546281.js → 199.bundle.af3f8b331f3b030fe4b1.js} +2 -7
- package/dist/{208.bundle.9123fc7f84b459723777.js → 208.bundle.a27d931468daecfff934.js} +4 -4
- package/dist/{270.bundle.4564621556b0f963a004.js → 270.bundle.2d215f8720350f03e171.js} +133 -122
- package/dist/{283.bundle.326b6ad7c2dc105fd0b8.js → 283.bundle.76f6d48710f450ccd0f3.js} +58 -33
- package/dist/{331.bundle.bd0c13931a21d53086c9.js → 389.bundle.38df7e54d2f632cfa7a0.js} +123 -74
- package/dist/{404.bundle.0de1e82fef0a0cd2c34e.js → 404.bundle.02cea2f3b08cdbe8ceee.js} +9 -16
- package/dist/{351.bundle.da314e071dcf5e888085.js → 468.bundle.84576e0c0e8a7bdcfb90.js} +117 -85
- package/dist/{55.bundle.5f5e5ef9087b0beee35c.js → 55.bundle.fe53f3784bfe7db4a5a5.js} +6 -6
- package/dist/{569.bundle.0ed8d8178ffd43fe1c34.js → 569.bundle.e77c17d37a65e5dedfed.js} +23 -12
- package/dist/{581.bundle.360d26f97b37da8faec3.js → 581.bundle.15078e71fe52b53f48b3.js} +7 -6
- package/dist/{616.bundle.3f5157b8b6911d95e8ec.js → 616.bundle.b159e7f111ada286d862.js} +6 -6
- package/dist/{707.bundle.fec5dc4210086c7f617d.js → 625.bundle.7e4bece1b4ef5dc300a8.js} +79 -105
- package/dist/{642.bundle.478ce6f500f977507924.js → 642.bundle.ac0c06c27fc4366de343.js} +2 -2
- package/dist/{728.bundle.d13856835357400fef82.js → 728.bundle.5bef7c8643b42d70a79f.js} +11 -10
- package/dist/{744.bundle.bbf06d38d4e6cc5127a1.js → 744.bundle.0be683bc1498cc0d89ef.js} +64 -91
- package/dist/{790.bundle.45eaa69aab86f0048f1c.js → 790.bundle.18db48c8d89ce04e57bc.js} +4 -4
- package/dist/{799.bundle.ca18bdf4abe4d9abea26.js → 799.bundle.d8e50f1fd6bf4fa3a5e1.js} +56 -8
- package/dist/{82.bundle.579b84883e04e040cc03.js → 82.bundle.9affd6d9fbce4d32e826.js} +143 -112
- package/dist/{917.bundle.c88ce40fac58f95c68d1.js → 917.bundle.cba9223eb2a6dfea6066.js} +2 -2
- package/dist/945.min.worker.js +1 -1
- package/dist/945.min.worker.js.map +1 -1
- package/dist/{953.bundle.9e3a7225f07336bfcb41.js → 953.bundle.95b0621f1da8dfeaed8a.js} +4 -3
- package/dist/{973.bundle.7e3f2870f5ae0400fa85.js → 973.bundle.fa8a13ecc41ff54fb82b.js} +2 -2
- package/dist/{976.bundle.45373bcb38773e2c10c9.js → 976.bundle.19dac9a84b453d2c4dbb.js} +7 -7
- package/dist/{984.bundle.ed28bde89cb27e6ae9cd.js → 984.bundle.3623bc3bc26748a21d00.js} +9 -9
- package/dist/app-config.js +7 -7
- package/dist/{app.bundle.976f90a2d39df9f3146e.js → app.bundle.6987d8f46ddf4345d40a.js} +1483 -739
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/google.js +6 -5
- package/dist/index.html +1 -1
- package/dist/{index.worker.1c69152d710fa7b84bce.worker.js → index.worker.17eee78bdafa44cbb47d.worker.js} +2 -2
- package/dist/index.worker.17eee78bdafa44cbb47d.worker.js.map +1 -0
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- package/dist/index.worker.1c69152d710fa7b84bce.worker.js.map +0 -1
- /package/dist/{351.css → 468.css} +0 -0
- /package/dist/{50.bundle.222e93034cacb51bee8b.js → 50.bundle.7def59ad0bc69d63790b.js} +0 -0
- /package/dist/{707.css → 625.css} +0 -0
|
@@ -29,8 +29,8 @@ __webpack_require__.d(utils_namespaceObject, {
|
|
|
29
29
|
|
|
30
30
|
// EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
|
|
31
31
|
var dicomweb_client_es = __webpack_require__(75935);
|
|
32
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
33
|
-
var src = __webpack_require__(
|
|
32
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
|
|
33
|
+
var src = __webpack_require__(87754);
|
|
34
34
|
// EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
|
|
35
35
|
var sortStudy = __webpack_require__(87853);
|
|
36
36
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
|
|
@@ -991,65 +991,69 @@ const metadataProvider = src.classes.MetadataProvider;
|
|
|
991
991
|
* @param {string|bool} singlepart - indicates of the retrieves can fetch singlepart. Options are bulkdata, video, image or boolean true
|
|
992
992
|
*/
|
|
993
993
|
function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
994
|
-
|
|
995
|
-
qidoRoot,
|
|
996
|
-
wadoRoot,
|
|
997
|
-
enableStudyLazyLoad,
|
|
998
|
-
supportsFuzzyMatching,
|
|
999
|
-
supportsWildcard,
|
|
1000
|
-
supportsReject,
|
|
1001
|
-
staticWado,
|
|
1002
|
-
singlepart
|
|
1003
|
-
} = dicomWebConfig;
|
|
1004
|
-
const dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
|
|
1005
|
-
const qidoConfig = {
|
|
1006
|
-
url: qidoRoot,
|
|
1007
|
-
staticWado,
|
|
1008
|
-
singlepart,
|
|
1009
|
-
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1010
|
-
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1011
|
-
};
|
|
1012
|
-
const wadoConfig = {
|
|
1013
|
-
url: wadoRoot,
|
|
1014
|
-
staticWado,
|
|
1015
|
-
singlepart,
|
|
1016
|
-
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1017
|
-
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1018
|
-
};
|
|
1019
|
-
|
|
1020
|
-
// TODO -> Two clients sucks, but its better than 1000.
|
|
1021
|
-
// TODO -> We'll need to merge auth later.
|
|
1022
|
-
const qidoDicomWebClient = staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
|
|
1023
|
-
const wadoDicomWebClient = staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
|
|
994
|
+
let dicomWebConfigCopy, qidoConfig, wadoConfig, qidoDicomWebClient, wadoDicomWebClient, getAuthrorizationHeader, generateWadoHeader;
|
|
1024
995
|
const implementation = {
|
|
1025
996
|
initialize: _ref => {
|
|
1026
997
|
let {
|
|
1027
998
|
params,
|
|
1028
999
|
query
|
|
1029
1000
|
} = _ref;
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1001
|
+
if (dicomWebConfig.onConfiguration && typeof dicomWebConfig.onConfiguration === 'function') {
|
|
1002
|
+
dicomWebConfig = dicomWebConfig.onConfiguration(dicomWebConfig, {
|
|
1003
|
+
params,
|
|
1004
|
+
query
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
1007
|
+
dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
|
|
1008
|
+
getAuthrorizationHeader = () => {
|
|
1009
|
+
const xhrRequestHeaders = {};
|
|
1010
|
+
const authHeaders = userAuthenticationService.getAuthorizationHeader();
|
|
1011
|
+
if (authHeaders && authHeaders.Authorization) {
|
|
1012
|
+
xhrRequestHeaders.Authorization = authHeaders.Authorization;
|
|
1013
|
+
}
|
|
1014
|
+
return xhrRequestHeaders;
|
|
1015
|
+
};
|
|
1016
|
+
generateWadoHeader = () => {
|
|
1017
|
+
let authorizationHeader = getAuthrorizationHeader();
|
|
1018
|
+
//Generate accept header depending on config params
|
|
1019
|
+
let formattedAcceptHeader = src.utils.generateAcceptHeader(dicomWebConfig.acceptHeader, dicomWebConfig.requestTransferSyntaxUID, dicomWebConfig.omitQuotationForMultipartRequest);
|
|
1020
|
+
return {
|
|
1021
|
+
...authorizationHeader,
|
|
1022
|
+
Accept: formattedAcceptHeader
|
|
1023
|
+
};
|
|
1024
|
+
};
|
|
1025
|
+
qidoConfig = {
|
|
1026
|
+
url: dicomWebConfig.qidoRoot,
|
|
1027
|
+
staticWado: dicomWebConfig.staticWado,
|
|
1028
|
+
singlepart: dicomWebConfig.singlepart,
|
|
1029
|
+
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1030
|
+
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1031
|
+
};
|
|
1032
|
+
wadoConfig = {
|
|
1033
|
+
url: dicomWebConfig.wadoRoot,
|
|
1034
|
+
staticWado: dicomWebConfig.staticWado,
|
|
1035
|
+
singlepart: dicomWebConfig.singlepart,
|
|
1036
|
+
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1037
|
+
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1038
|
+
};
|
|
1039
|
+
|
|
1040
|
+
// TODO -> Two clients sucks, but its better than 1000.
|
|
1041
|
+
// TODO -> We'll need to merge auth later.
|
|
1042
|
+
qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
|
|
1043
|
+
wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
|
|
1037
1044
|
},
|
|
1038
1045
|
query: {
|
|
1039
1046
|
studies: {
|
|
1040
1047
|
mapParams: mapParams.bind(),
|
|
1041
1048
|
search: async function (origParams) {
|
|
1042
|
-
|
|
1043
|
-
if (headers) {
|
|
1044
|
-
qidoDicomWebClient.headers = headers;
|
|
1045
|
-
}
|
|
1049
|
+
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1046
1050
|
const {
|
|
1047
1051
|
studyInstanceUid,
|
|
1048
1052
|
seriesInstanceUid,
|
|
1049
1053
|
...mappedParams
|
|
1050
1054
|
} = mapParams(origParams, {
|
|
1051
|
-
supportsFuzzyMatching,
|
|
1052
|
-
supportsWildcard
|
|
1055
|
+
supportsFuzzyMatching: dicomWebConfig.supportsFuzzyMatching,
|
|
1056
|
+
supportsWildcard: dicomWebConfig.supportsWildcard
|
|
1053
1057
|
}) || {};
|
|
1054
1058
|
const results = await search(qidoDicomWebClient, undefined, undefined, mappedParams);
|
|
1055
1059
|
return processResults(results);
|
|
@@ -1059,10 +1063,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1059
1063
|
series: {
|
|
1060
1064
|
// mapParams: mapParams.bind(),
|
|
1061
1065
|
search: async function (studyInstanceUid) {
|
|
1062
|
-
|
|
1063
|
-
if (headers) {
|
|
1064
|
-
qidoDicomWebClient.headers = headers;
|
|
1065
|
-
}
|
|
1066
|
+
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1066
1067
|
const results = await seriesInStudy(qidoDicomWebClient, studyInstanceUid);
|
|
1067
1068
|
return processSeriesResults(results);
|
|
1068
1069
|
}
|
|
@@ -1071,10 +1072,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1071
1072
|
|
|
1072
1073
|
instances: {
|
|
1073
1074
|
search: (studyInstanceUid, queryParameters) => {
|
|
1074
|
-
|
|
1075
|
-
if (headers) {
|
|
1076
|
-
qidoDicomWebClient.headers = headers;
|
|
1077
|
-
}
|
|
1075
|
+
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1078
1076
|
search.call(undefined, qidoDicomWebClient, studyInstanceUid, null, queryParameters);
|
|
1079
1077
|
}
|
|
1080
1078
|
}
|
|
@@ -1093,8 +1091,8 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1093
1091
|
*/
|
|
1094
1092
|
directURL: params => {
|
|
1095
1093
|
return utils_getDirectURL({
|
|
1096
|
-
wadoRoot,
|
|
1097
|
-
singlepart
|
|
1094
|
+
wadoRoot: dicomWebConfig.wadoRoot,
|
|
1095
|
+
singlepart: dicomWebConfig.singlepart
|
|
1098
1096
|
}, params);
|
|
1099
1097
|
},
|
|
1100
1098
|
bulkDataURI: async _ref2 => {
|
|
@@ -1102,6 +1100,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1102
1100
|
StudyInstanceUID,
|
|
1103
1101
|
BulkDataURI
|
|
1104
1102
|
} = _ref2;
|
|
1103
|
+
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1105
1104
|
const options = {
|
|
1106
1105
|
multipart: false,
|
|
1107
1106
|
BulkDataURI,
|
|
@@ -1121,14 +1120,10 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1121
1120
|
sortFunction,
|
|
1122
1121
|
madeInClient = false
|
|
1123
1122
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1124
|
-
const headers = userAuthenticationService.getAuthorizationHeader();
|
|
1125
|
-
if (headers) {
|
|
1126
|
-
wadoDicomWebClient.headers = headers;
|
|
1127
|
-
}
|
|
1128
1123
|
if (!StudyInstanceUID) {
|
|
1129
1124
|
throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
|
|
1130
1125
|
}
|
|
1131
|
-
if (enableStudyLazyLoad) {
|
|
1126
|
+
if (dicomWebConfig.enableStudyLazyLoad) {
|
|
1132
1127
|
return implementation._retrieveSeriesMetadataAsync(StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient);
|
|
1133
1128
|
}
|
|
1134
1129
|
return implementation._retrieveSeriesMetadataSync(StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient);
|
|
@@ -1137,10 +1132,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1137
1132
|
},
|
|
1138
1133
|
store: {
|
|
1139
1134
|
dicom: async (dataset, request) => {
|
|
1140
|
-
|
|
1141
|
-
if (headers) {
|
|
1142
|
-
wadoDicomWebClient.headers = headers;
|
|
1143
|
-
}
|
|
1135
|
+
wadoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1144
1136
|
if (dataset instanceof ArrayBuffer) {
|
|
1145
1137
|
const options = {
|
|
1146
1138
|
datasets: [dataset],
|
|
@@ -1170,7 +1162,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1170
1162
|
},
|
|
1171
1163
|
_retrieveSeriesMetadataSync: async (StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient) => {
|
|
1172
1164
|
const enableStudyLazyLoad = false;
|
|
1173
|
-
|
|
1165
|
+
wadoDicomWebClient.headers = generateWadoHeader();
|
|
1174
1166
|
// data is all SOPInstanceUIDs
|
|
1175
1167
|
const data = await retrieveStudyMetadata(wadoDicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction);
|
|
1176
1168
|
|
|
@@ -1215,6 +1207,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1215
1207
|
_retrieveSeriesMetadataAsync: async function (StudyInstanceUID, filters, sortCriteria, sortFunction) {
|
|
1216
1208
|
let madeInClient = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
1217
1209
|
const enableStudyLazyLoad = true;
|
|
1210
|
+
wadoDicomWebClient.headers = generateWadoHeader();
|
|
1218
1211
|
// Get Series
|
|
1219
1212
|
const {
|
|
1220
1213
|
preLoadData: seriesSummaryMetadata,
|
|
@@ -1356,10 +1349,23 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1356
1349
|
},
|
|
1357
1350
|
getConfig() {
|
|
1358
1351
|
return dicomWebConfigCopy;
|
|
1352
|
+
},
|
|
1353
|
+
getStudyInstanceUIDs(_ref4) {
|
|
1354
|
+
let {
|
|
1355
|
+
params,
|
|
1356
|
+
query
|
|
1357
|
+
} = _ref4;
|
|
1358
|
+
const {
|
|
1359
|
+
StudyInstanceUIDs: paramsStudyInstanceUIDs
|
|
1360
|
+
} = params;
|
|
1361
|
+
const queryStudyInstanceUIDs = src.utils.splitComma(query.getAll('StudyInstanceUIDs'));
|
|
1362
|
+
const StudyInstanceUIDs = queryStudyInstanceUIDs.length && queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
|
|
1363
|
+
const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
|
|
1364
|
+
return StudyInstanceUIDsAsArray;
|
|
1359
1365
|
}
|
|
1360
1366
|
};
|
|
1361
|
-
if (supportsReject) {
|
|
1362
|
-
implementation.reject = dcm4cheeReject(wadoRoot);
|
|
1367
|
+
if (dicomWebConfig.supportsReject) {
|
|
1368
|
+
implementation.reject = dcm4cheeReject(dicomWebConfig.wadoRoot);
|
|
1363
1369
|
}
|
|
1364
1370
|
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
1365
1371
|
}
|
|
@@ -1375,7 +1381,8 @@ const mappings = {
|
|
|
1375
1381
|
patientId: 'PatientID'
|
|
1376
1382
|
};
|
|
1377
1383
|
let _store = {
|
|
1378
|
-
urls: []
|
|
1384
|
+
urls: [],
|
|
1385
|
+
studyInstanceUIDMap: new Map() // map of urls to array of study instance UIDs
|
|
1379
1386
|
// {
|
|
1380
1387
|
// url: url1
|
|
1381
1388
|
// studies: [Study1, Study2], // if multiple studies
|
|
@@ -1403,13 +1410,11 @@ const findStudies = (key, value) => {
|
|
|
1403
1410
|
};
|
|
1404
1411
|
function createDicomJSONApi(dicomJsonConfig) {
|
|
1405
1412
|
const {
|
|
1406
|
-
name,
|
|
1407
1413
|
wadoRoot
|
|
1408
1414
|
} = dicomJsonConfig;
|
|
1409
1415
|
const implementation = {
|
|
1410
1416
|
initialize: async _ref => {
|
|
1411
1417
|
let {
|
|
1412
|
-
params,
|
|
1413
1418
|
query,
|
|
1414
1419
|
url
|
|
1415
1420
|
} = _ref;
|
|
@@ -1425,8 +1430,7 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1425
1430
|
});
|
|
1426
1431
|
}
|
|
1427
1432
|
const response = await fetch(url);
|
|
1428
|
-
|
|
1429
|
-
const studyInstanceUIDs = data.studies.map(study => study.StudyInstanceUID);
|
|
1433
|
+
const data = await response.json();
|
|
1430
1434
|
let StudyInstanceUID;
|
|
1431
1435
|
let SeriesInstanceUID;
|
|
1432
1436
|
data.studies.forEach(study => {
|
|
@@ -1452,7 +1456,7 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1452
1456
|
url,
|
|
1453
1457
|
studies: [...data.studies]
|
|
1454
1458
|
});
|
|
1455
|
-
|
|
1459
|
+
_store.studyInstanceUIDMap.set(url, data.studies.map(study => study.StudyInstanceUID));
|
|
1456
1460
|
},
|
|
1457
1461
|
query: {
|
|
1458
1462
|
studies: {
|
|
@@ -1608,6 +1612,14 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1608
1612
|
frame
|
|
1609
1613
|
});
|
|
1610
1614
|
return imageIds;
|
|
1615
|
+
},
|
|
1616
|
+
getStudyInstanceUIDs: _ref3 => {
|
|
1617
|
+
let {
|
|
1618
|
+
params,
|
|
1619
|
+
query
|
|
1620
|
+
} = _ref3;
|
|
1621
|
+
const url = query.get('url');
|
|
1622
|
+
return _store.studyInstanceUIDMap.get(url);
|
|
1611
1623
|
}
|
|
1612
1624
|
};
|
|
1613
1625
|
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
@@ -1660,19 +1672,6 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1660
1672
|
params,
|
|
1661
1673
|
query
|
|
1662
1674
|
} = _ref;
|
|
1663
|
-
const {
|
|
1664
|
-
StudyInstanceUIDs: paramsStudyInstanceUIDs
|
|
1665
|
-
} = params;
|
|
1666
|
-
const queryStudyInstanceUIDs = query.getAll('StudyInstanceUIDs');
|
|
1667
|
-
const StudyInstanceUIDs = queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
|
|
1668
|
-
const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
|
|
1669
|
-
|
|
1670
|
-
// Put SRs at the end of series list to make sure images are loaded first
|
|
1671
|
-
StudyInstanceUIDsAsArray.forEach(StudyInstanceUID => {
|
|
1672
|
-
const study = src.DicomMetadataStore.getStudy(StudyInstanceUID);
|
|
1673
|
-
study.series = study.series.sort(customSort);
|
|
1674
|
-
});
|
|
1675
|
-
return StudyInstanceUIDsAsArray;
|
|
1676
1675
|
},
|
|
1677
1676
|
query: {
|
|
1678
1677
|
studies: {
|
|
@@ -1854,6 +1853,29 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1854
1853
|
},
|
|
1855
1854
|
deleteStudyMetadataPromise() {
|
|
1856
1855
|
console.log('deleteStudyMetadataPromise not implemented');
|
|
1856
|
+
},
|
|
1857
|
+
getStudyInstanceUIDs: _ref3 => {
|
|
1858
|
+
let {
|
|
1859
|
+
params,
|
|
1860
|
+
query
|
|
1861
|
+
} = _ref3;
|
|
1862
|
+
const {
|
|
1863
|
+
StudyInstanceUIDs: paramsStudyInstanceUIDs
|
|
1864
|
+
} = params;
|
|
1865
|
+
const queryStudyInstanceUIDs = query.getAll('StudyInstanceUIDs');
|
|
1866
|
+
const StudyInstanceUIDs = queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
|
|
1867
|
+
const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
|
|
1868
|
+
|
|
1869
|
+
// Put SRs at the end of series list to make sure images are loaded first
|
|
1870
|
+
let isStudyInCache = false;
|
|
1871
|
+
StudyInstanceUIDsAsArray.forEach(StudyInstanceUID => {
|
|
1872
|
+
const study = src.DicomMetadataStore.getStudy(StudyInstanceUID);
|
|
1873
|
+
if (study) {
|
|
1874
|
+
study.series = study.series.sort(customSort);
|
|
1875
|
+
isStudyInCache = true;
|
|
1876
|
+
}
|
|
1877
|
+
});
|
|
1878
|
+
return isStudyInCache ? StudyInstanceUIDsAsArray : [];
|
|
1857
1879
|
}
|
|
1858
1880
|
};
|
|
1859
1881
|
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
@@ -1882,13 +1904,6 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
1882
1904
|
params,
|
|
1883
1905
|
query
|
|
1884
1906
|
} = _ref;
|
|
1885
|
-
let studyInstanceUIDs = [];
|
|
1886
|
-
|
|
1887
|
-
// there seem to be a couple of variations of the case for this parameter
|
|
1888
|
-
const queryStudyInstanceUIDs = query.get('studyInstanceUIDs') || query.get('studyInstanceUids');
|
|
1889
|
-
if (!queryStudyInstanceUIDs) {
|
|
1890
|
-
throw new Error(`No studyInstanceUids in request for '${name}'`);
|
|
1891
|
-
}
|
|
1892
1907
|
const url = query.get('url');
|
|
1893
1908
|
if (!url) {
|
|
1894
1909
|
throw new Error(`No url for '${name}'`);
|
|
@@ -1898,10 +1913,12 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
1898
1913
|
if (!data.servers?.dicomWeb?.[0]) {
|
|
1899
1914
|
throw new Error('Invalid configuration returned by url');
|
|
1900
1915
|
}
|
|
1901
|
-
dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0], UserAuthenticationService);
|
|
1902
|
-
|
|
1916
|
+
dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0].configuration, UserAuthenticationService);
|
|
1917
|
+
dicomWebDelegate.initialize({
|
|
1918
|
+
params,
|
|
1919
|
+
query
|
|
1920
|
+
});
|
|
1903
1921
|
}
|
|
1904
|
-
return studyInstanceUIDs;
|
|
1905
1922
|
},
|
|
1906
1923
|
query: {
|
|
1907
1924
|
studies: {
|
|
@@ -1939,6 +1956,21 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
1939
1956
|
},
|
|
1940
1957
|
getImageIdsForInstance: function () {
|
|
1941
1958
|
return dicomWebDelegate.getImageIdsForInstance(...arguments);
|
|
1959
|
+
},
|
|
1960
|
+
getStudyInstanceUIDs(_ref2) {
|
|
1961
|
+
let {
|
|
1962
|
+
params,
|
|
1963
|
+
query
|
|
1964
|
+
} = _ref2;
|
|
1965
|
+
let studyInstanceUIDs = [];
|
|
1966
|
+
|
|
1967
|
+
// there seem to be a couple of variations of the case for this parameter
|
|
1968
|
+
const queryStudyInstanceUIDs = query.get('studyInstanceUIDs') || query.get('studyInstanceUids');
|
|
1969
|
+
if (!queryStudyInstanceUIDs) {
|
|
1970
|
+
throw new Error(`No studyInstanceUids in request for '${name}'`);
|
|
1971
|
+
}
|
|
1972
|
+
studyInstanceUIDs = queryStudyInstanceUIDs.split(';');
|
|
1973
|
+
return studyInstanceUIDs;
|
|
1942
1974
|
}
|
|
1943
1975
|
};
|
|
1944
1976
|
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
@@ -1988,8 +2020,8 @@ var dist = __webpack_require__(65783);
|
|
|
1988
2020
|
var es = __webpack_require__(21572);
|
|
1989
2021
|
// EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
|
|
1990
2022
|
var react_router_dist = __webpack_require__(14935);
|
|
1991
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
1992
|
-
var ui_src = __webpack_require__(
|
|
2023
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
|
|
2024
|
+
var ui_src = __webpack_require__(28619);
|
|
1993
2025
|
// EXTERNAL MODULE: ../../i18n/src/index.js + 95 modules
|
|
1994
2026
|
var i18n_src = __webpack_require__(93058);
|
|
1995
2027
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
@@ -2030,7 +2062,7 @@ function Toolbar(_ref) {
|
|
|
2030
2062
|
unsub2();
|
|
2031
2063
|
};
|
|
2032
2064
|
}, [toolbarService]);
|
|
2033
|
-
return /*#__PURE__*/react.createElement(react.Fragment, null, toolbarButtons.map(
|
|
2065
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, toolbarButtons.map(toolDef => {
|
|
2034
2066
|
const {
|
|
2035
2067
|
id,
|
|
2036
2068
|
Component,
|
|
@@ -2143,8 +2175,8 @@ function ViewerLayout(_ref) {
|
|
|
2143
2175
|
hotkeyDefinitions,
|
|
2144
2176
|
hotkeyDefaults
|
|
2145
2177
|
} = hotkeysManager;
|
|
2146
|
-
const versionNumber = "3.7.0-beta.
|
|
2147
|
-
const commitHash = "
|
|
2178
|
+
const versionNumber = "3.7.0-beta.40";
|
|
2179
|
+
const commitHash = "019dedce343650e384d35b79345386a2dfd2bc4e";
|
|
2148
2180
|
const menuOptions = [{
|
|
2149
2181
|
title: t('Header:About'),
|
|
2150
2182
|
icon: 'info',
|
|
@@ -2801,10 +2833,10 @@ function ActionButtons(_ref) {
|
|
|
2801
2833
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.hE, {
|
|
2802
2834
|
color: "black",
|
|
2803
2835
|
size: "inherit"
|
|
2804
|
-
}, /*#__PURE__*/react.createElement(ui_src/*
|
|
2836
|
+
}, /*#__PURE__*/react.createElement(ui_src/* LegacyButton */.mN, {
|
|
2805
2837
|
className: "px-2 py-2 text-base",
|
|
2806
2838
|
onClick: onExportClick
|
|
2807
|
-
}, t('Export CSV')), /*#__PURE__*/react.createElement(ui_src/*
|
|
2839
|
+
}, t('Export CSV')), /*#__PURE__*/react.createElement(ui_src/* LegacyButton */.mN, {
|
|
2808
2840
|
className: "px-2 py-2 text-base",
|
|
2809
2841
|
onClick: onCreateReportClick
|
|
2810
2842
|
}, t('Create Report'))));
|
|
@@ -2906,11 +2938,11 @@ function createReportDialogPrompt(uiDialogService, _ref) {
|
|
|
2906
2938
|
actions: [{
|
|
2907
2939
|
id: 'cancel',
|
|
2908
2940
|
text: 'Cancel',
|
|
2909
|
-
type:
|
|
2941
|
+
type: ui_src/* ButtonEnums.type */.LZ.U.secondary
|
|
2910
2942
|
}, {
|
|
2911
2943
|
id: 'save',
|
|
2912
2944
|
text: 'Save',
|
|
2913
|
-
type:
|
|
2945
|
+
type: ui_src/* ButtonEnums.type */.LZ.U.primary
|
|
2914
2946
|
}],
|
|
2915
2947
|
// TODO: Should be on button press...
|
|
2916
2948
|
onSubmit: _handleFormSubmit,
|
|
@@ -3262,16 +3294,14 @@ function PanelMeasurementTable(_ref) {
|
|
|
3262
3294
|
onKeyPress: onKeyPressHandler
|
|
3263
3295
|
});
|
|
3264
3296
|
},
|
|
3265
|
-
actions: [
|
|
3266
|
-
// temp: swap button types until colors are updated
|
|
3267
|
-
{
|
|
3297
|
+
actions: [{
|
|
3268
3298
|
id: 'cancel',
|
|
3269
3299
|
text: 'Cancel',
|
|
3270
|
-
type:
|
|
3300
|
+
type: ui_src/* ButtonEnums.type */.LZ.U.secondary
|
|
3271
3301
|
}, {
|
|
3272
3302
|
id: 'save',
|
|
3273
3303
|
text: 'Save',
|
|
3274
|
-
type:
|
|
3304
|
+
type: ui_src/* ButtonEnums.type */.LZ.U.primary
|
|
3275
3305
|
}],
|
|
3276
3306
|
onSubmit: onSubmitHandler
|
|
3277
3307
|
}
|
|
@@ -5745,8 +5775,9 @@ function DataSourceSelector() {
|
|
|
5745
5775
|
key: ds.sourceName
|
|
5746
5776
|
}, /*#__PURE__*/react.createElement("h1", {
|
|
5747
5777
|
className: "text-white"
|
|
5748
|
-
}, ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
5749
|
-
|
|
5778
|
+
}, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
5779
|
+
type: ui_src/* ButtonEnums.type */.LZ.U.primary,
|
|
5780
|
+
className: classnames_default()('ml-2'),
|
|
5750
5781
|
onClick: () => {
|
|
5751
5782
|
navigate({
|
|
5752
5783
|
pathname: '/',
|
|
@@ -21,8 +21,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-video"}
|
|
|
21
21
|
const id = package_namespaceObject.u2;
|
|
22
22
|
const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-video`;
|
|
23
23
|
|
|
24
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
25
|
-
var src = __webpack_require__(
|
|
24
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
|
|
25
|
+
var src = __webpack_require__(87754);
|
|
26
26
|
;// CONCATENATED MODULE: ../../../extensions/dicom-video/src/getSopClassHandlerModule.js
|
|
27
27
|
|
|
28
28
|
|
package/dist/945.min.worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk=self.webpackChunk||[]).push([[945],{945:function(e,r){var n={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},o=function(){"use strict";var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,a=3406,t=2276,s=1567,i=3784,c=5793,l=2896;function f(e,r){for(var n,o,a=0,t=[],s=16;s>0&&!e[s-1];)s--;t.push({children:[],index:0});var i,c=t[0];for(n=0;n<s;n++){for(o=0;o<e[n];o++){for((c=t.pop()).children[c.index]=r[a];c.index>0;)c=t.pop();for(c.index++,t.push(c);t.length<=n;)t.push(i={children:[],index:0}),c.children[c.index]=i.children,c=i;a++}n+1<s&&(t.push(i={children:[],index:0}),c.children[c.index]=i.children,c=i)}return t[0].children}function u(e,r,n){return 64*((e.blocksPerLine+1)*r+n)}function h(r,n,o,a,t,s,i,c,l){o.precision,o.samplesPerLine,o.scanLines;var f=o.mcusPerLine,h=o.progressive,b=(o.maxH,o.maxV,n),v=0,m=0;function p(){if(m>0)return m--,v>>m&1;if(255==(v=r[n++])){var e=r[n++];if(e)throw"unexpected marker: "+(v<<8|e).toString(16)}return m=7,v>>>7}function d(e){for(var r,n=e;null!==(r=p());){if("number"==typeof(n=n[r]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function k(e){for(var r=0;e>0;){var n=p();if(null===n)return;r=r<<1|n,e--}return r}function w(e){var r=k(e);return r>=1<<e-1?r:r+(-1<<e)+1}var C=0;var P,g=0;function y(e,r,n,o,a){var t=n%f;r(e,u(e,(n/f|0)*e.v+o,t*e.h+a))}function D(e,r,n){r(e,u(e,n/e.blocksPerLine|0,n%e.blocksPerLine))}var L,x,T,A,U,I,q=a.length;I=h?0===s?0===c?function(e,r){var n=d(e.huffmanTableDC),o=0===n?0:w(n)<<l;e.blockData[r]=e.pred+=o}:function(e,r){e.blockData[r]|=p()<<l}:0===c?function(r,n){if(C>0)C--;else for(var o=s,a=i;o<=a;){var t=d(r.huffmanTableAC),c=15&t,f=t>>4;if(0!==c){var u=e[o+=f];r.blockData[n+u]=w(c)*(1<<l),o++}else{if(f<15){C=k(f)+(1<<f)-1;break}o+=16}}}:function(r,n){for(var o=s,a=i,t=0;o<=a;){var c=e[o];switch(g){case 0:var f=d(r.huffmanTableAC),u=15&f;if(t=f>>4,0===u)t<15?(C=k(t)+(1<<t),g=4):(t=16,g=1);else{if(1!==u)throw"invalid ACn encoding";P=w(u),g=t?2:3}continue;case 1:case 2:r.blockData[n+c]?r.blockData[n+c]+=p()<<l:0==--t&&(g=2==g?3:0);break;case 3:r.blockData[n+c]?r.blockData[n+c]+=p()<<l:(r.blockData[n+c]=P<<l,g=0);break;case 4:r.blockData[n+c]&&(r.blockData[n+c]+=p()<<l)}o++}4===g&&0==--C&&(g=0)}:function(r,n){var o=d(r.huffmanTableDC),a=0===o?0:w(o);r.blockData[n]=r.pred+=a;for(var t=1;t<64;){var s=d(r.huffmanTableAC),i=15&s,c=s>>4;if(0!==i){var l=e[t+=c];r.blockData[n+l]=w(i),t++}else{if(c<15)break;t+=16}}};var G,M,z,H,R=0;for(M=1==q?a[0].blocksPerLine*a[0].blocksPerColumn:f*o.mcusPerColumn,t||(t=M);R<M;){for(x=0;x<q;x++)a[x].pred=0;if(C=0,1==q)for(L=a[0],U=0;U<t;U++)D(L,I,R),R++;else for(U=0;U<t;U++){for(x=0;x<q;x++)for(z=(L=a[x]).h,H=L.v,T=0;T<H;T++)for(A=0;A<z;A++)y(L,I,R,T,A);R++}if(m=0,(G=r[n]<<8|r[n+1])<=65280)throw"marker was not found";if(!(G>=65488&&G<=65495))break;n+=2}return n-b}function b(e,n,f){var u,h,b,v,m,p,d,k,w,C,P=e.quantizationTable;for(C=0;C<64;C++)f[C]=e.blockData[n+C]*P[C];for(C=0;C<8;++C){var g=8*C;0!==f[1+g]||0!==f[2+g]||0!==f[3+g]||0!==f[4+g]||0!==f[5+g]||0!==f[6+g]||0!==f[7+g]?(u=c*f[0+g]+128>>8,h=c*f[4+g]+128>>8,b=f[2+g],v=f[6+g],m=l*(f[1+g]-f[7+g])+128>>8,k=l*(f[1+g]+f[7+g])+128>>8,p=f[3+g]<<4,d=f[5+g]<<4,w=u-h+1>>1,u=u+h+1>>1,h=w,w=b*i+v*s+128>>8,b=b*s-v*i+128>>8,v=w,w=m-d+1>>1,m=m+d+1>>1,d=w,w=k+p+1>>1,p=k-p+1>>1,k=w,w=u-v+1>>1,u=u+v+1>>1,v=w,w=h-b+1>>1,h=h+b+1>>1,b=w,w=m*t+k*a+2048>>12,m=m*a-k*t+2048>>12,k=w,w=p*o+d*r+2048>>12,p=p*r-d*o+2048>>12,d=w,f[0+g]=u+k,f[7+g]=u-k,f[1+g]=h+d,f[6+g]=h-d,f[2+g]=b+p,f[5+g]=b-p,f[3+g]=v+m,f[4+g]=v-m):(w=c*f[0+g]+512>>10,f[0+g]=w,f[1+g]=w,f[2+g]=w,f[3+g]=w,f[4+g]=w,f[5+g]=w,f[6+g]=w,f[7+g]=w)}for(C=0;C<8;++C){var y=C;0!==f[8+y]||0!==f[16+y]||0!==f[24+y]||0!==f[32+y]||0!==f[40+y]||0!==f[48+y]||0!==f[56+y]?(u=c*f[0+y]+2048>>12,h=c*f[32+y]+2048>>12,b=f[16+y],v=f[48+y],m=l*(f[8+y]-f[56+y])+2048>>12,k=l*(f[8+y]+f[56+y])+2048>>12,p=f[24+y],d=f[40+y],w=u-h+1>>1,u=u+h+1>>1,h=w,w=b*i+v*s+2048>>12,b=b*s-v*i+2048>>12,v=w,w=m-d+1>>1,m=m+d+1>>1,d=w,w=k+p+1>>1,p=k-p+1>>1,k=w,w=u-v+1>>1,u=u+v+1>>1,v=w,w=h-b+1>>1,h=h+b+1>>1,b=w,w=m*t+k*a+2048>>12,m=m*a-k*t+2048>>12,k=w,w=p*o+d*r+2048>>12,p=p*r-d*o+2048>>12,d=w,f[0+y]=u+k,f[56+y]=u-k,f[8+y]=h+d,f[48+y]=h-d,f[16+y]=b+p,f[40+y]=b-p,f[24+y]=v+m,f[32+y]=v-m):(w=c*f[C+0]+8192>>14,f[0+y]=w,f[8+y]=w,f[16+y]=w,f[24+y]=w,f[32+y]=w,f[40+y]=w,f[48+y]=w,f[56+y]=w)}for(C=0;C<64;++C){var D=n+C,L=f[C];L=L<=-2056/e.bitConversion?0:L>=2024/e.bitConversion?255/e.bitConversion:L+2056/e.bitConversion>>4,e.blockData[D]=L}}function v(e,r){for(var n=r.blocksPerLine,o=r.blocksPerColumn,a=new Int32Array(64),t=0;t<o;t++)for(var s=0;s<n;s++){b(r,u(r,t,s),a)}return r.blockData}function m(e){return e<=0?0:e>=255?255:0|e}return constructor.prototype={load:function(e){var r=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var n=e.indexOf("base64,")+7,o=atob(e.substring(n)),a=new Uint8Array(o.length),t=o.length-1;t>=0;t--)a[t]=o.charCodeAt(t);r(o)}else{var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(){var e=new Uint8Array(s.response);r(e)}.bind(this),s.send(null)}},parse:function(r){function o(){var e=r[c]<<8|r[c+1];return c+=2,e}function a(){var e=o(),n=r.subarray(c,c+e-2);return c+=n.length,n}function t(e){for(var r=Math.ceil(e.samplesPerLine/8/e.maxH),n=Math.ceil(e.scanLines/8/e.maxV),o=0;o<e.components.length;o++){S=e.components[o];var a=Math.ceil(Math.ceil(e.samplesPerLine/8)*S.h/e.maxH),t=Math.ceil(Math.ceil(e.scanLines/8)*S.v/e.maxV),s=r*S.h,i=64*(n*S.v)*(s+1);S.blockData=new Int16Array(i),S.blocksPerLine=a,S.blocksPerColumn=t}e.mcusPerLine=r,e.mcusPerColumn=n}var s,i,c=0,l=(r.length,null),u=null,b=[],m=[],p=[],d=o();if(65496!=d)throw"SOI not found";for(d=o();65497!=d;){var k,w;switch(d){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var C=a();65504===d&&74===C[0]&&70===C[1]&&73===C[2]&&70===C[3]&&0===C[4]&&(l={version:{major:C[5],minor:C[6]},densityUnits:C[7],xDensity:C[8]<<8|C[9],yDensity:C[10]<<8|C[11],thumbWidth:C[12],thumbHeight:C[13],thumbData:C.subarray(14,14+3*C[12]*C[13])}),65518===d&&65===C[0]&&100===C[1]&&111===C[2]&&98===C[3]&&101===C[4]&&0===C[5]&&(u={version:C[6],flags0:C[7]<<8|C[8],flags1:C[9]<<8|C[10],transformCode:C[11]});break;case 65499:for(var P=o()+c-2;c<P;){var g=r[c++],y=new Int32Array(64);if(g>>4==0)for(k=0;k<64;k++){y[e[k]]=r[c++]}else{if(g>>4!=1)throw"DQT: invalid table spec";for(k=0;k<64;k++){y[e[k]]=o()}}b[15&g]=y}break;case 65472:case 65473:case 65474:if(s)throw"Only single frame JPEGs supported";o(),(s={}).extended=65473===d,s.progressive=65474===d,s.precision=r[c++],s.scanLines=o(),s.samplesPerLine=o(),s.components=[],s.componentIds={};var D,L=r[c++],x=0,T=0;for(J=0;J<L;J++){D=r[c];var A=r[c+1]>>4,U=15&r[c+1];x<A&&(x=A),T<U&&(T=U);var I=r[c+2];w=s.components.push({h:A,v:U,quantizationTable:b[I],quantizationTableId:I,bitConversion:255/((1<<s.precision)-1)}),s.componentIds[D]=w-1,c+=3}s.maxH=x,s.maxV=T,t(s);break;case 65476:var q=o();for(J=2;J<q;){var G=r[c++],M=new Uint8Array(16),z=0;for(k=0;k<16;k++,c++)z+=M[k]=r[c];var H=new Uint8Array(z);for(k=0;k<z;k++,c++)H[k]=r[c];J+=17+z,(G>>4==0?p:m)[15&G]=f(M,H)}break;case 65501:o(),i=o();break;case 65498:o();var R=r[c++],V=[];for(J=0;J<R;J++){var Y=s.componentIds[r[c++]];S=s.components[Y];var B=r[c++];S.huffmanTableDC=p[B>>4],S.huffmanTableAC=m[15&B],V.push(S)}var O=r[c++],X=r[c++],j=r[c++],E=h(r,c,s,V,i,O,X,j>>4,15&j);c+=E;break;case 65535:255!==r[c]&&c--;break;default:if(255==r[c-3]&&r[c-2]>=192&&r[c-2]<=254){c-=3;break}throw"unknown JPEG marker "+d.toString(16)}d=o()}switch(this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=l,this.adobe=u,this.components=[],s.components.length){case 1:this.colorspace=n.Grayscale;break;case 3:this.adobe?this.colorspace=n.AdobeRGB:this.colorspace=n.RGB;break;case 4:this.colorspace=n.CYMK;break;default:this.colorspace=n.Unknown}for(var J=0;J<s.components.length;J++){var S;(S=s.components[J]).quantizationTable||null===S.quantizationTableId||(S.quantizationTable=b[S.quantizationTableId]),this.components.push({output:v(0,S),scaleX:S.h/s.maxH,scaleY:S.v/s.maxV,blocksPerLine:S.blocksPerLine,blocksPerColumn:S.blocksPerColumn,bitConversion:S.bitConversion})}},getData16:function(e,r){if(1!==this.components.length)throw"Unsupported color mode";var n,o,a,t,s,i,c=this.width/e,l=this.height/r,f=0,h=this.components.length,b=new Uint16Array(e*r*h),v=new Uint16Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(i=0;i<h;i++){for(var m,p,d,k=(n=this.components[i]).blocksPerLine,w=n.blocksPerColumn,C=k<<3,P=0,g=0;g<w;g++)for(var y=g<<3,D=0;D<k;D++){var L=u(n,g,D),x=(f=0,D<<3);for(m=0;m<8;m++){P=(y+m)*C;for(p=0;p<8;p++)v[P+x+p]=n.output[L+f++]}}for(o=n.scaleX*c,a=n.scaleY*l,f=i,s=0;s<r;s++)for(t=0;t<e;t++)d=(0|s*a)*C+(0|t*o),b[f]=v[d],f+=h}return b},getData:function(e,r){var n,o,a,t,s,i,c,l,f,h,b,v,p,d,k,w=this.width/e,C=this.height/r,P=0,g=this.components.length,y=e*r*g,D=new Uint8Array(y),L=new Uint8Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(i=0;i<g;i++){for(var x,T,A,U=(n=this.components[i]).blocksPerLine,I=n.blocksPerColumn,q=U<<3,G=0,M=0;M<I;M++)for(var z=M<<3,H=0;H<U;H++){var R=u(n,M,H),V=(P=0,H<<3);for(x=0;x<8;x++){G=(z+x)*q;for(T=0;T<8;T++)L[G+V+T]=n.output[R+P++]*n.bitConversion}}for(o=n.scaleX*w,a=n.scaleY*C,P=i,s=0;s<r;s++)for(t=0;t<e;t++)A=(0|s*a)*q+(0|t*o),D[P]=L[A],P+=g}switch(g){case 1:case 2:break;case 3:if(k=!0,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),k)for(i=0;i<y;i+=g)c=D[i],l=D[i+1],v=m(c-179.456+1.402*(f=D[i+2])),p=m(c+135.459-.344*l-.714*f),d=m(c-226.816+1.772*l),D[i]=v,D[i+1]=p,D[i+2]=d;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";if(k=!1,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),k)for(i=0;i<y;i+=g)c=D[i],l=D[i+1],h=m(434.456-c-1.402*(f=D[i+2])),b=m(119.541-c+.344*l+.714*f),c=m(481.816-c-1.772*l),D[i]=h,D[i+1]=b,D[i+2]=c;break;default:throw"Unsupported color mode"}return D}},constructor}();e.exports={JpegImage:o}}}]);
|
|
1
|
+
(self.webpackChunk=self.webpackChunk||[]).push([[945],{945:function(e,r){var n={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},o=function(){"use strict";var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,a=3406,t=2276,s=1567,i=3784,c=5793,l=2896;function f(e,r){for(var n,o,a=0,t=[],s=16;s>0&&!e[s-1];)s--;t.push({children:[],index:0});var i,c=t[0];for(n=0;n<s;n++){for(o=0;o<e[n];o++){for((c=t.pop()).children[c.index]=r[a];c.index>0;)c=t.pop();for(c.index++,t.push(c);t.length<=n;)t.push(i={children:[],index:0}),c.children[c.index]=i.children,c=i;a++}n+1<s&&(t.push(i={children:[],index:0}),c.children[c.index]=i.children,c=i)}return t[0].children}function u(e,r,n){return 64*((e.blocksPerLine+1)*r+n)}function h(r,n,o,a,t,s,i,c,l){o.precision,o.samplesPerLine,o.scanLines;var f=o.mcusPerLine,h=o.progressive,b=(o.maxH,o.maxV,n),v=0,m=0;function p(){if(m>0)return m--,v>>m&1;if(255==(v=r[n++])){var e=r[n++];if(e)throw"unexpected marker: "+(v<<8|e).toString(16)}return m=7,v>>>7}function d(e){for(var r,n=e;null!==(r=p());){if("number"==typeof(n=n[r]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function k(e){for(var r=0;e>0;){var n=p();if(null===n)return;r=r<<1|n,e--}return r}function w(e){var r=k(e);return r>=1<<e-1?r:r+(-1<<e)+1}var C=0;var P,g=0;function y(e,r,n,o,a){var t=n%f;r(e,u(e,(n/f|0)*e.v+o,t*e.h+a))}function D(e,r,n){r(e,u(e,n/e.blocksPerLine|0,n%e.blocksPerLine))}var L,x,T,A,U,I,q=a.length;I=h?0===s?0===c?function(e,r){var n=d(e.huffmanTableDC),o=0===n?0:w(n)<<l;e.blockData[r]=e.pred+=o}:function(e,r){e.blockData[r]|=p()<<l}:0===c?function(r,n){if(C>0)C--;else for(var o=s,a=i;o<=a;){var t=d(r.huffmanTableAC),c=15&t,f=t>>4;if(0!==c){var u=e[o+=f];r.blockData[n+u]=w(c)*(1<<l),o++}else{if(f<15){C=k(f)+(1<<f)-1;break}o+=16}}}:function(r,n){for(var o=s,a=i,t=0;o<=a;){var c=e[o];switch(g){case 0:var f=d(r.huffmanTableAC),u=15&f;if(t=f>>4,0===u)t<15?(C=k(t)+(1<<t),g=4):(t=16,g=1);else{if(1!==u)throw"invalid ACn encoding";P=w(u),g=t?2:3}continue;case 1:case 2:r.blockData[n+c]?r.blockData[n+c]+=p()<<l:0==--t&&(g=2==g?3:0);break;case 3:r.blockData[n+c]?r.blockData[n+c]+=p()<<l:(r.blockData[n+c]=P<<l,g=0);break;case 4:r.blockData[n+c]&&(r.blockData[n+c]+=p()<<l)}o++}4===g&&0==--C&&(g=0)}:function(r,n){var o=d(r.huffmanTableDC),a=0===o?0:w(o);r.blockData[n]=r.pred+=a;for(var t=1;t<64;){var s=d(r.huffmanTableAC),i=15&s,c=s>>4;if(0!==i){var l=e[t+=c];r.blockData[n+l]=w(i),t++}else{if(c<15)break;t+=16}}};var G,M,z,H,O=0;for(M=1==q?a[0].blocksPerLine*a[0].blocksPerColumn:f*o.mcusPerColumn,t||(t=M);O<M;){for(x=0;x<q;x++)a[x].pred=0;if(C=0,1==q)for(L=a[0],U=0;U<t;U++)D(L,I,O),O++;else for(U=0;U<t;U++){for(x=0;x<q;x++)for(z=(L=a[x]).h,H=L.v,T=0;T<H;T++)for(A=0;A<z;A++)y(L,I,O,T,A);O++}if(m=0,(G=r[n]<<8|r[n+1])<=65280)throw"marker was not found";if(!(G>=65488&&G<=65495))break;n+=2}return n-b}function b(e,n,f){var u,h,b,v,m,p,d,k,w,C,P=e.quantizationTable;for(C=0;C<64;C++)f[C]=e.blockData[n+C]*P[C];for(C=0;C<8;++C){var g=8*C;0!==f[1+g]||0!==f[2+g]||0!==f[3+g]||0!==f[4+g]||0!==f[5+g]||0!==f[6+g]||0!==f[7+g]?(u=c*f[0+g]+128>>8,h=c*f[4+g]+128>>8,b=f[2+g],v=f[6+g],m=l*(f[1+g]-f[7+g])+128>>8,k=l*(f[1+g]+f[7+g])+128>>8,p=f[3+g]<<4,d=f[5+g]<<4,w=u-h+1>>1,u=u+h+1>>1,h=w,w=b*i+v*s+128>>8,b=b*s-v*i+128>>8,v=w,w=m-d+1>>1,m=m+d+1>>1,d=w,w=k+p+1>>1,p=k-p+1>>1,k=w,w=u-v+1>>1,u=u+v+1>>1,v=w,w=h-b+1>>1,h=h+b+1>>1,b=w,w=m*t+k*a+2048>>12,m=m*a-k*t+2048>>12,k=w,w=p*o+d*r+2048>>12,p=p*r-d*o+2048>>12,d=w,f[0+g]=u+k,f[7+g]=u-k,f[1+g]=h+d,f[6+g]=h-d,f[2+g]=b+p,f[5+g]=b-p,f[3+g]=v+m,f[4+g]=v-m):(w=c*f[0+g]+512>>10,f[0+g]=w,f[1+g]=w,f[2+g]=w,f[3+g]=w,f[4+g]=w,f[5+g]=w,f[6+g]=w,f[7+g]=w)}for(C=0;C<8;++C){var y=C;0!==f[8+y]||0!==f[16+y]||0!==f[24+y]||0!==f[32+y]||0!==f[40+y]||0!==f[48+y]||0!==f[56+y]?(u=c*f[0+y]+2048>>12,h=c*f[32+y]+2048>>12,b=f[16+y],v=f[48+y],m=l*(f[8+y]-f[56+y])+2048>>12,k=l*(f[8+y]+f[56+y])+2048>>12,p=f[24+y],d=f[40+y],w=u-h+1>>1,u=u+h+1>>1,h=w,w=b*i+v*s+2048>>12,b=b*s-v*i+2048>>12,v=w,w=m-d+1>>1,m=m+d+1>>1,d=w,w=k+p+1>>1,p=k-p+1>>1,k=w,w=u-v+1>>1,u=u+v+1>>1,v=w,w=h-b+1>>1,h=h+b+1>>1,b=w,w=m*t+k*a+2048>>12,m=m*a-k*t+2048>>12,k=w,w=p*o+d*r+2048>>12,p=p*r-d*o+2048>>12,d=w,f[0+y]=u+k,f[56+y]=u-k,f[8+y]=h+d,f[48+y]=h-d,f[16+y]=b+p,f[40+y]=b-p,f[24+y]=v+m,f[32+y]=v-m):(w=c*f[C+0]+8192>>14,f[0+y]=w,f[8+y]=w,f[16+y]=w,f[24+y]=w,f[32+y]=w,f[40+y]=w,f[48+y]=w,f[56+y]=w)}for(C=0;C<64;++C){var D=n+C,L=f[C];L=L<=-2056/e.bitConversion?0:L>=2024/e.bitConversion?255/e.bitConversion:L+2056/e.bitConversion>>4,e.blockData[D]=L}}function v(e,r){for(var n=r.blocksPerLine,o=r.blocksPerColumn,a=new Int32Array(64),t=0;t<o;t++)for(var s=0;s<n;s++){b(r,u(r,t,s),a)}return r.blockData}function m(e){return e<=0?0:e>=255?255:0|e}class p{}return Object.setPrototypeOf(p.prototype,{load:function(e){var r=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var n=e.indexOf("base64,")+7,o=atob(e.substring(n)),a=new Uint8Array(o.length),t=o.length-1;t>=0;t--)a[t]=o.charCodeAt(t);r(o)}else{var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(){var e=new Uint8Array(s.response);r(e)}.bind(this),s.send(null)}},parse:function(r){function o(){var e=r[c]<<8|r[c+1];return c+=2,e}function a(){var e=o(),n=r.subarray(c,c+e-2);return c+=n.length,n}function t(e){for(var r=Math.ceil(e.samplesPerLine/8/e.maxH),n=Math.ceil(e.scanLines/8/e.maxV),o=0;o<e.components.length;o++){S=e.components[o];var a=Math.ceil(Math.ceil(e.samplesPerLine/8)*S.h/e.maxH),t=Math.ceil(Math.ceil(e.scanLines/8)*S.v/e.maxV),s=r*S.h,i=64*(n*S.v)*(s+1);S.blockData=new Int16Array(i),S.blocksPerLine=a,S.blocksPerColumn=t}e.mcusPerLine=r,e.mcusPerColumn=n}var s,i,c=0,l=(r.length,null),u=null,b=[],m=[],p=[],d=o();if(65496!=d)throw"SOI not found";for(d=o();65497!=d;){var k,w;switch(d){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var C=a();65504===d&&74===C[0]&&70===C[1]&&73===C[2]&&70===C[3]&&0===C[4]&&(l={version:{major:C[5],minor:C[6]},densityUnits:C[7],xDensity:C[8]<<8|C[9],yDensity:C[10]<<8|C[11],thumbWidth:C[12],thumbHeight:C[13],thumbData:C.subarray(14,14+3*C[12]*C[13])}),65518===d&&65===C[0]&&100===C[1]&&111===C[2]&&98===C[3]&&101===C[4]&&0===C[5]&&(u={version:C[6],flags0:C[7]<<8|C[8],flags1:C[9]<<8|C[10],transformCode:C[11]});break;case 65499:for(var P=o()+c-2;c<P;){var g=r[c++],y=new Int32Array(64);if(g>>4==0)for(k=0;k<64;k++){y[e[k]]=r[c++]}else{if(g>>4!=1)throw"DQT: invalid table spec";for(k=0;k<64;k++){y[e[k]]=o()}}b[15&g]=y}break;case 65472:case 65473:case 65474:if(s)throw"Only single frame JPEGs supported";o(),(s={}).extended=65473===d,s.progressive=65474===d,s.precision=r[c++],s.scanLines=o(),s.samplesPerLine=o(),s.components=[],s.componentIds={};var D,L=r[c++],x=0,T=0;for(J=0;J<L;J++){D=r[c];var A=r[c+1]>>4,U=15&r[c+1];x<A&&(x=A),T<U&&(T=U);var I=r[c+2];w=s.components.push({h:A,v:U,quantizationTable:b[I],quantizationTableId:I,bitConversion:255/((1<<s.precision)-1)}),s.componentIds[D]=w-1,c+=3}s.maxH=x,s.maxV=T,t(s);break;case 65476:var q=o();for(J=2;J<q;){var G=r[c++],M=new Uint8Array(16),z=0;for(k=0;k<16;k++,c++)z+=M[k]=r[c];var H=new Uint8Array(z);for(k=0;k<z;k++,c++)H[k]=r[c];J+=17+z,(G>>4==0?p:m)[15&G]=f(M,H)}break;case 65501:o(),i=o();break;case 65498:o();var O=r[c++],R=[];for(J=0;J<O;J++){var V=s.componentIds[r[c++]];S=s.components[V];var Y=r[c++];S.huffmanTableDC=p[Y>>4],S.huffmanTableAC=m[15&Y],R.push(S)}var j=r[c++],B=r[c++],X=r[c++],E=h(r,c,s,R,i,j,B,X>>4,15&X);c+=E;break;case 65535:255!==r[c]&&c--;break;default:if(255==r[c-3]&&r[c-2]>=192&&r[c-2]<=254){c-=3;break}throw"unknown JPEG marker "+d.toString(16)}d=o()}switch(this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=l,this.adobe=u,this.components=[],s.components.length){case 1:this.colorspace=n.Grayscale;break;case 3:this.adobe?this.colorspace=n.AdobeRGB:this.colorspace=n.RGB;break;case 4:this.colorspace=n.CYMK;break;default:this.colorspace=n.Unknown}for(var J=0;J<s.components.length;J++){var S;(S=s.components[J]).quantizationTable||null===S.quantizationTableId||(S.quantizationTable=b[S.quantizationTableId]),this.components.push({output:v(0,S),scaleX:S.h/s.maxH,scaleY:S.v/s.maxV,blocksPerLine:S.blocksPerLine,blocksPerColumn:S.blocksPerColumn,bitConversion:S.bitConversion})}},getData16:function(e,r){if(1!==this.components.length)throw"Unsupported color mode";var n,o,a,t,s,i,c=this.width/e,l=this.height/r,f=0,h=this.components.length,b=new Uint16Array(e*r*h),v=new Uint16Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(i=0;i<h;i++){for(var m,p,d,k=(n=this.components[i]).blocksPerLine,w=n.blocksPerColumn,C=k<<3,P=0,g=0;g<w;g++)for(var y=g<<3,D=0;D<k;D++){var L=u(n,g,D),x=(f=0,D<<3);for(m=0;m<8;m++){P=(y+m)*C;for(p=0;p<8;p++)v[P+x+p]=n.output[L+f++]}}for(o=n.scaleX*c,a=n.scaleY*l,f=i,s=0;s<r;s++)for(t=0;t<e;t++)d=(0|s*a)*C+(0|t*o),b[f]=v[d],f+=h}return b},getData:function(e,r){var n,o,a,t,s,i,c,l,f,h,b,v,p,d,k,w=this.width/e,C=this.height/r,P=0,g=this.components.length,y=e*r*g,D=new Uint8Array(y),L=new Uint8Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(i=0;i<g;i++){for(var x,T,A,U=(n=this.components[i]).blocksPerLine,I=n.blocksPerColumn,q=U<<3,G=0,M=0;M<I;M++)for(var z=M<<3,H=0;H<U;H++){var O=u(n,M,H),R=(P=0,H<<3);for(x=0;x<8;x++){G=(z+x)*q;for(T=0;T<8;T++)L[G+R+T]=n.output[O+P++]*n.bitConversion}}for(o=n.scaleX*w,a=n.scaleY*C,P=i,s=0;s<r;s++)for(t=0;t<e;t++)A=(0|s*a)*q+(0|t*o),D[P]=L[A],P+=g}switch(g){case 1:case 2:break;case 3:if(k=!0,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),k)for(i=0;i<y;i+=g)c=D[i],l=D[i+1],v=m(c-179.456+1.402*(f=D[i+2])),p=m(c+135.459-.344*l-.714*f),d=m(c-226.816+1.772*l),D[i]=v,D[i+1]=p,D[i+2]=d;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";if(k=!1,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),k)for(i=0;i<y;i+=g)c=D[i],l=D[i+1],h=m(434.456-c-1.402*(f=D[i+2])),b=m(119.541-c+.344*l+.714*f),c=m(481.816-c-1.772*l),D[i]=h,D[i+1]=b,D[i+2]=c;break;default:throw"Unsupported color mode"}return D}}),p}();e.exports={JpegImage:o}}}]);
|
|
2
2
|
//# sourceMappingURL=945.min.worker.js.map
|