Skip to content

Commit

Permalink
Merge pull request #75 from openworm/ow_testcolours
Browse files Browse the repository at this point in the history
More color options in conn matrices & test on mac
  • Loading branch information
pgleeson committed May 14, 2024
2 parents dd7f4ad + 1f3e776 commit e9077b9
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 16 deletions.
16 changes: 13 additions & 3 deletions .github/workflows/non_omv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,28 @@ on:
jobs:
build:

runs-on: ubuntu-latest
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
python-version: [ 3.7, 3.8, 3.9, "3.10" ]
matrix:
runs-on: [ubuntu-latest, macos-12, macos-latest ]
python-version: [ 3.8, 3.9, "3.10" ]
exclude:
- runs-on: macos-latest
python-version: "3.8"

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install HDF5 for pytables on macos-latest
if: ${{ matrix.runs-on == 'macos-latest' }}
run: |
brew install hdf5
- name: Install OMV
run: |
Expand Down
62 changes: 49 additions & 13 deletions c302/c302_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ def plot_c302_results(lems_results,
plt.close("all")


def _show_conn_matrix(data, t, all_info_pre, all_info_post, type, save_figure_to=False, verbose=True, figsize=default_figsize):
def _show_conn_matrix(data, t, all_info_pre, all_info_post, type, save_figure_to=False, verbose=True, figsize=default_figsize, colormap=None):


if data.shape[0]>0 and data.shape[1]>0 and np.amax(data)>0:
Expand All @@ -372,8 +372,12 @@ def _show_conn_matrix(data, t, all_info_pre, all_info_post, type, save_figure_to
fig.canvas.manager.set_window_title(title)
import matplotlib
#cm = matplotlib.cm.get_cmap('gist_stern_r')
cmap = plt.colormaps['gist_stern_r']
#cmap = plt.colormaps['gist_earth']
if colormap==None:
cmap = plt.colormaps['gist_stern_r']
else:
#cmap = plt.colormaps['gist_earth']
#cmap = plt.colormaps['nipy_spectral']
cmap = plt.colormaps[colormap]


im = plt.imshow(data, cmap=cmap, interpolation='nearest',norm=None)
Expand Down Expand Up @@ -409,7 +413,7 @@ def _show_conn_matrix(data, t, all_info_pre, all_info_post, type, save_figure_to
else:
c302.print_("Not saving figure", verbose)

def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=default_figsize):
def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=default_figsize, order_by_type=False, colormap=None):

net = nml_doc.networks[0]

Expand Down Expand Up @@ -458,6 +462,22 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
c302.print_('Unable to connect to owmeta bundle: %s' % e)
traceback.print_exc()

'''
if order_by_type:
ordered_all_neuron_info = {}
order = ['(Se)','(InSe)','(In)','(Mo)']
for o in order:
for c in all_neuron_info:
print('Checking: %s'%str(all_neuron_info[c]))
if o in all_neuron_info[c][4]:
print('Adding: %s'%str(all_neuron_info[c]))
ordered_all_neuron_info[c] = all_neuron_info[c]
print('Swapping %s with %s'%(all_neuron_info,ordered_all_neuron_info))
all_neuron_info = ordered_all_neuron_info'''

all_neurons = []
all_muscles = []
for c in all_cells:
Expand Down Expand Up @@ -497,22 +517,26 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
_show_conn_matrix(data_exc_n, 'Excitatory (non GABA) conns to neurons',all_neuron_info,all_neuron_info,
net.id, save_figure_to='%s/%s_exc_to_neurons.png'%(save_fig_dir,net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

_show_conn_matrix(data_exc_m, 'Excitatory (non GABA) conns to muscles',all_neuron_info,all_muscle_info,
net.id, save_figure_to='%s/%s_exc_to_muscles.png'%(save_fig_dir,net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

_show_conn_matrix(data_inh_n, 'Inhibitory (GABA) conns to neurons',all_neuron_info,all_neuron_info,
net.id, save_figure_to='%s/%s_inh_to_neurons.png'%(save_fig_dir,net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

_show_conn_matrix(data_inh_m, 'Inhibitory (GABA) conns to muscles',all_neuron_info,all_muscle_info,
net.id, save_figure_to='%s/%s_inh_to_muscles.png'%(save_fig_dir,net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)


data_n = np.zeros((len(all_neurons),len(all_neurons)))
Expand Down Expand Up @@ -544,14 +568,16 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
_show_conn_matrix(data_n, 'Electrical (gap junction) conns to neurons',all_neuron_info,all_neuron_info,
net.id, save_figure_to='%s/%s_elec_neurons_neurons.png'%(save_fig_dir,net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

if neuron_muscle:
_show_conn_matrix(data_n_m, 'Electrical (gap junction) conns between neurons and muscles', all_neuron_info, all_muscle_info,
net.id,
save_figure_to='%s/%s_elec_neurons_muscles.png' % (save_fig_dir, net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

if muscle_muscle:
_show_conn_matrix(data_m_m, 'Electrical (gap junction) conns between muscles', all_muscle_info,
Expand All @@ -560,7 +586,8 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
save_figure_to='%s/%s_elec_muscles_muscles.png' % (
save_fig_dir, net.id) if save_fig_dir else None,
verbose=verbose,
figsize=figsize)
figsize=figsize,
colormap=colormap)

#_show_conn_matrix(data_m, 'Electrical (gap junction) conns to muscles',all_neuron_info,all_muscle_info, net.id)

Expand All @@ -578,6 +605,7 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
configs = ['c302_C0_Syns.net.nml', 'c302_C0_Social.net.nml','c302_C0_Muscles.net.nml','c302_C0_Pharyngeal.net.nml','c302_C0_Oscillator.net.nml','c302_C0_Full.net.nml']

figsize=(6.4,4.8)
colormap = None

if '-phar' in sys.argv:

Expand All @@ -587,6 +615,10 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa

configs = ['c302_C1_Oscillator.net.nml']

elif '-soc' in sys.argv:

configs = ['c302_C1_Social.net.nml']

elif '-musc' in sys.argv:

configs = ['c302_C1_Muscles.net.nml']
Expand All @@ -595,13 +627,17 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
elif '-full' in sys.argv:

configs = ['c302_C1_Full.net.nml']
figsize=(10,10)
figsize=(12,12)
colormap = 'nipy_spectral'

for c in configs:

nml_doc = read_neuroml2_file('examples/%s'%c)

generate_conn_matrix(nml_doc, save_fig_dir='./examples/summary/images', figsize=figsize)
generate_conn_matrix(nml_doc,
save_fig_dir='./examples/summary/images',
figsize=figsize,
colormap=colormap)

if not '-nogui' in sys.argv:
plt.show()

0 comments on commit e9077b9

Please sign in to comment.