def test_ProsthesisSystem_deactivate(): implant = ProsthesisSystem(ElectrodeGrid((10, 10), 30)) implant.stim = np.ones(implant.n_electrodes) electrode = 'A3' npt.assert_equal(electrode in implant.stim.electrodes, True) implant.deactivate(electrode) npt.assert_equal(implant[electrode].activated, False) npt.assert_equal(electrode in implant.stim.electrodes, False)
def test_ProsthesisSystem_stim(): implant = ProsthesisSystem(ElectrodeGrid((13, 13), 20)) stim = Stimulus(np.ones((13 * 13 + 1, 5))) with pytest.raises(ValueError): implant.stim = stim # Deactivated electrodes cannot receive stimuli: implant.deactivate('H4') npt.assert_equal(implant['H4'].activated, False) implant.stim = {'H4': 1} npt.assert_equal('H4' in implant.stim.electrodes, False) implant.deactivate('all') npt.assert_equal(not implant.stim.data, True) implant.activate('all') implant.stim = {'H4': 1} npt.assert_equal('H4' in implant.stim.electrodes, True)
def test_ProsthesisSystem_stim(): implant = ProsthesisSystem(ElectrodeGrid((13, 13), 20)) stim = Stimulus(np.ones((13 * 13 + 1, 5))) with pytest.raises(ValueError): implant.stim = stim # color mapping stim = np.zeros((13 * 13, 5)) stim[84, 0] = 1 stim[98, 2] = 2 implant.stim = stim plt.cla() ax = implant.plot(stim_cmap='hsv') plt.colorbar() npt.assert_equal(len(ax.collections), 1) npt.assert_equal(ax.collections[0].colorbar.vmax, 2) npt.assert_equal(ax.collections[0].cmap(ax.collections[0].norm(1)), (0.0, 1.0, 0.9647031631761764, 1)) # make sure default behaviour unchanged plt.cla() ax = implant.plot() plt.colorbar() npt.assert_equal(len(ax.collections), 1) npt.assert_equal(ax.collections[0].colorbar.vmax, 1) npt.assert_equal(ax.collections[0].cmap(ax.collections[0].norm(1)), (0.993248, 0.906157, 0.143936, 1)) # Deactivated electrodes cannot receive stimuli: implant.deactivate('H4') npt.assert_equal(implant['H4'].activated, False) implant.stim = {'H4': 1} npt.assert_equal('H4' in implant.stim.electrodes, False) implant.deactivate('all') npt.assert_equal(not implant.stim.data, True) implant.activate('all') implant.stim = {'H4': 1} npt.assert_equal('H4' in implant.stim.electrodes, True)