Skip to content

Commit e82d445

Browse files
committed
added more viewer tests and use from larray import a, b, c to shorten them
1 parent e9ef27a commit e82d445

File tree

1 file changed

+61
-37
lines changed

1 file changed

+61
-37
lines changed

larray_editor/api.py

Lines changed: 61 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -268,20 +268,20 @@ def restore_display_hook():
268268
if __name__ == "__main__":
269269
"""Array editor test"""
270270
import numpy as np
271+
from larray import (Session, Axis, LArray, ndtest, ndrange, zeros, from_lists, union,
272+
sin, cos, radians, maximum, sqrt)
271273

272-
lipro = la.Axis(['P%02d' % i for i in range(1, 16)], 'lipro')
273-
age = la.Axis('age=0..115')
274-
sex = la.Axis('sex=M,F')
274+
lipro = Axis(['P%02d' % i for i in range(1, 16)], 'lipro')
275+
age = Axis('age=0..115')
276+
sex = Axis('sex=M,F')
275277

276-
vla = 'A11,A12,A13,A23,A24,A31,A32,A33,A34,A35,A36,A37,A38,A41,A42,' \
277-
'A43,A44,A45,A46,A71,A72,A73'
278-
wal = 'A25,A51,A52,A53,A54,A55,A56,A57,A61,A62,A63,A64,A65,A81,A82,' \
279-
'A83,A84,A85,A91,A92,A93'
278+
vla = 'A11,A12,A13,A23,A24,A31,A32,A33,A34,A35,A36,A37,A38,A41,A42,A43,A44,A45,A46,A71,A72,A73'
279+
wal = 'A25,A51,A52,A53,A54,A55,A56,A57,A61,A62,A63,A64,A65,A81,A82,A83,A84,A85,A91,A92,A93'
280280
bru = 'A21'
281281
# list of strings
282-
belgium = la.union(vla, wal, bru)
282+
belgium = union(vla, wal, bru)
283283

284-
geo = la.Axis(belgium, 'geo')
284+
geo = Axis(belgium, 'geo')
285285

286286
# data1 = np.arange(30).reshape(2, 15)
287287
# arr1 = la.LArray(data1, axes=(sex, lipro))
@@ -295,8 +295,8 @@ def restore_display_hook():
295295
# data2 = np.random.randint(10, size=(116, 44, 2, 15)) / 100 + 1567
296296
# data2 = np.random.normal(51000000, 10000000, size=(116, 44, 2, 15))
297297
data2 = np.random.normal(0, 1, size=(116, 44, 2, 15))
298-
arr2 = la.LArray(data2, axes=(age, geo, sex, lipro))
299-
# arr2 = la.ndrange([100, 100, 100, 100, 5])
298+
arr2 = LArray(data2, axes=(age, geo, sex, lipro))
299+
# arr2 = ndrange([100, 100, 100, 100, 5])
300300
# arr2 = arr2['F', 'A11', 1]
301301

302302
# view(arr2[0, 'A11', 'F', 'P01'])
@@ -314,59 +314,87 @@ def restore_display_hook():
314314
# print(arr2[0, 'A11', :, 'P01'])
315315

316316
# data2 = np.random.normal(0, 10.0, size=(5000, 20))
317-
# arr2 = la.LArray(data2,
318-
# axes=(la.Axis(list(range(5000)), 'd0'),
319-
# la.Axis(list(range(20)), 'd1')))
317+
# arr2 = LArray(data2, axes=(Axis(list(range(5000)), 'd0'),
318+
# Axis(list(range(20)), 'd1')))
320319
# edit(arr2)
321320

322321
# view(['a', 'bb', 5599])
323322
# view(np.arange(12).reshape(2, 3, 2))
324323
# view([])
325324

326325
data3 = np.random.normal(0, 1, size=(2, 15))
327-
arr3 = la.ndrange((30, sex))
326+
arr3 = ndrange((30, sex))
328327
# data4 = np.random.normal(0, 1, size=(2, 15))
329-
# arr4 = la.LArray(data4, axes=(sex, lipro))
328+
# arr4 = LArray(data4, axes=(sex, lipro))
330329

331330
# arr4 = arr3.copy()
332331
# arr4['F'] /= 2
333-
arr4 = arr3.min(la.x.sex)
334-
arr5 = arr3.max(la.x.sex)
335-
arr6 = arr3.mean(la.x.sex)
332+
arr4 = arr3.min(sex)
333+
arr5 = arr3.max(sex)
334+
arr6 = arr3.mean(sex)
336335

