Mayavi: seg рдЧрд▓рддреА рдЬрдм рейрдбреА рдкреНрд▓реЙрдЯ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рд╕рд┐рддре░ 2018  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: enthought/mayavi

рдпрд╣ рдлрд╝рд╛рдЗрд▓: рдиреНрдпреВрдирддрдо_example_fail.py:

import faulthandler
faulthandler.enable()

from mayavi import mlab
mlab.test_plot3d()
mlab.screenshot()

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдвреЗрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

$ python minimal_example_fail.py 
Fatal Python error: Segmentation fault

Current thread 0x00007f2c3107e740 (most recent call first):
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/tvtk/tvtk_base.py", line 568 in _wrap_call
  File "tvtk_classes/open_gl_render_window.py", line 79 in get_pixel_data
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/mayavi/tools/figure.py", line 348 in screenshot
  File "minimal_example_fail.py", line 15 in <module>
Segmentation fault (core dumped)

рдкреНрд░рдЬрдирди рдХрд░рдирд╛:

$ conda deactivate
$ conda create -n test python=3.6 numpy "pyqt>=5" matplotlib traits pyface traitsui
$ conda activate test
$ pip install vtk
$ pip install mayavi
$ python minimal_example_fail.py

@larsoner @agramfort

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрд╢реЛрдзрди рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

from pyface.api import GUI
from mayavi import mlab
mlab.test_plot3d()
GUI().process_events()
mlab.screenshot()

рдпрд╛ рдПрдХ рд╢реЗрд▓ рд╡рди-рд▓рд╛рдЗрдирд░:

python -c "from pyface.api import GUI; from mayavi import mlab; mlab.test_plot3d(); GUI().process_events(); mlab.screenshot()"

рдЕрд╕рд▓ рдореЗрдВ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╣рдо рдЗрд╕ рдЫреЛрдЯреА рд╕реА GUI рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдордЬрдмреВрд░ рдХрд░рдХреЗ PySurfer рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

@рдкреНрд░рднреБрд░рд╛рдордЪрдВрджреНрд░рди рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдЬреАрдПрд▓ рдХреЙрдиреНрдЯреЗрдХреНрд╕ (рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рдиреНрдп рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪрд╛рд▓/рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдмрди рдЬрд╛рдП рд╡реИрдзред рдереЛрдбрд╝рд╛ iffy/рдмрд╣реБрдд рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реВрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЦрд┐рдбрд╝рдХреА рдХрд╛ рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХреНрдпреВрдЯреА рдореБрджреНрджрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрдирд▓реВрдк рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ IPython рд╕рддреНрд░ рдореЗрдВ %gui qt рд╕рд╛рде рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдпрд╣ рдорддрд▓рдм рд╣реИ?

$ ipython 
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 17:14:51) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: %gui qt

In [2]: %run ./minimal_example_fail.py
Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
Fatal Python error: Segmentation fault

Thread 0x00007fb7eef88700 (most recent call first):
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 295 in wait
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 551 in wait
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/history.py", line 829 in run
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/history.py", line 58 in needs_sqlite
  File "<decorator-gen-24>", line 2 in run
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 916 in _bootstrap_inner
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 884 in _bootstrap

Current thread 0x00007fb7f5710740 (most recent call first):
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/tvtk/tvtk_base.py", line 568 in _wrap_call
  File "tvtk_classes/open_gl_render_window.py", line 79 in get_pixel_data
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/mayavi/tools/figure.py", line 348 in screenshot
  File "/home/maximilien.chaumon/owncloud/Lab/Projects/CTPS/code/minimal_example_fail.py", line 15 in <module>
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/utils/py3compat.py", line 188 in execfile
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2527 in safe_execfile
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magics/execution.py", line 761 in run
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magics/execution.py", line 775 in run
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magic.py", line 187 in <lambda>
  File "<decorator-gen-60>", line 2 in run
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2131 in run_line_magic
  File "<ipython-input-2-f514c016d8ee>", line 1 in <module>
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2963 in run_code
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2909 in run_ast_nodes
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2785 in _run_cell
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2662 in run_cell
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 476 in interact
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 485 in mainloop
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/ipapp.py", line 356 in start
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/traitlets/config/application.py", line 658 in launch_instance
  File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/__init__.py", line 125 in start_ipython
  File "/home/maximilien.chaumon/anaconda3/envs/mne/bin/ipython", line 11 in <module>
