1 – FAQ

Frequently Asked Questions about the Argus Project:

What is Argus?

Argus is a suite of freely available, open source tools designed to allow researchers to quantify 3D position and motion using multi-camera videography with consumer grade hardware such as dSLR and GoPro cameras. The entire workflow from computing lens intrinsic parameters to synchronizing cameras via audio cross-correlation to performing sparse bundle adjustment calibration and digitizing (i.e. annotating) points have graphical interfaces functional in current Windows, MacOS and Linux operating systems. Most Argus components and operations are also exposed for use in other Python programs.

Argus also has some features that may be useful to non-researchers, for instance in quantifying and removing fisheye lens distortion from movies.

How do I get Argus?

Please see the Installation page.

What operating systems are supported by Argus?

Argus will work on all three of the major operating systems, i.e. Windows, Mac OS, and Linux. Argus supports Windows 7 and greater, Mac OS 10.8 and greater, and any version of Linux that supports OpenCV 2.4.11; all Linux testing is performed using Ubuntu 14.04.

Are there any other requirements for running Argus?

Argus-Clicker requires OpenGL.  Thus, you must have OpenGL installed and you must have an OpenGL supported graphics card and drivers. This includes most modern computers but does not always include virtual environments such as VirtualBox or VMware Workstation or remote desktop displays.

I work in video production.  Can Argus do anything for me?

Argus DWarp is potentially of interest for people working in video production and design.  Dwarp is designed to remove lens distortion from videos and save the results out for use elsewhere. DWarp currently supports various GoPro shooting modes, but any camera and shooting mode can be calibrated for distortion removal with the Argus suite.  We provide a tutorial just for people who wish to do just this.

How should I cite Argus?

If you’re using Argus as part of scientific research, we ask that you cite our  open access paper describing its operation.

3D for the people: multi-camera motion capture in the field with consumer-grade cameras and open source software
Brandon E. Jackson, Dennis J. Evangelista, Dylan D. Ray, Tyson L. Hedrick

What is Argus built on?

Argus is written for Python 2.7 and 3.x and uses OpenCV 2+ for many operations.  However, a variety of other Python modules are also bundled with Argus.  Check out the documentation for a comprehensive list of their names and licenses.