337336
# test isssue #35
338-
arr7 = la.from_lists([['a', 1, 2, 3],
339-
[ '', 1664780726569649730, -9196963249083393206, -7664327348053294350]])
337+
arr7 = from_lists([['a', 1, 2, 3],
338+
[ '', 1664780726569649730, -9196963249083393206, -7664327348053294350]])
339+
340+
def make_circle(width=20, radius=9):
341+
x, y = Axis(width, 'x'), Axis(width, 'y')
342+
center = (width - 1) / 2
343+
return maximum(radius - sqrt((x - center) ** 2 + (y - center) ** 2), 0)
344+
345+
def make_sphere(width=20, radius=9):
346+
x, y, z = Axis(width, 'x'), Axis(width, 'y'), Axis(width, 'z')
347+
center = (width - 1) / 2
348+
return maximum(radius - sqrt((x - center) ** 2 + (y - center) ** 2 + (z - center) ** 2), 0)
349+
350+
def make_demo(width=20, ball_radius=5, path_radius=5, steps=30):
351+
x, y = Axis(width, 'x'), Axis(width, 'y')
352+
t = Axis(steps, 't')
353+
center = (width - 1) / 2
354+
ball_center_x = sin(radians(t * 360 / steps)) * path_radius + center
355+
ball_center_y = cos(radians(t * 360 / steps)) * path_radius + center
356+
return maximum(ball_radius - sqrt((x - ball_center_x) ** 2 + (y - ball_center_y) ** 2), 0).transpose(x, y)
357+
358+
demo = make_demo(9, 2.5, 1.5)
359+
sphere = make_sphere(9, 4)
360+
extreme_array = LArray([-np.inf, -1, 0, np.nan, 1, np.inf])
361+
scalar = LArray(0)
362+
arr_empty = LArray([])
363+
arr_obj = ndtest((2, 3)).astype(object)
364+
arr_str = ndtest((2, 3)).astype(str)
365+
big = ndtest((1000, 1000, 500))
340366

341367
# test autoresizing
342-
long_labels = la.zeros('a=a_long_label,another_long_label; b=this_is_a_label,this_is_another_one')
343-
long_axes_names = la.zeros('first_axis=a0,a1; second_axis=b0,b1')
368+
long_labels = zeros('a=a_long_label,another_long_label; b=this_is_a_label,this_is_another_one')
369+
long_axes_names = zeros('first_axis=a0,a1; second_axis=b0,b1')
344370

345371
# compare(arr3, arr4, arr5, arr6)
346372

347-
# view(la.stack((arr3, arr4), la.Axis('arrays=arr3,arr4')))
348-
ses = la.Session(arr2=arr2, arr3=arr3, arr4=arr4, arr5=arr5, arr6=arr6, arr7=arr7, long_labels=long_labels,
349-
long_axes_names=long_axes_names, data2=data2, data3=data3)
373+
# view(stack((arr3, arr4), Axis('arrays=arr3,arr4')))
374+
# ses = Session(arr2=arr2, arr3=arr3, arr4=arr4, arr5=arr5, arr6=arr6, arr7=arr7, long_labels=long_labels,
375+
# long_axes_names=long_axes_names, data2=data2, data3=data3)
350376

351377
# from larray.tests.common import abspath
352378
# file = abspath('test_session.xlsx')
353379
# ses.save(file)
354380

355381
# import cProfile as profile
356-
# profile.runctx('edit(la.Session(arr2=arr2))', vars(), {},
382+
# profile.runctx('edit(Session(arr2=arr2))', vars(), {},
357383
# 'c:\\tmp\\edit.profile')
358-
359-
# edit(ses)
384+
edit()
360385
# edit(ses)
361386
# edit(file)
362387
# edit('fake_path')
363388
# edit(REOPEN_LAST_FILE)
364389

365-
edit(ses)
366-
# compare(la.Session(arr2=arr2, arr3=arr3), la.Session(arr2=arr2 + 1.0, arr3=arr3 + 1.0))
367-
# compare(arr3, arr3 + la.ndrange(arr3.axes))
390+
# edit(arr2)
391+
# compare(arr3, arr3 + ndrange(arr3.axes))
392+
# compare(Session(arr4=arr4, arr3=arr3),
393+
# Session(arr4=arr4 + 1.0, arr3=arr3 * 2.0))
394+
# compare(Session(arr2=arr2, arr3=arr3),
395+
# Session(arr2=arr2 + 1.0, arr3=arr3 * 2.0))
368396

369-
# s = la.local_arrays()
397+
# s = local_arrays()
370398
# view(s)
371399
# print('HDF')
372400
# s.save('x.h5')
@@ -382,7 +410,3 @@ def restore_display_hook():
382410
# edit('x_csv')
383411

384412
# compare(arr3, arr4, arr5, arr6)
385-
386-
# arr3 = la.ndrange((1000, 1000, 500))
387-
# print(arr3.nbytes * 1e-9 + 'Gb')
388-
# edit(arr3, minvalue=-99, maxvalue=25.123456)

0 commit comments

Comments
 (0)