Giter VIP home page Giter VIP logo

tracker's Introduction

tracker

Video analysis and modeling tool built on the Open Source Physics (OSP) framework.

This code requires the OSP Core Library available in the OpenSourcePhysics/osp repository.

Optional Xuggle video engine support is available in the OpenSourcePhysics/video-engines repository. Without a video engine Tracker will only open images (JPEG, PNG) and animated GIFs.

Note: Tracker includes classes to handle apple events that to compile require the Apple Java Extensions library (AppleJavaExtensions.jar) which can be downloaded here.

tracker's People

Contributors

bobhanson avatar dobrown avatar wochristian 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  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  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  avatar  avatar  avatar  avatar

tracker's Issues

NullPointerException thrown when using tracker jar with Xuggle on linux

I downloaded tracker-6.0.1.jar file from the tracker website and when I run it without the Xuggle libraries present, the application starts fine,. However, if I place the tracker jar next to an appropriate library I get the following exception:

Exception in thread "Thread-2" java.lang.NullPointerException
        at org.opensourcephysics.cabrillo.tracker.deploy.TrackerStarter.findBundledVMs(TrackerStarter.java:603)
        at org.opensourcephysics.cabrillo.tracker.deploy.TrackerStarter.loadPreferences(TrackerStarter.java:792)
        at org.opensourcephysics.cabrillo.tracker.deploy.TrackerStarter.launchTracker(TrackerStarter.java:293)
        at org.opensourcephysics.cabrillo.tracker.deploy.TrackerStarter$3.run(TrackerStarter.java:356)
        at java.lang.Thread.run(Thread.java:748)

It looks like it tries to use some bundled jre, but it is just the tracker jar file, so there is no bundled jre. I think that in this case there should be some popup dialog where user can provide path to his system jre.

Please add build instructions

Both this project and linked projects (OpenSourcePhysics/osp, etc) don't have any build instructions.

I would like to create a FreeBSD port and build from source, but how to build it? I don't want to use pre-built jars.

ML-based Autotracker

Hi there again! This is a RFC to see if people would be interested in an ML-based auto-tracking tool. It seems like the current auto-tracker uses a slightly brittle template-matching system and I've been having trouble with it especially when the lighting in the image in variable and an object (e.g. a bouncy ball) enters and exits a shadowy region. I think a lot of modern object detection/localization ML methods might be able to dramatically increase the fidelity of the auto-tracking system. Let me know what you think!

Drawing "Match" with sub-pixel accuracy in AutoTracker wizard

AutoTracker works with sub-pixel accuracy. However, the match closeup is drawb with pixel accuracy (not sub-pixel). It does not affect the real process of autotracking, but the oscillations of Match picture look messy. They are confusing users, and users sometimes think, that AutoTracker is not accurate, too.

So, the "Match" icon should be drawed more precisely. For further reading:

https://stackoverflow.com/a/8747490/4514650
https://www.google.ru/search?q=java+draw+image+with+float+location

Cannot install in Manjaro/Arch linux

Hi,

When I try to install Tracker-5.1.2-linux-64bit-installer.run in Manjaro KDE, (after doing chmod +x and running it as root) I get the following problem:

There has been an error. Error reading file /root/.config/user-dirs.dirs

I've seen previous users had the same problem, but I failed to implement their solution https://bbs.archlinux.org/viewtopic.php?id=237150

It would be greatly appreciated if you could give me instructions how to install the software, or submit it to AUR

Thank you for the fantastic software

osp-tracker 6.1.6 installation failed on osx

👋 trying to update cask to the latest release, but found some installation issue

==> Purging files for version 6.1.6 of Cask osp-tracker
Error: Failure while executing; `/usr/bin/sudo -E PATH=/usr/local/bin:/usr/local/sbin:/usr/local/Homebrew/Library/Homebrew/shims/shared:/usr/bin:/bin:/usr/sbin:/sbin -- /usr/local/Caskroom/osp-tracker/6.1.6/Tracker-6.1.6-osx-installer.app/Contents/MacOS/installbuilder.sh --mode unattended` exited with 1. Here's the output:
Problem running post-install step. Installation may not complete correctly
 No origin file found that matched /usr/local/tracker/Tracker.app/Contents/Java/tracker-6.1.6.jar

I can reproduce in my local machine as well

image

relates to Homebrew/homebrew-cask#164873

Is there a way to calculate total distance moved?

