Skip to content

Conversation

@yuval-ngtnuma
Copy link

On systems where NumPy astype(int) uses int64, the following error occurs:

numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Cannot unify array(int64, 2d, C) and array(int32, 2d, C) for 'swt_matrix.2', defined at ../venv/lib/python3.10/site-packages/swtloc/core.py (126)

File "../venv/lib/python3.10/site-packages/swtloc/core.py", line 126:
def swt_strokes(edged_image,
    <source elided>
            _ray_ix = ray_indices[:ray_pointer, 1]
            for each_y, each_x in zip(_ray_iy, _ray_ix):
            ^

This is due to Numba trying to figure out the type of swt_matrix in swt_strokes, but it can be either case of the if (Numba doesn't check the actual value provided to include_edges_in_swt before it determines the types)

    # ...
    if include_edges_in_swt:
        swt_matrix = edged_image.copy()
    else:
        swt_matrix = np.zeros(shape=edged_image.shape, dtype=np.int32)
    # ...

On systems where NumPy astype(int) uses int64, the following error occurs:

numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(int64, 2d, C) and array(int32, 2d, C) for 'swt_matrix.2', defined at ../venv/lib/python3.10/site-packages/swtloc/core.py (126)

```
File "../venv/lib/python3.10/site-packages/swtloc/core.py", line 126:
def swt_strokes(edged_image,
    <source elided>
            _ray_ix = ray_indices[:ray_pointer, 1]
            for each_y, each_x in zip(_ray_iy, _ray_ix):
            ^
```

This is due to Numba trying to figure out the type of `swt_matrix` in `swt_strokes`, but it can be either case of the if (Numba doesn't check the actual value provided to `include_edges_in_swt` before it determines the types)

```
    # ...
    if include_edges_in_swt:
        swt_matrix = edged_image.copy()
    else:
        swt_matrix = np.zeros(shape=edged_image.shape, dtype=np.int32)
    # ...
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant