Будущее Предупреждение в скупой статистике - PullRequest
0 голосов
/ 01 октября 2019

Я создаю функцию, которая вычисляет радиальное среднее значение и медиану повторного набора для каждого бина и проверяет его на одно изображение в формате * .tif.

import numpy as np
from math import fabs
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from PIL import Image
from scipy import stats


def av_radial_profile(data, center):
    y, x = np.indices((data.shape))
    r = np.hypot(x - center[0],y - center[1])
    r = r.astype(np.int)
    b = len(set(r.ravel()))
    av_radialprofile = stats.binned_statistic(r.ravel(), data.ravel(), statistic ='mean', bins = b)[0]

    median_radialprofile = stats.binned_statistic(r.ravel(), data.ravel(), statistic = lambda q: np.nanmedian(q), bins = b)[0]  

    return median_radialprofile, av_radialprofile


img = mpimg.imread('test.tif',0)
center, radi = (509, 546), 55
rad2, rad3 = av_radial_profile(img, center)

Изображение здесь the tif-format picture После запуска этого кода у меня появляется следующее предупреждение:

~miniconda3/lib/python3.7/site-packages/scipy/stats/_binned_statistic.py:607: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  result = result[core]

Я попытался найти причину проблемы и увидел, что причина может быть в старых версиях пакетов. После этого я обновил все пакеты с помощью conda и снова запустил свой код, но предупреждающее сообщение не исчезло.

Может быть, кто-то сталкивался с такой же проблемой. Я буду очень благодарен за любую помощь и замечания относительно моего кода.

1 Ответ

1 голос
/ 01 октября 2019

В scipy 1.3.1 код «оскорбления» теперь

# Remove outliers (indices 0 and -1 for each bin-dimension).
core = tuple([slice(None)] + Ndim * [slice(1, -1)])
result = result[core]

В файле scipy/stats/_binned_statistic.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...