From a1340aa4c726ba61c9f83ea040c9a40ed06d684c Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Tue, 7 Dec 2021 09:29:31 +0100 Subject: [PATCH] Improved single sine wave function to handle cutoff value problems --- .../java/no/nibio/vips/model/maths/NonLinearCurves.java | 2 +- .../no/nibio/vips/model/maths/NonLinearCurvesTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java b/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java index f681fde..9a8f17e 100755 --- a/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java +++ b/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java @@ -132,7 +132,7 @@ public class NonLinearCurves { Double theta_2 = Math.asin((Tu - m) / alpha); // Case 5: Tmin above Tl and Tmax above Tu - if(Tmin >= Tl && Tu != null && Tmax >= Tu) + if(Tmin > Tl && Tu != null && Tmax > Tu) { return (1/Math.PI) * ( (m-Tl)*(theta_2 + Math.PI/2) diff --git a/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java b/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java index c3c910b..b5a8557 100755 --- a/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java +++ b/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java @@ -190,6 +190,14 @@ public class NonLinearCurvesTest extends TestCase { result = instance.calculateSingleSineWaveWithCutoff(tMin, tMax, thresholdLower, thresholdUpper); assertEquals(expectedResult, result,0.1); + tMax = 32.0; + tMin = 20.0; + thresholdUpper = 31.1; + thresholdLower = 20.0; + expectedResult = 5.894588543400416; + result = instance.calculateSingleSineWaveWithCutoff(tMin, tMax, thresholdLower, thresholdUpper); + assertEquals(expectedResult, result,0.1); + } } -- GitLab