Im currently doing research on movement of insects, and the gist of it is that im using tracker to follow them moving through a clear tube up and down. its in a 2d plane so should only really include the y value. I know i can just export it but not sure if this program has the ability to add a column that just adds up the distance moved completely? Any help would be appreciated.

Tracker is not good at tracking a rotating line such as a gauge needle

I'm currently trying to track the rotation of a gauge needle. The problem is that I can't put a marker on the needle to have a round marker to track and that makes the tracking of the needle by the autotracker almost impossible. I wonder if a feature that track a rotating line could be implemented in some ways.

Creating KeyFrame reads autoload_search_paths from osp.prefs, not tracker.prefs

When creating a KeyFrame, you eventually call:
tracker.AutoTracker.createTemplateMatcher()

which in turn calls
opensourcehysics.media.core.TemplateMatcher.<init>()
that creates an FitBuilder object, which eventually checks osp.prefs for the key autoload_search_paths, rather than tracker.prefs, which also has a key autoload_search_paths used in the Data Builder Autoload dialogue.

This is problematic because there is to way to set this option from within the Tracker application. Moreover, the if autoload_search_paths is not present in osp.prefs, osp will use a set of default search paths which include the user's home directory (see also: OpenSourcePhysics/osp#4).

AppImage or flatpak packaging?

I attempted to use the Linux 64-bit installer to install, but it errored out. Would it be possible to package as an AppImage or Flatpak for universal distro support?

Thanks!

After launch, the principal window is not loaded

Good morning,
I installed the latest version of the software (version 6.0.9). My configuration is Ubuntu 20.04 and JDK 11.0.16.
I launched the software and then the icon appears, but after that no menu or other windows appear.
It seems that the software is waiting something, but I don't know what.
Do you have any idea to solve this problem?
Regards,
Federico

[feature request] Quick calibration stick

First of all - thank you for this great program, it helps us a lot!

In Tracker 5.0.1, when you create a new calibration stick, it appears somewhere (sometimes even outside the current viewport!). So, then you have to find it, to drag every point to its destination, then to click to the number 100,0 and then enter a proper length. Sounds weary, doesn't it?

I suggest to add a new tool under the Calibration Tools header: Quick Calibration Stick. It should work like so:

  1. Choose this tool.

  2. Click on any point at video - it will be the first end of the stick being created

  3. Click on any other point - it'll be the second end of the stick

  4. The cursor jumps to the field to enter length. I think there should be text 100,0, just as now, selected to be easily replaced with digits being entered from the keyboard.

I think it would be much more comfortable than now; however, the suggested tool takes some time to get familiar with, to I think it's not a good idea to replace existing Calibration Stick tool.

Autotracker crashes when the window is maximized on Mac

System info

Model: both Macbook Pro and iMac (both Intel based)
OS: macOS Big Sur 11.1
Tracker version: 5.1.5

