def test_get_switching_matrix(num_tracks=1000, p_binding=0.01, p_unbinding=0.1): tracks = simulate.tracks( num_tracks=num_tracks, p_binding=p_binding, p_unbinding=p_unbinding, use_tqdm=False, ) switching_matrix = switch.get_switching_matrix(tracks, column="free", n_states=2) assert switching_matrix.shape == (2, 2) np.testing.assert_almost_equal(switching_matrix[1, 0], p_binding, decimal=abs( np.log10(p_binding).astype(int))) np.testing.assert_almost_equal( switching_matrix[0, 1], p_unbinding, decimal=abs(np.log10(p_unbinding).astype(int)), ) switching_matrix, raw_matrix = switch.get_switching_matrix( tracks, column="free", n_states=2, return_raw_counts=True) assert raw_matrix.shape == (2, 2) with pytest.raises(ValueError): tr = simulate.track(min_len=3) tr1 = tr.add_column("states", np.arange(len(tr)), "test") switch.get_switching_matrix([tr1], column="states", n_states=2)
def test_get_item_vector(): track = simulate.track() sub_track = track[track.frame < 3] assert len(sub_track) == 3
def test_add_seg_id_to_track(): track = simulate.track() new_track = segments.add_seg_id_to_track( track, column_with_states="free", start_id=0, new_column="seg_id", return_new_id=False, ) assert isinstance(new_track.seg_id, np.ndarray)
def test_big_lag(): track = simulate.track() assert bayes.get_jd(track, lag=len(track)) == []
def test_repr(): track = simulate.track() assert isinstance(repr(track), str)
def test_bad_column(): track = simulate.track() with pytest.raises(ValueError): track.xyz