diff --git a/platform/core/src/classes/metadata/StudyMetadata.js b/platform/core/src/classes/metadata/StudyMetadata.js index 0ca9e7ebf..82d00bf1c 100644 --- a/platform/core/src/classes/metadata/StudyMetadata.js +++ b/platform/core/src/classes/metadata/StudyMetadata.js @@ -197,6 +197,7 @@ export class StudyMetadata extends Metadata { // TODO displaySets.sort(_sortBySeriesNumber); + displaySets.sort(_sortSegToEndOfList); return displaySets; } @@ -660,3 +661,24 @@ function _sortBySeriesNumber(a, b) { return seriesNumberAIsGreaterOrUndefined ? 1 : -1; } + +/** + * Move Segmentation modality files to the end of the list of + * display sets. This is a workaround to prevent issues when + * the referenced dataset's metadata is not yet available. + * + * It will be removed once proper SEG ingestion is added. + * + * @param {*} a - DisplaySet + * @param {*} b - DisplaySet + */ +function _sortSegToEndOfList(a, b) { + const displaySetAIsSeg = a.modality === 'SEG'; + const displaySetBIsSeg = b.modality === 'SEG'; + + if (displaySetAIsSeg && displaySetBIsSeg) { + return 0; + } + + return displaySetAIsSeg ? 1 : -1; +} \ No newline at end of file