code: def test_non_square_vs_square(self):
      kpsoi = iadata.quokka_keypoints()
      img = iadata.quokka()
  
      patches = []
      for kp in kpsoi.keypoints:
          bb = ia.BoundingBox(
              x1=kp.x - 1, x2=kp.x + 2, y1=kp.y - 1, y2=kp.y + 2
          )
          patches.append(bb.extract_from_image(img))
  
      img_square = iadata.quokka(extract="square")
      kpsoi_square = iadata.quokka_keypoints(extract="square")
  
      assert len(kpsoi.keypoints) == len(kpsoi_square.keypoints)
      assert kpsoi_square.shape == (643, 643, 3)
      for kp, patch in zip(kpsoi_square.keypoints, patches):
          bb = ia.BoundingBox(
              x1=kp.x - 1, x2=kp.x + 2, y1=kp.y - 1, y2=kp.y + 2
          )
          patch_square = bb.extract_from_image(img_square)
          assert (
              np.average(
                  np.abs(
                      patch.astype(np.float32)
                      - patch_square.astype(np.float32)
                  )
              )
              < 1.0
          )
  
imports: from __future__ import print_function, division, absolute_import
  import warnings
  import sys
  import numpy
  import imgaug
  import imgaug.data
  from imgaug.data import _quokka_normalize_extract, _compute_resized_shape
label_desc: Use image node_id 2 for calling the Test_quokka_keypoints obj's underlying member method code with example usage: obj.test_non_square_vs_square() without return types