fxihub / owl Goto Github PK
View Code? Open in Web Editor NEWCXI viewer written in python
CXI viewer written in python
When changing from Value->% Range the numbers are converted so they correspond to the same Value. But when changing the other way around they are not.
Also the values do not seem to be updated when an new image is selected.
Recently (last week) I got an error when opening files using the GUI interface in owl
(passing as argument was still fine). After some debugging I found that it was related to PyQt4 (which had been installed by brew
without my notice and has precedence over PySide in Qt.py):
=== PYSIDE ===
[test:555 18:22:51] python owl.py
I am using: 0 (0 = PySide, 1 = PyQt4, 2 = PyQt5)
Filename: /net/davinci/scratch/fhgfs/xray/amoc6914/cheetah/cheman_test/data/test/r0092_20150210_114827/amoc6914-r0092.cxi
=== PYQT4 ===
[test:556 18:23:12] python owl.py
I am using: 1 (0 = PySide, 1 = PyQt4, 2 = PyQt5)
Filename: /
Traceback (most recent call last):
File "/Users/sellberg/uu/source/owl/owl.py", line 461, in _openFileClicked
self._openCXIFile(fileName[0])
File "/Users/sellberg/uu/source/owl/owl.py", line 108, in _openCXIFile
self.fileLoader.loadFile(filename)
File "/Users/sellberg/Documents/RESEARCH/source/owl/cxi/fileloader.py", line 45, in loadFile
err = self.openFile(fullFilename)
File "/Users/sellberg/Documents/RESEARCH/source/owl/cxi/fileloader.py", line 26, in openFile
self.f = h5py.File(fullFilename,mode)#,libver='latest')
File "/Library/Python/2.7/site-packages/h5py/_hl/files.py", line 222, in init
fid = make_fid(name, mode, userblock_size, fapl)
File "/Library/Python/2.7/site-packages/h5py/_hl/files.py", line 79, in make_fid
fid = h5f.open(name, h5f.ACC_RDONLY, fapl=fapl)
File "h5f.pyx", line 71, in h5py.h5f.open (h5py/h5f.c:1812)
IOError: Unable to open file (File read failed: time = tue feb 10 18:23:34 2015
, filename = '/', file descriptor = 19, errno = 21, error message = 'is a directory', buf = 0x7fff58dd3220, total read size = 8, bytes this sub-read = 8, bytes actually read = 18446744073709551615, offset = 0)
The reason for this is that PySide (1.2.2) returns tuple-nested unicode and PyQt4 (4.8.6) returns unicode when calling QtGui.QFileDialog.getOpenFileName(). Will submit a quick and dirty fix for this now, but there may be a better solution to this issue...
It would be great to be able to show the value (and position) in 1D plot (e.g. cheetah/event_data/peakNpix) when a specific 2D image is selected, so that when image 175 is selected, then something like what is shown below should pop up (info about specific values to the right side of the 1D graph, and the yellow bar indicator automatically move to the correct shot):
This would be the opposite of clicking on a position in the 1D graph and having the correct 2D image show up. I will take a go at implementing this and will scream for help if I get stuck.
Clearing the mask bits in the menu, accessed by clicking on the mask button, does not clear the ticks on that menu.
Triggered error message:
Traceback (most recent call last):
File "/Users/hantke/Work/programs/owl/views/view2d.py", line 836, in paintGL
self._updateTextures(visible)
File "/Users/hantke/Work/programs/owl/views/view2d.py", line 1035, in _updateTextures
pattersonParams = self.data.pattersonItem.getParams(img)
AttributeError: 'NoneType' object has no attribute 'getParams'
Traceback (most recent call last):
File "/Users/benedikt/phd-project/software/owl/dataloader.py", line 400, in loadImage
shape = (min(self.imageData[img].shape[0], 8192), min(self.imageData[img].shape[1], 8192))
File "/Users/benedikt/phd-project/software/owl/cache.py", line 24, in getitem
retval = self.dict.pop(key)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/collections.py", line 143, in pop
raise KeyError(key)
KeyError: 3
Traceback (most recent call last):
File "/Users/benedikt/phd-project/software/owl/view2d.py", line 774, in generateTexture
maskData = self.loaderThread.maskData[img]
File "/Users/benedikt/phd-project/software/owl/cache.py", line 24, in getitem
retval = self.dict.pop(key)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/collections.py", line 143, in pop
raise KeyError(key)
KeyError: 2
The reason why everything gets stuck here is that h5py lock the GIL when doing things.
To fix it we would need to move the loader to a different process and this would prevent Carl's hack with cheetah and the loader sharing the same hdf5 lib.
There's an error in the console when hiding and showing the 2D viewer.
raceback (most recent call last):
File "/Users/filipe/src/owl/view2d.py", line 538, in paintGL
visible = self.visibleImages()
File "/Users/filipe/src/owl/view2d.py", line 613, in visibleImages
top_left = self.windowToViewIndex(0,0,0,checkExistance=False,clip=False)
File "/Users/filipe/src/owl/view2d.py", line 889, in windowToViewIndex
(x,y) = (int(numpy.floor(x/(self.data.width()+self.subplotSceneBorder()))),int(numpy.floor(-y/(self.data.height()+self.subplotSceneBorder()))))
ValueError: cannot convert float NaN to integer
Traceback (most recent call last):
File "/Users/filipe/src/owl/view2d.py", line 538, in paintGL
visible = self.visibleImages()
File "/Users/filipe/src/owl/view2d.py", line 613, in visibleImages
top_left = self.windowToViewIndex(0,0,0,checkExistance=False,clip=False)
File "/Users/filipe/src/owl/view2d.py", line 889, in windowToViewIndex
(x,y) = (int(numpy.floor(x/(self.data.width()+self.subplotSceneBorder()))),int(numpy.floor(-y/(self.data.height()+self.subplotSceneBorder()))))
ValueError: cannot convert float NaN to integer
Commit f2b41db
Traceback (most recent call last):
File "./owl.py", line 530, in handleStackSizeChanged
self.dataProp.updateShape()
File "/Users/filipe/src/owl/dataprop.py", line 436, in updateShape
shape = list(self.shapeCache)
AttributeError: 'DataProp' object has no attribute 'shapeCache'
The implementation of scatter plots in pyqtgraph is inherently slow. For every point a symbol is drawn which becomes time-critical for data of more than about 1000 points. Drawing just the lines is fast.
We could extend pyqtgraph with a method drawing all points at once for solving this.
From Kartik:
I am using the filter feature in Owl to look at subsets of datasets. Can we have an option to look at the powder sum of the filtered set. It would help in determining the cutoff values for the filters.
It would be great to have an option to tag or untag all visible frames, e.g. when filtering on a certain parameter. We could use a key stroke in combination with clicking on the tags to toggle tagging of all/no visible frames.
Owl asks about saving of tags, even though I just saved tags manually
Due to lack of precision of OpenGL when there is a very large number of images in the stack their location is not always correct. You can for example see that the margin between images is not constant. This is a fundamental problem with OpenGL coordinates being only 32-bit floating point values.
The tags are not saved.
From Kartik:
I hacked my copy to assume everything is a stack regardless of whether it has the
experiment_identifier
attribute. I guess this violates the CXI file format requirement, but I find it easier to just take random h5 files then.
Traceback (most recent call last):
File "./owl.py", line 502, in _toggleCXIStyleSheet
self.setStyleSheetFromFilename("stylesheets/dark.stylesheet")
AttributeError: 'Viewer' object has no attribute 'setStyleSheetFromFilename'
Here is the full traceback:
Traceback (most recent call last):
File "/Users/louisdoctor/software/owl/views/view2d.py", line 825, in paintGL
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT)
File "/usr/local/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 402, in call
return self( _args, *_named )
File "/usr/local/lib/python2.7/site-packages/OpenGL/error.py", line 232, in glCheckError
baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
err = 1286,
description = 'invalid framebuffer operation',
baseOperation = glClear,
cArguments = (16640,)
)
When changing something in the model and then closing owl without saving the changes, I get: Segmentation fault: 11
When changing some parameter of the model, I cannot save the changes:
Traceback (most recent call last):
File "/Users/benedikt/phd-project/software/owl/owl.py", line 487, in _saveModelsClicked
self.fileLoader.saveModels()
File "/Users/benedikt/phd-project/software/owl/cxi/fileloader.py", line 203, in saveModels
m.saveParams()
File "/Users/benedikt/phd-project/software/owl/parameters.py", line 101, in saveParams
ds.resize(p.shape)
File "/Users/benedikt/phd-project/software/owl/h5proxy/h5proxy.py", line 177, in resize
return self._client.call('resize', fileName=self._fileName, path=self._path, size=size, axis=axis)
File "/Users/benedikt/phd-project/software/owl/h5proxy/client.py", line 18, in call
return self._ser.call(args)
File "/Users/benedikt/phd-project/software/owl/h5proxy/serializer.py", line 29, in call
ret, _ = self._serialize(self._server.handleRPC(data),[],None,None)
File "/Users/benedikt/phd-project/software/owl/h5proxy/server.py", line 78, in handleRPC
return functionsfname
File "/Users/benedikt/phd-project/software/owl/h5proxy/server.py", line 165, in resize
return self.resolve(fileName, path).resize(size, axis)
File "/Library/Python/2.7/site-packages/h5py/_hl/dataset.py", line 267, in resize
raise TypeError("Only chunked datasets can be resized")
TypeError: Only chunked datasets can be resized
It's not possible to delete the last tag.
After clicking the exit "X" the application crashes. Probably variables are not cleaned up in the right order.
hgsur-a@Precision7910:~/cxdi/r0183_20150210_1158$ owl amoc6914-r0183.cxi
/home/hgsur-a/git/owl/owl.py amoc6914-r0183.cxi
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(python:6072): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion 'GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
...
When closing owl, I get a segmentation fault:11 with the error message
"Python quit unexpectedly while using the QtCore plug-in."
Can someone try to reproduce this? It might be related to a not clean deinstallation of PIL, as I played around with PIL recently in order to use the SavePNG option.
Sometimes I get the following error:
Traceback (most recent call last):
File "/Users/filipe/src/owl/view2d.py", line 752, in mousePressEvent
info = self.getPixelInfo(img,ix,iy)
File "/Users/filipe/src/owl/view2d.py", line 767, in getPixelInfo
if self.loaderThread.maskData[img] == None:
File "/Users/filipe/src/owl/cache.py", line 24, in getitem
retval = self.dict.pop(key)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/collections.py", line 143, in pop
raise KeyError(key)
KeyError: 10
This was with version e7eac8f
When adding a new tag, is not immediately possible to use this tag for filtering, one has to close and open the file instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.