Steps to reproduce

  1. Open a video (big or small, doesn't matter)
  2. Maximize Tracker
  3. Open the autotracker
  4. Now autotracker is opened as a separate tab, and Tracker doesn't respond anymore.

On Linux Xuggle not available if /tmp/xuggle ends up owned by another user (e.g. root if as part of install)

To reproduce:

  1. Follow the installation instructions, accepting the defaults including to start Tracker post-install.
  2. Tracker starts and can use Xuggle. Note that a /tmp/xuggle directory will be created and it will be owned by root and not writable by anyone else.
  3. Exit Tracker and restart it as a non-root user. Tracker now complains that it can't use Xuggle.
  4. Exit Tracker and remove the directory with sudo rm -rf /tmp/xuggle
  5. Start Tracker again as a non-root user. Tracker no longer complains about lack of Xuggle. Note that /tmp/xuggle is now owned by the non-root user.

Calculate sum of momentums in Tracker

Hi,

I'd like to show the conservation of linear motion during a collision of two sliders on an air track.
I filmed the collision with an iphone with 240fps. I used tracker to measure the linear momentus p_1(t) and p_2(t) as functions of time.
Is it possible to calculate the sum of these linear momentus in tracker: p(t) = p_1(t) + p_2(t)?
Is it possible to have a plot of p(t) = p_1(t) + p_2(t) in tracker?

I know that it is possible to define new variables for a point mass. But I did not find a way to use data from different point masses in these variables.

I'm not an english native speaker. If you don't understand what I mean, please tell me and I will try to explain better.

Thanks four your help
Michael

p.s.: I realy like Tracker. Thanks for this great software!

Window Size

When I start Tracker in Ubuntu 14.04 64-bit it only show up as a one pixel line on the screen and i can't re size it.

2nd end of calibration stick won't place

When creating a calibration stick, the first foot can get placed by shift-clicking, but the second foot doesn't place when shift-clicking a second time. Am I missing the technique? Or is this a bug? I have tried this in both Windows 10 and macOS using 5.0.1 and have had the same issue

[bug] Autosearch in a tab stops when closing another tab

Version: 5.0.6 (official)

Environment: Ubuntu 16.04 64-bit, compiz, Unity

Steps to reproduce:

  1. Open two tabs
  2. Run autotracker in one of the tabs
  3. Switch to another tab or close another tab by right-clicking on the tabs name
  4. Return to the first tab

Autotracker will be paused, however, there will be no Start button, only Stop button.

Workaround: click the Stop button and the Start button appears. Click the Start button and the autotracker resumes.

This is certainly a bug.

IMHO, the autotracker shouldn't be paused when a user switches to another tab.

[feature request] Autostop of autotracker

It would be very good if the autotracker had an option "Autostop" with two parameters: frame count n and precisions epsilon_x and epsilon_y.
Let's say that a point is not moving during n frames iff there exist intervals of length epsilon_x and epsilon_y such that the point x and y coords are in this intervals for all the n frames.

Autostop happens when firstly the point is moving and then stops (if the point isn'tmoving for first n frames, then tthe autosearch process continues.

This feture could be useful in certain cases, i.e. when aone video consists of three parts:
a) The object of interest isnot moving, preparation happens
b) The object is moving, the desired phenomenon happens
c)The object isn't moving, but the camera is still recording

Such cases sometimes really take place in real activirties, but in general I would say that the priority of this request is low.

GPU Acceleration

Hi, I've been using Tracker for my mechanics lab course at school and it's a really useful piece of software! It doesn't seem to be very performant on the high-resolution videos that modern smartphones are able to put out, though. I was wondering if there's been any work (or interest) in using the GPU to accelerate some of the computations being performed? I took at brief look at the code and there doesn't seem to be any support for GPU acceleration. It has the potential to make Tracker dramatically faster!

Tracker cannot open files from a file manager when a space is in the path

I am running Tracker 4.87 on Kubuntu 14.10 64-bit, with Oracle Java installed. Whenever I try to open a Tracker file which has a space in the path (for example, /home/user/folder name/file.trk) from my file manager Dolphin, the file fails to open, as Tracker appears to treat the text before and after each space as paths to two separate files, which of course don't exist. However, the files can be opened successfully by opening Tracker first, then going to File > Open File... and opening the file from the dialog box.

Right window Plot/Table stays not hidden

Thow I uncheck the right window in the menu it appears immediately after setting manually one tracking point.

Especially if you need full screen size (e.g. on tablets) this behavior is not good. If I say hide the windows, it should be hidden also in case of marking track points.

Tracker for chromebook?

Hello all,
is it possible to run tracker on chromebooks? It is a request from a student of mine.

Best regards,
Romain

High-dpi display

When using Tracker (4.94 on Windows 10) on a high dpi display (2700x1800), the icons are too small to work with. Windows 10 display scaling has no effect on the GUI. I tried lowering the display resolution, but that has no effect either.

Save/load does now work correctly in tracker 4.97

Dear Tracker developers,

my girlfriend installed tracker 4.97 on her Windows 7 machine. She reported to me, that tracker 4.97 does not load tracks or tables from a .trk file, that has been created with the same tracker version. Tracker 4.96 does not have this issue.

To reproduce:

  1. Open tracker 4.97
  2. Open a video (tested with .mov)
  3. Mark an object and record a track (a table with data entries is created)
  4. Save the session.
  5. Close tracker 4.97
  6. Open the just saved file with tracker 4.97. The track and the table are no longer there.

Many thanks and best regards,
Alex

Is there a way to change the location of .tracker.prefs

