Clone wiki

XMALab / Home

XMALab User Manual

Instructions for Developers

Version History:

1.5.0 (08/04/2017)

  • XMALab metadata improvements and metadata file for the portal
  • Fixed a bug which resulted in the pose estimation using 1 camera to be wrong
  • Added events which can be used to mark frames.
  • XMALab can be used without calibration and undistortion or with 1 camera. If 1 camera is calibrated it can also track RB.
  • Color Images are now displayed in the UI or exported during undistortion.
  • Minor speedup for displaying images
  • The user can now select which cameras are visible. Hidden cameras will not be tracked and their images not loaded which results in a speedup.
  • Grid setup during undistortion is more reliable
  • Detection method can be changed in the detection settings dialog and a crosshair can be drawn on each image
  • Images are now flipped back before saving to keep the originals
  • Changed the sizing of the plotwindow and the cameraviews so that it can have smaller sizes
  • Files exported from zmaportal are loaded correctly. Images without a distortion grid are assumed to be lighcameras. If no framespac and reference file are provided it also assumes checkerboard calibration
  • User can export undistorted trial as avi
  • Added an extra timeline in the 3D worldview which can be enabled and decouples the 3D view from the mainwindows controls
  • Progressbard has a cancel button for the refinement action.
  • The progressbar now always shows a movement on OSX.
  • 'C' Key focuses the camera views on the currently selected marker
  • xma and xmatrials can be renamed after export from the portal.
  • Camera optimization can be removed by clicking the checkbox.
  • OK is the default button in the Confirmation dialog
  • XMA files can be opened directly from the file system
  • Help dialog can be displayed without blocking the main window
  • Updates the trial correctly when the reference calibration, framerate or cutoff frequency in the trial dialog are changed
  • Added more DisplayOptions in extra dockwidget and refactored the toolbox to use icons
  • Added a errordialog in case the ref file is not valid
  • Changed squaresize for the checkerboard calibration to non-integer
  • Added a dialog for the camera optimization in which the user can define the number of iterations. Default is set to 10000
  • Virtual points were not completely cleared before which could lead into some problems
  • Added Shortcuts for moving n-frames and to move to incomplete frames:
  • Progressbar on MAC always shows movement
  • Added a welcome dialog to xmalab
  • Added a Project Overview dialog which shows data about your trials and calibration (same data which is shown in the portal)
  • Export of data for the VR application (VR application still needs to be updated as the format changed)
  • Dummy points are now also used with the computation of rb transformation when the setting for 2d optimization is used
  • Fixed a bug due to which XMALab crashed when the last calibration image was deleted

1.4.0 (11/19/2016)

  • Changed Advanced calibration features
  • Computation of RB pose with less than 3 2d correspondences can be disabled in the settingsdialog
  • Reduced size of Toolbox for tracking
  • 3D coordinates of markers can be updated by using the import/export -> import from csv in the pointlist.
  • Points can be set untrackable when Ctrl (or Command) + U is clicked. To set it to trackable again, point data has to be deleted by using Delete or Backspace
  • Reference 3D points are set when updated from default or another trial
  • default trials can be created to manage points and rigid bodies for all trials of an xma file
  • Changed selection of frames to a more intuitive selection which also allows to use the left right arrows to select frames.
  • Added an option in the Settings dialog 'Override interpolated points during tracking'. If unchecked interpolated points are not overridden during tracking
  • Ctrl-S does save directly and does not ask for confirmation
  • Corrected CTRL-A and Ctrl-S shortcuts to save and select all points
  • Reworked Interpolation
  • Added a detections settings window to tune threshold for detection
  • Added option to add external data in the plotwindow. Just basic and beta functionality
  • Added a reprojection error threshold box to the plotwindow which can be used to navigate between frames and to delete frames above the defined threshold
  • Only a third of the prediction penalty is used if the point could not be set by using a linear prediction
  • Rigidbodies get updated when changed
  • Added an Undo button
  • Added EDR to metadataInfo
  • Added a help-dialog with shortcuts
  • Status colors are not set when canceled
  • Added a default screen layout for first use
  • Changed to detected points for outlier instead of projected
  • Changed mouse wheel direction for Mainwindow

1.3.9 (10/21/2016)

  • Entries are removed from recent files when they do not exist anymore
  • Added undistorted 2d coordinates when 2d coordinates are exported from plot windows and fixed a bug with its format
  • Added a 2d optimization of RBs
  • Added more possibilities to compute the pose of RB without 3 3D points
  • Added the possibility to optimize the reference coordinates of a rigid body based on the reconstructed 3D points
  • Added a button to export the optimized coordinates of a rigid body
  • Added the possibility to set reference coordinates of a rigid body based on a selected frame

