GithubHelp home page GithubHelp logo

idtracker's Introduction

idTracker

Videotracking system that keeps track of individual identities. www.idtracker.es

Main branches:

master

This branch contains the last stable and tested version of idTracker (which may be quite old). It is (or should be) the same version as the one compiled and available at www.idtracker.es/download

Beta

This branch contains the last stable and general version of idTracker. It will probably work well and is adequate for all users, but is not thoroughly tested.

Rest of branches

The rest of branches contain versions that may be tailored for specific users.

idtracker's People

Contributors

alperezescudero avatar iclemens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

idtracker's Issues

Maximum size parameter

There's a parameter for minimum size but not for maximum size. In our videos, idTracker tends to merge the images of zebrafish that are near each other. Perhaps restricting individuals to a maximum size would prevent this?

Subscript indices must either be real positive integers or logicals

Stochastically, I either get the Reference to non-existent field 'ref2trozos' error in issue #10 or this error, running on the same input video mentioned in that issue (H264 and MP4):

Subscript indices must either be real positive integers or logicals.

Error in idTracker (line 525)
                                frame=framesbuenos(ceil(rand*length(framesbuenos))); % Coge uno al azar

As in issue #10, I'm running the beta branch on MATLAB 2016a and Mac OS 10.11.4.

idTracker screws up in Linux (and maybe mac)

Linux uses / instead of \ in the paths. This is taken into account in some places, but not in others.

Daniel Calovi has already fixed this issue in his version. We should try to merge that part of the code.

On load: "The frame index requested is beyond the end of the file."

With a checkout of the beta branch and MATLAB 2016a, I get an error after the GUI is drawn when running with two arguments.

>> idTracker ../.. out.mp4

1,
Guarning!
Starting parallel pool (parpool) using the 'local' profile ... connected to 2 workers.
Error using VideoReader/read (line 160)
The frame index requested is beyond the end of the file.

Error in panel_identitracking (line 175)
frame=read(datosegm.obj{1},1);


Error in idTracker (line 285)
            [datosegm,h_panel]=panel_identitracking(datosegm);

The line numbers are different for idTracker.m because I commented out the try and catch to see the error message (otherwise it fails in the catch block due to datosegm being undefined).

Here's line 285 of idTracker.m:

        if ~isfield(datosegm,'muestrapanel') || datosegm.muestrapanel
            [datosegm,h_panel]=panel_identitracking(datosegm);  # <------------------- line 285
        end

And here's line 175 of panel_identitracking.m for reference:

datos.videoabierto=1;
frame=read(datosegm.obj{1},1); # <---------- line 175
if size(frame,3)==3
    frame=rgb2gray(frame);
end

Not saving the identities from separate maps

Currently (by default), we are saving only one identity per blob, and only if both fingerprints agree. The only current alternative is to save a bunch of information which takes too much space if there are many individuals. We should add a field like mancha2id_eachmap, which is like mancha2id but with 2 elements in the third dimension (one for each map).

If we really need the information, we can set datosegm.guardamenores_cell=true

idTracker-beta does not delete the pool of workers when it finish

When running idTracker in batch, it is needed to open and close idTracker (using S&E) for each of the videos that has to be tracked. However when opening the second session of idTracker and error occurs with the following message:

Found an interactive session. You cannot have multiple interactive sessions open simultaneously. To terminate the existing session, use 'delete(gcp('nocreate'))'.

This can be solved by running:

idTracker; delete(gcp('nocreate'))

The error also occurs when running the code idTracker_batch and it can be solved by changing the line.

idTracker(datosegm)

by the following line:

idTracker(datosegm); delete(gcp('nocreate'))

The best it would be that delete(gcp('nocreate')) would be introduced in the core code of idTracker.

Hope it helps.

about matlabpool error

sorry to bother,
when I run the idTracker executable, I encountered with a crash every time. It traces back to idTracker.m line 946.
then I decided to switch to the source code, I typed idTracker in the command window, it pops out a error message about matlabpool saying
" an error has occurred, and idTracker must lose,
that error is

matlabpool has been removed.
"

So my question is would it be helpful if I change "matlabpool" to the new API "parpool" MATLAB suggests?

hope to hear from you dude.

"A worker aborted during execution of the parfor loop"

Running similarly to what's described in issue #12 and #10 with slightly different parameters for # of individuals and intensity threshold:

Error MATLAB:remoteparfor:AllParforWorkersAborted - All workers aborted during execution of the parfor loop. en el parfor de comparamapas. Repitiendo cálculo.
Starting parallel pool (parpool) using the 'local' profile ... connected to 2 workers.
Warning: A worker aborted during execution of the parfor loop. The parfor loop will now run again on the
remaining workers. 
> In parallel_function (line 596)
  In comparamapas (line 45)
  In trozos2mancha2id (line 190)
  In idTracker (line 799) 
Error MATLAB:remoteparfor:AllParforWorkersAborted - All workers aborted during execution of the parfor loop. en el parfor de comparamapas. Repitiendo cálculo.
Starting parallel pool (parpool) using the 'local' profile ... connected to 2 workers.
Warning: A worker aborted during execution of the parfor loop. The parfor loop will now run again on the
remaining workers. 
> In parallel_function (line 596)
  In comparamapas (line 45)
  In trozos2mancha2id (line 190)
  In idTracker (line 799) 
The client lost connection to worker 2. This might be due to network problems, or the interactive communicating
job might have errored.

Clicking import tracking parameters and cancelling causes idTracker to crash

On Mac OS X 10.11.4 and MATLAB R2016a with idTracker beta. To reproduce:

  1. Call idTracker('../..', 'test.mp4')
  2. Click "import tracking parameters"
  3. Click cancel

Full output:

>> idTracker('../..', 'test.mp4')
1,
Guarning!
Starting parallel pool (parpool) using the 'local' profile ... connected to 2 workers.
Error using dir
Invalid path. The path must not contain a null character.

Error in panel_identitracking>importaparametros (line 844)
if ~isempty(dir([directorio 'segm' filesep 'datosegm.mat']))


Error in panel_identitracking>@(uno,dos)importaparametros(uno,dos,h) (line 261)
    set(h.menu_import,'Callback',@(uno,dos) importaparametros(uno,dos,h))


Error using uiwait (line 81)
Error while evaluating Menu Callback

Error using panel_identitracking (line 321)
Control panel closed by the user

Error in idTracker (line 285)
            [datosegm,h_panel]=panel_identitracking(datosegm);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.