check angle orientation modulo pi

close #1257
This commit is contained in:
Jerome Kieffer 2019-05-17 11:19:29 +02:00
parent c6ed86acf8
commit c05b0c828d
1 changed files with 9 additions and 2 deletions

View File

@ -41,6 +41,13 @@ import unittest
import numpy
from pyFAI.utils import ellipse as ellipse_mdl
def modulo(value, div=numpy.pi):
"""hack to calculate the value%div but returns the smallest
absolute value, possibly negative"""
q = value/div
i = round(q)
return (i-q) * div
class TestEllipse(unittest.TestCase):
@ -53,7 +60,7 @@ class TestEllipse(unittest.TestCase):
self.assertAlmostEqual(ellipse.center_2, 100)
self.assertAlmostEqual(ellipse.half_long_axis, 20)
self.assertAlmostEqual(ellipse.half_short_axis, 10)
self.assertAlmostEqual(ellipse.angle, 0)
self.assertAlmostEqual(modulo(ellipse.angle), 0)
def test_ellipse2(self):
angles = numpy.arange(0, numpy.pi * 2, 0.2)
@ -64,7 +71,7 @@ class TestEllipse(unittest.TestCase):
self.assertAlmostEqual(ellipse.center_2, 100)
self.assertAlmostEqual(ellipse.half_long_axis, 20)
self.assertAlmostEqual(ellipse.half_short_axis, 10)
self.assertAlmostEqual(ellipse.angle, numpy.pi)
self.assertAlmostEqual(modulo(ellipse.angle), 0)
def test_half_circle(self):
angles = numpy.linspace(0, numpy.pi, 10)