Ошибка Matplotlib _cleanup() с Нибабелем

Я использую Nibabel для обработки изображений Nifty. Nibabel для отображения на самом деле использует Matplotlib под капотом. Ошибка возникает в matplotlib.

Все работает нормально, пока я не попытаюсь закрыть объект Figure (либо с интерфейсом пользователя, либо с вызовом.close() где-нибудь в коде). Сгенерированная ошибка такова:

Traceback (most recent call last):
  File "/home/anonymous/.local/lib/python3.6/site-packages/matplotlib/cbook/__init__.py", line 388, in process
    proxy(*args, **kwargs)
  File "/home/anonymous/.local/lib/python3.6/site-packages/matplotlib/cbook/__init__.py", line 228, in __call__
    return mtd(*args, **kwargs)
TypeError: _cleanup() takes 1 positional argument but 2 were given

Я действительно ничего особенного не делаю с этим

def execute(mainProg):
    print("Showing middle slices by default")

    # Creates the viewer object. Nib.viewers uses matplotlib for displays
    data_obj = mainProg.get_current_img().get_fdata()
    shapes = data_obj.shape
    mySlicer = nib.viewers.OrthoSlicer3D(data_obj)
    mySlicer.set_position(int(shapes[0]/2), int(shapes[1]/2),int(shapes[2]/2) )
    mySlicer.show()

    # At this point, the figure is up & can be interacted with. If I close it, then the exception is raised... Same result if I add a call to .close()

    return False

Если я отлаживаю и запускаю его шаг за шагом, на самом деле кажется, что ошибка возникает в Class _BoundMethodProxy Matplotlib, в def __call__(self, *args, **kwargs) метод.

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

0 ответов

Другие вопросы по тегам