Segmentation fault (core dumped)

рдореИрдВрдиреЗ рдЕрдкрдиреА рдЙрдмрдВрдЯреВ рдорд╢реАрди рдкрд░ рд╡реАрдЯреАрдХреЗ -8.1.1 (рдкрд╛рдЗрдк рд╕реЗ), рдкрд╛рдпрдерди 3.6.0, рдорд╛рдпрд╛рд╡реА рдорд╛рд╕реНрдЯрд░, pyqt5 5.10.1 рдХреЗ рд╕рд╛рде рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдирд╣реАрдВред рдореБрдЭреЗ рдЬреЛ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдПрдХ рдЧрд╣рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ UI рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдмрд┐рдирд╛, рдХреЛрдИ рд╡рд┐рдВрдбреЛ рдЦреБрд▓реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдХреНрд░реАрди рдХрд╛ рдЖрдХрд╛рд░ рдЕрднреА рднреА рд╢реВрдиреНрдп рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ segfault рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЖрдкрдХреЗ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

OSX рдФрд░ Linux segfault рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╛рд╡рд┐рдд mayavi рдХрдорд┐рдЯ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

fd9a515a9563d81a42b84514c1fb4ce5f81ac9a0 рдкрд╣рд▓реА рдЦрд░рд╛рдм рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИ
рдкреНрд░рддрд┐рдмрджреНрдз fd9a515a9563d81a42b84514c1fb4ce5f81ac9a0
рд▓реЗрдЦрдХ: рдкреНрд░рднреБ рд░рд╛рдордЪрдВрджреНрд░рди [email protected]
рджрд┐рдирд╛рдВрдХ: рд╢реБрдХреНрд░ рдЕрдЧрд╕реНрдд 3 21:38:13 2018 -0400

Modify module manager to work with composite data.

This uses the dataset_adapter code from VTK and requires VTK >= 6.3.

:04000004000088baad8a26a7fc9d06fc95979441b4cd436e26962eca99efb8a7de37c75d3113fe194c16403b269d рдПрдо рдорд╛рдпрд╛рд╡реА

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдореИрдВ @ dnacombo .
рдореИрдВ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдореЗрд░реЗ рд▓рд┐рдирдХреНрд╕ рдмреЙрдХреНрд╕ рдкрд░ред

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: Linux-4.15.0-34-рдЬреЗрдиреЗрд░рд┐рдХ-x86_64-with-debian-buster-sid
рдкрд╛рдпрдерди: 3.6.6 |рдПрдирд╛рдХреЛрдВрдбрд╛, рдЗрдВрдХ.| (рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдЬреВрди реирео 2018, резрен:резрек:релрез) [рдЬреАрд╕реАрд╕реА рен.реи.реж]
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп: /home/ktavabi/miniconda3/envs/mne/bin/python
рд╕реАрдкреАрдпреВ: x86_64: 24 рдХреЛрд░
рдореЗрдореЛрд░реА: 94.4 рдЬреАрдмреА

рдПрдордПрдирдИ: 0.17.рджреЗрд╡0
рд╕реБрдиреНрди: 1.15.1 {blas=mkl_rt, lapak=mkl_rt}
scipy: 1.1.0
matplotlib: 2.2.2 {рдмреИрдХрдПрдВрдб = Qt5Agg}

рд╕реНрдХреЗрд▓реЗрд░: 0.19.2
рдирд┐рдмрд╛рдмреЗрд▓: реи.рек.режрджреЗрд╡
рдорд╛рдпрд╛рд╡реА: 4.7.0.dev0 4.6.0 {qt_api=pyqt5}
рдХрдкреА: рдирд╣реАрдВ рдорд┐рд▓рд╛
рдкрд╛рдВрдбрд╛: 0.23.4
рдбрд┐рдкреА: 0.15.0рджреЗрд╡
рд╡реАрдЯреАрдХреЗ: 8.1.1