1.3.8 (9/19/2016)

  • Added an error message when it cannot write to the file due to diskspace issues
  • Points gets not deleted when set manually and tracking fails
  • When creating a new project, the project can be configured to flip all images horizontally
  • Selected Rigid bodies and 3D points can be exported via a 2nd mouse click in the pointlist
  • 3D Points and transformations can be exported for a subsequence if the frame column is enabled
  • An extra option allows tracking of all markers selected int the pointslist
  • RigidBodies get updated correctly when a point is deleted
  • Added shortcuts for save, new, open and close dataset and added CTRL-A shortcut in the pointlist. Also added a confirmationdialog for saving.
  • Changed text of Rigid Body export to Save Rigid Bodies as
  • Added a button to the plot which exports the visible data to csv and removed CTRL+S shortcut
  • The last 10 recent files are stored and accessible on the startup screen and via File-> Recent Files
  • After opening an xma-file the ui jumps to the workspace which requires user input, e.g. calibration or marker tracking
  • Status in plotwindow is only recreated when needed to speedup fit plot

1.3.7 (8/15/2016)

  • Fixed a problem which resets the displayed text to the id when a checkerboard calibration is performed.
  • Fixed a bug which resulted in the UI getting not udpdated when tracking via Shortcuts
  • Made several rendering options visible in the toolbox for digitizing, e.g. drawing rigid bodies based on filtered data
  • Obj-Mesh models can be loaded and displayed. Transparency can be modified with CTRL (or COMMAND) + Mouse wheel or in the information frame.
  • Changed loading at startup to be faster and made sure that reprojection errors are recomputed during loading.
  • Fixed Linux compile errors
  • Changed displayed Marker tracking penalty to be in percent
  • Added new tracking methods : white blob tracking and also a default xray method with center of mass
  • Fixed a problem with the no detection tracking method
  • Fixed a crash, when switching trials with different number of markers and having the marker status in the pointlist displayed.

1.3.6 (7/21/2016)

  • Fixed some major bugs resulting from 1.3.5

1.3.5 (7/20/2016)

  • Fixed a problem which resulted in the World view not being drawn correctly
  • Fixed a bug which did not allow to change the data of a point on Mac
  • Plotwindow can be dragged and zoomed vertically when Shift (yaxis left) or Ctrl/Command (yaxis right) is held
  • Status of points are drawn in the pointslist and in the plotwindow for some plots when the "display status" is selected. Colors can be configured in the Settings Dialog when the button "set marker status colors" is clicked. The ID of the marker and the cross at the location in the mainwindow can also be drawn in the status color when the options in the settings dialog in digitization tab is set. Note: be careful with this option as the currently active marker is not highlighted red anymore.
  • Added an option in the settings dialog to define if tracked and optimized points are overwritten during tracking or not.
  • Fixed a bug due to which the marker dialog corresponded to the wrong marker, when the marker was assigned to a rigid body
  • Add the possibility to interpolate points in 2D when they are not set. Method can be set in the marker dialog and for multiple points with the context menu in the pointlist. Interpolation is not updated automatically when a new point is set and has to be updated manually by using the buttons in the toolbox or by using Shortcuts "i" for only the currently selected point and "Shift + i" for all points. Current interpolation methods are Repeat value, linear interpolation, cubic spline interpolation. Each interpolation can be done in 2D for each image or for the 3D points. In 3D the interpolated 3D point is projected onto the image.
  • Removed the detectionmethod which automatically optimizes points after tracking. The optimization should be performed by using the context menu in the pointlist after multiple frames have been tracked

1.3.4 (7/8/2016)

  • Allow loading 16bit cine files, data is downsampled to 8bit
  • Added a confirmation dialog when the project closes due to load, close or new dataset
  • Mean values are displayed in the plot windows in an extra line
  • Intermarker distances can be exported for a specific range and mean and sd are also listed for each rigid body
  • Added an option in contextmenu in the pointlist (second mouse on the point in the list) which allows to change the tracked data with another point
  • 3D points can be filtered when exporting
  • Checkerboard can be detect during calibration by selecting 4 points, when the automatic detection fails
  • Sub-datasets can be saved when only some of the trials should be contained in the new dataset, e.g. for collaboration

1.3.3 (6/1/2016)

  • Fixed a problem with virtual points
  • Fixed a problem with the export of transformations without a headerrow and singlefile option
  • Fixed a problem due to which the plotWindow sometimes froze
  • Made the shortcuts to track a point forward and backward work more robust.
  • Export of undistorted images has a '.' in it so that it can be used in the newest version of Maya
  • Changed the name from XMA Lab to XMALab

