def METHOD_NAME(self, array_in, array_binned):
    """
    Bins the array using numpy. This method is slower and less memory efficient than self._bin_array_acc
    """
    shape_object = []
    slice_object = []
    for i in range(4):
        # reshape the data to add each 'bin' dimensions
        shape_object.append(self._shape_out[i]) 
        shape_object.append(self._roi_ordered[i].step)
    shape_object = tuple(shape_object)
    slice_object = tuple([slice(x.start, x.stop) for x in self._roi_ordered])
    data_resized = array_in.reshape(self._shape_in)[slice_object].reshape(shape_object)
    mean_order = (-1, 1, 2, 3)
    for i in range(4):
        data_resized = data_resized.mean(mean_order[i])
    np.copyto(array_binned, data_resized)