MouseTrap Status

From Foss2Serve
Revision as of 00:12, 20 December 2012 by Aheilman (Talk | contribs)
Jump to: navigation, search

Please state the versions and OS you are currently working with so that versioning errors can be ruled out.

Team Member Name Installed packages
Amber
Package Name Version
Fedora 17
Gnome 3.4.2
Python 2.7.3
gtk2 2.4.13
pygtk2 2.24.0
opencv (cv) 2.3.1
python-xlib 0.15
at-spi-python (python-pyspi) 1.32.0
gnome-common 3.4.0.1
glib2-devel (libglib2.0-dev) 2.32.4
intltool 0.50.2


Logan
Package Name Version
Fedora 17
Gnome 3.4.2
Python 2.7.3
gtk2 2.24.13
pygtk2 2.24.0
opencv 2.3.1
python-xlib 0.15
at-spi-python (python-pyspi) 1.32.0
gnome-common 3.4.0.1
glib2-devel (libglib2.0-dev) 2.32.4
doxygen 1.8.1
intltool 0.50


Please enter the status of the ongoing project below

Contents

Amber Status

Date Entry


12.10.2012 Full install of mousetrap complete. Config file was manipulated to include failed dependency on 'python-opencv' which has been updated and the package is now referred to as 'cv'. Other dependencies are outdated or the names have been changed as well (xlib-python, etc). New errors with 'gobject' have been identified. Here is the recorded error when running mousetrap:


 ImportError: could not import gobject
 (error was: ImportError('When using gi.repository you must not import static modules like "gobject".
 Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))
 ^C[amber@localhost src]$ Traceback (most recent call last)
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 50, in <module>
   from lib import httpd, dbusd, settings
 File "mousetrap/app/lib/httpd.py", line 31, in <module>
   import mouse
 File "mousetrap/app/lib/mouse.py", line 30, in <module>
   import pyatspi
 File "/usr/lib/python2.7/site-packages/pyatspi/__init__.py", line 17, in <module>
   from gi.repository import Atspi
 File "/usr/lib/python2.7/site-packages/gi/__init__.py", line 23, in <module>
   from ._gi import _API, Repository

Fix: changed import gobject to from gi.repository import GObject like suggested and changed all instances of gobject to GObject

 Changed these files:
 mousetrap/app/main.py
 mousetrap/app/addons/recalc.py
 mousetrap/app/addons/cpu.py
 mousetrap/app/ui/widgets.py
 mousetrap/ocvfw/dev/camera.py


12.11.2012 New error is present:
 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name(name) == 0' failed
 import gobject._gobject
 Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 293, in OcvfwPython
   [])
 ImportError: No module named opencv.cv
 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 ^CTraceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 293, in OcvfwPython
   [])

Will attempt to remove instances of broken dependency opencv to the newer cv


12.17.2012 Bug for pygobject is here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649861
  • The fix is to upgrade to version 3 of gtk?
  • Changed line in configure.in file to AM_CHECK_PYMOD(cv,,,[AC_MSG_ERROR(Could not find python module cv)]) to fix opencv problem when creating make files
  • Highgui no longer exists in the new API for cv (once known as opencv) and it should just be called as cv.whatever.
  • cvCreateCameraCapture() no longer exists, replaced with cv.CaptureFromCAM().

New Error

 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 101, in start
   self.itf = MainGui(self)
 File "mousetrap/app/ui/main.py", line 54, in __init__
   self.script = self.ctr.script()
 File "mousetrap/app/main.py", line 229, in script
   return get_script_class(self.cfg.get("scripts", "name"))()
 File "mousetrap/app/ui/scripts/__init__.py", line 45, in get_script_class
   script = __import__(script_name, globals(), locals())
 File "mousetrap/app/ui/scripts/joystick.py", line 36, in <module>
   from ..widgets import Mapper
 File "mousetrap/app/ui/widgets.py", line 236, in <module>
   GObject.type_register(Mapper)
 TypeError: argument must be a GObject subclass

Will look into gtk and GObject for error


12.19.2012
  • In this particular file: widgets.py, we actually want to import gobject directly and type_register the Mapper using gobject. After doing this, I have the Window pop up and now a new error has come up.

