Timelapse Image Analyzer: Experimental Prototypes

Experimental Prototypes - This page is not useful for anyone but the Timelapse Developers. It just contains random experimental prototypes developed by Matthew Dunlap and/or Saul Greenberg for testing various things that may be included in a future release of the system

Necessary libraries for development

We develop using Visual Studio with C# and WPF on .Net 3.5. In addition, the source uses these libraries,and dll's, which you should install on your system if you plan to develop the source further.

  • SQLite
    • SQLite: A light-weight SQL database engine as a dll that can be incorporated into a program. However, if you want to access it via C# (instead of C), you should use the System.Data.SQLite .Net provider below.
    • System.Data.SQLite: a .NET provider for SQLlite with a tutorial page and sample code. We installed and then referenced the .NET 3.5 supporting version of System.Data.SQLite (Direct Download))
    • System.Data.SQLite Convenience Wrappers: Some pre-created convenience wrappers around it that make it really easy to query tables, insert things, etc. We include a modified version of this wrapper in our source files below as a helper class.
    • SQLite Administrator: a GUI for seeing, creating and modifying SQLite databases and its tables. While you don't need this for development, its handy to have if you want to construct test databases or examine current databases.
  • WPF Toolkit makes various widgets available in later releases of .Net available to .Net 3.5 developers
    • DataTemplateCreator sources require a reference to WPFToolkit. Download and install the binary, and then import the dll located in C:\Program Files (x86)\WPFToolkit\[VERSION NUMBER]\

Resources

All Prototypes

  • Note: All executables require copying the SQLite dll (and WPFToolkit dll when present) to same folder as executable (already included in the executable downloads below)


Data Template Editor - Beta Versions

Data Template Editor 1.0 Beta 2 - Ready for testing version

Alpha versions

Data Template Creator 9 - More Finalizing

More small changes, polishing the interface.

Data Template Creator 8.5 - Finalizing the Application

Many small changes, mostly with regards the DataGrid.

Data Template Creator 8 - Faster DB Use

Rewrote all DB use, increasing the speed of all accesses. Added a unique Id to all rows.

Data Template Creator 7 - Converting CodeTemplates and adding simulated UI

The File Menu includes 'Convert' to convert code template files to a database. A simulated UI based on the database is also generated.

Data Template Creator 5 - File Menus, Stability & Code Readability

File Menu allows creation and loading of different database files. Multiple usability bugs patched. Source code was organized and cleaned.

Data Template Creator 4 - Restriction & Sanitization

Restricts user edits of cells, with the uneditable cells colored. Restricts what rows can be deleted. Restricts/sanitizes various text input that would break db and other data storage.

Data Template Creator 3 - Row Functionality

Rows can be added and deleted. Rows can be moved up and down in the order. Cleaned and commented source.

Data Template Creator 2.5 - Fine-Tuned Grid Cell Interactions

More Grid Cell interactions, mainly with the lists of elements. List items can be edited, and more interactions can be done without the content menu.

Data Template Creator 2 - Interactions with Grid Cells

Expands upon interacting with grid cells. Implemented checkboxes and display of lists in cells. Cell list items can be deleted or moved up/down via context menu (right click).

Data Template Creator 1 - Initialize and Edit

Implements initialization of the database and table for the scheme. Allows the user to edit the values and saves them to the database. Does not yet allow creation of new items.


Testing WPFToolkit

WPFToolkit Test

Basic application to test that WPFToolkit works on a machine. Creates a grid with one header cell informing the user it has loaded.

Testing SQLite

SQLite Standalone 4 - Male and Female Individual Records

Upgraded slider functionality to rapidly slide through all male or female records. Programatically, all male/female records are stored in a table before record "x" is chosen by the slider and displayed.

SQLite Standalone 3 - Speed Test and Speed Improvements

Added a slider to quickly leaf through the records to test query speed. Also wrote an InsertMultiple method to vastly improve table creation speeds.

SQLite Standalone 2 - Population from CSV

Extends upon SQLite Standalone 1, reading a CSV for populating the database/table. The CSV must be named sample.csv and has to be to be in the same folder as the executable. While this prototype populates the database from a csv, the labels and the radiobuttons are hardcoded, so changing the csv to one with different column names will not work.

SQLite Standalone 1 - Programatic Database Population

Tests the ability to use the SQLite dll without installation, the creation of databases/tables/records programatically, and the querying of that information through an application. Click the radio buttons to query the database depending on M/F/All. The way the application works is it loads, creates a new blank database (stored next to the exe) and table, and then populates the table in a hardcoded fashion.