def test_parser_get_spectrum(data_path, parse_lib): parser = ImzMLParser(data_path, parse_lib=parse_lib) for px in range(parser.n_pixels): mz_x, mz_y = parser.get_spectrum(px) assert len(mz_x) == len(mz_y) assert len(mz_x) > 0 assert len(mz_y) > 0
def test_parser_init_paths(data_path, parse_lib): parser = ImzMLParser(data_path, parse_lib=parse_lib) assert len(parser.coordinates) == 9 assert parser.n_pixels == 9 mz_x, mz_y = parser.get_spectrum(0) assert len(mz_x) == len(mz_y) assert len(mz_x) > 0 assert len(mz_y) > 0 mz_x, mz_y = parser.get_spectrum(4) assert len(mz_x) == len(mz_y) assert len(mz_x) == 8399 assert len(mz_y) == 8399 assert np.all(mz_x > 100.0) assert np.all(mz_x < 800.0) assert np.all(mz_y >= 0.0) assert np.all(mz_y < 3.0)
def test_parser_iter(data_path, parse_lib): parser = ImzMLParser(data_path, parse_lib=parse_lib) count = 0 for px, (mz_x, mz_y) in enumerate(parser): _mz_x, _mz_y = parser.get_spectrum(px) assert len(mz_x) == len(mz_y) assert len(mz_x) == len(_mz_x) assert len(mz_y) == len(_mz_y) assert_equal(_mz_x, mz_x) assert_equal(_mz_y, mz_y) count += 1 assert count == parser.n_pixels
def test_portable_get_spectrum(imzml_path, ibd_path, parse_lib): # get normal parser parser = ImzMLParser(imzml_path, parse_lib=parse_lib) # get detached parser and get handle of the portable reader detached_parser = ImzMLParser(imzml_path, parse_lib=parse_lib) portable_reader = detached_parser.portable_spectrum_reader() # pickle and unpickle to ensure it survives for its intended use case portable_reader = pickle.loads(pickle.dumps(portable_reader)) for idx in range(parser.n_pixels): mz_x, mz_y = parser.get_spectrum(idx) _mz_x2, _mz_y2 = portable_reader.get_spectrum(idx) assert np.all(mz_x == _mz_x2) assert np.all(mz_y == _mz_y2)