1.3.2 (1/25/2016)

  • Trialdata exported from the portal can be used to create new Trials
  • Meta-data from calibration/undistortion is saved in xma file and the data is shown in the UI under view->Project Metadata

1.3.1 (1/10/2016)

  • Mac and Windows binaries have installer
  • Option to change Brightness and Contrast in the Digitization Info panel
  • Virtual points can be defined by 2 CT point coordinates and a rigid body index
  • Trial videosequences can be exchanged via the button "Change Trial Data" in the trial property window
  • 3D world view changed to z-camera up

1.3.0 (12/01/2015)

  • Moved to Bitbucket
  • Changed links in About dialog
  • Added licensing information
  • Fixed a problem when virtual points were not set.

1.2.19 (11/19/2015)

  • In case the images or videos are not found, XMALab search all subfolders from the folder where the .xma file is located to automatically set the correct path.
  • Incremented marker index for marker to marker distance export to show the correct index
  • Fix a problem where the point size is not initialized before refinement. Point size also gets set with the result from the refinement
  • Improved calibration workflow in case of inaccurate calibration, e.g. underwater. Additions are visible in the settings dialog in the calibration tab:
  • Added white blob detector ,
  • Added a threshold distance under which a point is registered to its framespec location
  • Added a threshold distance under which a point is set as inlier, if above it is set as outlier
  • Possibility to hide warning dialogs.
  • Changed new trial dialog to have 2 buttons, one for image-folders one for video-files
  • Added possibilty to use a Rigidbody for animating virtual points.

1.2.18 (11/12/2015)

  • Added a button to force the trial to update/recompute
  • Fixed a bug which resulted in the status of 3d points not being loaded.
  • Fixed a problem when computing rigid bodies when not all points were visible

1.2.17 (11/06/2015)

  • Fixed a problem which resulted in a crash when opening files
  • Added an additional message which shows which image has to be loaded for OSX 10.11
  • Added an export of marker to marker distance (mean + sd) under file->export

1.2.16 (10/07/2015)

  • 3D Points are saved in xma-file to reduce loading time when having big projects
  • Only the active trial is updated when calibration or undistortion is changed.
  • Better CPU usage for multi-core CPUs, when computing 3d points for trials.
  • Save active Trial in xma file
  • New Plot type : RigidbodyAlignmentError. Plots the error of the aligned rigidbody to the reconstructed 3d position or the detected 2d image position
  • Trials can be deleted from the TrialSettings

1.2.15 (09/18/2015)

  • Added option to import Marker and Rigid Bodies from xma-File
  • Added an option to easily remove outlier for undistortion
  • Added export of MayaCam 2.0
  • Added From to dialog for undistortion of trialImages
  • Added FromTo dialog for polyfit and fixed progressbar display
  • Added FromTo Dialog to delete data of selectedPoint action
  • Added UND to folder and filenames when undistorting
  • Fixed a bug which recomputed cameras even if they were optimized when an undistortion was used
  • Fixed a problem which resulted in planar calibration during load
  • Fixed a problem with the calibration where it crashed on Mac

1.2.14 (08/28/2015)

  • Fixed a bug in the Polyfit which occurred only on Mac
  • Reset 3d point if a point gets lost when retracked
  • allow planar framespecs

1.2.13 (08/21/2015)

  • Fixed standard deviation computations
  • Fixed Toolbox for checkerboard calibration

1.2.12 (08/20/2015)

  • Fixed a problem that the maximum reprojection could not be saved
  • Fixed a bug which resulted in a crash when the 3d reference point was not set.
  • Added multicamera optimization and model distortion for the calibration (advanced options have to be enabled in the Settings dialog)
  • Added the option to set scaling and the use of white blobs in the framespec file
  • Added Checkerboard calibration

1.2.11 (07/24/15)

  • Fixed a small bug in the marker tracking during template matching
  • Added marker detection method “none”
  • Added marker detection method “corner”
  • Implemented a new marker detection method using a polynomial fit. It can be used for dark markers “default + polyomial fitting” and white beads “white marker + polynomial fitting”
  • Added an option for second mouse button on the pointlist, which can be used to optimize positions using the poynomial fit method.
  • Tracking does not stop for tracking of all points when a point is lost. It only stop during tracking of a single point.
  • Added a max reprojection error in the settings which marks a point as lost when exceeded.

