Closed juusokorhonen closed 5 years ago
Dear @juusokorhonen , Thanks for the bug report. But for nifti import, you should use "Import other files..." menu (image below). Let me know if the crashs persists.
You are right in that the NIfTI import through the menu works. It is not an issue with the NIfTI import.
The issue here, is that trying to open a folder without DICOM files results in a unresponsive program that has to be forcefully quit through command line (in linux).
Furthermore, the tooltip message for the Import medical images suggests that you can open also NIfTI files. See attached screenshot.
Looks like is something related to linux. In windows it is working properly. @tfmoraes could you help with this issue?
@juusokorhonen thanks for the report. In the last commit I updated the tooltip to say it only opens dicom files. About InVesalius being unresponsive I think the folder you selected has a lot of files and/or a very deep hierarchy of subfolders. We use GDCM lib to check every file in the folder you selected and in the subfolder for DICOM files, it may take a lot of time.
Thanks for the suggestion. In this case, however, there is only the one nifti file in the folder and no subfolders. If you are interested, I could try to extract more information about the situation. Would there be something specific to check?
@juusokorhonen you are running InVesalius from the source code, Ubuntu package, AppImage or Flatpak? What version? Could you share this file?
I am using the version from the InVesalius download page, GNU/Linux Ubuntu 16.04 64 bits, InVesalius-3.1.1-Ubuntu-16.04-amd64.tar.gz.
$ dpkg -l |grep ^i |grep invesalius
ii invesalius 3.1.1-1~xenial all 3D medical imaging reconstruction software
ii invesalius-bin 3.1.1-1~xenial amd64 Implementation of MIDA and contour based visualizations
ii invesalius-examples 3.1.1-1~xenial all examples for 3D medical imaging reconstruction software
I tried running from the command line with invesalius3 -d
, and I get some warnings during the startup, but nothing while the DICOM modal is running.
$ invesalius3 -d
/usr/share/invesalius/invesalius/data/transformations.py:1899: UserWarning: failed to import module _transformations
warnings.warn("failed to import module %s" % name)
session mode: 0
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'height >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'height >= -1' failed
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'height >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'height >= -1' failed
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'height >= -1' failed
(app.py:25260): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed
(app.py:25260): Gdk-WARNING **: /build/gtk+2.0-jJZIsQ/gtk+2.0-2.24.30/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
Checking updates...
^C
I tested this a bit further.
If I create an empty file in the same folder, the hanging/crash goes away.
@juusokorhonen , please, could you try with version 3.1.999992? You could try the flatpak version https://flathub.org/apps/details/br.gov.cti.invesalius
It took me some time to install flatpak, but here are the results.
$ flatpak list
Description Application Version Branch Arch Origin Installation
InVesalius - 3D medical imaging reconstruction software br.gov.cti.invesalius 3.1.99992 stable x86_64 flathub system
I can confirm that this version has the issue fixed.
However, I had to give extra permissions to invesalius by running from command line:
$ flatpak --filesystem=host run br.gov.cti.invesalius
This is because my data resides outside my home directory.
Ok. Thanks for testing. I'll close this issue and I'll take a look at this issue with flatpak. Thanks!
System: Ubuntu LTS 16.04 InVesalius 3.1.1
Steps to reproduce:
This message cannot be dismissed, although pressing Cancel seems to refresh the sceen. Pressing 'X' on top left of window disables the Cancel button. Attempting to close InVesalius by right clicking the task bar icon and selecting 'Close' displays a confirmation dialog, but nothing happens after that. Attempting to kill the program with '$ kill' gets rid of the process when viewed with '$ ps', but does nothing to the program window.
The only way to close the window is to use 'ps' to find the line 'python app.py' and kill that.