@ohif/app 3.8.0-beta.29 → 3.8.0-beta.30
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/{170.bundle.57dff48fc09ba5fa844b.js → 170.bundle.38b187c9f7abe2dfb84d.js} +43 -9
- package/dist/{456.bundle.475e0e878872ad61e39e.js → 456.bundle.fe30ae09d7a9936591a6.js} +27 -9
- package/dist/{738.bundle.7c78f93180d8405b167c.js → 738.bundle.6501818304f8ce87ed61.js} +27 -19
- package/dist/{app.bundle.88eb088709ac23e29da0.js → app.bundle.431384e9f0df107cc122.js} +6 -9
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +17 -17
- /package/dist/{12.bundle.abb6ab88fda1125f3b47.js → 12.bundle.48ee708331b38142c47c.js} +0 -0
- /package/dist/{185.bundle.0251703d5b77f265cc11.js → 185.bundle.e3bcbc2c96dd51868295.js} +0 -0
- /package/dist/{19.bundle.55796dd5a6dfecf02682.js → 19.bundle.08a41384953ab98fbf7d.js} +0 -0
- /package/dist/{199.bundle.f62693c1405b52bc6580.js → 199.bundle.2a998ffc15ffcc122e59.js} +0 -0
- /package/dist/{281.bundle.a934356f89499eb6ec48.js → 281.bundle.33ca053a4954a538b521.js} +0 -0
- /package/dist/{359.bundle.1f2a03766e18f1e3cca4.js → 359.bundle.e53e83a1a90cecf70cb3.js} +0 -0
- /package/dist/{410.bundle.b59d9d09407856f9babc.js → 410.bundle.30567596b262e047951a.js} +0 -0
- /package/dist/{466.bundle.667b31151880a262d475.js → 466.bundle.8622576a3d6310735b2f.js} +0 -0
- /package/dist/{483.bundle.775438e850fbee318b63.js → 483.bundle.85c3ead1edaca231f6de.js} +0 -0
- /package/dist/{506.bundle.dcae1c16f61651daa74d.js → 506.bundle.3c072a4f72c4d7a07c32.js} +0 -0
- /package/dist/{613.bundle.d080a15569910ff63fc8.js → 613.bundle.26a981b3a01a8b444ade.js} +0 -0
- /package/dist/{687.bundle.fc36244c7ec3b1146f13.js → 687.bundle.60ed47940e558d41e984.js} +0 -0
- /package/dist/{814.bundle.9c9805cd0d54a8ea9697.js → 814.bundle.b9661e9acf9e6ba052f9.js} +0 -0
- /package/dist/{965.bundle.26d8f982af77f304a038.js → 965.bundle.06fb371211ed7b4b45d0.js} +0 -0
|
@@ -259,7 +259,9 @@ class DICOMSRDisplayTool extends dist_esm.AnnotationTool {
|
|
|
259
259
|
}
|
|
260
260
|
const textLines = this._getTextBoxLinesFromLabels(label);
|
|
261
261
|
const canvasTextBoxCoords = dist_esm.utilities.drawing.getTextBoxCoordsCanvas(adaptedCanvasCoordinates);
|
|
262
|
-
annotation.data
|
|
262
|
+
if (!annotation.data?.handles?.textBox?.worldPosition) {
|
|
263
|
+
annotation.data.handles.textBox.worldPosition = viewport.canvasToWorld(canvasTextBoxCoords);
|
|
264
|
+
}
|
|
263
265
|
const textBoxPosition = viewport.worldToCanvas(annotation.data.handles.textBox.worldPosition);
|
|
264
266
|
const textBoxUID = '1';
|
|
265
267
|
const textBoxOptions = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
@@ -355,7 +357,7 @@ function addMeasurement(measurement, imageId, displaySetInstanceUID) {
|
|
|
355
357
|
data: {
|
|
356
358
|
label: measurement.labels,
|
|
357
359
|
handles: {
|
|
358
|
-
textBox: {}
|
|
360
|
+
textBox: measurement.textBox ?? {}
|
|
359
361
|
},
|
|
360
362
|
cachedStats: {
|
|
361
363
|
TrackingUniqueIdentifier: measurementData.TrackingUniqueIdentifier,
|
|
@@ -692,7 +694,7 @@ function _load(displaySet, servicesManager, extensionManager) {
|
|
|
692
694
|
|
|
693
695
|
// Check currently added displaySets and add measurements if the sources exist.
|
|
694
696
|
displaySetService.activeDisplaySets.forEach(activeDisplaySet => {
|
|
695
|
-
_checkIfCanAddMeasurementsToDisplaySet(displaySet, activeDisplaySet, dataSource);
|
|
697
|
+
_checkIfCanAddMeasurementsToDisplaySet(displaySet, activeDisplaySet, dataSource, servicesManager);
|
|
696
698
|
});
|
|
697
699
|
|
|
698
700
|
// Subscribe to new displaySets as the source may come in after.
|
|
@@ -703,11 +705,14 @@ function _load(displaySet, servicesManager, extensionManager) {
|
|
|
703
705
|
// If there are still some measurements that have not yet been loaded into cornerstone,
|
|
704
706
|
// See if we can load them onto any of the new displaySets.
|
|
705
707
|
displaySetsAdded.forEach(newDisplaySet => {
|
|
706
|
-
_checkIfCanAddMeasurementsToDisplaySet(displaySet, newDisplaySet, dataSource);
|
|
708
|
+
_checkIfCanAddMeasurementsToDisplaySet(displaySet, newDisplaySet, dataSource, servicesManager);
|
|
707
709
|
});
|
|
708
710
|
});
|
|
709
711
|
}
|
|
710
|
-
function _checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, newDisplaySet, dataSource) {
|
|
712
|
+
function _checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, newDisplaySet, dataSource, servicesManager) {
|
|
713
|
+
const {
|
|
714
|
+
customizationService
|
|
715
|
+
} = servicesManager.services;
|
|
711
716
|
let unloadedMeasurements = srDisplaySet.measurements.filter(measurement => measurement.loaded === false);
|
|
712
717
|
if (unloadedMeasurements.length === 0) {
|
|
713
718
|
// All already loaded!
|
|
@@ -754,7 +759,15 @@ function _checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, newDisplaySet, dat
|
|
|
754
759
|
} = metadataProvider.getUIDsFromImageID(imageId);
|
|
755
760
|
if (SOPInstanceUIDs.includes(SOPInstanceUID)) {
|
|
756
761
|
for (let j = unloadedMeasurements.length - 1; j >= 0; j--) {
|
|
757
|
-
|
|
762
|
+
let measurement = unloadedMeasurements[j];
|
|
763
|
+
const onBeforeSRAddMeasurement = customizationService.getModeCustomization('onBeforeSRAddMeasurement')?.value;
|
|
764
|
+
if (typeof onBeforeSRAddMeasurement === 'function') {
|
|
765
|
+
measurement = onBeforeSRAddMeasurement({
|
|
766
|
+
measurement,
|
|
767
|
+
StudyInstanceUID: srDisplaySet.StudyInstanceUID,
|
|
768
|
+
SeriesInstanceUID: srDisplaySet.SeriesInstanceUID
|
|
769
|
+
});
|
|
770
|
+
}
|
|
758
771
|
if (_measurementReferencesSOPInstanceUID(measurement, SOPInstanceUID, frameNumber)) {
|
|
759
772
|
addMeasurement(measurement, imageId, newDisplaySet.displaySetInstanceUID);
|
|
760
773
|
unloadedMeasurements.splice(j, 1);
|
|
@@ -1206,7 +1219,13 @@ const _generateReport = (measurementData, additionalFindingTypes, options = {})
|
|
|
1206
1219
|
}
|
|
1207
1220
|
return dataset;
|
|
1208
1221
|
};
|
|
1209
|
-
const commandsModule =
|
|
1222
|
+
const commandsModule = props => {
|
|
1223
|
+
const {
|
|
1224
|
+
servicesManager
|
|
1225
|
+
} = props;
|
|
1226
|
+
const {
|
|
1227
|
+
customizationService
|
|
1228
|
+
} = servicesManager.services;
|
|
1210
1229
|
const actions = {
|
|
1211
1230
|
/**
|
|
1212
1231
|
*
|
|
@@ -1263,7 +1282,15 @@ const commandsModule = ({}) => {
|
|
|
1263
1282
|
console.log('naturalizedReport missing imaging content', naturalizedReport);
|
|
1264
1283
|
throw new Error('Invalid report, no content');
|
|
1265
1284
|
}
|
|
1266
|
-
|
|
1285
|
+
const onBeforeDicomStore = customizationService.getModeCustomization('onBeforeDicomStore')?.value;
|
|
1286
|
+
let dicomDict;
|
|
1287
|
+
if (typeof onBeforeDicomStore === 'function') {
|
|
1288
|
+
dicomDict = onBeforeDicomStore({
|
|
1289
|
+
measurementData,
|
|
1290
|
+
naturalizedReport
|
|
1291
|
+
});
|
|
1292
|
+
}
|
|
1293
|
+
await dataSource.store.dicom(naturalizedReport, null, dicomDict);
|
|
1267
1294
|
if (StudyInstanceUID) {
|
|
1268
1295
|
dataSource.deleteStudyMetadataPromise(StudyInstanceUID);
|
|
1269
1296
|
}
|
|
@@ -1699,12 +1726,19 @@ function hydrateStructuredReport({
|
|
|
1699
1726
|
const datasetToUse = _mapLegacyDataSet(instance);
|
|
1700
1727
|
|
|
1701
1728
|
// Use dcmjs to generate toolState.
|
|
1702
|
-
|
|
1729
|
+
let storedMeasurementByAnnotationType = MeasurementReport.generateToolState(datasetToUse,
|
|
1703
1730
|
// NOTE: we need to pass in the imageIds to dcmjs since the we use them
|
|
1704
1731
|
// for the imageToWorld transformation. The following assumes that the order
|
|
1705
1732
|
// that measurements were added to the display set are the same order as
|
|
1706
1733
|
// the measurementGroups in the instance.
|
|
1707
1734
|
sopInstanceUIDToImageId, esm.utilities.imageToWorldCoords, esm.metaData);
|
|
1735
|
+
const onBeforeSRHydration = customizationService.getModeCustomization('onBeforeSRHydration')?.value;
|
|
1736
|
+
if (typeof onBeforeSRHydration === 'function') {
|
|
1737
|
+
storedMeasurementByAnnotationType = onBeforeSRHydration({
|
|
1738
|
+
storedMeasurementByAnnotationType,
|
|
1739
|
+
displaySet
|
|
1740
|
+
});
|
|
1741
|
+
}
|
|
1708
1742
|
|
|
1709
1743
|
// Filter what is found by DICOM SR to measurements we support.
|
|
1710
1744
|
const mappingDefinitions = mappings.map(m => m.annotationType);
|
|
@@ -734,7 +734,8 @@ const Length = {
|
|
|
734
734
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
735
735
|
}
|
|
736
736
|
const {
|
|
737
|
-
points
|
|
737
|
+
points,
|
|
738
|
+
textBox
|
|
738
739
|
} = data.handles;
|
|
739
740
|
const mappedAnnotations = getMappedAnnotations(annotation, displaySetService);
|
|
740
741
|
const displayText = getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -744,6 +745,7 @@ const Length = {
|
|
|
744
745
|
SOPInstanceUID,
|
|
745
746
|
FrameOfReferenceUID,
|
|
746
747
|
points,
|
|
748
|
+
textBox,
|
|
747
749
|
metadata,
|
|
748
750
|
referenceSeriesUID: SeriesInstanceUID,
|
|
749
751
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -971,7 +973,8 @@ const Bidirectional = {
|
|
|
971
973
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
972
974
|
}
|
|
973
975
|
const {
|
|
974
|
-
points
|
|
976
|
+
points,
|
|
977
|
+
textBox
|
|
975
978
|
} = data.handles;
|
|
976
979
|
const mappedAnnotations = Bidirectional_getMappedAnnotations(annotation, displaySetService);
|
|
977
980
|
const displayText = Bidirectional_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -981,6 +984,7 @@ const Bidirectional = {
|
|
|
981
984
|
SOPInstanceUID,
|
|
982
985
|
FrameOfReferenceUID,
|
|
983
986
|
points,
|
|
987
|
+
textBox,
|
|
984
988
|
metadata,
|
|
985
989
|
referenceSeriesUID: SeriesInstanceUID,
|
|
986
990
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1152,7 +1156,8 @@ const EllipticalROI = {
|
|
|
1152
1156
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1153
1157
|
}
|
|
1154
1158
|
const {
|
|
1155
|
-
points
|
|
1159
|
+
points,
|
|
1160
|
+
textBox
|
|
1156
1161
|
} = data.handles;
|
|
1157
1162
|
const mappedAnnotations = EllipticalROI_getMappedAnnotations(annotation, displaySetService);
|
|
1158
1163
|
const displayText = EllipticalROI_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -1162,6 +1167,7 @@ const EllipticalROI = {
|
|
|
1162
1167
|
SOPInstanceUID,
|
|
1163
1168
|
FrameOfReferenceUID,
|
|
1164
1169
|
points,
|
|
1170
|
+
textBox,
|
|
1165
1171
|
metadata,
|
|
1166
1172
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1167
1173
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1361,7 +1367,8 @@ const CircleROI = {
|
|
|
1361
1367
|
displaySet = DisplaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1362
1368
|
}
|
|
1363
1369
|
const {
|
|
1364
|
-
points
|
|
1370
|
+
points,
|
|
1371
|
+
textBox
|
|
1365
1372
|
} = data.handles;
|
|
1366
1373
|
const mappedAnnotations = CircleROI_getMappedAnnotations(annotation, DisplaySetService);
|
|
1367
1374
|
const displayText = CircleROI_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -1371,6 +1378,7 @@ const CircleROI = {
|
|
|
1371
1378
|
SOPInstanceUID,
|
|
1372
1379
|
FrameOfReferenceUID,
|
|
1373
1380
|
points,
|
|
1381
|
+
textBox,
|
|
1374
1382
|
metadata,
|
|
1375
1383
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1376
1384
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1576,7 +1584,8 @@ const ArrowAnnotate_Length = {
|
|
|
1576
1584
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1577
1585
|
}
|
|
1578
1586
|
const {
|
|
1579
|
-
points
|
|
1587
|
+
points,
|
|
1588
|
+
textBox
|
|
1580
1589
|
} = data.handles;
|
|
1581
1590
|
const mappedAnnotations = ArrowAnnotate_getMappedAnnotations(annotation, displaySetService);
|
|
1582
1591
|
const displayText = ArrowAnnotate_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -1585,6 +1594,7 @@ const ArrowAnnotate_Length = {
|
|
|
1585
1594
|
SOPInstanceUID,
|
|
1586
1595
|
FrameOfReferenceUID,
|
|
1587
1596
|
points,
|
|
1597
|
+
textBox,
|
|
1588
1598
|
metadata,
|
|
1589
1599
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1590
1600
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1702,7 +1712,8 @@ const CobbAngle = {
|
|
|
1702
1712
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1703
1713
|
}
|
|
1704
1714
|
const {
|
|
1705
|
-
points
|
|
1715
|
+
points,
|
|
1716
|
+
textBox
|
|
1706
1717
|
} = data.handles;
|
|
1707
1718
|
const mappedAnnotations = CobbAngle_getMappedAnnotations(annotation, displaySetService);
|
|
1708
1719
|
const displayText = CobbAngle_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -1712,6 +1723,7 @@ const CobbAngle = {
|
|
|
1712
1723
|
SOPInstanceUID,
|
|
1713
1724
|
FrameOfReferenceUID,
|
|
1714
1725
|
points,
|
|
1726
|
+
textBox,
|
|
1715
1727
|
metadata,
|
|
1716
1728
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1717
1729
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1885,7 +1897,8 @@ const Angle = {
|
|
|
1885
1897
|
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1886
1898
|
}
|
|
1887
1899
|
const {
|
|
1888
|
-
points
|
|
1900
|
+
points,
|
|
1901
|
+
textBox
|
|
1889
1902
|
} = data.handles;
|
|
1890
1903
|
const mappedAnnotations = Angle_getMappedAnnotations(annotation, displaySetService);
|
|
1891
1904
|
const displayText = Angle_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -1895,6 +1908,7 @@ const Angle = {
|
|
|
1895
1908
|
SOPInstanceUID,
|
|
1896
1909
|
FrameOfReferenceUID,
|
|
1897
1910
|
points,
|
|
1911
|
+
textBox,
|
|
1898
1912
|
metadata,
|
|
1899
1913
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1900
1914
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -2066,7 +2080,8 @@ const PlanarFreehandROI = {
|
|
|
2066
2080
|
displaySet = DisplaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
2067
2081
|
}
|
|
2068
2082
|
const {
|
|
2069
|
-
points
|
|
2083
|
+
points,
|
|
2084
|
+
textBox
|
|
2070
2085
|
} = data.handles;
|
|
2071
2086
|
const mappedAnnotations = PlanarFreehandROI_getMappedAnnotations(annotation, DisplaySetService);
|
|
2072
2087
|
const displayText = PlanarFreehandROI_getDisplayText(mappedAnnotations);
|
|
@@ -2076,6 +2091,7 @@ const PlanarFreehandROI = {
|
|
|
2076
2091
|
SOPInstanceUID,
|
|
2077
2092
|
FrameOfReferenceUID,
|
|
2078
2093
|
points,
|
|
2094
|
+
textBox,
|
|
2079
2095
|
metadata,
|
|
2080
2096
|
referenceSeriesUID: SeriesInstanceUID,
|
|
2081
2097
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -2196,7 +2212,8 @@ const RectangleROI = {
|
|
|
2196
2212
|
displaySet = DisplaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
2197
2213
|
}
|
|
2198
2214
|
const {
|
|
2199
|
-
points
|
|
2215
|
+
points,
|
|
2216
|
+
textBox
|
|
2200
2217
|
} = data.handles;
|
|
2201
2218
|
const mappedAnnotations = RectangleROI_getMappedAnnotations(annotation, DisplaySetService);
|
|
2202
2219
|
const displayText = RectangleROI_getDisplayText(mappedAnnotations, displaySet);
|
|
@@ -2206,6 +2223,7 @@ const RectangleROI = {
|
|
|
2206
2223
|
SOPInstanceUID,
|
|
2207
2224
|
FrameOfReferenceUID,
|
|
2208
2225
|
points,
|
|
2226
|
+
textBox,
|
|
2209
2227
|
metadata,
|
|
2210
2228
|
referenceSeriesUID: SeriesInstanceUID,
|
|
2211
2229
|
referenceStudyUID: StudyInstanceUID,
|
|
@@ -1068,7 +1068,11 @@ const metadataProvider = src.classes.MetadataProvider;
|
|
|
1068
1068
|
* @param {bool} lazyLoadStudy - "enableStudyLazyLoad"; Request series meta async instead of blocking
|
|
1069
1069
|
* @param {string|bool} singlepart - indicates of the retrieves can fetch singlepart. Options are bulkdata, video, image or boolean true
|
|
1070
1070
|
*/
|
|
1071
|
-
function createDicomWebApi(dicomWebConfig,
|
|
1071
|
+
function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
1072
|
+
const {
|
|
1073
|
+
userAuthenticationService,
|
|
1074
|
+
customizationService
|
|
1075
|
+
} = servicesManager.services;
|
|
1072
1076
|
let dicomWebConfigCopy, qidoConfig, wadoConfig, qidoDicomWebClient, wadoDicomWebClient, getAuthrorizationHeader, generateWadoHeader;
|
|
1073
1077
|
const implementation = {
|
|
1074
1078
|
initialize: ({
|
|
@@ -1205,7 +1209,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1205
1209
|
}
|
|
1206
1210
|
},
|
|
1207
1211
|
store: {
|
|
1208
|
-
dicom: async (dataset, request) => {
|
|
1212
|
+
dicom: async (dataset, request, dicomDict) => {
|
|
1209
1213
|
wadoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1210
1214
|
if (dataset instanceof ArrayBuffer) {
|
|
1211
1215
|
const options = {
|
|
@@ -1214,18 +1218,22 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1214
1218
|
};
|
|
1215
1219
|
await wadoDicomWebClient.storeInstances(options);
|
|
1216
1220
|
} else {
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1221
|
+
let effectiveDicomDict = dicomDict;
|
|
1222
|
+
if (!dicomDict) {
|
|
1223
|
+
const meta = {
|
|
1224
|
+
FileMetaInformationVersion: dataset._meta?.FileMetaInformationVersion?.Value,
|
|
1225
|
+
MediaStorageSOPClassUID: dataset.SOPClassUID,
|
|
1226
|
+
MediaStorageSOPInstanceUID: dataset.SOPInstanceUID,
|
|
1227
|
+
TransferSyntaxUID: EXPLICIT_VR_LITTLE_ENDIAN,
|
|
1228
|
+
ImplementationClassUID,
|
|
1229
|
+
ImplementationVersionName
|
|
1230
|
+
};
|
|
1231
|
+
const denaturalized = denaturalizeDataset(meta);
|
|
1232
|
+
const defaultDicomDict = new DicomDict(denaturalized);
|
|
1233
|
+
defaultDicomDict.dict = denaturalizeDataset(dataset);
|
|
1234
|
+
effectiveDicomDict = defaultDicomDict;
|
|
1235
|
+
}
|
|
1236
|
+
const part10Buffer = effectiveDicomDict.write();
|
|
1229
1237
|
const options = {
|
|
1230
1238
|
datasets: [part10Buffer],
|
|
1231
1239
|
request
|
|
@@ -1987,7 +1995,7 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1987
1995
|
* dicomWeb configuration array
|
|
1988
1996
|
*
|
|
1989
1997
|
*/
|
|
1990
|
-
function createDicomWebProxyApi(dicomWebProxyConfig,
|
|
1998
|
+
function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager) {
|
|
1991
1999
|
const {
|
|
1992
2000
|
name
|
|
1993
2001
|
} = dicomWebProxyConfig;
|
|
@@ -2006,7 +2014,7 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
2006
2014
|
if (!data.servers?.dicomWeb?.[0]) {
|
|
2007
2015
|
throw new Error('Invalid configuration returned by url');
|
|
2008
2016
|
}
|
|
2009
|
-
dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0].configuration,
|
|
2017
|
+
dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0].configuration, servicesManager);
|
|
2010
2018
|
dicomWebDelegate.initialize({
|
|
2011
2019
|
params,
|
|
2012
2020
|
query
|
|
@@ -2188,7 +2196,7 @@ const callByRetrieveAETitle = ({
|
|
|
2188
2196
|
const [dataSource] = extensionManager.getDataSources(seriesMetadata.RetrieveAETitle || defaultDataSourceName);
|
|
2189
2197
|
return dataSource[path](...args);
|
|
2190
2198
|
};
|
|
2191
|
-
function createMergeDataSourceApi(mergeConfig,
|
|
2199
|
+
function createMergeDataSourceApi(mergeConfig, servicesManager, extensionManager) {
|
|
2192
2200
|
const {
|
|
2193
2201
|
seriesMerge
|
|
2194
2202
|
} = mergeConfig;
|
|
@@ -2454,8 +2462,8 @@ function ViewerHeader({
|
|
|
2454
2462
|
hotkeyDefinitions,
|
|
2455
2463
|
hotkeyDefaults
|
|
2456
2464
|
} = hotkeysManager;
|
|
2457
|
-
const versionNumber = "3.8.0-beta.
|
|
2458
|
-
const commitHash = "
|
|
2465
|
+
const versionNumber = "3.8.0-beta.30";
|
|
2466
|
+
const commitHash = "e1f55e65f2d2a34136ad5d0b1ada77d337a0ea23";
|
|
2459
2467
|
const menuOptions = [{
|
|
2460
2468
|
title: t('Header:About'),
|
|
2461
2469
|
icon: 'info',
|
|
@@ -987,8 +987,8 @@ function WorkList({
|
|
|
987
987
|
};
|
|
988
988
|
});
|
|
989
989
|
const hasStudies = numOfStudies > 0;
|
|
990
|
-
const versionNumber = "3.8.0-beta.
|
|
991
|
-
const commitHash = "
|
|
990
|
+
const versionNumber = "3.8.0-beta.30";
|
|
991
|
+
const commitHash = "e1f55e65f2d2a34136ad5d0b1ada77d337a0ea23";
|
|
992
992
|
const menuOptions = [{
|
|
993
993
|
title: t('Header:About'),
|
|
994
994
|
icon: 'info',
|
|
@@ -6428,7 +6428,7 @@ const detectionOptions = {
|
|
|
6428
6428
|
}
|
|
6429
6429
|
});
|
|
6430
6430
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
6431
|
-
const package_namespaceObject = JSON.parse('{"i8":"3.8.0-beta.
|
|
6431
|
+
const package_namespaceObject = JSON.parse('{"i8":"3.8.0-beta.29"}');
|
|
6432
6432
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
6433
6433
|
const languagesMap = {
|
|
6434
6434
|
ar: 'Arabic',
|
|
@@ -49960,7 +49960,7 @@ const MEASUREMENT_SCHEMA_KEYS = ['uid', 'data', 'getReport', 'displayText', 'SOP
|
|
|
49960
49960
|
// Todo: we shouldn't need to have all these here.
|
|
49961
49961
|
'area',
|
|
49962
49962
|
// TODO: Add concept names instead (descriptor)
|
|
49963
|
-
'mean', 'stdDev', 'length', 'shortestDiameter', 'longestDiameter', 'cachedStats', 'selected'];
|
|
49963
|
+
'mean', 'stdDev', 'length', 'shortestDiameter', 'longestDiameter', 'cachedStats', 'selected', 'textBox'];
|
|
49964
49964
|
const EVENTS = {
|
|
49965
49965
|
MEASUREMENT_UPDATED: 'event::measurement_updated',
|
|
49966
49966
|
INTERNAL_MEASUREMENT_UPDATED: 'event:internal_measurement_updated',
|
|
@@ -55327,10 +55327,7 @@ class ExtensionManager extends pubSubServiceInterface/* PubSubService */.h {
|
|
|
55327
55327
|
return;
|
|
55328
55328
|
}
|
|
55329
55329
|
this.dataSourceDefs[dataSourceDef.sourceName] = dataSourceDef;
|
|
55330
|
-
const
|
|
55331
|
-
userAuthenticationService
|
|
55332
|
-
} = this._servicesManager.services;
|
|
55333
|
-
const dataSourceInstance = module.createDataSource(dataSourceDef.configuration, userAuthenticationService, this);
|
|
55330
|
+
const dataSourceInstance = module.createDataSource(dataSourceDef.configuration, this._servicesManager, this);
|
|
55334
55331
|
this.dataSourceMap[dataSourceDef.sourceName] = [dataSourceInstance];
|
|
55335
55332
|
}
|
|
55336
55333
|
_initDataSourcesModule(extensionModule, extensionId, dataSources = []) {
|
|
@@ -240460,7 +240457,7 @@ var selectOrdinal = function selectOrdinal() {
|
|
|
240460
240457
|
/******/ // This function allow to reference async chunks
|
|
240461
240458
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
240462
240459
|
/******/ // return url for filenames based on template
|
|
240463
|
-
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"
|
|
240460
|
+
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"48ee708331b38142c47c","18":"a7d5060eead13771e784","19":"08a41384953ab98fbf7d","23":"9d989522a6e4fdcb9c72","95":"d7a9f450bed3b770504d","125":"df666cb677e5a8982157","170":"38b187c9f7abe2dfb84d","181":"ae92b8a551d041d06e90","185":"e3bcbc2c96dd51868295","199":"2a998ffc15ffcc122e59","202":"0ca2f2479d2578f539b0","223":"d4ac6ef2cfe47a9c4afc","250":"09c69d348a5d965debc8","281":"33ca053a4954a538b521","359":"e53e83a1a90cecf70cb3","410":"30567596b262e047951a","417":"5c66801d23d0e98c00e6","451":"68a551a7d1746cf904cb","456":"fe30ae09d7a9936591a6","466":"8622576a3d6310735b2f","471":"5809b10f75c8fc2f7167","483":"85c3ead1edaca231f6de","485":"5b6c33cc43d8f3470642","506":"3c072a4f72c4d7a07c32","530":"f904325ef4195d69ac0e","566":"4840518afd323372c70f","579":"8c45043bf461a6808b54","613":"26a981b3a01a8b444ade","661":"28ef6d8cd035876bd8e2","686":"62c827fe4f0d054c164e","687":"60ed47940e558d41e984","738":"6501818304f8ce87ed61","814":"b9661e9acf9e6ba052f9","822":"55759fd8e9b0b489cc6b","886":"4496fc7fb83b8c897d20","965":"06fb371211ed7b4b45d0"}[chunkId] + ".js";
|
|
240464
240461
|
/******/ };
|
|
240465
240462
|
/******/ })();
|
|
240466
240463
|
/******/
|
package/dist/index.html
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="mobile-web-app-capable" content="yes"/><meta name="application-name" content="OHIF Viewer"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="@ohif/app"/><meta name="msapplication-TileColor" content="#fff"/><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"/><meta name="msapplication-config" content="/assets/browserconfig.xml"/><script>console.time('scriptToView');
|
|
2
|
-
window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.
|
|
2
|
+
window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.431384e9f0df107cc122.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
package/dist/sw.js
CHANGED
|
@@ -51,7 +51,7 @@ self.addEventListener('message', event => {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.
|
|
54
|
+
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.48ee708331b38142c47c.js'},{'revision':null,'url':'/125.bundle.df666cb677e5a8982157.js'},{'revision':null,'url':'/170.bundle.38b187c9f7abe2dfb84d.js'},{'revision':null,'url':'/181.bundle.ae92b8a551d041d06e90.js'},{'revision':'a04a2f233dc569826f5f6e21b65bc87b','url':'/181.css'},{'revision':null,'url':'/185.bundle.e3bcbc2c96dd51868295.js'},{'revision':null,'url':'/19.bundle.08a41384953ab98fbf7d.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/19.css'},{'revision':null,'url':'/199.bundle.2a998ffc15ffcc122e59.js'},{'revision':null,'url':'/202.bundle.0ca2f2479d2578f539b0.js'},{'revision':'d32549aa3716d55d525e59e31e2f6591','url':'/20fc4c659b85ccd2a9c0.wasm'},{'revision':null,'url':'/223.bundle.d4ac6ef2cfe47a9c4afc.js'},{'revision':null,'url':'/23.bundle.9d989522a6e4fdcb9c72.js'},{'revision':null,'url':'/250.bundle.09c69d348a5d965debc8.js'},{'revision':'0afb25509c7f072fbd7eda42c6895dbf','url':'/250.css'},{'revision':null,'url':'/281.bundle.33ca053a4954a538b521.js'},{'revision':null,'url':'/359.bundle.e53e83a1a90cecf70cb3.js'},{'revision':'c4ea120c6da08aa75348edfa3e57ece9','url':'/36785fbd89b0e17f6099.wasm'},{'revision':null,'url':'/410.bundle.30567596b262e047951a.js'},{'revision':null,'url':'/417.bundle.5c66801d23d0e98c00e6.js'},{'revision':null,'url':'/451.bundle.68a551a7d1746cf904cb.js'},{'revision':null,'url':'/456.bundle.fe30ae09d7a9936591a6.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/456.css'},{'revision':null,'url':'/466.bundle.8622576a3d6310735b2f.js'},{'revision':'aa1d1f3e32367e42fe90399144d94577','url':'/466.css'},{'revision':null,'url':'/471.bundle.5809b10f75c8fc2f7167.js'},{'revision':null,'url':'/483.bundle.85c3ead1edaca231f6de.js'},{'revision':null,'url':'/485.bundle.5b6c33cc43d8f3470642.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/506.bundle.3c072a4f72c4d7a07c32.js'},{'revision':null,'url':'/530.bundle.f904325ef4195d69ac0e.js'},{'revision':null,'url':'/566.bundle.4840518afd323372c70f.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/579.css'},{'revision':'62b4ae8445d191d5aab5503ce475724d','url':'/610.min.worker.js'},{'revision':'3c2206525c18cd87dd28082949a4e43e','url':'/610.min.worker.js.map'},{'revision':null,'url':'/613.bundle.26a981b3a01a8b444ade.js'},{'revision':'5800265b6831396572fb5d32c6bd8eef','url':'/62ab5d58a2bea7b5a1dc.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/65916ef3def695744bda.wasm'},{'revision':null,'url':'/661.bundle.28ef6d8cd035876bd8e2.js'},{'revision':null,'url':'/686.bundle.62c827fe4f0d054c164e.js'},{'revision':null,'url':'/687.bundle.60ed47940e558d41e984.js'},{'revision':null,'url':'/738.bundle.6501818304f8ce87ed61.js'},{'revision':'cc4a3a4da4ac1b863a714f93c66c6ef2','url':'/75a0c2dfe07b824c7d21.wasm'},{'revision':null,'url':'/814.bundle.b9661e9acf9e6ba052f9.js'},{'revision':null,'url':'/822.bundle.55759fd8e9b0b489cc6b.js'},{'revision':null,'url':'/886.bundle.4496fc7fb83b8c897d20.js'},{'revision':'74c9647440e51f149ad12923d6ead952','url':'/945.min.worker.js'},{'revision':'cdf6f0457d4af2cef04fc41816241bc1','url':'/945.min.worker.js.map'},{'revision':null,'url':'/95.bundle.d7a9f450bed3b770504d.js'},{'revision':null,'url':'/965.bundle.06fb371211ed7b4b45d0.js'},{'revision':'d1895aa7a4595dc279c382e5a31ef9f4','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':'41bb4b36a914c2db5c383a627162b3da','url':'/app-config.js'},{'revision':null,'url':'/app.bundle.431384e9f0df107cc122.js'},{'revision':'56a285c8999c3867c6553e714d27dbb5','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':'26545f2fe5a0df854c8f9b8dc7386f31','url':'/cornerstoneDICOMImageLoader.min.js'},{'revision':'884bd58a767459994b9c3c0c1deabb3c','url':'/cornerstoneDICOMImageLoader.min.js.map'},{'revision':null,'url':'/dicom-microscopy-viewer.bundle.a7d5060eead13771e784.js'},{'revision':'9d8c85b42d04bb117a3b583d654fbb08','url':'/dicomMicroscopyViewer.min.js'},{'revision':'450494c199cf8dd8e8c34d5e98bf5334','url':'/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'791565db341e8852807303918f5f9939','url':'/google.js'},{'revision':'fab2a323663d57562b32c1be8ca21271','url':'/index.html'},{'revision':'df70845c6ce2109b2bc2c1bf14bd65a0','url':'/index.worker.64c896c4316fcd506666.worker.js'},{'revision':'143490b997e10b23c1debfa35afeb9e4','url':'/index.worker.64c896c4316fcd506666.worker.js.map'},{'revision':'71cec55513e051f0778ad89be760c11a','url':'/index.worker.min.worker.js'},{'revision':'fd1116add443fee52a935df926396e0f','url':'/index.worker.min.worker.js.map'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'af9346d3e597071ba9ee8cd32f8cc0ea','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
|
|
55
55
|
|
|
56
56
|
// TODO: Cache API
|
|
57
57
|
// https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohif/app",
|
|
3
|
-
"version": "3.8.0-beta.
|
|
3
|
+
"version": "3.8.0-beta.30",
|
|
4
4
|
"productVersion": "3.4.0",
|
|
5
5
|
"description": "OHIF Viewer",
|
|
6
6
|
"author": "OHIF Contributors",
|
|
@@ -52,22 +52,22 @@
|
|
|
52
52
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
|
53
53
|
"@cornerstonejs/codec-openjph": "^2.4.5",
|
|
54
54
|
"@cornerstonejs/dicom-image-loader": "^1.36.1",
|
|
55
|
-
"@ohif/core": "3.8.0-beta.
|
|
56
|
-
"@ohif/extension-cornerstone": "3.8.0-beta.
|
|
57
|
-
"@ohif/extension-cornerstone-dicom-rt": "3.8.0-beta.
|
|
58
|
-
"@ohif/extension-cornerstone-dicom-seg": "3.8.0-beta.
|
|
59
|
-
"@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.
|
|
60
|
-
"@ohif/extension-default": "3.8.0-beta.
|
|
61
|
-
"@ohif/extension-dicom-microscopy": "3.8.0-beta.
|
|
62
|
-
"@ohif/extension-dicom-pdf": "3.8.0-beta.
|
|
63
|
-
"@ohif/extension-dicom-video": "3.8.0-beta.
|
|
64
|
-
"@ohif/extension-test": "3.8.0-beta.
|
|
65
|
-
"@ohif/i18n": "3.8.0-beta.
|
|
66
|
-
"@ohif/mode-basic-dev-mode": "3.8.0-beta.
|
|
67
|
-
"@ohif/mode-longitudinal": "3.8.0-beta.
|
|
68
|
-
"@ohif/mode-microscopy": "3.8.0-beta.
|
|
69
|
-
"@ohif/mode-test": "3.8.0-beta.
|
|
70
|
-
"@ohif/ui": "3.8.0-beta.
|
|
55
|
+
"@ohif/core": "3.8.0-beta.30",
|
|
56
|
+
"@ohif/extension-cornerstone": "3.8.0-beta.30",
|
|
57
|
+
"@ohif/extension-cornerstone-dicom-rt": "3.8.0-beta.30",
|
|
58
|
+
"@ohif/extension-cornerstone-dicom-seg": "3.8.0-beta.30",
|
|
59
|
+
"@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.30",
|
|
60
|
+
"@ohif/extension-default": "3.8.0-beta.30",
|
|
61
|
+
"@ohif/extension-dicom-microscopy": "3.8.0-beta.30",
|
|
62
|
+
"@ohif/extension-dicom-pdf": "3.8.0-beta.30",
|
|
63
|
+
"@ohif/extension-dicom-video": "3.8.0-beta.30",
|
|
64
|
+
"@ohif/extension-test": "3.8.0-beta.30",
|
|
65
|
+
"@ohif/i18n": "3.8.0-beta.30",
|
|
66
|
+
"@ohif/mode-basic-dev-mode": "3.8.0-beta.30",
|
|
67
|
+
"@ohif/mode-longitudinal": "3.8.0-beta.30",
|
|
68
|
+
"@ohif/mode-microscopy": "3.8.0-beta.30",
|
|
69
|
+
"@ohif/mode-test": "3.8.0-beta.30",
|
|
70
|
+
"@ohif/ui": "3.8.0-beta.30",
|
|
71
71
|
"@types/react": "^17.0.38",
|
|
72
72
|
"classnames": "^2.3.2",
|
|
73
73
|
"core-js": "^3.16.1",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|