рдореЗрд░реА OSX рдорд╢реАрди рдкрд░ рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдорд┐рд▓рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ segfault рдирд╣реАрдВред

рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдорд╢реАрди рдкрд░ рдПрдХ рд╕рдорд╛рди / рд╕рдорд╛рди segfault рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рдорд╛рди 18.04 рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд╢реНрдореЗ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд:

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: Linux-4.15.0-36-рдЬреЗрдиреЗрд░рд┐рдХ-x86_64-with-debian-buster-sid
рдкрд╛рдпрдерди: 3.6.6 |рдПрдирд╛рдХреЛрдВрдбрд╛, рдЗрдВрдХ.| (рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдЬреВрди реирео 2018, резрен:резрек:релрез) [рдЬреАрд╕реАрд╕реА рен.реи.реж]
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп: /home/nordme/miniconda3/envs/mne/bin/python
рд╕реАрдкреАрдпреВ: x86_64: 12 рдХреЛрд░
рдореЗрдореЛрд░реА: 15.5 рдЬреАрдмреА

рдПрдордПрдирдИ: 0.17.рджреЗрд╡0
рд╕реБрдиреНрди: 1.15.2 {blas=mkl_rt, lapak=mkl_rt}
scipy: 1.1.0
matplotlib: 2.2.2 {рдмреИрдХрдПрдВрдб = Qt5Agg}

рд╕реНрдХреЗрд▓реЗрд░: 0.20.0
рдирд┐рдмрд╛рдмреЗрд▓: 2.3.0
рдорд╛рдпрд╛рд╡реА: 4.7.0.dev0 {qt_api=pyqt5}
рдХрдкреА: рдирд╣реАрдВ рдорд┐рд▓рд╛
рдкрд╛рдВрдбрд╛: 0.23.4
рдбреБрдмрдХреА: 0.14.0

a19c710c3f61389d79ed05271584e44f9744f6bc 4.6.0 рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ред LMK рдпрджрд┐ рдЖрдк рдЯреНрд░реЗрд╕ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрд╢реЛрдзрди рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

from pyface.api import GUI
from mayavi import mlab
mlab.test_plot3d()
GUI().process_events()
mlab.screenshot()

рдпрд╛ рдПрдХ рд╢реЗрд▓ рд╡рди-рд▓рд╛рдЗрдирд░:

python -c "from pyface.api import GUI; from mayavi import mlab; mlab.test_plot3d(); GUI().process_events(); mlab.screenshot()"

рдЕрд╕рд▓ рдореЗрдВ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╣рдо рдЗрд╕ рдЫреЛрдЯреА рд╕реА GUI рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдордЬрдмреВрд░ рдХрд░рдХреЗ PySurfer рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

@рдкреНрд░рднреБрд░рд╛рдордЪрдВрджреНрд░рди рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдЬреАрдПрд▓ рдХреЙрдиреНрдЯреЗрдХреНрд╕ (рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рдиреНрдп рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪрд╛рд▓/рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдмрди рдЬрд╛рдП рд╡реИрдзред рдереЛрдбрд╝рд╛ iffy/рдмрд╣реБрдд рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

@larsoner - рд╣рд╛рдБ, рдореБрдЭреЗ рд╡рд╣реА рдмрд╛рдд рд╕рдордЭ рдореЗрдВ рдЖрдИ (рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ) рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдПрдордПрд▓рдмреА рдореЗрдВ рд╕рдлрд╛рдИ рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореИрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рд╛рде рд╣реА, v 4.6.1 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдордПрд▓рдПрдмреА рдореЗрдВ process_ui_events рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬреАрдпреВрдЖрдИ рдЖрджрд┐ рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдИрд╡реЗрдВрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ (http://docs.enthinkt.com/mayavi/mayavi/auto/changes .html#id10)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kitchoi picture kitchoi  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rahulporuri picture rahulporuri  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

scottstanie picture scottstanie  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ktavabi picture ktavabi  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PennyQ picture PennyQ  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