Catmaid (pymaid) function get_neurons_in_volume() fails on the server side for L1EM connectome. I have used the pymaid via jupyter and tried to load the volume neurons data from L1EM, but it seems that it fails with the 500 error code on the server side. So looks like it is not pymaid issue, but some sever core code.
import pymaid
# Replace with your credentials
url = 'https://l1em.catmaid.virtualflybrain.org'
token = None
name = None
password = None
# Initialize CATMAID instance
rm = pymaid.CatmaidInstance(url, token, name, password)
pymaid.get_neurons_in_volume('SEZ_right')
INFO : Global CATMAID instance set. Caching is ON. (pymaid)
INFO : Retrieving neurons in volume SEZ_right (pymaid)
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
Cell In[11], line 13
10 rm = pymaid.CatmaidInstance(url, token, name, password)
12 brain_volumes = ['Brain Hemisphere left', 'Brain Hemisphere right', 'SEZ_left', 'SEZ_right']
---> 13 pymaid.get_neurons_in_volume('SEZ_right', min_nodes=10, min_cable=1000)
File ~/.local/lib/python3.9/site-packages/pymaid/cache.py:316, in undo_on_error.<locals>.wrapper(*args, **kwargs)
312 old = list(rm._cache.keys())
314 try:
315 # Execute function
--> 316 res = function(*args, **kwargs)
317 except BaseException:
318 # If error was raised, remove new entries from cache
319 new_entries = [k for k in rm._cache.keys() if k not in old]
File ~/.local/lib/python3.9/site-packages/pymaid/fetch/__init__.py:3531, in get_neurons_in_volume(volumes, min_nodes, min_cable, intersect, only_soma, remote_instance)
3529 for v in volumes:
3530 logger.info('Retrieving neurons in volume {0}'.format(v.name))
-> 3531 temp = get_neurons_in_bbox(v, min_nodes=min_nodes,
3532 min_cable=min_cable,
3533 remote_instance=remote_instance)
3535 if not intersect:
3536 neurons += list(temp)
File ~/.local/lib/python3.9/site-packages/pymaid/cache.py:316, in undo_on_error.<locals>.wrapper(*args, **kwargs)
312 old = list(rm._cache.keys())
314 try:
315 # Execute function
--> 316 res = function(*args, **kwargs)
317 except BaseException:
318 # If error was raised, remove new entries from cache
319 new_entries = [k for k in rm._cache.keys() if k not in old]
File ~/.local/lib/python3.9/site-packages/pymaid/fetch/__init__.py:3620, in get_neurons_in_bbox(bbox, unit, min_nodes, min_cable, remote_instance, **kwargs)
3609 bbox *= res
3611 url = remote_instance._get_skeletons_in_bbox(minx=min(bbox[0]),
3612 maxx=max(bbox[0]),
3613 miny=min(bbox[1]),
(...)
3617 min_nodes=min_nodes,
3618 min_cable=min_cable)
-> 3620 return remote_instance.fetch(url)
File ~/.local/lib/python3.9/site-packages/pymaid/client.py:536, in CatmaidInstance.fetch(self, url, post, files, on_error, desc, disable_pbar, leave_pbar, return_type)
534 if errors:
535 if on_error == 'raise':
--> 536 raise HTTPError('{} errors encountered: {}'.format(len(errors),
537 '\n'.join(errors)))
538 else:
539 for e, d in zip(errors, details):
HTTPError: 1 errors encountered: 500 Server Error: could not resize shared memory segment "/PostgreSQL.529153378" to 8388608 bytes: No space left on device
for url: https://l1em.catmaid.virtualflybrain.org/1/skeletons/in-bounding-box?minx=10253.0&maxx=54878.998&miny=50192.535&maxy=118697.586&minz=12365.583&maxz=85408.34&min_nodes=10&min_cable=1000
Short description
Catmaid (pymaid) function get_neurons_in_volume() fails on the server side for L1EM connectome. I have used the pymaid via jupyter and tried to load the volume neurons data from L1EM, but it seems that it fails with the 500 error code on the server side. So looks like it is not pymaid issue, but some sever core code.
To reproduce
More information
Detailed Error: