code: def new_with_array(self, array):
          
          arguments = vars(self)
          arguments.update({"array": array})
          if 'centre' in arguments:
              arguments.pop("centre")
          return self.__class__(**arguments)
docs: Parameters
          ----------
          array: ndarray
              An ndarray
  
          Returns
          -------
          new_array: ScaledSquarePixelArray
              A new instance of this class that shares all of this instances attributes with a new ndarray.