I'm trying to use this in a guest session setting for school computers running linux. Is there a way to set the location of the preferences file other than in /opt/tracker/.tracker.prefs? The issue is that I'm getting "File cannot be overwritten.: /opt/tracker/.tracker.prefs". Should I just change file permissions? (I'm a new to linux, so excuse the noob level question here)

No Documentation

As a noob to this project, I have no idea how to install it. I've gone to the external OSP code library and have no idea how the two link to each other! Do I need an installer? The readme.md has no information inside it! I've also been to the website where I can install the project and it has been unsuccessful. It won't accept imports of videos.
Please update the readmes to actually be useful.
Thanks.

[request] Guidelines for building Tracker from source

How to build Tracker from source? I want to patch some methods in osp-core (e.g. Ibelieve that https://github.com/OpenSourcePhysics/osp/blob/6f6b6f6b1c17ffe2c3bad68df1b6f46c1fe2885b/src/org/opensourcephysics/media/core/TemplateMatcher.java#L905 could be fastenated... But I have to check).
How should I combine the repositories in a directory? Can I compile from a command line or should I use a specified IDE ? (I know only one thing about your IDE: tab is two spaces)
What JDK version is appropriate? How to build a distributive version (installer) ? Can I build a windows installer if I run Ubuntu ?

Error on installation (Ubuntu 20.04)

I got this error when I run the installer:

There has been an error.
Error reading file /root/.config/user-dirs.dirs

My workaround was to run this command: sudo xdg-user-dirs-update

TrackerJS needs to be able to load videos using URL

solution is two-fold:

  1. Add "%26type%3D.mp4" (that is, encoded &type=.mp4) to the j2sargs field so that Tracker identifies this as a video. (Technically, all we need is the "&.mp4" there, because all we are doing is providing the file extension that Tracker needs in order to recognize this as a video file.)

  2. Adjust Tracker to check for video first, then trz

https://physlets.org/tracker/trackerJS/?j2sargs=https%3A%2F%2Fwww.compadre.org%2Fosp%2Fdocument%2FServeFile.cfm%3FID%3D10579%26DocID%3D5673%26TrackerSet%3D1%26test%3D.mp4

Would you tell me why tracker need to be open-source?

I always think of the reason why a project need to be open-source. Would you tell me why? As you have said in you website those who may use tracker may shy away from computer modeling with traditional programming tools. So I thought the source is of little use to all those related to tracker. I sorry to say that, but I really don't have a thought of why all projects tend to be open-source. Please tell me your reason, if you would. Thanks very much.

[Feature request] Export data to Excel file

As I used Tracker with my highschool students, it occurred to me that the additional step of importing the "csv" into open office calc is adding unneccessary complexity. A direct export to .xlsx files would be cool.

I forked Tracker and did a first implementation using the Apache POI package. This worked fine.
This feature would introduce additional dependencies from Apache POI:

  • poi-4.1.0.jar,
  • poi-ooxml-4.1.0.jar
  • poi-ooxml-schemas-4.1.0.jar
  • xmlbeans-3.1.0.jar
  • commons-collections4-4.4.jar
  • commons-compress-1.19.jar

Since I am no java expert, I don´t know whether they will be needed only for compilation or also at runtime. Also, I hope that there are no licence issues . . .
If the developers (@dobrown ?) agree, I would be very happy to finalize the implementation and raise a Pull request.

Best, MarkusBonsch

Video File Size Limit

Is there a limit on the size of the video file? I often find a 3 minute video file to take a very long time and require large amounts of ram (>2GB). Do you have any recommendations?

Maximize window broken on HiRes

HiRes (here): Any screen resolution higher than 1366 × 768
I am happy to report that scaling works excellent on 5.1.3.

But maximizing the window on a HiRes makes it cover only a part of the screen (gets smaller proportionally to higher screen resolutions), manually resizing it (by dragging) works fine. This bug is not referenced in any other issue.

Acceleration off in free fall

Attempting to make a simple measurement of $g$ via a free fall results in systematically high values (around 11-12 m/s^2 rather than 9.8 m/s^2).

Using the video of projectile motion provided on the website gives the correct value for $g$. Because of this, we doubt this is a problem with the software itself, but I think that it might be of concern for the project as this seems like something that should just work.

We have tried many things to get this to work including different cameras, orientations (of the camera and meter stick), different balls, locations, backgrounds, lighting levels. We suspect the video source, in particular, we suspect that there is something with the frame rate that causes this issue, but we are unsure. I even went so far as to extract the frames myself (via ffmpeg), mark them via an image editor, and fit the data resulting a value of 12.4 m/s^2 for $g$.

It looks like the problem is with the video or with the video import, except that the video appears to be fine and looks good after importing into Tracker.

Is there anything that I am missing regarding how to get usable video data into Tracker for quantitative results?

[feature request] Treat the dot as a valid decimal delimiter

If while creating a calibration stick auser types16,5, he will get 16,50 m. It's OK. But if a dot is used, i.e. one types 16.5, then the result is 16.00 m.
In Russia (for example), both decimal dot and decimal comma are used. So, it would be great if decimal dot . and (dare dream!) cyrillic б and ю, which are on the same keys of keyboard with . and , and which are often mistyped, will be treated as deimal delimiters are replaced by decimal comma.

It can be implemented by simple replacing the delimiters with comma an killfocus event (I don't know how it is called in Java) or, which looks more complicated but more scalable in future, by registering ., б and ю as decimal delimiters.

Installer splash window shown in the middle of 2 displays

I have a dual monitor on my Ubuntu 20.04 and the splash window is shown in the middle of 2 displays.
This splash screen should be centered in one display or another

More details:
I have two monitors with 1920x1080, my full resolution considering these 2 displays is 3840x1080 and the splash screen is shown with center at (1920, 540) but should be centered of display 1 (960px, 540px) or centered of display 2 (2880, 540)

Installation on Ubuntu 20.04 crashes

The installation stops with

Er is een fout opgetreden.
Fout bij lezen uit bestand /root/.config/user-dirs.dirs

(an error occured. Error reading file /root/.config/users-dirs.dirs)

The problem is that the file /root/.config/users-dirs.dirs doesn't exists.
Workaround: It can be created by typing sudo xdg-user-dirs-update. After that the installer runs.

Installer breaks other Java apps

The installer on MacOSX installs various Jar files into: /Library/Java/Extensions, /System/Library/Java/Extensions, /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/ext and /usr/lib/java on Mac OSX (Maverics), e.g.

logback-classic.jar -> /usr/local/xuggler/share/java/jars/logback-classic.jar
logback-core.jar -> /usr/local/xuggler/share/java/jars/logback-core.jar
slf4j-api.jar -> /usr/local/xuggler/share/java/jars/slf4j-api.jar
xuggle-xuggler.jar -> /usr/local/xuggler/share/java/jars/xuggle-xuggler.jar

This is really dumb and unnessecary. Doing so can in fact break other installed Java applications which use different (perhaps newer) versions of the logback and slf4j libraries. The ones installed by Tracker are ancient and because of their install location override those on the classpath of other Java apps.

Please stop the installation of Tracker from stuffing up other Java apps. I have spent 1/2 a day unnecessarily debugging another Java code-base to try and find the sudden course of some errors, only to realise that it was caused by installing Tracker!

Exporting text columns

Hello, I am trying to export my text column that Ive annotated manually every frame on the behavior of a certain sample. However it seems that the software is unable to export it? When I click export, all the column options show up except text column. Please kindly advise! Thank you

Running `java-ffmpeg` version on ReactOS / winxp

I tried to run Tracker on ReactOS (win-like OpenSource OS).
I've managed to run only old, xuggle version; new, java-ffmpeg version, runned but didn't open any video: The video could not be opened. This is the best result among all my attempts to guess the appropriate build of ffmpeg binaries.
Any ideas, @fschuett ?

Errors on compilation

I don't have much experience with compiling java applications, but I would like to make an .ebuild and a makepkg for this app, while I find it neat to use on linux. One problem I had during compilation after including the core osp libary files into the build directory under a org folder is after running javac -cp "$(pwd)" Tracker.java I get a couple warnings and also a lot of undefined variables:
Tracker.java:166: error: cannot find symbol static DataTrackTool dataTrackTool; // used for RMI communication with EJS ^ symbol: class DataTrackTool location: class Tracker Tracker.java:189: error: cannot find symbol private TFrame frame; ^ symbol: class TFrame location: class Tracker Tracker.java:509: error: cannot find symbol public TFrame getFrame() { ^ symbol: class TFrame location: class Tracker Tracker.java:1287: error: cannot find symbol protected static void showUpgradeStatus(TrackerPanel trackerPanel) { ^ ....
I probably forgot to include some library (I didnt even try to include Xuggle), but since there are no build instructions I cannot really bounce off of anything.

Microsoft Store release

It would be nice to be able to install Tracker from Microsoft Store and have automatic updates through it

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.