Skip to content

Commit 2319485

Browse files
committed
refactor: refactor conditions for eigenvalues
1 parent 5062aa2 commit 2319485

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

src/roi/properties/getEllipse.ts

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { xVariance, xyCovariance } from 'ml-spectra-processing';
33

44
import { FeretDiameter } from '../../maskAnalysis';
55
import { getAngle } from '../../maskAnalysis/utils/getAngle';
6+
import { assert } from '../../utils/assert';
67
import { toDegrees } from '../../utils/geometry/angles';
78
import { Roi } from '../Roi';
89

@@ -54,23 +55,11 @@ export function getEllipse(roi: Roi, scale: number): Ellipse {
5455
let vectorMajor: number[];
5556
let vectorMinor: number[];
5657

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);
7463

7564
radiusMajor *= scale;
7665
radiusMinor *= scale;

0 commit comments

Comments
 (0)