def test_natural_movie_one_a(nm1a, nwb_a, analysis_a_new): nm1a_new = NaturalMovie.from_analysis_file(BODS(nwb_a), analysis_a_new, si.NATURAL_MOVIE_ONE) #assert np.allclose(nm1a.sweep_response, nm1a_new.sweep_response) assert np.allclose(nm1a.binned_cells_sp, nm1a_new.binned_cells_sp, equal_nan=True) assert np.allclose(nm1a.binned_cells_vis, nm1a_new.binned_cells_vis, equal_nan=True) assert np.allclose(nm1a.binned_dx_sp, nm1a_new.binned_dx_sp, equal_nan=True) assert np.allclose(nm1a.binned_dx_vis, nm1a_new.binned_dx_vis, equal_nan=True)
def lsn(nwb_c, analysis_c): # in order to work around 2/3 unicode compatibility, separate files are specified for python 2 and 3 # we need to look up a different key depending on python version key = si.LOCALLY_SPARSE_NOISE_4DEG if sys.version_info < ( 3, ) else si.LOCALLY_SPARSE_NOISE return LocallySparseNoise.from_analysis_file(BODS(nwb_c), analysis_c, key)
def test_natural_scenes(ns, nwb_b, analysis_b_new): ns_new = NaturalScenes.from_analysis_file(BODS(nwb_b), analysis_b_new) #assert np.allclose(ns.sweep_response, ns_new.sweep_response) assert np.allclose(ns.mean_sweep_response, ns_new.mean_sweep_response, equal_nan=True) assert np.allclose(ns.noise_correlation, ns_new.noise_correlation, equal_nan=True) assert np.allclose(ns.signal_correlation, ns_new.signal_correlation, equal_nan=True) assert np.allclose(ns.representational_similarity, ns_new.representational_similarity, equal_nan=True)
def test_static_gratings(sg, nwb_b, analysis_b_new): sg_new = StaticGratings.from_analysis_file(BODS(nwb_b), analysis_b_new) #assert np.allclose(sg.sweep_response, sg_new.sweep_response) assert np.allclose(sg.mean_sweep_response, sg_new.mean_sweep_response, equal_nan=True) assert np.allclose(sg.response, sg_new.response, equal_nan=True) assert np.allclose(sg.noise_correlation, sg_new.noise_correlation, equal_nan=True) assert np.allclose(sg.signal_correlation, sg_new.signal_correlation, equal_nan=True) assert np.allclose(sg.representational_similarity, sg_new.representational_similarity, equal_nan=True)
def test_drifting_gratings(dg, nwb_a, analysis_a_new): logging.debug("reading outputs") dg_new = DriftingGratings.from_analysis_file(BODS(nwb_a), analysis_a_new) #assert np.allclose(dg.sweep_response, dg_new.sweep_response) assert np.allclose(dg.mean_sweep_response, dg_new.mean_sweep_response, equal_nan=True) assert np.allclose(dg.response, dg_new.response, equal_nan=True) assert np.allclose(dg.noise_correlation, dg_new.noise_correlation, equal_nan=True) assert np.allclose(dg.signal_correlation, dg_new.signal_correlation, equal_nan=True) assert np.allclose(dg.representational_similarity, dg_new.representational_similarity, equal_nan=True)
def test_locally_sparse_noise(lsn, nwb_c, analysis_c_new): ds = BODS(nwb_c) session_type = ds.get_metadata()['session_type'] logging.debug(session_type) if session_type == si.THREE_SESSION_C: lsn_new = LocallySparseNoise.from_analysis_file(ds, analysis_c_new, si.LOCALLY_SPARSE_NOISE) elif session_type == si.THREE_SESSION_C2: lsn_new = LocallySparseNoise.from_analysis_file(ds, analysis_c_new, si.LOCALLY_SPARSE_NOISE_4DEG) #assert np.allclose(lsn.sweep_response, lsn_new.sweep_response) assert np.allclose(lsn.mean_sweep_response, lsn_new.mean_sweep_response, equal_nan=True)
def analysis_c_new(nwb_c, tmpdir_factory): save_path = str(tmpdir_factory.mktemp("session_c") / "session_c_new.h5") logging.debug("running analysis c") session_analysis = SessionAnalysis(nwb_c, save_path) session_type = BODS(nwb_c).get_metadata()['session_type'] if session_type == si.THREE_SESSION_C2: session_analysis.session_c2(plot_flag=False, save_flag=True) elif session_type == si.THREE_SESSION_C: session_analysis.session_c(plot_flag=False, save_flag=True) logging.debug("done running analysis c") logging.debug(save_path) yield save_path
def analysis_c_new(nwb_c): with tempfile.NamedTemporaryFile(delete=True) as tf: save_path = tf.name logging.debug("running analysis c") session_analysis = SessionAnalysis(nwb_c, save_path) session_type = BODS(nwb_c).get_metadata()['session_type'] if session_type == si.THREE_SESSION_C2: session_analysis.session_c2(plot_flag=False, save_flag=True) elif session_type == si.THREE_SESSION_C: session_analysis.session_c(plot_flag=False, save_flag=True) logging.debug("done running analysis c") logging.debug(save_path) yield save_path if os.path.exists(save_path): os.remove(save_path)
def nm2(nwb_c, analysis_c): return NaturalMovie.from_analysis_file(BODS(nwb_c), analysis_c, si.NATURAL_MOVIE_TWO)
def ns(nwb_b, analysis_b): return NaturalScenes.from_analysis_file(BODS(nwb_b), analysis_b)
def nm1b(nwb_b, analysis_b): return NaturalMovie.from_analysis_file(BODS(nwb_b), analysis_b, si.NATURAL_MOVIE_ONE)
def sg(nwb_b, analysis_b): return StaticGratings.from_analysis_file(BODS(nwb_b), analysis_b)
def nm3(nwb_a, analysis_a): return NaturalMovie.from_analysis_file(BODS(nwb_a), analysis_a, si.NATURAL_MOVIE_THREE)
def dg(nwb_a, analysis_a): return DriftingGratings.from_analysis_file(BODS(nwb_a), analysis_a)
def lsn(nwb_c, analysis_c): return LocallySparseNoise.from_analysis_file(BODS(nwb_c), analysis_c, si.LOCALLY_SPARSE_NOISE_8DEG)