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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | 78x 78x 63x 15x 17x 15x 15x 15x 15x 17x 17x 17x 17x 17x | import SegmentationRepresentations from '../../enums/SegmentationRepresentations'; import { labelmapDisplay } from '../../tools/displayTools/Labelmap'; import { getSegmentationRepresentations, getSegmentationRepresentationByUID, } from './segmentationState'; /** * Remove the segmentation representation (representation) from the viewports of the toolGroup. * @param toolGroupId - The Id of the toolGroup to remove the segmentation from. * @param segmentationRepresentationUIDs - The UIDs of the segmentation representations to remove. * @param immediate - if True the viewport will be re-rendered immediately. */ function removeSegmentationsFromToolGroup( toolGroupId: string, segmentationRepresentationUIDs?: string[] | undefined, immediate?: boolean ): void { const toolGroupSegRepresentations = getSegmentationRepresentations(toolGroupId); if ( !toolGroupSegRepresentations || toolGroupSegRepresentations.length === 0 ) { return; } const toolGroupSegRepresentationUIDs = toolGroupSegRepresentations.map( (representation) => representation.segmentationRepresentationUID ); let segRepresentationUIDsToRemove = segmentationRepresentationUIDs; Iif (segRepresentationUIDsToRemove) { // make sure the segmentationDataUIDs that are going to be removed belong // to the toolGroup const invalidSegRepresentationUIDs = segmentationRepresentationUIDs.filter( (segRepresentationUID) => !toolGroupSegRepresentationUIDs.includes(segRepresentationUID) ); if (invalidSegRepresentationUIDs.length > 0) { throw new Error( `The following segmentationRepresentationUIDs are not part of the toolGroup: ${JSON.stringify( invalidSegRepresentationUIDs )}` ); } } else { // remove all segmentation representations segRepresentationUIDsToRemove = toolGroupSegRepresentationUIDs; } segRepresentationUIDsToRemove.forEach((segmentationDataUID) => { _removeSegmentation(toolGroupId, segmentationDataUID, immediate); }); } function _removeSegmentation( toolGroupId: string, segmentationRepresentationUID: string, immediate?: boolean ): void { const segmentationRepresentation = getSegmentationRepresentationByUID( toolGroupId, segmentationRepresentationUID ); const { type } = segmentationRepresentation; Eif (type === SegmentationRepresentations.Labelmap) { labelmapDisplay.removeSegmentationRepresentation( toolGroupId, segmentationRepresentationUID, immediate ); } else if (type === SegmentationRepresentations.Contour) { console.debug('Contour representation is not supported yet, ignoring...'); } else { throw new Error(`The representation ${type} is not supported yet`); } } export default removeSegmentationsFromToolGroup; |