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 | import type { Segmentation } from '../../../types/SegmentationStateTypes';
import type { LabelmapLayer } from '../../../types/LabelmapTypes';
import SegmentModel from './SegmentModel';
import {
ensureLabelmapState,
getLabelmaps,
getSegmentBinding,
} from '../helpers/labelmapSegmentationState';
export default class SegmentationModel {
constructor(private readonly state: Segmentation) {
ensureLabelmapState(state);
}
get segmentationId(): string {
return this.state.segmentationId;
}
get segments(): SegmentModel[] {
return Object.values(this.state.segments).map(
(segment) => new SegmentModel(this.state, segment)
);
}
getLabelmaps(): LabelmapLayer[] {
return getLabelmaps(this.state);
}
getBinding(segmentIndex: number) {
return getSegmentBinding(this.state, segmentIndex);
}
toState(): Segmentation {
return this.state;
}
}
|