11import numpy as np
2+ import hashlib
23import pytest
34from imsim import make_batoid_wcs , CCD_Fringing , get_camera
45import galsim
@@ -18,6 +19,7 @@ def test_fringing():
1819 camera = get_camera ()
1920 det_name = 'R22_S11'
2021 serial_num = camera [det_name ].getSerial ()
22+ seed = int (hashlib .sha256 (serial_num .encode ('UTF-8' )).hexdigest (), 16 ) & 0xFFFFFFFF
2123
2224 xarr , yarr = np .meshgrid (range (4096 ), range (4004 ))
2325
@@ -41,7 +43,7 @@ def test_fringing():
4143
4244 ccd_fringing = CCD_Fringing (true_center = image .wcs .toWorld (image .true_center ),
4345 boresight = world_center ,
44- seed = hash ( serial_num ) , spatial_vary = True )
46+ seed = seed , spatial_vary = True )
4547 # Test zero value error
4648 with pytest .raises (ValueError ):
4749 ccd_fringing .calculate_fringe_amplitude (xarr , yarr , amplitude = 0 )
@@ -91,7 +93,7 @@ def test_fringing():
9193
9294 ccd_fringing_1 = CCD_Fringing (true_center = image .wcs .toWorld (image .true_center ),
9395 boresight = world_center ,
94- seed = hash ( serial_num ) , spatial_vary = False )
96+ seed = seed , spatial_vary = False )
9597 fringe_map1 = ccd_fringing_1 .calculate_fringe_amplitude (xarr ,yarr )
9698
9799 # Try another random location on the focal plane.
@@ -101,7 +103,7 @@ def test_fringing():
101103
102104 ccd_fringing_2 = CCD_Fringing (true_center = image .wcs .toWorld (image .true_center ),
103105 boresight = world_center ,
104- seed = hash ( serial_num ) , spatial_vary = False )
106+ seed = seed , spatial_vary = False )
105107 fringe_map2 = ccd_fringing_2 .calculate_fringe_amplitude (xarr ,yarr )
106108 # Check if the two fringing maps are indentical.
107109 if np .array_equal (fringe_map1 ,fringe_map2 ) != True :
0 commit comments