glue-viz / glue

Linked Data Visualizations Across Multiple Files
http://glueviz.org
Other
728 stars 152 forks source link

Glue will not open the Tutorial file w5.fits. #2508

Open SCO-SCI opened 1 month ago

SCO-SCI commented 1 month ago

Installed glueviz into Anaconda environment using exact commands in the instructions. No errors.

Went through initial debugging steps recommended in instructions. No errors.

Am now trying to go through the tutorial which uses the fits image file w5.fits. I import the data into glue and drag w5.fits onto the screen. I select 2D Image and that is where the errors occur. No image opens.

Details:

Operating System: Windows 10 Pro Version 22H2 Python Version: 3.8.18 Anaconda Version: 24.7.1 Glue Version: 1.2.0

Console log:

(glue-env-38) C:\Users\Ed>glue -v INFO:glue:Input arguments: ['C:\Users\Ed\anaconda3\envs\glue-env-38\Scripts\glue', '-v'] INFO:glue:Loading external plugins using setuptools==69.5.1 INFO:glue:Loading plugin coordinate_helpers succeeded INFO:glue:Loading plugin data_exporters succeeded INFO:glue:Loading plugin dendro_factory failed (Exception: No module named 'astrodendro') INFO:glue:Loading plugin dendro_viewer succeeded INFO:glue:Loading plugin directory_importer succeeded INFO:glue:Loading plugin export_d3po succeeded INFO:glue:Loading plugin export_python succeeded INFO:glue:Loading plugin fits_format succeeded INFO:glue:Loading plugin histogram_viewer succeeded INFO:glue:Loading plugin image_viewer succeeded INFO:glue:Loading plugin profile_viewer succeeded INFO:glue:Loading plugin pv_slicer succeeded INFO:glue:Loading plugin scatter_viewer succeeded INFO:glue:Loading plugin table_viewer succeeded INFO:glue:Loading plugin wcs_autolinking succeeded INFO:glue:Loading plugin vispy_scatter succeeded INFO:glue:Loading plugin vispy_volume succeeded INFO:glue:Loading settings from C:\Users\Ed.glue\settings.cfg INFO:glue:Setting AUTOLINK already initialized - skipping INFO:glue:Setting BACKGROUND_COLOR already initialized - skipping INFO:glue:Setting DATA_ALPHA already initialized - skipping INFO:glue:Setting DATA_COLOR already initialized - skipping INFO:glue:Setting FONT_SIZE already initialized - skipping INFO:glue:Setting FOREGROUND_COLOR already initialized - skipping INFO:glue:Setting SHOW_INFO_PROFILE_OPEN already initialized - skipping INFO:glue:Setting SHOW_LARGE_DATA_WARNING already initialized - skipping INFO:glue:Setting SHOW_WARN_PROFILE_DUPLICATE already initialized - skipping INFO:glue:Setting SUBSET_COLORS already initialized - skipping INFO:glue.core.hub:Subscribing DataCollection (0 data sets) to ComponentsChangedMessage INFO:glue.core.hub:Subscribing <glue.core.link_manager.LinkManager object at 0x00000299DE9C1610> to DataRemoveComponentMessage INFO:glue.core.hub:Subscribing <glue.core.link_manager.LinkManager object at 0x00000299DE9C1610> to DataCollectionDeleteMessage INFO:glue:Loading external plugins using setuptools==69.5.1 INFO:glue:Plugin coordinate_helpers already loaded INFO:glue:Plugin data_exporters already loaded INFO:glue:Loading plugin dendro_factory failed (Exception: No module named 'astrodendro') INFO:glue:Plugin dendro_viewer already loaded INFO:glue:Plugin directory_importer already loaded INFO:glue:Plugin export_d3po already loaded INFO:glue:Plugin export_python already loaded INFO:glue:Plugin fits_format already loaded INFO:glue:Plugin histogram_viewer already loaded INFO:glue:Plugin image_viewer already loaded INFO:glue:Plugin profile_viewer already loaded INFO:glue:Plugin pv_slicer already loaded INFO:glue:Plugin scatter_viewer already loaded INFO:glue:Plugin table_viewer already loaded INFO:glue:Plugin wcs_autolinking already loaded INFO:glue:Plugin vispy_scatter already loaded INFO:glue:Plugin vispy_volume already loaded INFO:glue:Loading settings from C:\Users\Ed.glue\settings.cfg INFO:glue:Setting AUTOLINK already initialized - skipping INFO:glue:Setting BACKGROUND_COLOR already initialized - skipping INFO:glue:Setting DATA_ALPHA already initialized - skipping INFO:glue:Setting DATA_COLOR already initialized - skipping INFO:glue:Setting FONT_SIZE already initialized - skipping INFO:glue:Setting FOREGROUND_COLOR already initialized - skipping INFO:glue:Setting SHOW_INFO_PROFILE_OPEN already initialized - skipping INFO:glue:Setting SHOW_LARGE_DATA_WARNING already initialized - skipping INFO:glue:Setting SHOW_WARN_PROFILE_DUPLICATE already initialized - skipping INFO:glue:Setting SUBSET_COLORS already initialized - skipping INFO:glue.core.hub:Subscribing <glue.app.qt.edit_subset_mode_toolbar.EditSubsetModeToolBar object at 0x00000299DEA11790> to EditSubsetMessage INFO:glue.core.hub:Subscribing <glue.app.qt.edit_subset_mode_toolbar.EditSubsetModeToolBar object at 0x00000299DEA11790> to SubsetMessage INFO:glue.core.hub:Subscribing <glue.app.qt.application.GlueApplication object at 0x00000299DE9C05E0> to DataCollectionMessage INFO:glue.core.hub:Subscribing <glue.app.qt.application.GlueApplication object at 0x00000299DE9C05E0> to SettingsChangeMessage INFO:glue.core.hub:Subscribing <glue.core.qt.data_collection_model.DataCollectionModel object at 0x00000299DEA20820> to DataCollectionDeleteMessage INFO:glue.core.hub:Subscribing <glue.core.qt.data_collection_model.DataCollectionModel object at 0x00000299DEA20820> to SubsetDeleteMessage INFO:glue.core.hub:Subscribing <glue.core.qt.data_collection_model.DataCollectionModel object at 0x00000299DEA20820> to DataCollectionAddMessage INFO:glue.core.hub:Subscribing <glue.core.qt.data_collection_model.DataCollectionModel object at 0x00000299DEA20820> to SubsetCreateMessage INFO:glue.core.hub:Subscribing <glue.core.qt.data_collection_model.DataCollectionView object at 0x00000299DE9EE9D0> to Message INFO:glue.core.hub:Subscribing <glue.app.qt.layer_tree_widget.LayerTreeWidget object at 0x00000299DE9EE820> to EditSubsetMessage INFO:glue:Trying data factory FITS file INFO:glue:Trying data factory HDF5 file INFO:glue:Trying data factory Numpy save file INFO:glue:Trying data factory ASCII Table INFO:glue:Valid formats: [DataFactory(function=<function fits_reader at 0x00000299D4B3F790>, label='FITS file', identifier=<function is_fits at 0x00000299D4B3F310>, priority=100, deprecated=False)] INFO:glue.core.hub:Broadcasting DataCollectionAddMessage: Sent from: DataCollection (1 data set) 0: w5 INFO:glue.core.hub:Broadcasting EditSubsetMessage: Sent from: <glue.core.edit_subset_mode.EditSubsetMode object at 0x00000299DE9C19D0> INFO:glue.core.hub:Broadcasting EditSubsetMessage: Sent from: <glue.core.edit_subset_mode.EditSubsetMode object at 0x00000299DE9C19D0> INFO:glue.core.hub:Subscribing <glue.core.qt.layer_artist_model.LayerArtistView object at 0x00000299DEA4F9D0> to LayerArtistUpdatedMessage INFO:glue.core.hub:Subscribing <glue.core.qt.layer_artist_model.LayerArtistView object at 0x00000299DEA4F9D0> to LayerArtistEnabledMessage INFO:glue.core.hub:Subscribing <glue.core.qt.layer_artist_model.LayerArtistView object at 0x00000299DEA4F9D0> to LayerArtistDisabledMessage INFO:glue.core.hub:Subscribing <glue.core.qt.layer_artist_model.LayerArtistView object at 0x00000299DEA4F9D0> to LayerArtistVisibilityMessage Traceback (most recent call last): File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\app\qt\mdi_area.py", line 63, in dropEvent new_layer(layer) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\app\qt\mdi_area.py", line 54, in new_layer application.choose_new_data_viewer(layer) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\app\qt\application.py", line 1009, in choose_new_data_viewer return self.do(cmd) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\core\application_base.py", line 258, in do return self._cmds.do(command) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\core\command.py", line 125, in do result = cmd.do(self._session) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\core\command.py", line 215, in do viewer = session.application.new_data_viewer(self.viewer, self.data) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\utils\matplotlib.py", line 170, in wrapper result = func(*args, kwargs) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\app\qt\application.py", line 1013, in new_data_viewer viewer = super(GlueApplication, self).new_data_viewer(viewer_class, data=data, state=state) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\core\application_base.py", line 82, in new_data_viewer c = viewer_class(self._session) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\viewers\common\qt\data_viewer.py", line 27, in call obj = type.call(cls, *args, *kwargs) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\utils\matplotlib.py", line 165, in wrapper return func(args, kwargs) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\viewers\image\qt\data_viewer.py", line 46, in init MatplotlibImageMixin.setup_callbacks(self) File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\viewers\image\viewer.py", line 49, in setup_callbacks self.axes._composite_image = imshow(self.axes, self.axes._composite, aspect='auto', File "C:\Users\Ed\anaconda3\envs\glue-env-38\lib\site-packages\glue\viewers\image\frb_artist.py", line 79, in imshow axes.images.append(im) AttributeError: 'ArtistList' object has no attribute 'append'

dhomeier commented 1 month ago

That is a known incompatibility with matplotlib 3.5+, fixed in #2250 for 1.2.1 – you have 1.2.0, but the conda install should give you at least 1.2.4. Not sure if that is an issue with Anaconda, Windows, Python 3.8 or everything together. Could you try to

SCO-SCI commented 1 month ago

Yes, that worked fine. I believe you are right, there must be a bug in Conda because Conda installs glueviz 1.2.0 by default. Once I updated glue to 1.2.4 the problem was fixed. By the way, I could only get it working on Python 3.9. I tried 3.10, 11, 12, and 12.4, but glue would not start in those environments. The combination that appears to work is Python 3.9 and glueviz 1.2.4. Thanks for your help.

dhomeier commented 1 month ago

Thanks for the feedback! 3.9 should get you a good bit further; probably need to investigate further how to bring the glueviz conda channel fully up to date, or update the installation instructions to use miniconda+condaforge or another channel.