1.2.10 (07/17/2015)

  • Fixed an OpenCV bug for the triangulation of the 3D point, added different methods to triangulate the 3D point and changed the default method to the iterative method. The method can be chosen in the Digitizing tab of the settings dialog
  • Improved rendering of the epipolar lines and added an option in the settings dialog to define the precision of the rendering
  • Added the option to change the detection algorithm for marker tracking. The method can be changed in the marker properties window (cogwheel in the pointlist dock). Apart from the default (old) detection the following ones have been added.
  • the same blob detection which is used during camera calibration. (works good for huge beads)
  • white marker for visible light cameras (inverted default method)
  • Added a 2nd mouse option in the pointlist to change the method of pointdetection for multiple markers at once.
  • Added an automatic point refinement for the calibration. It helps to select points manually during calibration similar to the detection in the mainview during marker tracking. The refinement is only active when a point is clicked by holding the ALT-key, The method used can be chosen in the settings dialog. Note, that it can be used in combination with the Ctrl-key or Modifier-key.
  • Fixed the “delete Points” 2nd mouse button action
  • Renamed “Backprojection error” to the proper term “Reprojection error”
  • Adjusted Reprojection plot to show the mean projection error for all cams, so that it relates better to the reprojection errors of single cameras.

1.2.9 (06/26/2015)

  • Fixed a bug, which resulted in a failure when 2d points were imported
  • XMALab can be run on WinXP
  • Fixed display of properties button (cogwheel)
  • Trials can be imported from xma-files. New option in the File->Import menu.
  • Buttons below PointList are getting scaled, so that no scrollbar appears
  • Marker ids can be drawn on the images during digitizing (New checkbox below pointlist)
  • PlotWindow gets updated when rigid bodies are created
  • Corrected the index in the confirmation dialog when Calibration frames are reset
  • CSV files can be loaded and the 3D reference position and the names are automatically set

1.2.8 (06/01/2015)

  • Export of undistorted images for Maya only uses 4 digit numbers (Maya can not handle more than 4 digits)

1.2.7 (06/01/2015)

  • Fixed a problem where the program crashes when cine or avi files have to be set again, because the location changed
  • Removed Buttons for RigidBody tracking as they do not have a special tracking (Might be added later again in case specialized tracking for rigid bodies is added)
  • Change text on startscreen to “Load .xma file”
  • Added possibility to automatically set the ref and a csv file when exported from the portal
  • Hide checkbox and frame for manual Calibration if undistortion is not performed
  • Added link tp XMALab google group in about dialog

1.2.6 (05/08/2015)

  • Fixed a bug which outputted wrong translations for the exported transformation
  • Fixed a bug which prevented cine from loading correctly

1.2.5 (05/06/2015)

  • Added Import Dialog for 2D points, Export for 2D and 3D points and transformations. Several options are possible now.
  • Fixed shortcuts in Dockwindows/Subwindows
  • Added a manual mode for the calibration which allows to set points manual.
  • Added possibility to select light cameras (No functionality yet, but it will follow, so i suggest setting it in case you start new projects)
  • Added option to export the current Intermarkerdistances in the plotwindow by pressing Ctrl+S (Apple : Command + S)
  • Improved keypress handling in the plotwindow.
  • Dummy point is called virtual point
  • Fixed a bug where images with “.” in the name were not handled correctly
  • Trialbox adjusts size to the name of the trials
  • Epipolar line can be in hidden in Detail View (in SettingsDialog)
  • Added a link in the About menu to the XROMM Recent Changes and Download page to check for newest version of XMALab.
  • Updated dialogs from CTRL to COMMAND for Mac
  • More robustness for CSV files when shared between Mac and Windows

1.2.4 (3/25/2015)

  • Added the possibility to use dummy points to stabilize a rigid body
  • Added possibility to override trial cutoff frequency for a rigid bodies
  • Added cutoff frequency to plot and saved filename
  • Transformations are filtered before saving
  • Allow loading of cine or avi when the path changed
  • Fixed correct drawing of selected endframe in the PlotWindow
  • Fixed a problem with the Marker to Marker distance plot when the sequence does not start at 0
  • Changed wrong item in dropdown from Transformation to Translation

1.2.3 (3/17/2015)

  • Fixed a bug when copying rigidbody and markers from another trial
  • Trials can be created from a single image
  • Users have to confirm when quitting XMALab (Can be disabled in the settings)
  • Fixed a bug which resulted in the export of filtered and unfiltered transformations to be swapped
  • Default for detail window set to no backprojection crosshair and no tick marks on red crosshair

