|
10 | 10 |
|
11 | 11 | from .. import parrec
|
12 | 12 | from ..parrec import (parse_PAR_header, PARRECHeader, PARRECError, vol_numbers,
|
13 |
| - vol_is_full) |
| 13 | + vol_is_full, PARRECImage, PARRECArrayProxy) |
14 | 14 | from ..openers import Opener
|
| 15 | +from ..fileholders import FileHolder |
15 | 16 |
|
16 | 17 | from numpy.testing import (assert_almost_equal,
|
17 | 18 | assert_array_equal)
|
@@ -415,3 +416,35 @@ def assert_copy_ok(hdr1, hdr2):
|
415 | 416 | assert_true(trunc_hdr.permit_truncated)
|
416 | 417 | trunc_hdr2 = trunc_hdr.copy()
|
417 | 418 | assert_copy_ok(trunc_hdr, trunc_hdr2)
|
| 419 | + |
| 420 | + |
| 421 | +def test_image_creation(): |
| 422 | + # Test parts of image API in parrec image creation |
| 423 | + hdr = PARRECHeader(HDR_INFO, HDR_DEFS) |
| 424 | + arr_prox_dv = np.array(PARRECArrayProxy(EG_REC, hdr, 'dv')) |
| 425 | + arr_prox_fp = np.array(PARRECArrayProxy(EG_REC, hdr, 'fp')) |
| 426 | + good_map = dict(image = FileHolder(EG_REC), |
| 427 | + header = FileHolder(EG_PAR)) |
| 428 | + trunc_map = dict(image = FileHolder(TRUNC_REC), |
| 429 | + header = FileHolder(TRUNC_PAR)) |
| 430 | + for func, good_param, trunc_param in ( |
| 431 | + (PARRECImage.from_filename, EG_PAR, TRUNC_PAR), |
| 432 | + (PARRECImage.load, EG_PAR, TRUNC_PAR), |
| 433 | + (parrec.load, EG_PAR, TRUNC_PAR), |
| 434 | + (PARRECImage.from_file_map, good_map, trunc_map)): |
| 435 | + img = func(good_param) |
| 436 | + assert_array_equal(img.dataobj, arr_prox_dv) |
| 437 | + img = func(good_param, False) |
| 438 | + assert_array_equal(img.dataobj, arr_prox_dv) |
| 439 | + img = func(good_param, False, 'dv') |
| 440 | + assert_array_equal(img.dataobj, arr_prox_dv) |
| 441 | + img = func(good_param, False, 'fp') |
| 442 | + assert_array_equal(img.dataobj, arr_prox_fp) |
| 443 | + assert_raises(PARRECError, func, trunc_param) |
| 444 | + assert_raises(PARRECError, func, trunc_param, False) |
| 445 | + img = func(trunc_param, True) |
| 446 | + assert_array_equal(img.dataobj, arr_prox_dv) |
| 447 | + img = func(trunc_param, True, 'dv') |
| 448 | + assert_array_equal(img.dataobj, arr_prox_dv) |
| 449 | + img = func(trunc_param, True, 'fp') |
| 450 | + assert_array_equal(img.dataobj, arr_prox_fp) |
0 commit comments