Timelapse Versions

To do

  • Need to buffer (?) images on each side of the current image being viewed, so that image loading is rapid. We can't load all images into memory, as it breaks if the images are very large and the data set is large.
  • Need a better way to order controls in the control template file that is not position-dependant, and then to associate them with the image data fields.

Bug List :

  • have the mag. glass position move so it is never clipped when the cursor is near the edges.
  • secondary windows (e.g., the Overview) disappear under the full screen main window when the mouse passes over it. Fix this.
  • the options dialog box needs to be finished

Version reports


  • Minor Enhancement
  • Remembers the status of the magnifying glass (on or off) from the previous session, and - if the image folder is the same as the previously opened one - the filter applied and the image last viewed. All settings are stored in the registry under HKEY_CURRENT_USER / Software / Timelapse


  • Minor Enhancement
  • Remembers the last image folder opened, and tries to pre-select that in the Open folder browser. This saves people having to renavigate to the same folder.


  • Major Enhancements
  • autosaving of ImageData files every 3 minutes
  • backups of ImageData files upon loading
  • menu option to turn autosaving on and off


  • Major Enhancements
    • Added a menu item Export Image to the File menu. With it, one can copy the currently displayed image to a folder of their choice. This feature was added by request, as sometimes biologists want to save particular photos for various purposes.
  • Minor Enhancements
    • (minor) Added a prompt to the Load Images file browser dialog box


  • Enhancements
    • Added menu items to help menu to join and post to the mailing list
    • Added a menu item / dialog box that allows a person to add/view notes on a per-image set basis. It is stored with the imagedata.xls file, but not added to the csv file.
    • Added system logging for date corrections, where it reports in the above log about date correction, daylight saving correction and swap day/month corrections


  • Enhancements
    • Added three menu items, all which manipulate dates and which do this through rich dialog boxes
      • Date - Swap Day and Month asks the person if they want to swap days and months
      • Date - Add Correction value lets the person add a correction value to every date
      • Date - Correct for Daylight Savings Time lets the person add +/- 1 hour to the current image, where that correction is propagated forwards or backwards


  • Enahancements
    • Added a menu item that is disabled unless the options key is pressed which raises the advanced settings dialog.
    • Added, via the advanced settings dialog, the ability to swap data appearing under one note, fixed choice or counter type with another equivalent kind. This was added because people sometimes altered the code template file to reorder the control types, which meant that the program will read in the wrong data for that type.


  • Minor Enhancements
    • A new Propagate Forward item was added to the Notes and Fixed Choices context menus, where the current value of that item will be copied (and will over-write) all images after this one in the current filtered image set
    • Added an item to the Options menu that swaps the day and month values across all image dates. This would be used only if the day / month order was incorrectly read (see bug below).
    • 'C' is now a keyboard shortcut to the Copy Previous Values button
    • All menus now have a tooltip
    • A dialog box is raised after a data save (excepting during a preview)
  • Bug fixes
    • When a person changed the folder name, the system would query if it should use the old or new one. If the new one, it only changed the first image's folder value. This has been changed so all images now have the new value
    • There was an issue with dates, where some images had the date in day/month order, and others had it in month/day order. The system will try to determine this, but if it cannot, it will ask the user which is the order used


  • Minor Enhancement
    • Added 3 items to the help menu to allow the end user to access the manual, the sample images, and the web page directly from it
    • Modified the overview to mention the help menu


  • Internal Enhancement
    • Two installation versions: one using ClickOnce, the other using zip (for institutional machines).
    • Made MarkableImageCanvas a part of the software rather than a dll to simplify zip file installation. The zip file now has just a single .exe with no dependencies in it.


  • Minor Enhancement
    • It now has an application icon


  • Bug Fix
    • Fixed getting version number, where it tries to show the published number but failing that will show a hardcoded version number. The published number is shown when the software is actually published by ClickOnce and installed through there..


  • Bug Fix
    • Fixed marker bug where deleting it didn't index the correct counter control
    • Mostly fixed getting publish version number, but Major Revision gives 0 instead of 1


  • Bug Fix
    • Counters are now sensitive to clicks, so we can add two counters right next to each other or start a pan/zoom atop of it


  • Enhancements
    • Visibility option from CodeTemplate.XML file is now implemented.
    • StatusBar now shows the currently selected filter.
    • StatusBar message was moved so it appears on the far right.


  • Enhancements
    • updated the manual to reflect this version, and to include a description on how to edit the CodeTemplate.xml file
    • added One-Click publishing for rapid installs and updates


  • Enhancements
    • Significant: Added panning and zooming capabilities to the underlying image, operated by a mouse press
    • Significant: Added colors to marks, where all marks that match a selected control are in Gold, with others in Red.
    • Significant: Added glow to marks, where passing a mouse over a control will put a subtle glow around marks held by that counter control
    • Minor: Added audio feedback that speaks the counter # plus label when its added/removed by a left/right mouse click, as well as a menu option for turning that feature on and off
    • Minor: Created an Options menu and moved the magnifier and audio option there
    • Added an options dialog box that lets one reset the various zoom levels and image differencing threshold. However, this is not yet complete, so the menu item for invoking it is commented out.
    • Substantial refactoring of code, where a new class called a MarkableImageCanvas does all the imaging, marking, panning, zooming, magnifying glass, etc.


  • Enhancements
    • Moved the Copy box to the right and made it larger
    • Colored the copy box and all the copyable fields to make it obvious which fields are copied
    • Added a context menu to the comment and fixed choices boxes that:
      • allows a person to copy the current item to all images
      • or just the current filtered set of images
      • allows a person to propagate the last non-empty item to the current one.


  • First 'official' release. At this point, there are no obvious bugs, although there are several things that need to be tuned. Its ready for testing.


  • Counters can be typed into, where only numbers are recognized
  • Marks appear in the magnification glass


  • Lots of changes
    • The template now contains a Tooltip field that lets the template creator describe what the control does
    • The template now contains a DataLabel field that lets the template creator specify an alternate label for the column header in the spreadsheet (if its missing or empty, the Label field is used instead)
    • Filters work, where one can view all images, dark images, corrupted images, or all but the dark and corrupted images
    • Way more robust. Lots of error handling, checking, and error messages added


  • Lots of changes
    • reading of files is more robust, where it checks for corrupted files and substitutes an image marked 'corrupted' for that
    • adds a data control and field that marks if an image is ok, corrupted, or dark (for nighttime)
    • adds robust combined differencing across two differenced images as well as robust image differencing, where it checks to make sure it can do the operation.


  • A major change.
    • It now reads/writes all data
    • It creates a csv file mirroring the data that can be read into excel
    • It begins with a help screen
    • It now uses a standard menu as well as keyboard shortcuts
    • The magnifying glass always displays a portion of the real image, even when differences are on
    • A prototype view (accessed by F1) shows what white marks are common between the two differenced images. This seems better, but needs to be tested. Its also slow and can be made more efficient.
    • Similarly a stub is in there that looks for dark images. Its works, but also too slow when there are lots of large images.


  • A major change. It now reads in a template file and generates the UI code controls from that template. This involved a considerable upgrade.
  • codes can be specified by the user via an XML editor. Types now include: Freeform text, counters, fixed choices (menu), plus default file name , folder path, data and time codes.
  • Counters work properly
  • Added a status bar at the bottom that shows the current image number, total images. It also shows a progress bar during lpading


  • This is a reasonably stable version that uses fixed codes.
  • Generalize all focus
  • made the magnifying glass disappear when the cursor is off the image
  • Markers can delete


  • Added a magnifying glass with adjustable zoom levels.


  • Put in a check so it doesn't try to write the XML file if nothing has been loaded
  • Put in a confirmation dialog box on exit on whether to write the XML file
  • Changed get/set properties to more concise format
  • bounds checking for differencing of images (i.e., which other image to difference with)
  • Differencing now goes forward and backwards with arrow keys
  • Focus issue fixed for the textbox and form