Social-Evolution-and-Behavior / anTraX

anTraX: high throughput tracking of color-tagged insects
https://antrax.readthedocs.io/
GNU General Public License v3.0
17 stars 3 forks source link

The multi-colony masks do not get generated when using MATLAB full installation #41

Open janamach opened 2 years ago

janamach commented 2 years ago

This might be a my-system-specific-bug, but I will report it here in case someone else experiences a similar problem.

When using MATLAB full installation and trying to use the multi-colony option, "geometry_multi_colony": gets set to true in prmtrs.json, but no mask png is generated and I get the following errors on master and other branches:

$ antrax configure 25C

==================================================================================

Welcome to anTraX - a software for tracking color tagged ants (and other insects)

==================================================================================

20/09/22 11:18:05 -D- antrax cli entry point
11:18:14 -D- starting antrax configure app
11:18:15 -D- set_experiment function
11:18:15 -D- initializing expreader object
11:18:15 -I- Reading video information from file
Error using imread>get_full_filename (line 566)
File "25C/antrax/parameters/masks/colony_index_mask.png" does not exist.

Error in imread (line 375)
    fullname = get_full_filename(filename);

Error in trhandles/load_masks (line 272)
                Trck.Masks.colony_index_mask = imread([mskdir,'colony_index_mask.png']);

Error in trhandles.load (line 1026)
            Trck.load_masks;

Error in antrax/set_experiment (line 291)
                    app.Trck = trhandles.load(app.expdir);

Error in antrax/startupFcn (line 1184)
            set_experiment(app, Trck, p.Results.session)

Error in antrax (line 3567)
            runStartupFcn(app, @(app)startupFcn(app, varargin{:}))

Traceback (most recent call last):
  File "/home/jana/anaconda3/envs/antrax/bin/antrax", line 33, in <module>
    sys.exit(load_entry_point('antrax', 'console_scripts', 'antrax')())
  File "/home/jana/src/anTraX/antrax/cli.py", line 644, in main
    """)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/sigtools/modifiers.py", line 158, in __call__
    return self.func(*args, **kwargs)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/clize/runner.py", line 363, in run
    ret = cli(*args)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/clize/runner.py", line 220, in __call__
    return func(*posargs, **kwargs)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/clize/runner.py", line 262, in _cli
    return func('{0} {1}'.format(name, command), *args)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/clize/runner.py", line 220, in __call__
    return func(*posargs, **kwargs)
  File "/home/jana/src/anTraX/antrax/cli.py", line 104, in configure
    launch_matlab_app('antrax', args, mcr=mcr)
  File "/home/jana/src/anTraX/antrax/matlab.py", line 208, in launch_matlab_app
    app = eval('eng.' + appname + '(' + ','.join([str(a) for a in args]) + ')')
  File "<string>", line 1, in <module>
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/matlab/engine/matlabengine.py", line 71, in __call__
    _stderr, feval=True).result()
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/matlab/engine/futureresult.py", line 67, in result
    return self.__future.result(timeout)
  File "/home/jana/anaconda3/envs/antrax/lib/python3.6/site-packages/matlab/engine/fevalfuture.py", line 82, in result
    self._result = pythonengine.getFEvalResult(self._future,self._nargout, None, out=self._out, err=self._err)
matlab.engine.MatlabExecutionError: 
  File /usr/local/MATLAB/R2019a/toolbox/matlab/imagesci/imread.p, line 566, in get_full_filename

  File /usr/local/MATLAB/R2019a/toolbox/matlab/imagesci/imread.p, line 375, in imread

  File /home/jana/src/anTraX/matlab/@trhandles/trhandles.m, line 272, in trhandles.load_masks

  File /home/jana/src/anTraX/matlab/@trhandles/trhandles.m, line 1026, in trhandles.load

  File /home/jana/src/anTraX/matlab/apps/antrax.mlapp, line 291, in antrax.set_experiment

  File /home/jana/src/anTraX/matlab/apps/antrax.mlapp, line 1184, in antrax.startupFcn

  File /home/jana/src/anTraX/matlab/apps/antrax.mlapp, line 3567, in antrax.antrax
File "25C/antrax/parameters/masks/colony_index_mask.png" does not exist.

However, when I use MCR (instead of the full MATLAB installation), the mask gets properly generated and multi-colony tracking works as described.