@@ -3,6 +3,7 @@ import { xVariance, xyCovariance } from 'ml-spectra-processing';
3
3
4
4
import { FeretDiameter } from '../../maskAnalysis' ;
5
5
import { getAngle } from '../../maskAnalysis/utils/getAngle' ;
6
+ import { assert } from '../../utils/assert' ;
6
7
import { toDegrees } from '../../utils/geometry/angles' ;
7
8
import { Roi } from '../Roi' ;
8
9
@@ -54,23 +55,11 @@ export function getEllipse(roi: Roi, scale: number): Ellipse {
54
55
let vectorMajor : number [ ] ;
55
56
let vectorMinor : number [ ] ;
56
57
57
- if ( eigenvalues [ 0 ] > eigenvalues [ 1 ] ) {
58
- radiusMajor = Math . sqrt ( eigenvalues [ 0 ] * nbSD ) ;
59
- radiusMinor = Math . sqrt ( eigenvalues [ 1 ] * nbSD ) ;
60
- vectorMajor = vectors . getColumn ( 0 ) ;
61
- vectorMinor = vectors . getColumn ( 1 ) ;
62
- } else if ( eigenvalues [ 0 ] < eigenvalues [ 1 ] ) {
63
- radiusMajor = Math . sqrt ( eigenvalues [ 1 ] * nbSD ) ;
64
- radiusMinor = Math . sqrt ( eigenvalues [ 0 ] * nbSD ) ;
65
- vectorMajor = vectors . getColumn ( 1 ) ;
66
- vectorMinor = vectors . getColumn ( 0 ) ;
67
- } else {
68
- // order here does not matter
69
- radiusMajor = Math . sqrt ( eigenvalues [ 1 ] * nbSD ) ;
70
- radiusMinor = Math . sqrt ( eigenvalues [ 0 ] * nbSD ) ;
71
- vectorMajor = vectors . getColumn ( 1 ) ;
72
- vectorMinor = vectors . getColumn ( 0 ) ;
73
- }
58
+ assert ( eigenvalues [ 0 ] <= eigenvalues [ 1 ] ) ;
59
+ radiusMajor = Math . sqrt ( eigenvalues [ 1 ] * nbSD ) ;
60
+ radiusMinor = Math . sqrt ( eigenvalues [ 0 ] * nbSD ) ;
61
+ vectorMajor = vectors . getColumn ( 1 ) ;
62
+ vectorMinor = vectors . getColumn ( 0 ) ;
74
63
75
64
radiusMajor *= scale ;
76
65
radiusMinor *= scale ;
0 commit comments