@ohif/app 3.7.0-beta.101 → 3.7.0-beta.103
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/{202.bundle.96bbb4547a346fe3921f.js → 202.bundle.d3490836f71e001dd30f.js} +746 -19
- package/dist/{221.bundle.dcacfa132a78c43ae8fe.js → 221.bundle.fa691676166a763b3532.js} +69 -13
- package/dist/{342.bundle.d44d95d71fb2e5d12367.js → 342.bundle.ebb4ecaa8c01121ba631.js} +2 -2
- package/dist/{831.bundle.83658f62fcc769043605.js → 757.bundle.ec8301d8e70d2b990f65.js} +368 -1
- package/dist/{782.bundle.c7c9b143e04a7ef54d1d.js → 788.bundle.fe33643e596da75dd819.js} +5 -305
- package/dist/{82.bundle.be2ff9210bb2fad38907.js → 82.bundle.a0573d156476c90d027d.js} +2 -2
- package/dist/{app.bundle.7d673420913b4ea775e5.js → app.bundle.af8d271d6a055aea0d7e.js} +88 -45
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -18
- /package/dist/{12.bundle.596ce30cd85f6b9a1e47.js → 12.bundle.1aabdfb5ae5e2b35227d.js} +0 -0
- /package/dist/{181.bundle.169383e9b1a0358b44e8.js → 181.bundle.ceb057236403bcb630ac.js} +0 -0
- /package/dist/{19.bundle.ce766e7df8a696dbbf02.js → 19.bundle.630c39bd619e2972f28c.js} +0 -0
- /package/dist/{236.bundle.63061204c6e1d3ebda51.js → 236.bundle.0dd5d6e378bd111ee299.js} +0 -0
- /package/dist/{281.bundle.e8f6e02a0cb9ef57e70f.js → 281.bundle.e69fa5589df69f09bef4.js} +0 -0
- /package/dist/{359.bundle.69603175835e0b5b7532.js → 359.bundle.f98356e616452aabcecf.js} +0 -0
- /package/dist/{370.bundle.25df86d9d452b1774297.js → 370.bundle.0b6840140282701c2b50.js} +0 -0
- /package/dist/{410.bundle.f8924c20812caea77a95.js → 410.bundle.b79b78e6f05d934baabb.js} +0 -0
- /package/dist/{506.bundle.a788df1a79060b03fdb0.js → 506.bundle.3595d92c1184b4bcc672.js} +0 -0
- /package/dist/{613.bundle.1044517a8a209ba730f6.js → 613.bundle.0b467379f6e2c48310eb.js} +0 -0
- /package/dist/{663.bundle.f96cd84411734fc5cbd5.js → 663.bundle.1557498a7e6611c89820.js} +0 -0
- /package/dist/{687.bundle.e79e2ab836a1d2adacf4.js → 687.bundle.6dca84018ee6521f9e39.js} +0 -0
- /package/dist/{743.bundle.4bfe6e562ffb2c22708f.js → 743.bundle.495448aa95758144af74.js} +0 -0
- /package/dist/{774.bundle.7528cba56a1407357144.js → 774.bundle.4b2dc46a35012b898e1a.js} +0 -0
- /package/dist/{814.bundle.573f81eb69e871f5deb0.js → 814.bundle.11686c2624a07d288fcc.js} +0 -0
- /package/dist/{822.bundle.0545d6dbb49515aa04ee.js → 822.bundle.891f2e57b1b7bc2f4cb4.js} +0 -0
- /package/dist/{957.bundle.71558794566041f37a92.js → 957.bundle.0fba9c5956bdb9972c73.js} +0 -0
- /package/dist/{99.bundle.9bd882e014262ad3ebf4.js → 99.bundle.f1e44cd6ede9d2782697.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
1
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[788],{
|
|
2
2
|
|
|
3
|
-
/***/
|
|
3
|
+
/***/ 4483:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
@@ -1964,310 +1964,10 @@ function createAndDownloadTMTVReport(segReport, additionalReportRows) {
|
|
|
1964
1964
|
a.download = `${firstReport.PatientID}_tmtv.csv`;
|
|
1965
1965
|
a.click();
|
|
1966
1966
|
}
|
|
1967
|
-
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/RectangleROIStartEndThreshold.js
|
|
1968
|
-
// comment
|
|
1969
|
-
class RectangleROIStartEndThreshold_RectangleROIStartEndThreshold {
|
|
1970
|
-
constructor() {}
|
|
1971
|
-
static getContourSequence(toolData, metadataProvider) {
|
|
1972
|
-
const {
|
|
1973
|
-
data
|
|
1974
|
-
} = toolData;
|
|
1975
|
-
const {
|
|
1976
|
-
projectionPoints,
|
|
1977
|
-
projectionPointsImageIds
|
|
1978
|
-
} = data.cachedStats;
|
|
1979
|
-
return projectionPoints.map((point, index) => {
|
|
1980
|
-
const ContourData = getPointData(point);
|
|
1981
|
-
const ContourImageSequence = getContourImageSequence(projectionPointsImageIds[index], metadataProvider);
|
|
1982
|
-
return {
|
|
1983
|
-
NumberOfContourPoints: ContourData.length / 3,
|
|
1984
|
-
ContourImageSequence,
|
|
1985
|
-
ContourGeometricType: 'CLOSED_PLANAR',
|
|
1986
|
-
ContourData
|
|
1987
|
-
};
|
|
1988
|
-
});
|
|
1989
|
-
}
|
|
1990
|
-
}
|
|
1991
|
-
RectangleROIStartEndThreshold_RectangleROIStartEndThreshold.toolName = 'RectangleROIStartEndThreshold';
|
|
1992
|
-
function getPointData(points) {
|
|
1993
|
-
// Since this is a closed contour, the order of the points is important.
|
|
1994
|
-
// re-order the points to be in the correct order clockwise
|
|
1995
|
-
// Spread to make sure Float32Arrays are converted to arrays
|
|
1996
|
-
const orderedPoints = [...points[0], ...points[1], ...points[3], ...points[2]];
|
|
1997
|
-
const pointsArray = orderedPoints.flat();
|
|
1998
|
-
|
|
1999
|
-
// reduce the precision of the points to 2 decimal places
|
|
2000
|
-
const pointsArrayWithPrecision = pointsArray.map(point => {
|
|
2001
|
-
return point.toFixed(2);
|
|
2002
|
-
});
|
|
2003
|
-
return pointsArrayWithPrecision;
|
|
2004
|
-
}
|
|
2005
|
-
function getContourImageSequence(imageId, metadataProvider) {
|
|
2006
|
-
const sopCommon = metadataProvider.get('sopCommonModule', imageId);
|
|
2007
|
-
return {
|
|
2008
|
-
ReferencedSOPClassUID: sopCommon.sopClassUID,
|
|
2009
|
-
ReferencedSOPInstanceUID: sopCommon.sopInstanceUID
|
|
2010
|
-
};
|
|
2011
|
-
}
|
|
2012
|
-
/* harmony default export */ const measurements_RectangleROIStartEndThreshold = (RectangleROIStartEndThreshold_RectangleROIStartEndThreshold);
|
|
2013
|
-
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/AnnotationToPointData.js
|
|
2014
|
-
|
|
2015
|
-
function validateAnnotation(annotation) {
|
|
2016
|
-
if (!annotation?.data) {
|
|
2017
|
-
throw new Error('Tool data is empty');
|
|
2018
|
-
}
|
|
2019
|
-
if (!annotation.metadata || annotation.metadata.referenceImageId) {
|
|
2020
|
-
throw new Error('Tool data is not associated with any imageId');
|
|
2021
|
-
}
|
|
2022
|
-
}
|
|
2023
|
-
class AnnotationToPointData {
|
|
2024
|
-
constructor() {}
|
|
2025
|
-
static convert(annotation, index, metadataProvider) {
|
|
2026
|
-
validateAnnotation(annotation);
|
|
2027
|
-
const {
|
|
2028
|
-
toolName
|
|
2029
|
-
} = annotation.metadata;
|
|
2030
|
-
const toolClass = AnnotationToPointData.TOOL_NAMES[toolName];
|
|
2031
|
-
if (!toolClass) {
|
|
2032
|
-
throw new Error(`Unknown tool type: ${toolName}, cannot convert to RTSSReport`);
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
// Each toolData should become a list of contours, ContourSequence
|
|
2036
|
-
// contains a list of contours with their pointData, their geometry
|
|
2037
|
-
// type and their length.
|
|
2038
|
-
const ContourSequence = toolClass.getContourSequence(annotation, metadataProvider);
|
|
2039
|
-
|
|
2040
|
-
// Todo: random rgb color for now, options should be passed in
|
|
2041
|
-
const color = [Math.floor(Math.random() * 255), Math.floor(Math.random() * 255), Math.floor(Math.random() * 255)];
|
|
2042
|
-
return {
|
|
2043
|
-
ReferencedROINumber: index + 1,
|
|
2044
|
-
ROIDisplayColor: color,
|
|
2045
|
-
ContourSequence
|
|
2046
|
-
};
|
|
2047
|
-
}
|
|
2048
|
-
static register(toolClass) {
|
|
2049
|
-
AnnotationToPointData.TOOL_NAMES[toolClass.toolName] = toolClass;
|
|
2050
|
-
}
|
|
2051
|
-
}
|
|
2052
|
-
AnnotationToPointData.TOOL_NAMES = {};
|
|
2053
|
-
AnnotationToPointData.register(measurements_RectangleROIStartEndThreshold);
|
|
2054
|
-
/* harmony default export */ const measurements_AnnotationToPointData = (AnnotationToPointData);
|
|
2055
1967
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
2056
1968
|
var dcmjs_es = __webpack_require__(67540);
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
const {
|
|
2062
|
-
DicomMetaDictionary
|
|
2063
|
-
} = dcmjs_es["default"].data;
|
|
2064
|
-
class RTSSReport {
|
|
2065
|
-
constructor() {}
|
|
2066
|
-
|
|
2067
|
-
/**
|
|
2068
|
-
* Convert handles to RTSSReport report object containing the dcmjs dicom dataset.
|
|
2069
|
-
*
|
|
2070
|
-
* Note: The tool data needs to be formatted in a specific way, and currently
|
|
2071
|
-
* it is limited to the RectangleROIStartEndTool in the Cornerstone.
|
|
2072
|
-
*
|
|
2073
|
-
* @param annotations Array of Cornerstone tool annotation data
|
|
2074
|
-
* @param metadataProvider Metadata provider
|
|
2075
|
-
* @param options report generation options
|
|
2076
|
-
* @returns Report object containing the dataset
|
|
2077
|
-
*/
|
|
2078
|
-
static generateReport(annotations, metadataProvider, options) {
|
|
2079
|
-
let dataset = initializeDataset(annotations, metadataProvider);
|
|
2080
|
-
annotations.forEach((annotation, index) => {
|
|
2081
|
-
const ContourSequence = measurements_AnnotationToPointData.convert(annotation, index, metadataProvider, options);
|
|
2082
|
-
dataset.StructureSetROISequence.push(getStructureSetModule(annotation, index, metadataProvider));
|
|
2083
|
-
dataset.ROIContourSequence.push(ContourSequence);
|
|
2084
|
-
dataset.RTROIObservationsSequence.push(getRTROIObservationsSequence(annotation, index, metadataProvider));
|
|
2085
|
-
|
|
2086
|
-
// ReferencedSeriesSequence
|
|
2087
|
-
// Todo: handle more than one series
|
|
2088
|
-
dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(annotation, index, metadataProvider);
|
|
2089
|
-
|
|
2090
|
-
// ReferencedFrameOfReferenceSequence
|
|
2091
|
-
dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(annotation, metadataProvider, dataset);
|
|
2092
|
-
});
|
|
2093
|
-
const fileMetaInformationVersionArray = new Uint8Array(2);
|
|
2094
|
-
fileMetaInformationVersionArray[1] = 1;
|
|
2095
|
-
const _meta = {
|
|
2096
|
-
FileMetaInformationVersion: {
|
|
2097
|
-
Value: [fileMetaInformationVersionArray.buffer],
|
|
2098
|
-
vr: 'OB'
|
|
2099
|
-
},
|
|
2100
|
-
TransferSyntaxUID: {
|
|
2101
|
-
Value: ['1.2.840.10008.1.2.1'],
|
|
2102
|
-
vr: 'UI'
|
|
2103
|
-
},
|
|
2104
|
-
ImplementationClassUID: {
|
|
2105
|
-
Value: [DicomMetaDictionary.uid()],
|
|
2106
|
-
// TODO: could be git hash or other valid id
|
|
2107
|
-
vr: 'UI'
|
|
2108
|
-
},
|
|
2109
|
-
ImplementationVersionName: {
|
|
2110
|
-
Value: ['dcmjs'],
|
|
2111
|
-
vr: 'SH'
|
|
2112
|
-
}
|
|
2113
|
-
};
|
|
2114
|
-
dataset._meta = _meta;
|
|
2115
|
-
return dataset;
|
|
2116
|
-
}
|
|
2117
|
-
|
|
2118
|
-
/**
|
|
2119
|
-
* Generate Cornerstone tool state from dataset
|
|
2120
|
-
* @param {object} dataset dataset
|
|
2121
|
-
* @param {object} hooks
|
|
2122
|
-
* @param {function} hooks.getToolClass Function to map dataset to a tool class
|
|
2123
|
-
* @returns
|
|
2124
|
-
*/
|
|
2125
|
-
static generateToolState(dataset) {
|
|
2126
|
-
let hooks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2127
|
-
// Todo
|
|
2128
|
-
console.warn('RTSSReport.generateToolState not implemented');
|
|
2129
|
-
}
|
|
2130
|
-
}
|
|
2131
|
-
function initializeDataset(annotations, metadataProvider) {
|
|
2132
|
-
const rtSOPInstanceUID = DicomMetaDictionary.uid();
|
|
2133
|
-
|
|
2134
|
-
// get the first annotation data
|
|
2135
|
-
const {
|
|
2136
|
-
referencedImageId: imageId,
|
|
2137
|
-
FrameOfReferenceUID
|
|
2138
|
-
} = annotations[0].metadata;
|
|
2139
|
-
const {
|
|
2140
|
-
studyInstanceUID
|
|
2141
|
-
} = metadataProvider.get('generalSeriesModule', imageId);
|
|
2142
|
-
const patientModule = getPatientModule(imageId, metadataProvider);
|
|
2143
|
-
const rtSeriesModule = getRTSeriesModule(imageId, metadataProvider);
|
|
2144
|
-
return {
|
|
2145
|
-
StructureSetROISequence: [],
|
|
2146
|
-
ROIContourSequence: [],
|
|
2147
|
-
RTROIObservationsSequence: [],
|
|
2148
|
-
ReferencedSeriesSequence: [],
|
|
2149
|
-
ReferencedFrameOfReferenceSequence: [],
|
|
2150
|
-
...patientModule,
|
|
2151
|
-
...rtSeriesModule,
|
|
2152
|
-
StudyInstanceUID: studyInstanceUID,
|
|
2153
|
-
SOPClassUID: '1.2.840.10008.5.1.4.1.1.481.3',
|
|
2154
|
-
// RT Structure Set Storage
|
|
2155
|
-
SOPInstanceUID: rtSOPInstanceUID,
|
|
2156
|
-
Manufacturer: 'dcmjs',
|
|
2157
|
-
Modality: 'RTSTRUCT',
|
|
2158
|
-
FrameOfReferenceUID,
|
|
2159
|
-
PositionReferenceIndicator: '',
|
|
2160
|
-
StructureSetLabel: '',
|
|
2161
|
-
StructureSetName: '',
|
|
2162
|
-
ReferringPhysicianName: '',
|
|
2163
|
-
OperatorsName: '',
|
|
2164
|
-
StructureSetDate: DicomMetaDictionary.date(),
|
|
2165
|
-
StructureSetTime: DicomMetaDictionary.time()
|
|
2166
|
-
};
|
|
2167
|
-
}
|
|
2168
|
-
function getPatientModule(imageId, metadataProvider) {
|
|
2169
|
-
const generalSeriesModule = metadataProvider.get('generalSeriesModule', imageId);
|
|
2170
|
-
const generalStudyModule = metadataProvider.get('generalStudyModule', imageId);
|
|
2171
|
-
const patientStudyModule = metadataProvider.get('patientStudyModule', imageId);
|
|
2172
|
-
const patientModule = metadataProvider.get('patientModule', imageId);
|
|
2173
|
-
const patientDemographicModule = metadataProvider.get('patientDemographicModule', imageId);
|
|
2174
|
-
return {
|
|
2175
|
-
Modality: generalSeriesModule.modality,
|
|
2176
|
-
PatientID: patientModule.patientId,
|
|
2177
|
-
PatientName: patientModule.patientName,
|
|
2178
|
-
PatientBirthDate: '',
|
|
2179
|
-
PatientAge: patientStudyModule.patientAge,
|
|
2180
|
-
PatientSex: patientDemographicModule.patientSex,
|
|
2181
|
-
PatientWeight: patientStudyModule.patientWeight,
|
|
2182
|
-
StudyDate: generalStudyModule.studyDate,
|
|
2183
|
-
StudyTime: generalStudyModule.studyTime,
|
|
2184
|
-
StudyID: 'ToDo',
|
|
2185
|
-
AccessionNumber: generalStudyModule.accessionNumber
|
|
2186
|
-
};
|
|
2187
|
-
}
|
|
2188
|
-
function getReferencedFrameOfReferenceSequence(toolData, metadataProvider, dataset) {
|
|
2189
|
-
const {
|
|
2190
|
-
referencedImageId: imageId,
|
|
2191
|
-
FrameOfReferenceUID
|
|
2192
|
-
} = toolData.metadata;
|
|
2193
|
-
const instance = metadataProvider.get('instance', imageId);
|
|
2194
|
-
const {
|
|
2195
|
-
SeriesInstanceUID
|
|
2196
|
-
} = instance;
|
|
2197
|
-
const {
|
|
2198
|
-
ReferencedSeriesSequence
|
|
2199
|
-
} = dataset;
|
|
2200
|
-
return [{
|
|
2201
|
-
FrameOfReferenceUID,
|
|
2202
|
-
RTReferencedStudySequence: [{
|
|
2203
|
-
ReferencedSOPClassUID: dataset.SOPClassUID,
|
|
2204
|
-
ReferencedSOPInstanceUID: dataset.SOPInstanceUID,
|
|
2205
|
-
RTReferencedSeriesSequence: [{
|
|
2206
|
-
SeriesInstanceUID,
|
|
2207
|
-
ContourImageSequence: [...ReferencedSeriesSequence[0].ReferencedInstanceSequence]
|
|
2208
|
-
}]
|
|
2209
|
-
}]
|
|
2210
|
-
}];
|
|
2211
|
-
}
|
|
2212
|
-
function getReferencedSeriesSequence(toolData, index, metadataProvider) {
|
|
2213
|
-
// grab imageId from toolData
|
|
2214
|
-
const {
|
|
2215
|
-
referencedImageId: imageId
|
|
2216
|
-
} = toolData.metadata;
|
|
2217
|
-
const instance = metadataProvider.get('instance', imageId);
|
|
2218
|
-
const {
|
|
2219
|
-
SeriesInstanceUID,
|
|
2220
|
-
StudyInstanceUID
|
|
2221
|
-
} = instance;
|
|
2222
|
-
const ReferencedSeriesSequence = [];
|
|
2223
|
-
if (SeriesInstanceUID) {
|
|
2224
|
-
const series = core_src.DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID);
|
|
2225
|
-
const ReferencedSeries = {
|
|
2226
|
-
SeriesInstanceUID,
|
|
2227
|
-
ReferencedInstanceSequence: []
|
|
2228
|
-
};
|
|
2229
|
-
series.instances.forEach(instance => {
|
|
2230
|
-
const {
|
|
2231
|
-
SOPInstanceUID,
|
|
2232
|
-
SOPClassUID
|
|
2233
|
-
} = instance;
|
|
2234
|
-
ReferencedSeries.ReferencedInstanceSequence.push({
|
|
2235
|
-
ReferencedSOPClassUID: SOPClassUID,
|
|
2236
|
-
ReferencedSOPInstanceUID: SOPInstanceUID
|
|
2237
|
-
});
|
|
2238
|
-
});
|
|
2239
|
-
ReferencedSeriesSequence.push(ReferencedSeries);
|
|
2240
|
-
}
|
|
2241
|
-
return ReferencedSeriesSequence;
|
|
2242
|
-
}
|
|
2243
|
-
function getRTSeriesModule(imageId, metadataProvider) {
|
|
2244
|
-
return {
|
|
2245
|
-
SeriesInstanceUID: DicomMetaDictionary.uid(),
|
|
2246
|
-
// generate a new series instance uid
|
|
2247
|
-
SeriesNumber: '99' // Todo:: what should be the series number?
|
|
2248
|
-
};
|
|
2249
|
-
}
|
|
2250
|
-
|
|
2251
|
-
function getStructureSetModule(toolData, index, metadataProvider) {
|
|
2252
|
-
const {
|
|
2253
|
-
FrameOfReferenceUID
|
|
2254
|
-
} = toolData.metadata;
|
|
2255
|
-
return {
|
|
2256
|
-
ROINumber: index + 1,
|
|
2257
|
-
ROIName: `Todo: name ${index + 1}`,
|
|
2258
|
-
ROIDescription: `Todo: description ${index + 1}`,
|
|
2259
|
-
ROIGenerationAlgorithm: 'Todo: algorithm',
|
|
2260
|
-
ReferencedFrameOfReferenceUID: FrameOfReferenceUID
|
|
2261
|
-
};
|
|
2262
|
-
}
|
|
2263
|
-
function getRTROIObservationsSequence(toolData, index, metadataProvider) {
|
|
2264
|
-
return {
|
|
2265
|
-
ObservationNumber: index + 1,
|
|
2266
|
-
ReferencedROINumber: index + 1,
|
|
2267
|
-
RTROIInterpretedType: 'Todo: type',
|
|
2268
|
-
ROIInterpreter: 'Todo: interpreter'
|
|
2269
|
-
};
|
|
2270
|
-
}
|
|
1969
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
|
|
1970
|
+
var adapters_es = __webpack_require__(91202);
|
|
2271
1971
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
|
|
2272
1972
|
|
|
2273
1973
|
|
|
@@ -2277,7 +1977,7 @@ const {
|
|
|
2277
1977
|
} = dcmjs_es["default"].data;
|
|
2278
1978
|
const metadataProvider = core_src.classes.MetadataProvider;
|
|
2279
1979
|
function dicomRTAnnotationExport(annotations) {
|
|
2280
|
-
const dataset =
|
|
1980
|
+
const dataset = adapters_es.adaptersSEG.Cornerstone3D.RTStruct.RTSS.generateRTSSFromAnnotations(annotations, metadataProvider, core_src.DicomMetadataStore);
|
|
2281
1981
|
const reportBlob = datasetToBlob(dataset);
|
|
2282
1982
|
|
|
2283
1983
|
//Create a URL for the binary.
|
|
@@ -6462,7 +6462,7 @@ class SegmentationService extends src/* PubSubService */.hC {
|
|
|
6462
6462
|
volumeId: segmentationId,
|
|
6463
6463
|
targetBuffer: {
|
|
6464
6464
|
type: 'Uint8Array',
|
|
6465
|
-
sharedArrayBuffer:
|
|
6465
|
+
sharedArrayBuffer: window.SharedArrayBuffer
|
|
6466
6466
|
}
|
|
6467
6467
|
});
|
|
6468
6468
|
const defaultScheme = this._getDefaultSegmentationScheme();
|
|
@@ -7202,7 +7202,7 @@ class SegmentationService extends src/* PubSubService */.hC {
|
|
|
7202
7202
|
volumeId: segmentationId,
|
|
7203
7203
|
targetBuffer: {
|
|
7204
7204
|
type: 'Uint8Array',
|
|
7205
|
-
sharedArrayBuffer:
|
|
7205
|
+
sharedArrayBuffer: window.SharedArrayBuffer
|
|
7206
7206
|
}
|
|
7207
7207
|
});
|
|
7208
7208
|
const derivedVolumeScalarData = derivedVolume.getScalarData();
|
|
@@ -975,8 +975,8 @@ function WorkList(_ref) {
|
|
|
975
975
|
};
|
|
976
976
|
});
|
|
977
977
|
const hasStudies = numOfStudies > 0;
|
|
978
|
-
const versionNumber = "3.7.0-beta.
|
|
979
|
-
const commitHash = "
|
|
978
|
+
const versionNumber = "3.7.0-beta.103";
|
|
979
|
+
const commitHash = "4911e4796cef5e22cb7cc0ca73dc5c956bc75339";
|
|
980
980
|
const menuOptions = [{
|
|
981
981
|
title: t('Header:About'),
|
|
982
982
|
icon: 'info',
|
|
@@ -1937,7 +1937,7 @@ async function loadModule(module) {
|
|
|
1937
1937
|
return imported.default;
|
|
1938
1938
|
}
|
|
1939
1939
|
if (module === "@ohif/extension-measurement-tracking") {
|
|
1940
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(
|
|
1940
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(202), __webpack_require__.e(417), __webpack_require__.e(530), __webpack_require__.e(342), __webpack_require__.e(663), __webpack_require__.e(19)]).then(__webpack_require__.bind(__webpack_require__, 28030));
|
|
1941
1941
|
return imported.default;
|
|
1942
1942
|
}
|
|
1943
1943
|
if (module === "@ohif/extension-cornerstone-dicom-sr") {
|
|
@@ -1945,7 +1945,7 @@ async function loadModule(module) {
|
|
|
1945
1945
|
return imported.default;
|
|
1946
1946
|
}
|
|
1947
1947
|
if (module === "@ohif/extension-cornerstone-dicom-seg") {
|
|
1948
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(
|
|
1948
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(604), __webpack_require__.e(202), __webpack_require__.e(417), __webpack_require__.e(757), __webpack_require__.e(342), __webpack_require__.e(221)]).then(__webpack_require__.bind(__webpack_require__, 9943));
|
|
1949
1949
|
return imported.default;
|
|
1950
1950
|
}
|
|
1951
1951
|
if (module === "@ohif/extension-dicom-microscopy") {
|
|
@@ -1961,7 +1961,7 @@ async function loadModule(module) {
|
|
|
1961
1961
|
return imported.default;
|
|
1962
1962
|
}
|
|
1963
1963
|
if (module === "@ohif/extension-tmtv") {
|
|
1964
|
-
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(
|
|
1964
|
+
const imported = await Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(775), __webpack_require__.e(957), __webpack_require__.e(202), __webpack_require__.e(788)]).then(__webpack_require__.bind(__webpack_require__, 4483));
|
|
1965
1965
|
return imported.default;
|
|
1966
1966
|
}
|
|
1967
1967
|
if (module === "@ohif/extension-test") {
|
|
@@ -8674,7 +8674,7 @@ const detectionOptions = {
|
|
|
8674
8674
|
}
|
|
8675
8675
|
});
|
|
8676
8676
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
8677
|
-
const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.
|
|
8677
|
+
const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.102"}');
|
|
8678
8678
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
8679
8679
|
const languagesMap = {
|
|
8680
8680
|
ar: 'Arabic',
|
|
@@ -12091,42 +12091,40 @@ var iconToolBrush = function iconToolBrush(props) {
|
|
|
12091
12091
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
|
|
12092
12092
|
fill: "none",
|
|
12093
12093
|
fillRule: "evenodd"
|
|
12094
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("
|
|
12094
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12095
|
+
d: "M3.246 22.329a.432.432 0 0 1 .024-.79c2.056-.833 1.394-3.177 2.004-4.43a3.075 3.075 0 0 1 4.083-1.405c4.592 2.238-.874 9.117-6.11 6.625ZM21.597 3.302a1.194 1.194 0 0 0-1.635.045L9.692 13.589a5.196 5.196 0 0 1 3.129 2.646l8.92-11.298a1.194 1.194 0 0 0-.144-1.635Z",
|
|
12095
12096
|
stroke: "currentColor",
|
|
12097
|
+
strokeWidth: "1.25",
|
|
12096
12098
|
strokeLinecap: "round",
|
|
12097
|
-
strokeLinejoin: "round"
|
|
12098
|
-
|
|
12099
|
-
|
|
12100
|
-
d: "M1.16 23.256a.5.5 0 0 1 .027-.915c2.381-.964 1.614-3.678 2.321-5.13a3.56 3.56 0 0 1 4.728-1.626c5.316 2.592-1.012 10.557-7.076 7.67ZM22.408 1.225a1.382 1.382 0 0 0-1.893.052L8.625 13.136a6.017 6.017 0 0 1 3.621 3.064l10.33-13.082a1.382 1.382 0 0 0-.168-1.893Z"
|
|
12101
|
-
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12102
|
-
d: "M-.625-.125h25v25h-25z"
|
|
12099
|
+
strokeLinejoin: "round"
|
|
12100
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12101
|
+
d: "M0 0h25v25H0z"
|
|
12103
12102
|
})));
|
|
12104
12103
|
};
|
|
12105
12104
|
iconToolBrush.defaultProps = {
|
|
12106
|
-
width: "
|
|
12107
|
-
height: "
|
|
12108
|
-
viewBox: "0 0
|
|
12105
|
+
width: "25",
|
|
12106
|
+
height: "25",
|
|
12107
|
+
viewBox: "0 0 25 25",
|
|
12109
12108
|
xmlns: "http://www.w3.org/2000/svg"
|
|
12110
12109
|
};
|
|
12111
12110
|
var iconToolEraser = function iconToolEraser(props) {
|
|
12112
12111
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
|
|
12113
12112
|
fill: "none",
|
|
12114
12113
|
fillRule: "evenodd"
|
|
12115
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("
|
|
12114
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12115
|
+
d: "M8.391 20.504a5.08 5.08 0 0 1-3.118-1.291l-1.982-1.984a1.832 1.832 0 0 1 0-2.583L14.404 3.533a1.832 1.832 0 0 1 2.583 0l4.721 4.721c.71.715.71 1.869 0 2.583l-8.373 8.374a5.08 5.08 0 0 1-3.118 1.293H8.391ZM10.217 7.719l7.305 7.305M2 22.328h21",
|
|
12116
12116
|
stroke: "currentColor",
|
|
12117
|
+
strokeWidth: "1.25",
|
|
12117
12118
|
strokeLinecap: "round",
|
|
12118
|
-
strokeLinejoin: "round"
|
|
12119
|
-
|
|
12120
|
-
|
|
12121
|
-
d: "M7.625 19.795a5.564 5.564 0 0 1-3.415-1.414l-2.171-2.173a2.006 2.006 0 0 1 0-2.829L14.21 1.21a2.006 2.006 0 0 1 2.829 0l5.171 5.17a2.006 2.006 0 0 1 0 2.83l-9.171 9.17a5.564 5.564 0 0 1-3.414 1.416h-2ZM9.625 5.794l8 8M.625 21.794h23"
|
|
12122
|
-
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12123
|
-
d: "M-.375-1.375h25v25h-25z"
|
|
12119
|
+
strokeLinejoin: "round"
|
|
12120
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12121
|
+
d: "M0 0h25v25H0z"
|
|
12124
12122
|
})));
|
|
12125
12123
|
};
|
|
12126
12124
|
iconToolEraser.defaultProps = {
|
|
12127
|
-
width: "
|
|
12128
|
-
height: "
|
|
12129
|
-
viewBox: "0 0
|
|
12125
|
+
width: "25",
|
|
12126
|
+
height: "25",
|
|
12127
|
+
viewBox: "0 0 25 25",
|
|
12130
12128
|
xmlns: "http://www.w3.org/2000/svg"
|
|
12131
12129
|
};
|
|
12132
12130
|
var iconToolScissor = function iconToolScissor(props) {
|
|
@@ -12161,36 +12159,68 @@ iconToolScissor.defaultProps = {
|
|
|
12161
12159
|
viewBox: "0 0 24.25 20.25",
|
|
12162
12160
|
xmlns: "http://www.w3.org/2000/svg"
|
|
12163
12161
|
};
|
|
12164
|
-
var
|
|
12162
|
+
var iconToolShape = function iconToolShape(props) {
|
|
12165
12163
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
|
|
12166
12164
|
fill: "none",
|
|
12167
12165
|
fillRule: "evenodd"
|
|
12168
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("
|
|
12166
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12167
|
+
d: "M0 0h25v25H0z"
|
|
12168
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
|
|
12169
12169
|
stroke: "currentColor",
|
|
12170
|
-
|
|
12171
|
-
|
|
12170
|
+
strokeWidth: "1.5",
|
|
12171
|
+
x: "3",
|
|
12172
|
+
y: "3",
|
|
12173
|
+
width: "13",
|
|
12174
|
+
height: "13",
|
|
12175
|
+
rx: "1"
|
|
12176
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
|
|
12177
|
+
stroke: "currentColor",
|
|
12178
|
+
strokeWidth: "1.5",
|
|
12179
|
+
cx: "16.5",
|
|
12180
|
+
cy: "16.5",
|
|
12181
|
+
r: "6.5"
|
|
12182
|
+
})));
|
|
12183
|
+
};
|
|
12184
|
+
iconToolShape.defaultProps = {
|
|
12185
|
+
width: "25",
|
|
12186
|
+
height: "25",
|
|
12187
|
+
viewBox: "0 0 25 25",
|
|
12188
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
12189
|
+
};
|
|
12190
|
+
var iconToolThreshold = function iconToolThreshold(props) {
|
|
12191
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", props, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
|
|
12192
|
+
fill: "none",
|
|
12193
|
+
fillRule: "evenodd"
|
|
12172
12194
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12195
|
+
stroke: "currentColor",
|
|
12196
|
+
strokeWidth: "1.25",
|
|
12173
12197
|
strokeLinecap: "round",
|
|
12174
|
-
d: "M19.
|
|
12198
|
+
d: "M19.457 16.87H22.5M2.5 16.87h12.174"
|
|
12175
12199
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
|
|
12176
|
-
|
|
12177
|
-
|
|
12178
|
-
|
|
12200
|
+
stroke: "currentColor",
|
|
12201
|
+
strokeWidth: "1.25",
|
|
12202
|
+
cx: "16.848",
|
|
12203
|
+
cy: "16.87",
|
|
12204
|
+
r: "2.174"
|
|
12179
12205
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12206
|
+
stroke: "currentColor",
|
|
12207
|
+
strokeWidth: "1.25",
|
|
12180
12208
|
strokeLinecap: "round",
|
|
12181
|
-
d: "
|
|
12209
|
+
d: "M11.63 8.174h10.435M2.5 8.174h4.783"
|
|
12182
12210
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
|
|
12183
|
-
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12187
|
-
|
|
12211
|
+
stroke: "currentColor",
|
|
12212
|
+
strokeWidth: "1.25",
|
|
12213
|
+
cx: "9.457",
|
|
12214
|
+
cy: "8.174",
|
|
12215
|
+
r: "2.174"
|
|
12216
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
|
|
12217
|
+
d: "M0 0h25v25H0z"
|
|
12188
12218
|
})));
|
|
12189
12219
|
};
|
|
12190
12220
|
iconToolThreshold.defaultProps = {
|
|
12191
|
-
width: "
|
|
12192
|
-
height: "
|
|
12193
|
-
viewBox: "0 0
|
|
12221
|
+
width: "25",
|
|
12222
|
+
height: "25",
|
|
12223
|
+
viewBox: "0 0 25 25",
|
|
12194
12224
|
xmlns: "http://www.w3.org/2000/svg"
|
|
12195
12225
|
};
|
|
12196
12226
|
/** Old OHIF */
|
|
@@ -12364,6 +12394,7 @@ const ICONS = {
|
|
|
12364
12394
|
'icon-tool-brush': iconToolBrush,
|
|
12365
12395
|
'icon-tool-eraser': iconToolEraser,
|
|
12366
12396
|
'icon-tool-scissor': iconToolScissor,
|
|
12397
|
+
'icon-tool-shape': iconToolShape,
|
|
12367
12398
|
'icon-tool-threshold': iconToolThreshold,
|
|
12368
12399
|
/** Old OHIF */
|
|
12369
12400
|
'old-trash': oldTrash,
|
|
@@ -33906,6 +33937,7 @@ function SegmentationDropDownRow(_ref) {
|
|
|
33906
33937
|
onToggleSegmentationVisibility,
|
|
33907
33938
|
onSegmentationEdit,
|
|
33908
33939
|
onSegmentationDownload,
|
|
33940
|
+
onSegmentationDownloadRTSS,
|
|
33909
33941
|
storeSegmentation,
|
|
33910
33942
|
onSegmentationDelete,
|
|
33911
33943
|
onSegmentationAdd
|
|
@@ -33933,6 +33965,7 @@ function SegmentationDropDownRow(_ref) {
|
|
|
33933
33965
|
alignment: "left",
|
|
33934
33966
|
itemsClassName: "text-primary-active",
|
|
33935
33967
|
showBorders: false,
|
|
33968
|
+
maxCharactersPerLine: 30,
|
|
33936
33969
|
list: [...(!disableEditing ? [{
|
|
33937
33970
|
title: 'Add New Segmentation',
|
|
33938
33971
|
onClick: () => {
|
|
@@ -33954,10 +33987,15 @@ function SegmentationDropDownRow(_ref) {
|
|
|
33954
33987
|
storeSegmentation(activeSegmentation.id);
|
|
33955
33988
|
}
|
|
33956
33989
|
}] : []), ...[{
|
|
33957
|
-
title: 'Download',
|
|
33990
|
+
title: 'Download DICOM SEG',
|
|
33958
33991
|
onClick: () => {
|
|
33959
33992
|
onSegmentationDownload(activeSegmentation.id);
|
|
33960
33993
|
}
|
|
33994
|
+
}, {
|
|
33995
|
+
title: 'Download DICOM RTSTRUCT',
|
|
33996
|
+
onClick: () => {
|
|
33997
|
+
onSegmentationDownloadRTSS(activeSegmentation.id);
|
|
33998
|
+
}
|
|
33961
33999
|
}]]
|
|
33962
34000
|
}, /*#__PURE__*/react.createElement("div", {
|
|
33963
34001
|
className: "hover:bg-secondary-dark mx-1 grid h-[28px] w-[28px] cursor-pointer place-items-center rounded-[4px]"
|
|
@@ -34004,6 +34042,7 @@ SegmentationDropDownRow.propTypes = {
|
|
|
34004
34042
|
onToggleSegmentationVisibility: (prop_types_default()).func,
|
|
34005
34043
|
onSegmentationEdit: (prop_types_default()).func,
|
|
34006
34044
|
onSegmentationDownload: (prop_types_default()).func,
|
|
34045
|
+
onSegmentationDownloadRTSS: (prop_types_default()).func,
|
|
34007
34046
|
storeSegmentation: (prop_types_default()).func,
|
|
34008
34047
|
onSegmentationDelete: (prop_types_default()).func,
|
|
34009
34048
|
onSegmentationAdd: (prop_types_default()).func
|
|
@@ -34247,6 +34286,7 @@ const SegmentationGroupTable = _ref => {
|
|
|
34247
34286
|
onSegmentationClick,
|
|
34248
34287
|
onSegmentationDelete,
|
|
34249
34288
|
onSegmentationDownload,
|
|
34289
|
+
onSegmentationDownloadRTSS,
|
|
34250
34290
|
storeSegmentation,
|
|
34251
34291
|
// segment handlers
|
|
34252
34292
|
onSegmentClick,
|
|
@@ -34321,6 +34361,7 @@ const SegmentationGroupTable = _ref => {
|
|
|
34321
34361
|
onSegmentationDelete: onSegmentationDelete,
|
|
34322
34362
|
onSegmentationEdit: onSegmentationEdit,
|
|
34323
34363
|
onSegmentationDownload: onSegmentationDownload,
|
|
34364
|
+
onSegmentationDownloadRTSS: onSegmentationDownloadRTSS,
|
|
34324
34365
|
storeSegmentation: storeSegmentation,
|
|
34325
34366
|
onSegmentationAdd: onSegmentationAdd,
|
|
34326
34367
|
onToggleSegmentationVisibility: onToggleSegmentationVisibility
|
|
@@ -34383,6 +34424,7 @@ SegmentationGroupTable.propTypes = {
|
|
|
34383
34424
|
onSegmentationClick: (prop_types_default()).func.isRequired,
|
|
34384
34425
|
onSegmentationDelete: (prop_types_default()).func.isRequired,
|
|
34385
34426
|
onSegmentationDownload: (prop_types_default()).func.isRequired,
|
|
34427
|
+
onSegmentationDownloadRTSS: (prop_types_default()).func.isRequired,
|
|
34386
34428
|
storeSegmentation: (prop_types_default()).func.isRequired,
|
|
34387
34429
|
onSegmentClick: (prop_types_default()).func.isRequired,
|
|
34388
34430
|
onSegmentAdd: (prop_types_default()).func.isRequired,
|
|
@@ -34411,6 +34453,7 @@ SegmentationGroupTable.defaultProps = {
|
|
|
34411
34453
|
onSegmentationClick: () => {},
|
|
34412
34454
|
onSegmentationDelete: () => {},
|
|
34413
34455
|
onSegmentationDownload: () => {},
|
|
34456
|
+
onSemgnetationDownloadRTSS: () => {},
|
|
34414
34457
|
storeSegmentation: () => {},
|
|
34415
34458
|
onSegmentClick: () => {},
|
|
34416
34459
|
onSegmentAdd: () => {},
|
|
@@ -159400,7 +159443,7 @@ var selectOrdinal = function selectOrdinal() {
|
|
|
159400
159443
|
/******/ // This function allow to reference async chunks
|
|
159401
159444
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
159402
159445
|
/******/ // return url for filenames based on template
|
|
159403
|
-
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"
|
|
159446
|
+
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"1aabdfb5ae5e2b35227d","18":"2c146384eb9466d02ff8","19":"630c39bd619e2972f28c","23":"e008ad788170f2ed5569","82":"a0573d156476c90d027d","99":"f1e44cd6ede9d2782697","125":"253395f320b72180da63","181":"ceb057236403bcb630ac","202":"d3490836f71e001dd30f","220":"f7e1c96c94245e70f2be","221":"fa691676166a763b3532","236":"0dd5d6e378bd111ee299","250":"8084960e3318cda37317","281":"e69fa5589df69f09bef4","342":"ebb4ecaa8c01121ba631","359":"f98356e616452aabcecf","370":"0b6840140282701c2b50","410":"b79b78e6f05d934baabb","417":"af0a207c29b109f84159","451":"9fd36f52ff69594f0669","471":"b3d77b83b1593c09a504","506":"3595d92c1184b4bcc672","530":"a03b6f942ace3e1baa1e","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","613":"0b467379f6e2c48310eb","663":"1557498a7e6611c89820","686":"dccef1f36e4bc79bcc48","687":"6dca84018ee6521f9e39","743":"495448aa95758144af74","757":"ec8301d8e70d2b990f65","774":"4b2dc46a35012b898e1a","775":"2285e7e0e67878948c0d","788":"fe33643e596da75dd819","814":"11686c2624a07d288fcc","822":"891f2e57b1b7bc2f4cb4","886":"4b3a7f2079d085fdbcb3","957":"0fba9c5956bdb9972c73"}[chunkId] + ".js";
|
|
159404
159447
|
/******/ };
|
|
159405
159448
|
/******/ })();
|
|
159406
159449
|
/******/
|
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.af8d271d6a055aea0d7e.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>
|