What this bug does
This bug is noticeable by a corrupted decoded image, with various distortions. It seems that, based on the shape of the second image, it corrupts the first image.

What causes this bug
an issue stems from the current cFRQI() function implementation found in "QPIXL/qiskit/qpixl_parallel.py"
from my examination, it seems that there is a special case in the cFRQI function, in which a parity check (pc) variable is miscalculated.
How to reproduce the bug
To reproduce the simplest case, trying to run two images in parallel, set the size of the first image to (32,32) and the second to (30,49).
This is illustrated in the attached image above. This only happens in certain, elusive cases. Most combinations of image shapes do not produce the bug.
How to solve the bug
I've found a way to solve it (at least for now), and will propose a pull request. It's just a matter of changing when the controlX gates are applied in relation to updating the parity check variable.
I'm raising this issue to separate it from another issue, as has already been discussed in another pull request's thread.
What this bug does
This bug is noticeable by a corrupted decoded image, with various distortions. It seems that, based on the shape of the second image, it corrupts the first image.
What causes this bug
an issue stems from the current cFRQI() function implementation found in "QPIXL/qiskit/qpixl_parallel.py"
from my examination, it seems that there is a special case in the cFRQI function, in which a parity check (pc) variable is miscalculated.
How to reproduce the bug
To reproduce the simplest case, trying to run two images in parallel, set the size of the first image to (32,32) and the second to (30,49).
This is illustrated in the attached image above. This only happens in certain, elusive cases. Most combinations of image shapes do not produce the bug.
How to solve the bug
I've found a way to solve it (at least for now), and will propose a pull request. It's just a matter of changing when the controlX gates are applied in relation to updating the parity check variable.
I'm raising this issue to separate it from another issue, as has already been discussed in another pull request's thread.