1.2.2 (3/13/2015)

  • Plotwindow allows display of the time in seconds
  • XMALab does not require undistortiongrids when the images are already undistorted
  • Undistortion Sequence Dialog can also load cine and avi
  • Undistortion Sequence Dialog shows a preview of the Filename
  • Added an Export option to provide an easy way to export the trial movies as undistorted tif sequences for maya (File->Export->Export Undistorted Trial images).
  • Fixed a bug where the wrong setting is read when the 4th reference during the calibration is set. User had to click compute Calibration.
  • Fixed a problem which led to a crash when plotting the marker to marker distance with an endframe set to the maximum of the sequence.
  • Fixed a problem with the marker to marker plot which resulted in wrong mean and sd values
  • Fixed a problem where the last frame could not be selected in PlotWindow

1.2.1 (03/12/2015)

  • Support for cine and avi

1.2.0 (03/05/2015)

  • Toolbox does not flash during tracking
  • Added plot for Rigid Body transformation
  • Added settings for Trials
  • Butterworth filter of transformations. Rotations are filtered in exponential map representation (3 parameters for rotation-axis scaled by the rotation-angle)
  • Fixed a problem with the Shift-Click selection
  • Fixed a problem where frames could be selected through the plotwindow when outside the start and endframe

1.1.7 (02/27/2015)

  • Fixed a bug which prevented some .xma files from the portal to be loaded.
  • Drawing for trials in the 3D World view
  • Drawing of rigid bodies in the camera view
  • Default to 2 cameras at start of new project
  • Digitizing is called marker tracking from now on
  • Project is called a dataset from now on
  • When Adding a Trial, window now says “Select videopaths for new trial”
  • Maximum Frame is displayed when the endframe of a sequence is set
  • Title of the not selected cameraview is correct on startup
  • “Reset Data of Selected Points” changed to “Delete Data from Selected Points”
  • Plot also deletes on Backspace (Mac delete button)
  • Detail window centers on clicked point when point is clicked manually in big view
  • Stop button stops tracking as well as stop video playing
  • Version number is displayed in title bar
  • When loading calibration images, label says Calibration Image(s), not just Images
  • Detected points on grid are green when included and red when excluded (similar to calibration)
  • A dropdown box is in the marker tracking trial view next to the Trial dropdown which allows user to select which set of calib images sets the coordinate system. It is called referenceCalibration (It was already implemented in previous versions)
  • More stable tracking and detection and some options for tuning
  • Esc key stops tracking and playing of the sequence
  • 1 and 2 keys can be used to track selected point to next (2) or previous (1) frame
  • Q and W key can be used to advance frames backward and forward
  • Shift and Click can be used to select a point
  • DetailView is set to the prediction when no point is detected or it does not move if no prediction is possible.
  • ZoomLevel of Detailview is not reset when changing frames
  • All DockWidgets save the position and size (Plot, 3D View etc.)
  • Closable Dockwidgets can also be closed by using the close-button in the title
  • 3 advances forward to the last tracked frame. Shift + 3 advances backward to the last tracked frame.

1.1.6 (2/19/2015)

  • Calibration trials can be exported from the XMAPortal and can be directly loaded into XMALab
  • Default project-file-endings will be .xma. .zip can still be used
  • Rigid Body references can be set from Maya-file and transformations can be computed
  • The detailview can be modified by using the settings. The crosshair can be simplified and the backprojected point can be disabled.

1.1.5 (2/16/2015)

  • Fixed a problem where the program crashes when a new project is created
  • Fixed a problem where only 1 Calibration image could be used and it hanged for the second
  • Fixed a problem where tracking crashes
  • Improved the drawing during tracking

1.1.4 (2/13/2015)

  • More plots (2D and 3D position, as well as the Backprojection error from the computed 3D point to the 2D detected point)
  • Improved plot functionality (plots can zoom in with the mousewheel and moved with the right mouse button)
  • Parts of the plot can be selected and use to delete tracked points (hold shift and click in the plot, move the mouse by holding shift and the left mousebutton to select. After you have a selection click to DEL to delete the tracked data. Note: DEL only works if the plot is selected/focused, so if you click on other controls it might not work and you have to click in the plot again)
  • Marker can be completely reset or can also be deleted in the pointlist widget. (Select points and click the right mouse button and the options show up)
  • Left and Right key can be used to advance frames backward and forward
  • Up and Down key can be used to cycle through the points
  • Detailed View does not center anymore and allow zooming and dragging like the big window. If the point or frame is changed it will center again and reset the zoom. If you liked the old behaviour more than you can set it in the Settings dialog in the Digitizing page.
  • Added a link to this webpage in the About dialog
  • Reordered the Settings in the Settings Dialog