1

I have a 2D numpy array of boolean masks with n rows where each row is an array of m masks.

maskArr = [
            [[True, False, True, False], [True, True, False, True], [True, True, False, True]],
            [[False, True, False, True], [False, True, True, True], [True, True, False, True]],
            [[True, False, True, False], [True, True, False, True], [True, True, False, True]],
            [[False, True, False, True], [False, True, True, True], [True, True, False, True]],
            [[True, False, True, False], [True, True, False, True], [True, True, False, True]],
            [[False, True, False, True], [False, True, True, True], [True, True, False, True]]
          ]

Is there a way to vectorize the combining of mask arrays in each row to get the following result?

combinedMaskArr = [
                    [True, False, False, False],
                    [False, True, False, True],
                    [True, False, False, False],
                    [False, True, False, True],
                    [True, False, False, False],
                    [False, True, False, True]
                  ]

Thank you for any guidance or suggestions in advance.

1
  • 1
    seems you want to apply "AND" operations on each triplet of corresponding values. Look for "all" in numpy Commented May 26, 2021 at 10:30

1 Answer 1

3

You're trying to testing whether all elements are true along a specific axis. Use np.all

np.all(maskArr, axis=1)

Output

array([[ True, False, False, False],
       [False,  True, False,  True],
       [ True, False, False, False],
       [False,  True, False,  True],
       [ True, False, False, False],
       [False,  True, False,  True]])
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.