December 2014. Daniel Hellerstein (danielh@crosslink.net; http//www.wsurvey.org/wsurvey/traceFigure/) traceFigure: a javascript application (with some optional php). traceFigure can be used to manually digitize points on an image. For example, if you have an image of a line graph, you can select & save the important points on it. By "manually digitize points", we mean `create a set of x,y coordinate pairs'. These pairs can be saved as a CSV file, for use in a spreadsheet, etc. traceFigure supports a number of features a) Select an image from a local file, or from a file on the server b) Select points to 'record' by moving the mouse over the image, and clicking. Or you can move around the image, and select points, using keyboard keys. c) A number of rapid entry modes, including: * continuuous entry (as you move the mouse) * segment (specify distant points, which are then connected with points) * shapes -- quick entry of circles, rectangles, lines, and polygons d) You can scale the points by selecting an origin, and locations on the X and Y axis -- and the values associated with these reference points e) Grid lines, using a density and style of your choice, can be overlayed on top of the image f) Reference lines can be added (to connect points) g) A number of point manipulation capabilities, such as: * deleting and moving individual points * filling in between two points * attempting to remove all points that are not vertices * adding connecting reference lines between points * copying sets of points h) You can easily zoom in and out of the image, and scroll within large images (or small images that have been zoomed into). The coordinates of the entered points can be readily viewed in a special text box, which can be easily cut and pasted into a document or spreadsheet. You can also specify the coordinates of a number points by reading a special file (in particular, from a file you created from an earlier use of traceFigure). For more details, see the traceFigure's built in help. Installation traceFigure requires jQuery! It should come packaged with the appropriate version (jquery-1.10.2.js -- http://jquery.com). If you wish to use a different version, just update the code. traceFigure also uses the mousewheel.js library (http://www.jqueryscript.net/other/jQuery-Plugin-for-Mouse-Wheel-Support-Mouse-Wheel.html). It also uses several javascript libraries and css files. That said: there is no special installation -- just install the php, js, and css files that come with traceFigure (i.e.; in the traceFigure_vx.zip file) in a convenient directory on a php capable web server. A simple extract will do the job! When you want to use it, load it on your favorite browser. In fact, you can run traceFigure in standalone mode -- on a local computer that is NOT a web browser (or from a web server that does not support php). Just load it using your browser's load from file feature. When run in standalone mode nearly all of traceFigure's capabilities are available. The only drawback is it's a bit clumsier changing the image (that you wish to digitize). You will have to type in its file name in an input box, rather than use your browser's file chooser. In either case, the only gotcha is making sure jQuery (and the other .js and .css library files) are in the same directory as traceFigure.php. Notes: * ambitious programmers can change the location of jQuery, or point to a different version, by editing traceFigure.php (look somewhere near line 50) * traceFigure should work across most browsers, but it was developed under Firefox. Let us know if you have a problem with it. * traceFigure_v1.php is a a smaller & older, but more portable version. It only requires jQuery (all the javascript and css code are directly in traceFigure_v1.php). Distribution traceFigure is distibuted under the GNU GPL. Basically, feel free to use and distribute it, but you can't claim is as your own. See http://www.gnu.org/copyleft/gpl.htm for more information on GNU GPL