Timelapse1 Image Analyser: Bug Lists and Version Notes

Bug Lists and Version Notes - of interest only to those developing or modifying the Timelapse software. It contains

  • To do lists
  • Bug lists
  • Version notes


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.
  • Replace xml template files and storage with a database
  • Use a database internally so we can flexibly filter the information


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

v1.2.0.1

  • Minor internal update
  • Unreleased as no feature changes, but used as the foundation to future versions
  • Cleaned up the internal code, especially to get rid of some (but not all) of the dependencies between classes
  • Created a Constants class, and moved many of the cross-dependent constants there

v1.2.0.0

  • Major update
  • Bookmarking a zoom level.
    • What: If you manually go to a particular zoomed in region on an image, you can ‘bookmark’ that zoom level, and then flip between the zoomed out and that bookmarked zoom level as you view your various images.
    • Why: One biologist, for every image, had to code the inage as a whole, but then zoom into a particular sub-region of that image to look at details (in this case the fixed location of a bird’s next). Bookmarking makes this an easy operation to repeat.
    • Limitation: If you resize the window, you will have to reset the bookmark.
  • New Autosave option
    • What: I’ve added a dialog box, accessible through an ‘Autosaving’ option on the options menu, that lets you set the time interval for autosaving your changed work, or for turning it off completely. It remembers this between sessions
  • Keyboard shortcuts now more visible as I’ve created equivalent menu items for all of them
    • What: There are various keyboard shortcuts to some operations, but these were easy to forget or hard to discover. To fix this:
      • Every keyboard shortcut now has an equivalent menu option (so you will see some new menu items).
      • The menu items show their keyboard shortcut (if any). For example, “Save Ctl-S”
      • Somewhat related, I’ve re-organized and cleaned up the menu structure .
    • How to use it. Navigate the menus to see what you can do, plus which one has keyboard shortcuts.
  • Many Dialog Boxes reformatted
    • I’ve redone most (but not all) of the dialog boxes to be easier to read and more informative.
    • The Save dialog box now has an option to not show it again in the current session (the save feedback will be displayed instead on the status bar in the lower right corner. Not a big deal, but one user had requested it as she did many frequent manual saves.
  • Bug in Magnifying Glass now fixed
    • The magnifying glass is now visible from all corners (there was a previous bug where the magnifying glass sometimes rotated out of view).
  • Big changes in the Copy Previous Values button and what is marked as ‘Copyable’ in the CodeTemplate file
    • What: All fields marked as Copyable in the CodeTemplate.xls file, excepting the File and Folder, will now be copied when you click the Copy Previous Values button.
    • Why: Previous versions refused to copy certain fields (such as counters, date, time), even if they were marked as copyable. This is because I made assumptions that it would not make sense to make those fields copyable. However, some biologists said they did need these fields copyable, e.g., one biologist had the camera set to take multiple photos very quickly, which meant that the counts in a large sequence of scenes were the same.
    • How to use it.
      • If you want a field to be copyable, just set its copyable value to true in the XML file. If that field doesn’t exists, Under the Data section add a field titled ‘Copyable’ and set its value to ‘true’.
      • If you don’t want it to be copyable, then set its copyable value to false as above. Note that if you don’t include that field, it will be false by default.
    • Limitation: Be careful what you mark as Copyable in the XML file. You probably don’t want to copy the dates and times of previous images, or even their image quality as these are set by the system on startup. I would also recommend making counts copyable unless you really do have long sequences of the same thing – its just too easy to make errors that way (e.g., to copy the count of the previous image). Also, the icon over the image won’t be copies. Generally, making things Copyable is mostly useful for Notes and FixedChoices.

v1.1.0.20

  • If the image folder does not contain a CodeTemplate.xml file, it will now ask you where it is actually located (it can have a different name), where it will copy it into your image folder, renaming it to CodeTemplate.xml as needed.
  • Reason for this feature: requested by a biologist who wanted to be able to select a CodeTemplate file interactively rather than having to manually copy the CodeTemplate file into it.
  • Caveat: If you had already began analyzing and saving images, the CodeTemplate file must be the same as the one you had initially used on that image set.

v1.1.0.19

  • New Edit Menu on Menu Bar that contains a Delete Image menu item
    • The Delete Image menu option will delete the current image by replacing its file with a placeholder image.
    • However, it will also keep a backup of the deleted image in a subfolder called DeletedImages
    • Images can be then manually restored or permanently deleted from that folder as needed
  • If any image files are missing (e.g., if they were manually moved or deleted), the system will now create a placeholder image for that file
    • this fixes a bug where a missing image would cause the system to crash
  • Image Differencing now does a best effort for missing images, or for images (including placeholders) that are not the same size of the compared images
    • this fixes a bug where the above conditions would cause the system to crash

v1.1.0.18

  • Skipped version

v1.1.0.17

  • 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

v1.1.0.16

  • 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.

v1.1.0.15

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

v1.1.0.14

  • 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

v1.1.0.13

  • 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

v1.1.0.12

  • 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

v1.1.0.11

  • 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.

V1.1.0.10

  • 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

V1.1.0.9

  • 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

V1.1.0.8

  • 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.

V1.1.0.7

  • Minor Enhancement
    • It now has an application icon

V1.1.0.6

  • 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..

V1.1.0.5

  • 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

V1.1.0.4

  • 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

V1.1.0.3

  • 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.

V1.1.0.2

  • 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

V1.1.0

  • 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.

V1.0.1

  • 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.

V1.0.0

  • 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.

V37

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

V35

  • 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

V28

  • 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.

V24

  • 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.

V18

  • 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

V17

  • 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

V14

  • Added a magnifying glass with adjustable zoom levels.

V13

  • 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 a