Для проекта мне нужно импортировать файл DICOM из переменного источника данных. Я работаю над проектом в PyCharm, так как в конечном итоге я буду повторять код, и конечным продуктом будет программа. Ошибка, которую я получаю, следующая:
10.10.2017 08:58:16.307 Python[1010:26876] -[NSApplication _setup:]: нераспознанный селектор отправлен экземпляру 0x105154320
2017-10-10 08:58:16.311 Python[1010:26876] *** Завершение работы приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «-[NSApplication _setup:]: нераспознанный селектор отправлен экземпляру 0x105154320»
*** Стек вызовов первого броска:
(
0 CoreFoundation 0x00007fff9e92757b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffb3b801da objc_exception_throw + 48
2 CoreFoundation 0x00007fff9e9a7f14 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x00007fff9e89ac93 ___forwarding___ + 1059
4 CoreFoundation 0x00007fff9e89a7e8 _CF_forwarding_prep_0 + 120
5 Tk 0x000000010438cc02 TkpInit + 471
6 Tk 0x00000001043082a9 Tk_Init + 1794
7 _tkinter.cpython-36m-darwin.so 0x00000001041e0dfd Tcl_AppInit + 77
8 _tkinter.cpython-36m-darwin.so 0x00000001041de849 _tkinter_create + 889
9 Python 0x000000010006a7b8 _PyCFunction_FastCallDict + 552
10 Python 0x00000001000f4164 call_function + 612
11 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
12 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
13 Python 0x00000001000f43c7 _PyFunction_FastCallDict + 439
14 Python 0x000000010000ea54 _PyObject_FastCallDict + 356
15 Python 0x000000010000f120 _PyObject_Call_Prepend + 208
16 Python 0x000000010000e443 PyObject_Call + 99
17 Python 0x0000000100089af1 slot_tp_init + 81
18 Python 0x00000001000802b4 type_call + 212
19 Python 0x000000010000e9a4 _PyObject_FastCallDict + 180
20 Python 0x00000001000f3fa5 call_function + 165
21 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
22 Python 0x00000001000f3eae fast_function + 606
23 Python 0x00000001000f414b call_function + 587
24 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
25 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
26 Python 0x00000001000f3d2b fast_function + 219
27 Python 0x00000001000f414b call_function + 587
28 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
29 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
30 Python 0x00000001000f43c7 _PyFunction_FastCallDict + 439
31 Python 0x000000010000ea54 _PyObject_FastCallDict + 356
32 Python 0x000000010000f120 _PyObject_Call_Prepend + 208
33 Python 0x000000010000e443 PyObject_Call + 99
34 Python 0x0000000100089af1 slot_tp_init + 81
35 Python 0x00000001000802b4 type_call + 212
36 Python 0x000000010000e9a4 _PyObject_FastCallDict + 180
37 Python 0x00000001000f3fa5 call_function + 165
38 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
39 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
40 Python 0x00000001000f3d2b fast_function + 219
41 Python 0x00000001000f414b call_function + 587
42 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
43 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
44 Python 0x00000001000f3d2b fast_function + 219
45 Python 0x00000001000f414b call_function + 587
46 Python 0x00000001000f5b74 _PyEval_EvalFrameDefault + 5604
47 Python 0x00000001000f3500 _PyEval_EvalCodeWithName + 2720
48 Python 0x00000001000f36a4 PyEval_EvalCode + 100
49 Python 0x000000010013000e PyRun_FileExFlags + 206
50 Python 0x00000001001302af PyRun_SimpleFileExFlags + 447
51 Python 0x0000000100149b3a Py_Main + 3914
52 Python 0x0000000100000dfe Python + 3582
53 Python 0x0000000100000c34 Python + 3124
54 ??? 0x0000000000000002 0x0 + 2
) libc++abi.dylib: завершение с необработанным исключением типа NSException
Процесс завершен с кодом выхода 134 (прерван сигналом 6: SIGABRT)
Код, который дает мне ошибку, следующий:
import pydicom
from tkinter import filedialog
from matplotlib import pylab
"""Get fileName"""
#from tkinter import filedialog
filename = filedialog.askopenfilename()
"""Import DICOM File"""
#import pydicom
df = pydicom.read_file(filename)
dim = df.pixel_array
"""Show DICOM Image"""
#from matplotlib import pylab
pylab.imshow(dim, cmap="gray")
pylab.show()
Этот точный код не вызывает ту же ошибку при запуске в виде файла блокнота jupyter или когда импорт расположен в строках с комментариями.
Я понятия не имею, почему это так, и я надеюсь, что вы знаете, почему я получаю эту ошибку. Я бы хотел, чтобы импорт модуля был в верхней части скрипта, потому что, ну, аккуратность и прочее.
Заранее спасибо!