29 comments on “1 – FAQ
  1. Clinton Moran says:

    Hello,

    I am getting a “tuple index out of range” error message after running my wand calibration and I am not sure what this means. I could not find any information in any of the materials on the website that addresses this issue. Can you please help with this?

    Additionally, if I am using two different cameras (Hero 4 and Hero 3) how do I address the issue of them having different cameral profiles?

    • Dylan Ray says:

      Hi Clinton,

      Can I see the error message as printed? Also, you might try cloning the latest argus_gui from https://bitbucket.org/kilmoretrout/argus_gui. If you are using an older version of Argus, this issue may have been fixed.

      Using two different cameras in a stereo setup is supported. A camera profile contains information for multiple cameras even if they happen to be the same. Simply make your camera profile according to the documentation (page 29 in the PDF). An example of a two-camera profile would be:

      1 950 1920 1080 960 540 1 0 0 0 0 0
      2 1020 1920 1080 960 540 1 0.1 0.25 0 0 0

      Here each row is a unique camera and the columns (12 in total) are made according to the docs. Every camera profile in Argus assumes the cameras are unique, but for our work we mostly use 3 or more of the same camera and our profiles all have the same rows.
      Hope this helps. For faster response, email me at ddray1993@gmail.com and put Argus somewhere in the title.

      Best,
      Dylan

  2. Alex says:

    Hi there, I recently installed the software on Python 2.7. The first four modules all work perfectly with the tutorial material but every time I try to run Go in the ‘Clicker’ module, it gives me this error:

    Traceback (most recent call last):
    File “C:\Python27\lib\site-packages\argus_gui-2.1.dev3-py2.7.egg\argus_gui\resources\scripts/argus-click”, line 18, in
    from pyglet.window import key
    File “_build\bdist.win-amd64\egg\pyglet\window\__init__.py”, line 1769, in
    File “_build\bdist.win-amd64\egg\pyglet\window\win32\__init__.py”, line 59, in
    File “_build\bdist.win-amd64\egg\pyglet\canvas\__init__.py”, line 99, in
    File “_build\bdist.win-amd64\egg\pyglet\canvas\win32.py”, line 7, in
    File “_build\bdist.win-amd64\egg\pyglet\libs\win32\__init__.py”, line 237, in
    NameError: name ‘PUINT’ is not defined

    Please help!

  3. Chien says:

    hi,

    We are trying to figure out a way to do the indoor position tracking for 16 people who walking around in 10 x 10 meter space. Is it possible for argus to do this?

    Thanks for your help.

    • Tyson Hedrick says:

      Hi Chien,

      You could use Argus for this task, in that Argus can calibrate a network of cameras covering the 10×10 m space and then use the manual tracking interface to track each of the 16 people. However, Argus does not include any special functions for automatically tracking people, so you might want to use Argus to get your camera calibration and then develop a Python/OpenCV workflow to do autotracking.

  4. Michael Justice says:

    Hello, I am using a Macbook Pro with macOS Mojave version 10.14.1

    When using sync, patterns, calibrate, clicker, and wnad, the gui is missing all of the text on the buttons like the plus sign, open file, go, etc Is there a way to fix that?

    • Tyson Hedrick says:

      Hi Michael,

      Unfortunately I don’t have an easy fix for you; it usually takes a while for all Argus and all its dependencies to catch up with the changes Apple introduces in each new MacOS version. That said, what install recipe did you use? This sounds like a TKinter problem, so just getting the right version of that library installed might fix your problems.

      Cheers,
      Ty Hedrick

    • Brandon Jackson says:

      Hi, Michael:
      If you haven’t fixed this already (or for others with this problem) try turning off Dark Mode on your computer. Go to System Preferences > General. Dark vs. light mode is the first option.

      Cheers,
      Brandon Jackson

  5. Patrick says:

    Hello,

    I have a problem trying to pip install the opencv package. I attempted both on my laptop and one of my lab’s computer. The prompt I always get is “Could not find a version that satisfies the requirement opencv (from versions: ) No matching distribution found for opencv. I had downloaded the different versions of the package with the specified _amd64 as well and received the same result. I have no problems pip installing the other packages.

  6. Dear Argus Team,

    I installed Argus on my new MacPro running Mojave version 10.15.5. After following the instructions listed on your page, I ran “Argus” in a new terminal window and was given the following message “”. Please advise on the steps I should take to rectify this situation.

    Thank you.

    • Brandon Jackson says:

      Hi, Clint:
      We have had a number of problems with the Anaconda installation in Sierra, High Sierra, and Mojave. Unless you depend on Anaconda for other work, I suggest you completely uninstall Anaconda (in Terminal: rm -r ~/miniconda/ will do it) and use the homebrew-based installation instructions on the main installation page. I have run three installations on three different Mojave machines in the past month, and have recently updated the installation instructions there.

      If you need to use Anaconda, it looks like the opencv installation failed (which is one of the problems anaconda causes). The argus in anaconda installation instructions for Mac include some instructions for testing the opencv installation.

      Please let us know if you hit any other problems!

      Brandon

  7. Dear Argus Team,

    I posted a comment earlier but I did not include the error message. This is the error message I received after installing Argus on my MacPro running Mojave 10.14.5.

    (base) CollinsLabs-iMac:~ collinslab$ Argus
    Unable to revert mtime: /Library/Fonts
    Traceback (most recent call last):
    File “/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py”, line 359, in get_provider
    module = sys.modules[moduleOrReq]
    KeyError: ‘argus_gui.resources’

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/anaconda3/bin/Argus”, line 13, in
    RESOURCE_PATH = os.path.abspath(pkg_resources.resource_filename(‘argus_gui.resources’, ”))
    File “/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py”, line 1144, in resource_filename
    return get_provider(package_or_requirement).get_resource_filename(
    File “/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py”, line 361, in get_provider
    __import__(moduleOrReq)
    File “/anaconda3/lib/python3.7/site-packages/argus_gui/__init__.py”, line 17, in
    from .graphers import *
    File “/anaconda3/lib/python3.7/site-packages/argus_gui/graphers.py”, line 21, in
    from .tools import *
    File “/anaconda3/lib/python3.7/site-packages/argus_gui/tools.py”, line 4, in
    import cv2
    ModuleNotFoundError: No module named ‘cv2’

  8. jaehuyun says:

    Hi!

    I am trying to install on MAC

    When i run argus, I’ve got this error messages:

    module ‘cv2’ has no attribute ‘CALIB_FIX_PRINCIPAL_POINT’

    • Brandon Jackson says:

      Hi, jaehuyn: There have been some recent updates to opencv that may cause problems with Argus, and I just updated the installation instructions. Please run the following, then try opening argus again.
      In your terminal, run:
      brew uninstall opencv
      pip3 install opencv-contrib-python==3.4.5.20

  9. Gara says:

    Hello,

    Can argus be used when imaging through different several media such as air, acrylic and water? I want to perform experiments on swimming animals using multi-cameras. Animals will be in the tank filled with water and covered with acrylic sheet. The cameras will look down on the region at an angle.

    • Brandon Jackson says:

      Hi, Gara:
      That is a difficult problem because each camera will have different “lenses”. Ideally, you would have your cameras as close to, and as orthogonal to, the glass as possible. Then you would need to film a dot grid in the area you expect the animals, and generate specific distortion profiles for each camera. Once you have those profiles, you would use the wand calibration to do the 3d reconstruction. There are several labs trying to do this.

      Please contact us if you need more help!

      Brandon Jackson

  10. Sheng says:

    Dear Argus Team,

    I am trying to install Argus but I kept running into the following message:

    Traceback (most recent call last):
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py”, line 359, in get_provider
    module = sys.modules[moduleOrReq]
    KeyError: ‘argus_gui.resources’

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/Library/Frameworks/Python.framework/Versions/3.8/bin/argus”, line 13, in
    RESOURCE_PATH = os.path.abspath(pkg_resources.resource_filename(‘argus_gui.resources’, ”))
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py”, line 1144, in resource_filename
    return get_provider(package_or_requirement).get_resource_filename(
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py”, line 361, in get_provider
    __import__(moduleOrReq)
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/argus_gui/__init__.py”, line 21, in
    from .sbaDriver import *
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/argus_gui/sbaDriver.py”, line 15, in
    import sba
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sba/__init__.py”, line 5, in
    from sba.projections import *
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sba/projections.py”, line 30, in
    _libsbaprojs = ctypes.CDLL(“libsbaprojs.dylib”)
    File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ctypes/__init__.py”, line 373, in __init__
    self._handle = _dlopen(self._name, mode)
    OSError: dlopen(libsbaprojs.dylib, 6): no suitable image found. Did find:
    file system relative paths not allowed in hardened programs

    I am currently using Catalina macOS, I don’t if that would help in solving the problem.

    Many thanks,

    Sheng

    • Brandon Jackson says:

      Hi, Sheng:
      I have just added instructions to the installation instructions page specifically for Catalina. Start by uninstalling homebrew (unless you use it for anything else), then go through those instructions. Please let us know how it goes!

      Brandon

      • Francisko de Moraes Rezende says:

        Hi!

        Just dropping by to say that the installation worked for me. I’m using Catalina 10.15.4 🙂

  11. Clara Morency says:

    Dear Argus Team,

    I’ve tried to install Argus and followed the instruction for Windows, but I keep running into an error message :

    Ran pip subprocess with arguments:
    [‘C:\\Users\\labuser\\anaconda3\\envs\\Argus\\python.exe’, ‘-m’, ‘pip’, ‘install’, ‘-U’, ‘-r’, ‘C:\\Users\\labuser\\Desktop\\condaenv.1iazqdqk.requirements.txt’]
    Pip subprocess output:
    Collecting git+https://github.com/kilmoretrout/argus_gui.git (from -r C:\Users\labuser\Desktop\condaenv.1iazqdqk.requirements.txt (line 7))
    Cloning https://github.com/kilmoretrout/argus_gui.git to c:\users\labuser\appdata\local\temp\pip-req-build-6o_nve9u

    Pip subprocess error:
    Running command git clone -q https://github.com/kilmoretrout/argus_gui.git ‘C:\Users\labuser\AppData\Local\Temp\pip-req-build-6o_nve9u’
    ERROR: Error [WinError 2] The system cannot find the file specified while executing command git clone -q https://github.com/kilmoretrout/argus_gui.git ‘C:\Users\labuser\AppData\Local\Temp\pip-req-build-6o_nve9u’
    ERROR: Cannot find command ‘git’ – do you have ‘git’ installed and in your PATH?

    CondaEnvException: Pip failed

    I simply cannot run Argus for now.

    Can someone please tell me what I am doing wrong? I was looking forward to use the calibration tool for GoPro distortion and I was so pleased to know it was compatible with easyWand.

    Cheers,
    Clara Morency

    • Tyson Hedrick says:

      FYI, this should be resolved by doing “conda install git” prior to doing the *.yaml install

      We’re working on adding that to the overall install instructions and to the *yaml file itself.

      Cheers,
      Ty

  12. Arnaud says:

    Dear Argus team,

    Sometimes I get this error message at the end of the Calibrate module and I don’t know how to resolve it. Do you have any ideas?

    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\argus_gui\resources\scripts/argus-calibrate”, line 109, in
    argus.summarize(ofile)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\argus\outputs.py”, line 113, in summarize
    data = pandas.read_csv(ofilename)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\pandas\io\parsers.py”, line 678, in parser_f
    return _read(filepath_or_buffer, kwds)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\pandas\io\parsers.py”, line 440, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\pandas\io\parsers.py”, line 787, in __init__
    self._make_engine(self.engine)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\pandas\io\parsers.py”, line 1014, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
    File “C:\Users\dathi\anaconda3\envs\Argus\lib\site-packages\pandas\io\parsers.py”, line 1708, in __init__
    self._reader = parsers.TextReader(src, **kwds)
    File “pandas\_libs\parsers.pyx”, line 384, in pandas._libs.parsers.TextReader.__cinit__
    File “pandas\_libs\parsers.pyx”, line 697, in pandas._libs.parsers.TextReader._setup_parser_source
    OSError: Initializing from file failed

    • Tyson Hedrick says:

      Hi Arnaud, you say that sometimes you get this error – do you have any sense of what might trigger it, or even better a repeatable test case?

      Thanks,
      Ty Hedrick

      • Tyson Hedrick says:

        In consultation with Brandon Jackson – “Pandas either can’t open the file because of permissions (it’s windows, so maybe the file is open in another app or instance), or the file or path are corrupt. I’m not in front of my computer right now to check what that line is doing, but I think it’s making the final csv of all the replicates. If the have that open in excel from a previous run, I think it might fail like this on windows. “

  13. Arnaud says:

    Hello and thank you Ty,
    I’m looking into it.
    And I said sometimes but it’s all the time.
    I wanted to keep you informed of my progress.

    Arnaud

  14. Aidan says:

    Dear Argus Team,

    After successfully running the line “conda activate Argus”
    I am met with
    “macOS 12 (1207) or later required, have instead 12 (1206) !
    zsh: abort argus”
    after attempting to run the line “argus”.

    I am not sure of how to get around this, since I am using an iMac with macOS Monterey version 12.7.3.

    Do you know of any ways around this issue?

    Thanks,
    Aidan

    • Aidan says:

      Thank you, I was able to install ARGUS. One new issue that Ive come across is while using the Sync feature, I am met with:

      OpenCV: Couldn’t read video stream from file “/Users/birdlab/Documents/Aidan & Justice/GoPro Files/Camera 1/March 18”
      Found audio from file number 1…
      Found audio from file number 2…
      Found audio from file number 3…
      Traceback (most recent call last):
      File “/opt/miniconda3/envs/Argus/lib/python3.6/site-packages/argus_gui/resources/scripts/argus-sync”, line 53, in
      syncer.sync()
      File “/opt/miniconda3/envs/Argus/lib/python3.6/site-packages/argus_gui/sync.py”, line 65, in sync
      if not os.path.isfile(tmpName + ‘/’ + out[k]):
      IndexError: list index out of range

      And am unable to determine the frame offset, although the sound waves are visible.

      Do you know how to get around this?

      Thanks,
      Aidan

Leave a Reply to Brandon Jackson Cancel reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.