Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

38

39

40

41

import sys 

import unittest 

 

from numpy.testing import assert_allclose 

 

import astshim as ast 

from astshim.test import MappingTestCase 

 

 

class TestLutMap(MappingTestCase): 

 

def test_LutMap(self): 

offset = 1.0 

divisor = 0.5 

lutmap = ast.LutMap([1, 2, 4, 8], offset, divisor) 

self.assertEqual(lutmap.className, "LutMap") 

self.assertEqual(lutmap.nOut, 1) 

 

self.checkBasicSimplify(lutmap) 

self.checkCopy(lutmap) 

 

indata, pred_outdata = zip(*[ 

(1.0, 1.0), # (1 - 1)/0.5 = 0 -> 1 

(1.25, 1.5), # (1.25 - 1)/0.5 = 0.5 -> 1.5 by interpolation 

(1.5, 2.0), # (1.5 - 1)/0.5 = 1 -> 2 

(2.0, 4.0), # (2 - 1)/0.5 = 2 -> 4 

(2.5, 8.0), # (2.5 - 1)/0.5 = 3 -> 8 

]) 

outdata = lutmap.applyForward(indata) 

assert_allclose(outdata, pred_outdata) 

self.checkRoundTrip(lutmap, indata) 

 

self.assertEqual(lutmap.lutInterp, 0) 

self.assertAlmostEqual(lutmap.lutEpsilon, 

sys.float_info.epsilon, delta=1e-18) 

 

self.checkMappingPersistence(lutmap, indata) 

 

 

40 ↛ 41line 40 didn't jump to line 41, because the condition on line 40 was never trueif __name__ == "__main__": 

unittest.main()