action #16058
closedComplete support for exclude areas in needles
0%
Description
User story¶
As a test writer I want to mark areas to exclude on match so that I do not need to be super creative with needling around parts I want to ignore.
acceptance criteria¶
- AC1: exclude areas are shown in needle views
- AC2: exclude areas are taken over in needle editor
tasks¶
- needle exclude areas are neither displayed in needle views nor taken over in editor, fix that
- add tests
- add documentation
- optional: find the other hidden spots where exclude areas are not properly supported
further details¶
the backend supports exclude areas near even and they work just fine but they are neither shown in the needle preview nor taken over
Updated by okurz almost 8 years ago
- Subject changed from Complete the for exclude areas in needles to Complete support for exclude areas in needles
Updated by coolo almost 8 years ago
- Assignee deleted (
coolo)
not sure it was discussed that I will work on that
Updated by okurz almost 8 years ago
It was discussed that you will hunt for the issue stating something similar which you expected to be there in our issue tracker and we could not find it. Guess you are just getting old like the all of us :-)
Updated by StefanBruens over 7 years ago
As a side note, the excludes are currently wrong from a algorithm perspective:
The excluded area is overdrawn with a fill color in both the needle and on the screen.
As long as the needle matches at its original location, this works as intended (although
the MSE/similarity value is biased, as the mean value is calculated for the whole area,
not the relevant area).
If the needle is shifted, excluded areas in the scene and the needle no longer line up, and
the result is wrong.
Currently, the tests having exclude areas only match the needle in the original
location, so this misbehaviour is not detected.
Fixing this is actually not to hard:
As the error metric is the (mean of) squared difference, which is linear, first the error
for the whole needle area has to be calculated (which typically gives us a 101x101 size
error matrix), next the same has to be done for every excluded area of the needle (each
resulting in another 101x101 size error matrix). The correct error matrix can be calculated
by subtracting the latter ones from the first matrix, the minimum is the best match as before.
Updated by mkittler over 7 years ago
- Status changed from New to In Progress
Updated by mkittler over 7 years ago
- Status changed from In Progress to Resolved
Seems to be working in production: https://github.com/os-autoinst/openQA/pull/1377#issuecomment-313605061
(The PR caused an regression, but it is tracked in another ticket so I mark this one as resolved.)