Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 34x | const MIN_SR_SERIES_NUMBER = 4700; export function getNextSeriesNumber({ displaySetService, modality, minSeriesNumber }) { const activeDisplaySets = displaySetService.getActiveDisplaySets(); const modalityDisplaySets = activeDisplaySets.filter(ds => ds.Modality === modality); const modalitySeriesNumbers = modalityDisplaySets.map(ds => ds.SeriesNumber); const maxSeriesNumber = Math.max(...modalitySeriesNumbers, minSeriesNumber); const allSeriesNumbers = activeDisplaySets.map(ds => ds.SeriesNumber); let finalSeriesNumber = maxSeriesNumber + 1; while (allSeriesNumbers.includes(finalSeriesNumber)) { finalSeriesNumber++; } return { SeriesNumber: finalSeriesNumber, InstanceNumber: 1 }; } export function getSRSeriesAndInstanceNumber({ displaySetService, SeriesInstanceUid }) { Iif (!SeriesInstanceUid) { return getNextSeriesNumber({ displaySetService, modality: 'SR', minSeriesNumber: MIN_SR_SERIES_NUMBER, }); } const displaySetsMap = displaySetService.getDisplaySetCache(); const displaySets = Array.from(displaySetsMap.values()); const srDisplaySet = displaySets.find( ds => ds.Modality === 'SR' && ds.SeriesInstanceUID === SeriesInstanceUid ); const InstanceNumber = srDisplaySet.instances?.length + 1; Iif (!srDisplaySet?.SeriesNumber || !InstanceNumber) { return getNextSeriesNumber({ displaySetService, modality: 'SR', minSeriesNumber: MIN_SR_SERIES_NUMBER, }); } return { SeriesNumber: srDisplaySet.SeriesNumber, InstanceNumber, referenceDisplaySet: srDisplaySet, }; } |