Open JoyfulGen opened 3 years ago
Only chiming in here to say: Wow! That's a fantastic workflow!
@carrieeex and I checked this issue. The reported error of MEI_encoding
job is:
Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task R = retval = fun(*args, *kwargs) File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 438, in __protected_call__ return self.run(args, **kwargs) File "/code/Rodan/rodan/jobs/base.py", line 771, in run retval = self.run_my_task(inputs, settings, arg_outputs) File "/code/Rodan/rodan/jobs/MEI_encoding/MEI_encoding.py", line 84, in run_my_task mei_string = bm.process(jsomr, syls, classifier_table, width_mult) File "/code/Rodan/rodan/jobs/MEI_encoding/build_mei_file.py", line 523, in process meiDoc = build_mei(pairs, classifier, jsomr['staves'], jsomr['page']) File "/code/Rodan/rodan/jobs/MEI_encoding/build_mei_file.py", line 362, in build_mei bb = staves[0]['bounding_box'] IndexError: list index out of range
So we went back to the input of MEI_encoding
job, Miyao Staff Finding - JSOMR.json
, which is the output of Miyao algorithm:
{"page": {"bounding_box": {"nrows": 6295, "ulx": 0, "uly": 0, "ncols": 4792}, "resolution": 0.0}, "staves": []}
In this file, staves
is empty. We then went back and checked the input of the Miyao_Staff_Finding
job, which is Dilate - Onebit PNG dilated image.png
:
As shown in the figure above, the staff lines are correctly separated.
Therefore, I suppose the issue is with Miyao_Staff_Finding
job.
This may relates to issue #25 in the MEI_encoding repo. In this case, just one staff line is missing.
When processing folio 191r of Salzinnes in the E2E OMR workflow, the MEI encoding job failed. I ran the job 3 more times, and the same thing happened. Looking at the resources of the workflow, it looks like the Miyao staff finding job isn't finding any staves. As a consequence, the Heuristic pitch finding job doesn't have staves either, or glyphs for some reason. However, the Fast Pixelwise Analysis seems to be splitting the three layers (symbols, staves, background) correctly and the Non-Interactive classifier appears to contain neumes as well.
This is workflow I used. I always use the same one and this problem hadn't occurred until now and hasn't since.
And these are the resources mentioned above: 191r Miyao Staff Finding - JSOMR-3.json.zip 191r Heuristic Pitch Finding - JSOMR of glyphs, staves, and page properties(1).json.zip 191r Non-Interactive Classifier - GameraXML - Classified Glyphs(1).xml.zip 191r Fast Pixelwise Analysis of Music Document - Background.png.zip 191r Fast Pixelwise Analysis of Music Document - Staff.png.zip 191r Fast Pixelwise Analysis of Music Document - Symbols.png.zip