@ohif/app 3.12.0-beta.90 → 3.12.0-beta.92
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/{1037.bundle.87a5adb8c92bd5bf53f5.js → 1037.bundle.dd9098a9a640f0d0ef0f.js} +129 -96
- package/dist/{1608.bundle.3d904bc76f5d5f78ff21.js → 1608.bundle.f855c4bdb7f00eb66fca.js} +1 -1
- package/dist/{1903.bundle.f0505c6e927d0bef5589.js → 1903.bundle.9a291597f23ebaa3371c.js} +49 -47
- package/dist/{1604.bundle.4f01a6b0b8d5b1cbc294.js → 1933.bundle.a5d41c04da5425d06694.js} +13 -26
- package/dist/{2018.bundle.59c7c4cb3f79f63bab68.js → 2018.bundle.4527f2b0c1c8ff75f568.js} +18 -43
- package/dist/{306.bundle.f9faa2b3cdd7e86b5869.js → 306.bundle.a0af0889477845729c6a.js} +23 -1
- package/dist/{3461.bundle.458597198f24359ec78f.js → 3461.bundle.3cac685ef19f883a0f9d.js} +27 -8
- package/dist/{4019.bundle.1be1cdd0805ad2c59d65.js → 4019.bundle.03029c488a02493cb7f3.js} +17 -1
- package/dist/{2518.bundle.644302643ac0790e7374.js → 4033.bundle.1609f8751de2a6aff280.js} +457 -303
- package/dist/{4819.bundle.f187a4c0517c85e37ab0.js → 4819.bundle.14344bf9acf5c5f6d123.js} +3 -3
- package/dist/{5028.bundle.6003ab9178779929462f.js → 5028.bundle.c61b7cd88172e2d589d5.js} +2 -2
- package/dist/{5400.bundle.c3a3fe8867efa2edfa94.js → 5400.bundle.428fdd2dc347a7fda9e6.js} +96 -92
- package/dist/5457.bundle.af893cd38fdaeafd5c2a.js +89 -0
- package/dist/{5485.bundle.2ee096f57ff7e51d4c23.js → 5485.bundle.929d9add8bdf90a4f3c7.js} +8 -0
- package/dist/{5802.bundle.8922caf16c088b10cdb0.js → 5802.bundle.756d2ed511c06ee8b461.js} +2 -2
- package/dist/{6991.bundle.46bc04720d99fbb06785.js → 6991.bundle.7d091de815571097b96e.js} +8 -10
- package/dist/{7412.bundle.34fe5e72833e857edc0a.js → 7412.bundle.dfe01ae3e53107abe53d.js} +80 -57
- package/dist/{8305.bundle.8ea926425cdffaf84fe3.js → 8305.bundle.08ba73235df90e099838.js} +75 -55
- package/dist/{8558.bundle.c9ffb4f942dbbbff1849.js → 8558.bundle.705446f4883e84021bf4.js} +29 -11
- package/dist/{8583.bundle.7715397a42e8f00a9e3e.js → 8583.bundle.0288cadf5cf8401446b1.js} +12 -13
- package/dist/{874.bundle.92ddc54408fef9debee7.js → 874.bundle.7e543ec9343c9a718e3d.js} +35 -42
- package/dist/{3613.bundle.6157004e0592003c0800.js → 8802.bundle.4958d8ba1d0d521a002a.js} +131 -76
- package/dist/{9548.bundle.7be4f24aeadd0ad4f16c.js → 9195.bundle.70afccd0f802b78c279a.js} +75 -104
- package/dist/{9845.bundle.7e4db5e31b28d73fdac2.js → 9845.bundle.0d22f2210c1d5ac18882.js} +1 -1
- package/dist/{app.bundle.bdd8a45996ed4ca28560.js → app.bundle.2b7e40349f89ffdfd96c.js} +1055 -219
- package/dist/{compute.bundle.f3ca9fb0e7ce9e885b9c.js → compute.bundle.4c0ef8b919cbe5eef44d.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.7b8d1bb21d442a48da1d.js → polySeg.bundle.75f37f2780c5375e161e.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +22 -22
- package/dist/5457.bundle.535bae0c872c1ca0c2cb.js +0 -1358
- /package/dist/{1459.bundle.0481573ae1bde12b24ee.js → 1459.bundle.c4acfc6df383fc187e9e.js} +0 -0
- /package/dist/{147.bundle.6fc65a239d1ae1c6a918.js → 147.bundle.c191ca0b67633f707aff.js} +0 -0
- /package/dist/{1515.bundle.73d415797a677ae5261e.js → 1515.bundle.3f81b326242dd945ecdb.js} +0 -0
- /package/dist/{1604.css → 1933.css} +0 -0
- /package/dist/{213.bundle.9b152cd4d202cae43af2.js → 213.bundle.33092c23ffe1d81ae242.js} +0 -0
- /package/dist/{2243.bundle.25ca9faa6d0776355adf.js → 2243.bundle.e37c80996a222167dc14.js} +0 -0
- /package/dist/{2424.bundle.57b7484a3b1b1e5a1722.js → 2424.bundle.45583fc64208a2821aa3.js} +0 -0
- /package/dist/{319.bundle.4ea0dbcfeb553c900206.js → 319.bundle.febb2a63634488c11db6.js} +0 -0
- /package/dist/{6027.bundle.06ab1f1cd27f93f826e5.js → 6027.bundle.b2942a0dd2c583374d7b.js} +0 -0
- /package/dist/{7431.bundle.55dd86000e66bee467e2.js → 7431.bundle.b80819b8eb28d2ee897d.js} +0 -0
- /package/dist/{7639.bundle.a89f4a8c6e8b2593d7a4.js → 7639.bundle.2ad4b6cd132d87439fa6.js} +0 -0
- /package/dist/{85.bundle.f3a9149485e3fcf652f0.js → 85.bundle.a772983604a0f9514e33.js} +0 -0
- /package/dist/{9862.bundle.0456a2d473895bf2916e.js → 9862.bundle.eca4ea8821bb040a44c1.js} +0 -0
- /package/dist/{9927.bundle.d7051dac659d827d62d3.js → 9927.bundle.775cb41458de4c28a9ba.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[9195],{
|
|
3
3
|
|
|
4
4
|
/***/ 52675:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -564,7 +564,7 @@ function _mapDisplaySets(displaySets, displaySetLoadingState, thumbnailImageSrcM
|
|
|
564
564
|
seriesNumber: ds.SeriesNumber,
|
|
565
565
|
modality: ds.Modality,
|
|
566
566
|
seriesDate: formatDate(ds.SeriesDate),
|
|
567
|
-
numInstances: ds.numImageFrames,
|
|
567
|
+
numInstances: ds.numImageFrames ?? ds.instances?.length,
|
|
568
568
|
loadingProgress,
|
|
569
569
|
countIcon: ds.countIcon,
|
|
570
570
|
messages: ds.messages,
|
|
@@ -749,7 +749,7 @@ function Toolbar({
|
|
|
749
749
|
|
|
750
750
|
/***/ }),
|
|
751
751
|
|
|
752
|
-
/***/
|
|
752
|
+
/***/ 39195:
|
|
753
753
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
754
754
|
|
|
755
755
|
// ESM COMPAT FLAG
|
|
@@ -4662,8 +4662,35 @@ function _createGetImageSrcFromImageIdFn(extensionManager) {
|
|
|
4662
4662
|
var PROMPT_RESPONSES = __webpack_require__(96357);
|
|
4663
4663
|
;// ../../../extensions/default/src/Panels/createReportDialogPrompt.tsx
|
|
4664
4664
|
|
|
4665
|
+
|
|
4666
|
+
/**
|
|
4667
|
+
* Creates and shows a report dialog prompt.
|
|
4668
|
+
* The input for this is:
|
|
4669
|
+
* - `title` shown in the dialog
|
|
4670
|
+
* - `modality` being stored, used to query existing series
|
|
4671
|
+
* - `minSeriesNumber` is the start of new series of this modality type.
|
|
4672
|
+
* Will get set to 4000 if not determined by the modality
|
|
4673
|
+
* - predecessorImageId is the image id that this series was currently loaded
|
|
4674
|
+
* from. That allows defaulting the dialog to show the specified series instead
|
|
4675
|
+
* of always creating a new series.
|
|
4676
|
+
*
|
|
4677
|
+
* The response is:
|
|
4678
|
+
* - `value`, the default name of the object/series being created
|
|
4679
|
+
* - `dataSourceName`, where to store the object to
|
|
4680
|
+
* - `series`, is the series to store do, as referenced by a predecessorImageId value.
|
|
4681
|
+
* - `priorSeriesNumber` is the previously lowest series number at least minSeriesNumber
|
|
4682
|
+
* of all the seris of the given modality type.
|
|
4683
|
+
*
|
|
4684
|
+
* This should be provided to the DICOM encoder, which will get the predecessor
|
|
4685
|
+
* sequence from the metaData provider so that the saved series will replace
|
|
4686
|
+
* the existing instance in the same series.
|
|
4687
|
+
* This will be falsy for a new series.
|
|
4688
|
+
*/
|
|
4665
4689
|
function CreateReportDialogPrompt({
|
|
4666
4690
|
title = 'Create Report',
|
|
4691
|
+
modality = 'SR',
|
|
4692
|
+
minSeriesNumber = 0,
|
|
4693
|
+
predecessorImageId,
|
|
4667
4694
|
extensionManager,
|
|
4668
4695
|
servicesManager
|
|
4669
4696
|
}) {
|
|
@@ -4674,22 +4701,28 @@ function CreateReportDialogPrompt({
|
|
|
4674
4701
|
const dataSources = extensionManager.getDataSourcesForUI();
|
|
4675
4702
|
const ReportDialog = customizationService.getCustomization('ohif.createReportDialog');
|
|
4676
4703
|
const allowMultipleDataSources = window.config.allowMultiSelectExport;
|
|
4677
|
-
|
|
4704
|
+
minSeriesNumber ||= modality === 'SR' && 3000 || modality === 'SEG' && 3100 || modality === 'RTSTRUCT' && 3200 || 4000;
|
|
4705
|
+
return new Promise(function (resolve) {
|
|
4678
4706
|
uiDialogService.show({
|
|
4679
4707
|
id: 'report-dialog',
|
|
4680
4708
|
title,
|
|
4681
4709
|
content: ReportDialog,
|
|
4682
4710
|
contentProps: {
|
|
4683
4711
|
dataSources: allowMultipleDataSources ? dataSources : undefined,
|
|
4712
|
+
predecessorImageId,
|
|
4713
|
+
minSeriesNumber,
|
|
4714
|
+
modality,
|
|
4684
4715
|
onSave: async ({
|
|
4685
4716
|
reportName,
|
|
4686
4717
|
dataSource: selectedDataSource,
|
|
4687
|
-
series
|
|
4718
|
+
series,
|
|
4719
|
+
priorSeriesNumber
|
|
4688
4720
|
}) => {
|
|
4689
4721
|
resolve({
|
|
4690
4722
|
value: reportName,
|
|
4691
4723
|
dataSourceName: selectedDataSource,
|
|
4692
4724
|
series,
|
|
4725
|
+
priorSeriesNumber,
|
|
4693
4726
|
action: PROMPT_RESPONSES/* default */.A.CREATE_REPORT
|
|
4694
4727
|
});
|
|
4695
4728
|
},
|
|
@@ -5047,7 +5080,8 @@ function getDisplaySetsFromUnsupportedSeries(instances) {
|
|
|
5047
5080
|
SOPClassUID: instance.SOPClassUID,
|
|
5048
5081
|
SeriesDescription: instance.SeriesDescription || '',
|
|
5049
5082
|
Modality: instance.Modality,
|
|
5050
|
-
|
|
5083
|
+
instances,
|
|
5084
|
+
instance: instances[instance.length - 1],
|
|
5051
5085
|
unsupported: true,
|
|
5052
5086
|
SOPClassHandlerId: 'unsupported',
|
|
5053
5087
|
isReconstructable: false,
|
|
@@ -7539,84 +7573,11 @@ async function createReportAsync({
|
|
|
7539
7573
|
}
|
|
7540
7574
|
}
|
|
7541
7575
|
/* harmony default export */ const Actions_createReportAsync = (createReportAsync);
|
|
7542
|
-
;// ../../../extensions/default/src/utils/getSRSeriesAndInstanceNumber.js
|
|
7543
|
-
const MIN_SR_SERIES_NUMBER = 4700;
|
|
7544
|
-
function getNextSeriesNumber({
|
|
7545
|
-
displaySetService,
|
|
7546
|
-
modality,
|
|
7547
|
-
minSeriesNumber
|
|
7548
|
-
}) {
|
|
7549
|
-
const activeDisplaySets = displaySetService.getActiveDisplaySets();
|
|
7550
|
-
const modalityDisplaySets = activeDisplaySets.filter(ds => ds.Modality === modality);
|
|
7551
|
-
const modalitySeriesNumbers = modalityDisplaySets.map(ds => ds.SeriesNumber);
|
|
7552
|
-
const maxSeriesNumber = Math.max(...modalitySeriesNumbers, minSeriesNumber);
|
|
7553
|
-
const allSeriesNumbers = activeDisplaySets.map(ds => ds.SeriesNumber);
|
|
7554
|
-
let finalSeriesNumber = maxSeriesNumber + 1;
|
|
7555
|
-
while (allSeriesNumbers.includes(finalSeriesNumber)) {
|
|
7556
|
-
finalSeriesNumber++;
|
|
7557
|
-
}
|
|
7558
|
-
return {
|
|
7559
|
-
SeriesNumber: finalSeriesNumber,
|
|
7560
|
-
InstanceNumber: 1
|
|
7561
|
-
};
|
|
7562
|
-
}
|
|
7563
|
-
function getSRSeriesAndInstanceNumber({
|
|
7564
|
-
displaySetService,
|
|
7565
|
-
SeriesInstanceUid
|
|
7566
|
-
}) {
|
|
7567
|
-
if (!SeriesInstanceUid) {
|
|
7568
|
-
return getNextSeriesNumber({
|
|
7569
|
-
displaySetService,
|
|
7570
|
-
modality: 'SR',
|
|
7571
|
-
minSeriesNumber: MIN_SR_SERIES_NUMBER
|
|
7572
|
-
});
|
|
7573
|
-
}
|
|
7574
|
-
const displaySetsMap = displaySetService.getDisplaySetCache();
|
|
7575
|
-
const displaySets = Array.from(displaySetsMap.values());
|
|
7576
|
-
const srDisplaySet = displaySets.find(ds => ds.Modality === 'SR' && ds.SeriesInstanceUID === SeriesInstanceUid);
|
|
7577
|
-
const InstanceNumber = srDisplaySet.instances?.length + 1;
|
|
7578
|
-
if (!srDisplaySet?.SeriesNumber || !InstanceNumber) {
|
|
7579
|
-
return getNextSeriesNumber({
|
|
7580
|
-
displaySetService,
|
|
7581
|
-
modality: 'SR',
|
|
7582
|
-
minSeriesNumber: MIN_SR_SERIES_NUMBER
|
|
7583
|
-
});
|
|
7584
|
-
}
|
|
7585
|
-
return {
|
|
7586
|
-
SeriesNumber: srDisplaySet.SeriesNumber,
|
|
7587
|
-
InstanceNumber,
|
|
7588
|
-
referenceDisplaySet: srDisplaySet
|
|
7589
|
-
};
|
|
7590
|
-
}
|
|
7591
|
-
;// ../../../extensions/default/src/utils/getCurrentDicomDateTime.ts
|
|
7592
|
-
const getSeriesDateTime = (jsDate = new Date()) => {
|
|
7593
|
-
const dicomDateTime = getDicomDateTime(jsDate);
|
|
7594
|
-
return {
|
|
7595
|
-
SeriesDate: dicomDateTime.date,
|
|
7596
|
-
SeriesTime: dicomDateTime.time
|
|
7597
|
-
};
|
|
7598
|
-
};
|
|
7599
|
-
const getDicomDateTime = (jsDate = new Date()) => {
|
|
7600
|
-
const month = String(jsDate.getUTCMonth() + 1).padStart(2, '0');
|
|
7601
|
-
const day = String(jsDate.getUTCDate()).padStart(2, '0');
|
|
7602
|
-
const year = String(jsDate.getUTCFullYear()).padStart(4, '0');
|
|
7603
|
-
const date = `${year}${month}${day}`;
|
|
7604
|
-
const hours = String(jsDate.getUTCHours()).padStart(2, '0');
|
|
7605
|
-
const minutes = String(jsDate.getUTCMinutes()).padStart(2, '0');
|
|
7606
|
-
const seconds = String(jsDate.getUTCSeconds()).padStart(2, '0');
|
|
7607
|
-
const time = `${hours}${minutes}${seconds}`;
|
|
7608
|
-
return {
|
|
7609
|
-
date,
|
|
7610
|
-
time
|
|
7611
|
-
};
|
|
7612
|
-
};
|
|
7613
7576
|
;// ../../../extensions/default/src/utils/promptSaveReport.tsx
|
|
7614
7577
|
|
|
7615
7578
|
|
|
7616
7579
|
|
|
7617
7580
|
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
7581
|
const {
|
|
7621
7582
|
filterAnd,
|
|
7622
7583
|
filterMeasurementsByStudyUID,
|
|
@@ -7644,29 +7605,25 @@ async function promptSaveReport({
|
|
|
7644
7605
|
defaultSaveTitle = 'Create Report'
|
|
7645
7606
|
} = ctx;
|
|
7646
7607
|
let displaySetInstanceUIDs;
|
|
7608
|
+
const measurementData = measurementService.getMeasurements(measurementFilter);
|
|
7609
|
+
const predecessorImageId = findPredecessorImageId(measurementData);
|
|
7647
7610
|
try {
|
|
7648
7611
|
const promptResult = await CreateReportDialogPrompt({
|
|
7649
7612
|
title: defaultSaveTitle,
|
|
7613
|
+
predecessorImageId,
|
|
7614
|
+
minSeriesNumber: 3000,
|
|
7650
7615
|
extensionManager,
|
|
7651
7616
|
servicesManager
|
|
7652
7617
|
});
|
|
7653
7618
|
if (promptResult.action === PROMPT_RESPONSES/* default */.A.CREATE_REPORT) {
|
|
7654
7619
|
const dataSources = extensionManager.getDataSources(promptResult.dataSourceName);
|
|
7655
7620
|
const dataSource = dataSources[0];
|
|
7656
|
-
const measurementData = measurementService.getMeasurements(measurementFilter);
|
|
7657
|
-
const SeriesDescription = promptResult.value || defaultSaveTitle;
|
|
7658
7621
|
const {
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
|
|
7662
|
-
} =
|
|
7663
|
-
|
|
7664
|
-
SeriesInstanceUid: promptResult.series
|
|
7665
|
-
});
|
|
7666
|
-
const {
|
|
7667
|
-
SeriesDate,
|
|
7668
|
-
SeriesTime
|
|
7669
|
-
} = referenceDisplaySet ?? getSeriesDateTime();
|
|
7622
|
+
series,
|
|
7623
|
+
priorSeriesNumber,
|
|
7624
|
+
value: reportName
|
|
7625
|
+
} = promptResult;
|
|
7626
|
+
const SeriesDescription = reportName || defaultSaveTitle;
|
|
7670
7627
|
const getReport = async () => {
|
|
7671
7628
|
return commandsManager.runCommand('storeMeasurements', {
|
|
7672
7629
|
measurementData,
|
|
@@ -7674,11 +7631,8 @@ async function promptSaveReport({
|
|
|
7674
7631
|
additionalFindingTypes: ['ArrowAnnotate'],
|
|
7675
7632
|
options: {
|
|
7676
7633
|
SeriesDescription,
|
|
7677
|
-
SeriesNumber,
|
|
7678
|
-
|
|
7679
|
-
SeriesInstanceUID: promptResult.series,
|
|
7680
|
-
SeriesDate,
|
|
7681
|
-
SeriesTime
|
|
7634
|
+
SeriesNumber: 1 + priorSeriesNumber,
|
|
7635
|
+
predecessorImageId: series
|
|
7682
7636
|
}
|
|
7683
7637
|
}, 'CORNERSTONE_STRUCTURED_REPORT');
|
|
7684
7638
|
};
|
|
@@ -7703,6 +7657,17 @@ async function promptSaveReport({
|
|
|
7703
7657
|
return null;
|
|
7704
7658
|
}
|
|
7705
7659
|
}
|
|
7660
|
+
function findPredecessorImageId(annotations) {
|
|
7661
|
+
let predecessorImageId;
|
|
7662
|
+
for (const annotation of annotations) {
|
|
7663
|
+
if (predecessorImageId && annotation.predecessorImageId && annotation.predecessorImageId !== predecessorImageId) {
|
|
7664
|
+
console.warn('Found multiple source predecessors, not defaulting to same series');
|
|
7665
|
+
return;
|
|
7666
|
+
}
|
|
7667
|
+
predecessorImageId ||= annotation.predecessorImageId;
|
|
7668
|
+
}
|
|
7669
|
+
return predecessorImageId;
|
|
7670
|
+
}
|
|
7706
7671
|
/* harmony default export */ const utils_promptSaveReport = (promptSaveReport);
|
|
7707
7672
|
;// ../../../extensions/default/src/commandsModule.ts
|
|
7708
7673
|
|
|
@@ -10435,8 +10400,8 @@ function AboutModalDefault() {
|
|
|
10435
10400
|
name
|
|
10436
10401
|
} = (0,browser_detect_es5/* default */.A)();
|
|
10437
10402
|
const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
|
|
10438
|
-
const versionNumber = "3.12.0-beta.
|
|
10439
|
-
const commitHash = "
|
|
10403
|
+
const versionNumber = "3.12.0-beta.92";
|
|
10404
|
+
const commitHash = "29cfb2c29999c08b52bf1ed46531e21ae85ea667";
|
|
10440
10405
|
const [main, beta] = versionNumber.split('-');
|
|
10441
10406
|
return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
|
|
10442
10407
|
className: "w-[400px]"
|
|
@@ -10561,6 +10526,9 @@ function UserPreferencesModalDefault({
|
|
|
10561
10526
|
|
|
10562
10527
|
function ReportDialog({
|
|
10563
10528
|
dataSources,
|
|
10529
|
+
modality = 'SR',
|
|
10530
|
+
predecessorImageId,
|
|
10531
|
+
minSeriesNumber = 3000,
|
|
10564
10532
|
hide,
|
|
10565
10533
|
onSave,
|
|
10566
10534
|
onCancel
|
|
@@ -10569,25 +10537,27 @@ function ReportDialog({
|
|
|
10569
10537
|
servicesManager
|
|
10570
10538
|
} = (0,src/* useSystem */.Jg)();
|
|
10571
10539
|
const [selectedDataSource, setSelectedDataSource] = (0,react.useState)(dataSources?.[0]?.value ?? null);
|
|
10572
|
-
const [selectedSeries, setSelectedSeries] = (0,react.useState)(null);
|
|
10573
|
-
const [reportName, setReportName] = (0,react.useState)('');
|
|
10574
10540
|
const {
|
|
10575
10541
|
displaySetService
|
|
10576
10542
|
} = servicesManager.services;
|
|
10543
|
+
const [selectedSeries, setSelectedSeries] = (0,react.useState)(predecessorImageId || null);
|
|
10544
|
+
const [reportName, setReportName] = (0,react.useState)('');
|
|
10577
10545
|
const seriesOptions = (0,react.useMemo)(() => {
|
|
10578
10546
|
const displaySetsMap = displaySetService.getDisplaySetCache();
|
|
10579
10547
|
const displaySets = Array.from(displaySetsMap.values());
|
|
10580
|
-
const options = displaySets.filter(ds => ds.Modality ===
|
|
10581
|
-
value: ds.SeriesInstanceUID,
|
|
10548
|
+
const options = displaySets.filter(ds => ds.Modality === modality).map(ds => ({
|
|
10549
|
+
value: ds.predecessorImageId || ds.SeriesInstanceUID,
|
|
10550
|
+
seriesNumber: isFinite(ds.SeriesNumber) ? ds.SeriesNumber : minSeriesNumber,
|
|
10582
10551
|
description: ds.SeriesDescription,
|
|
10583
10552
|
label: `${ds.SeriesDescription} ${ds.SeriesDate}/${ds.SeriesTime} ${ds.SeriesNumber}`
|
|
10584
10553
|
}));
|
|
10585
10554
|
return [{
|
|
10586
10555
|
value: null,
|
|
10587
10556
|
description: null,
|
|
10557
|
+
seriesNumber: minSeriesNumber,
|
|
10588
10558
|
label: 'Create new series'
|
|
10589
10559
|
}, ...options];
|
|
10590
|
-
}, [displaySetService]);
|
|
10560
|
+
}, [displaySetService, modality]);
|
|
10591
10561
|
(0,react.useEffect)(() => {
|
|
10592
10562
|
const seriesOption = seriesOptions.find(s => s.value === selectedSeries);
|
|
10593
10563
|
const newReportName = selectedSeries && seriesOption?.description ? seriesOption.description : '';
|
|
@@ -10597,6 +10567,7 @@ function ReportDialog({
|
|
|
10597
10567
|
onSave({
|
|
10598
10568
|
reportName,
|
|
10599
10569
|
dataSource: selectedDataSource,
|
|
10570
|
+
priorSeriesNumber: Math.max(...seriesOptions.map(it => it.seriesNumber)),
|
|
10600
10571
|
series: selectedSeries
|
|
10601
10572
|
});
|
|
10602
10573
|
hide();
|
|
@@ -179,7 +179,7 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
179
179
|
const {
|
|
180
180
|
unsubscribe
|
|
181
181
|
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE, evt => {
|
|
182
|
-
if (evt.segDisplaySet
|
|
182
|
+
if (evt.segDisplaySet?.displaySetInstanceUID === segDisplaySet?.displaySetInstanceUID) {
|
|
183
183
|
setSegIsLoading(false);
|
|
184
184
|
}
|
|
185
185
|
if (segDisplaySet?.firstSegmentedSliceImageId && viewportOptions?.presentationIds) {
|