-
Notifications
You must be signed in to change notification settings - Fork 13
One staff finding #1272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
One staff finding #1272
Conversation
… Finding to Aquitanian Reference Line Finding
|
Hi @DeannaLC, could you revert the last commit and make a separate pull request for the fixing of the MEI Encoding job? It is better to keep separate pull requests for different issues that you are solving. So, it would be better to create another branch on your fork for the MEI Encoding job fix, make the commit there, and then a pull request with that change (and link it to the issue, see here). Thank you! |
This reverts commit fa83497.
Thanks. @DeannaLC |
|
I've been doing some testing with running this job as an input into Heuristic Pitch Finding which hasn't yet been successful, so for the time being I'm going to switch this pull request to a draft. |
|
@homework36 I've confirmed this project works in the full end to end workflow, so I've reopened the pull request. For the test files, I'm using classified glyphs and lines from 044v in the Salamanca Missal. I ran my job with the settings Since Neon doesn't work correctly with one staff line, I'm setting 'staffDef.lines=5' so it properly displays. There's currently an issue with neumes being above the staff line in Neon which I'm not sure whether should be fixed through my job or Heuristic Pitch Finding, but after aligning the glyphs to the image, it seems to have pretty accurate results. Job Workflow (PNG input is classified reference lines): 044v Interactive Classifier input for Heuristic Pitch Finding: Overlayed Reference Line output (red is the lines drawn on by the Aquitanian Staff Finding job): Aquitanian Staff Finding JSON output (same as Miyao): Heuristic Pitch Finding output: MEI Encoding output(would ideally have 1 line, but set to 5 for Neon compatibility): |
|
This looks good, but one test file/case is not enough for us to make sure it works properly. Can you provide a second folio with a different layout/configuration, at least? Thanks. |
homework36
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, you should note in your codes what each function is doing, at least.
|
Here's a couple other cases with different layouts. One of them has one column, and the other just has a few staves at the bottom of the page. The files I'm providing are for full end to end workflows without the interactive classifier part, which I've provided files for. Another note is that to get the files to display properly in Neon, I have to change the MEI file where Workflow for 034r (No column splitting since it only has one column) Test Cases: |
…s and overall workflow
|
Thank you! I tested locally. This looks good now. |
|
@DeannaLC This looks good to me, and I think this PR can be merged. |









Resolves: (#1254)
This branch adds a new job called Aquitanian Reference Line Finding. In a full OMR workflow, this job would replace Miyao Staff Finding which does not have a case for dealing with one line per staff.
There is one input port for an image of the classified lines, an output port for the JSOMR file, and an optional PNG output port to see the lines overlaid on the image. There's a setting
slicesto change the number of sections per reference line with the default being 8.The job uses
cv2.findContoursto first get each separate reference line and draws rectangles around them withcv2.boundingRect. Then, each rectangle is split into the amount of slices, with a bounding box being drawn around each line segment. A line is drawn through the center of the bounding box, and each of the line segments are connected together.For now this is a separate job since it has its own slices parameter, but this could also be moved into Miyao Staff Finding as an if case for
Number of Lines = 1.@martha-thomae @fujinaga