I'm going through the tomography ribosome tutorial dataset and trying to perform the cnn-based segmentation and particle picking.
I could train and apply the neural network, but the "Find particles from segmentation job" fails. This is the command that fails
/opt/eman2-sphire-sparx/bin/e2spt_extractfromseg.py segmentations/mixedCTEM_tomo1__cnn_good_apply.hdf tomograms/mixedCTEM_tomo1__bin4.hdf --thresh=1.0 --boxsz=32 --random=-1 --massthresh=20.0 --edge=4 --sort --ppid=-2
NOT Writing notes, ppid=-2
Traceback (most recent call last):
File "/opt/eman2-sphire-sparx/bin/e2spt_extractfromseg.py", line 154, in <module>
main()
File "/opt/eman2-sphire-sparx/bin/e2spt_extractfromseg.py", line 141, in main
js["class_list"]=clst
File "/opt/eman2-sphire-sparx/lib/python3.7/site-packages/EMAN2jsondb.py", line 905, in setval
if not deferupdate : self.sync()
File "/opt/eman2-sphire-sparx/lib/python3.7/site-packages/EMAN2jsondb.py", line 747, in sync
jss=json.dumps(self.data,indent=0,sort_keys=True,default=obj_to_json) # write the whole dictionary back to disk
File "/opt/eman2-sphire-sparx/lib/python3.7/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/opt/eman2-sphire-sparx/lib/python3.7/json/encoder.py", line 201, in encode
chunks = list(chunks)
File "/opt/eman2-sphire-sparx/lib/python3.7/json/encoder.py", line 431, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "/opt/eman2-sphire-sparx/lib/python3.7/json/encoder.py", line 405, in _iterencode_dict
yield from chunks
File "/opt/eman2-sphire-sparx/lib/python3.7/json/encoder.py", line 353, in _iterencode_dict
items = sorted(dct.items(), key=lambda kv: kv[0])
TypeError: '<' not supported between instances of 'int' and 'str'
The training and the segmentation results of the cnn look like this.