Skip to content

Commit

Permalink
Merge pull request #1320 from flatironinstitute/dev
Browse files Browse the repository at this point in the history
dev->main for release (bugfix on last release)
  • Loading branch information
pgunn authored Apr 3, 2024
2 parents 9681c64 + b312f10 commit a25dccb
Showing 1 changed file with 13 additions and 16 deletions.
29 changes: 13 additions & 16 deletions caiman/tests/test_sbx.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,16 @@ def test_load_subind():


def test_sbx_to_tif():
tif_file = os.path.join(caiman_datadir(), 'temp', 'from_sbx.tif')
try:
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest1.tif')
file_2d = os.path.join(TESTDATA_PATH, '2d_sbx.sbx')
data_2d_from_sbx = cm.load(file_2d)
sbx_utils.sbx_to_tif(file_2d, fileout=tif_file)
data_2d_from_tif = cm.load(tif_file)
npt.assert_array_almost_equal(data_2d_from_sbx, data_2d_from_tif,
err_msg='Data do not match when loaded from .sbx vs. .tif')


tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest2.tif')
file_3d = os.path.join(TESTDATA_PATH, '3d_sbx_1.sbx')
data_3d_from_sbx = cm.load(file_3d, is3D=True)
sbx_utils.sbx_to_tif(file_3d, fileout=tif_file)
Expand All @@ -116,39 +117,38 @@ def test_sbx_to_tif():
assert False, 'Shape of tif plane is wrong'

# with subindices
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest3.tif')
subinds = (slice(0, None, 2), [0, 1, 3], slice(None))
sbx_utils.sbx_to_tif(file_2d, fileout=tif_file, subindices=subinds)
sub_data_from_tif = cm.load(tif_file)
npt.assert_array_almost_equal(data_2d_from_sbx[subinds_to_ix(subinds, data_2d_from_sbx.shape)], sub_data_from_tif)

# with plane
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest4.tif')
sbx_utils.sbx_to_tif(file_3d, fileout=tif_file, plane=0)
plane_data_from_tif = cm.load(tif_file)
npt.assert_array_almost_equal(data_3d_from_sbx[:, :, :, 0], plane_data_from_tif)


finally:
# cleanup
if os.path.isfile(tif_file):
os.remove(tif_file)

except:
assert False

def test_sbx_chain_to_tif():
tif_file = os.path.join(caiman_datadir(), 'temp', 'from_sbx.tif')
try:
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest5.tif')
file_3d_1 = os.path.join(TESTDATA_PATH, '3d_sbx_1.sbx')
data_3d_1 = sbx_utils.sbxread(file_3d_1)
file_3d_2 = os.path.join(TESTDATA_PATH, '3d_sbx_2.sbx')
data_3d_2 = sbx_utils.sbxread(file_3d_2)

# normal chain
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest6.tif')
sbx_utils.sbx_chain_to_tif([file_3d_1, file_3d_2], fileout=tif_file)
data_chain_tif = cm.load(tif_file, is3D=True)
data_chain_gt = np.concatenate([data_3d_1, data_3d_2], axis=0)
npt.assert_array_almost_equal(data_chain_tif, data_chain_gt,
err_msg='Tif from chain does not match expected')

# matching subindices
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest7.tif')
sbx_utils.sbx_chain_to_tif([file_3d_1, file_3d_2], fileout=tif_file,
subindices=(slice(None), slice(0, None, 2)))
data_chain_tif = cm.load(tif_file, is3D=True)
Expand All @@ -157,6 +157,7 @@ def test_sbx_chain_to_tif():
err_msg='Tif from chain with subindices does not match expected')

# non-matching subindices with compatible shapes
tif_file = os.path.join(caiman_datadir(), 'temp', 'sbxtest8.tif')
subinds_1 = (slice(None), [0, 1, 3], slice(0, None, 2), [0, 2])
subinds_2 = (slice(1, None), [-4, -2, -1], slice(1, None, 2), [1, 3])
sbx_utils.sbx_chain_to_tif([file_3d_1, file_3d_2], fileout=tif_file,
Expand All @@ -166,9 +167,5 @@ def test_sbx_chain_to_tif():
data_3d_2[subinds_to_ix(subinds_2, data_3d_2.shape)]], axis=0)
npt.assert_array_almost_equal(data_chain_tif, data_chain_gt,
err_msg='Tif from chain with non-matching subindices does not match expected')

finally:
# cleanup
if os.path.isfile(tif_file):
os.remove(tif_file)

except:
assert False

0 comments on commit a25dccb

Please sign in to comment.