New Error

 /usr/lib/python2.7/site-
 packages/gobject/constants.py:24: Warning: 
 g_boxed_type_register_static: assertion 
 `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add   
 (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 INFO: mousetrap - MouseTrap's Interface Built and  
 Loaded
 Traceback (most recent call last):
 File "mousetrap/ocvfw/dev/camera.py", line 116, in sync
   Camera.query_image()
 File "mousetrap/ocvfw/_ocv.py", line 125, in query_image
   frame = co.hg.cvQueryFrame( self.capture )
 AttributeError: 'module' object has no attribute 'cvQueryFrame'
 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(),   self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 128,   in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 148, in get_forehead
   face     =   self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 335, in get_haar_points
   cascade = co.cv.cvLoadHaarClassifierCascade( haarCascade, self.imgSize )
 AttributeError: 'module' object has no attribute 'cvLoadHaarClassifierCascade'
 /usr/local/bin/mousetrap: line 139:  6073   Segmentation fault      (core dumped)   /usr/bin/python -c "import mousetrap.app.main as   mousetrap; mousetrap.Controller().start();" "$ARGS"


  • Changed line 335 in _ocv.py to cascade = co.cv.LoadHaarClassifierCascade( haarCascade, self.imgSize )
  • Changed line 125 in _ocv.py to frame = co.hg.QueryFrame( self.capture )
  • Changed import to 'import gobject._gobject' and changed gobject.register_type(Mapper) to '_gobject.register_type(Mapper)'

I have no other error besides this:

 /usr/lib/python2.7/site-  packages/gobject/constants.py:24: Warning:   g_boxed_type_register_static: assertion   `g_type_from_name (name) == 0' failed
 import gobject._gobject

I believe this is explained in this reported bug: https://bugs.launchpad.net/bzr-gtk/+bug/923824

Logan Status

12/15/12

  • Was successfully able to fix opencv issue by changing the single line "import opencv" in "configure" to be "import cv".
  • When trying to run mousetrap receiving error "ImportError: No module named mousetrap.app.main"
    • As Amber had mentioned, must be in the src directory before running the "mousetrap" command. Thank you =]
      • >> Fix: Are you in the src directory when you run the command 'mousetrap', for the moustrap.app.main error? (Amber)

12/16/12

  • ImportError: could not import gobject (error was: ImportError('When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))
    • Changed all instances by running
grep -rl 'import gobject' ./ | xargs sed -i 's/import gobject/from gi.repository import GObject/g
  • Then changed all instances of gobject to GObject with command
grep -rl 'gobject' ./ | xargs sed -i 's/gobject/GObject/g

12/19/12

  • New Error:
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 298, in OcvfwPython
   [])
 ImportError: No module named highgui
    • Changed "opencv.highgui" in mousetrap/ocvfw/backends/OcvfwPython.py to "cv"
  • Another error:
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion  `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
DEBUG: mousetrap.ocvfw.idm -> Setting Capture
DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 93, in start
   self.idm.set_capture(self.cfg.getint("cam", "inputDevIndex"))
 File "mousetrap/ocvfw/idm/forehead.py", line 108, in set_capture
   self.cap = Capture(async=True, idx=cam, backend="OcvfwPython")
 File "mousetrap/ocvfw/dev/camera.py", line 71, in __init__
   Camera.start_camera()
 File "mousetrap/ocvfw/_ocv.py", line 111, in start_camera
   self.capture = co.hg.cvCreateCameraCapture( int(self.idx) )
AttributeError: 'module' object has no attribute 'cvCreateCameraCapture'
    • As Amber mentioned, 'cvCreateCameraCapture' no longer exhists. Replaced the line "self.capture = co.hg.cvCreateCameraCapture( int(self.idx) )" with self.capture = co.hg.CaptureFromCAM( int(self.idx) ) in mousetrap/ocvfw/backends/OcvfwBase.py and mousetrap/ocvfw/_ocv.py.
  • Now receiving the same GObject error as Amber:
Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
DEBUG: mousetrap.ocvfw.idm -> Setting Capture
DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
DEBUG: ocvfw -> cmStartCamera: Camera Started
DEBUG: Camera -> Loaded backend OcvfwPython
DEBUG: OcvfwBase -> Changed lk_swap value to True
INFO: mousetrap - Idm loaded and started
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 101, in start
   self.itf = MainGui(self)
 File "mousetrap/app/ui/main.py", line 54, in __init__
   self.script = self.ctr.script()
 File "mousetrap/app/main.py", line 229, in script
   return get_script_class(self.cfg.get("scripts", "name"))()
 File "mousetrap/app/ui/scripts/__init__.py", line 45, in get_script_class
   script = __import__(script_name, globals(), locals())
 File "mousetrap/app/ui/scripts/joystick.py", line 36, in <module>
   from ..widgets import Mapper
 File "mousetrap/app/ui/widgets.py", line 237, in <module>
   GObject.type_register(Mapper)
TypeError: argument must be a GObject subclass
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox