In [2]:
import numpy as np
def cos(s, t, theta, phi):
r, c = np.indices(s)
tc = t / np.cos(theta)
tr = t / np.sin(theta)
f = np.cos(2*np.pi*(r/tr + c/tc) + phi)
return f
In [1]:
testing = (__name__ == "__main__")
if testing:
! jupyter nbconvert --to python cos.ipynb
import numpy as np
import sys,os
ia898path = os.path.abspath('../../')
if ia898path not in sys.path:
sys.path.append(ia898path)
import ia898.src as ia
In [2]:
if testing:
f = ia.cos([128,256], 100, np.pi/3, 0)
ia.adshow(ia.normalize(f, [0,255]))
In [3]:
if testing:
print('testing cos')
print(repr(np.floor(0.5 + 127*(ia.cos([7,10], 3, np.pi/4, 0)+1))) == repr(np.array(
[[ 254., 138., 2., 93., 246., 182., 18., 52., 223., 219.],
[ 138., 2., 93., 246., 182., 18., 52., 223., 219., 48.],
[ 2., 93., 246., 182., 18., 52., 223., 219., 48., 21.],
[ 93., 246., 182., 18., 52., 223., 219., 48., 21., 187.],
[ 246., 182., 18., 52., 223., 219., 48., 21., 187., 244.],
[ 182., 18., 52., 223., 219., 48., 21., 187., 244., 88.],
[ 18., 52., 223., 219., 48., 21., 187., 244., 88., 3.]])))
In [ ]: