Skip to content

Bug with cFRQI function from "qpixly_parallel.py" #14

@duspic

Description

@duspic

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.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions