-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
My ROIs are manual segmented using ImageJ and exported as a RoiSet.zip file. I used this script to run FISSA, and run into the following error. The ROIs seem to cause problems and cannot be converted to masks.
Traceback (most recent call last):
File "/media/meng/Data/Meng_Psychedelics/02_code/02_prism_soma_dendrite/neuropil_correction.py", line 81, in <module>
experiment.separate()
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/core.py", line 1364, in separate
self.separation_prep(redo_prep)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/core.py", line 1246, in separation_prep
outputs = Parallel(
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/joblib/parallel.py", line 1061, in __call__
self.retrieve()
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/joblib/parallel.py", line 938, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File "/home/meng/anaconda3/envs/2p/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
File "/home/meng/anaconda3/envs/2p/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/joblib/_parallel_backends.py", line 595, in __call__
return self.func(*args, **kwargs)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/joblib/parallel.py", line 263, in __call__
return [func(*args, **kwargs)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/joblib/parallel.py", line 263, in <listcomp>
return [func(*args, **kwargs)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/core.py", line 209, in extract
base_masks = datahandler.rois2masks(rois, curdata)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/extraction.py", line 124, in rois2masks
return roitools.rois2masks(rois, cls.get_frame_size(data))
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/roitools.py", line 478, in rois2masks
return getmasks(rois, shape)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/roitools.py", line 400, in getmasks
mask = poly2mask(rois[i], shpe)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/polygons.py", line 70, in poly2mask
polygons = _reformat_polygons(polygons)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/fissa/polygons.py", line 137, in _reformat_polygons
Polygon(polygons[0])
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/shapely/geometry/polygon.py", line 230, in __new__
shell = LinearRing(shell)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/shapely/geometry/polygon.py", line 104, in __new__
geom = shapely.linearrings(coordinates)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/shapely/decorators.py", line 77, in wrapped
return func(*args, **kwargs)
File "/home/meng/anaconda3/envs/2p/lib/python3.10/site-packages/shapely/creation.py", line 173, in linearrings
return lib.linearrings(coords, out=out, **kwargs)
ValueError: linearrings: Input operand 0 does not have enough dimensions (has 1, gufunc core with signature (i, d)->() requires 2)
[Extraction 1/3] Converting ROIs to masks
However, when I load the RoiSet.zip and manually convert it into a list of Boolean masks, it works. It is the very same set of ROIs, though.
Is this a bug about specifically dealing with ImageJ .zip files? Can someone fix it?
Metadata
Metadata
Assignees
Labels
No labels