iVoLVER is a tool that allows users to create visualizations without textual programming. It is designed to enable flexible acquisition of many types of data (text, colors, shapes, quantities, dates) from multiple source types (bitmap charts, webpages, photographs, SVGs, CSV files) and, within the same canvas, supports transformation of that data through simple widgets to construct interactive animated visuals.
Aside from the tool, which is web-based and designed for pen and touch, we contribute the design of the interactive visual language and widgets for extraction, transformation, and representation of data. We demonstrate the flexibility and expressive power of the tool through a set of scenarios, and discuss some of the challenges encountered and how the tool fits within the current infovis tool landscape.
iVoLVER source code is available under the MIT license.
The code is organized as a Netbeans project that includes:
- fabric.js for the rendering of the canvas elements,
- hammer.js for additional touch gestures support,
- Math.js for mathematical functions and expression parsing,
- simplify.js for polyline simplification,
- tooltipster.js to create tooltips enhanced with CSS,
- Papa Parse to in-browser parse CSV files,
- FileSaver.js, which implements the saveAs() FileSaver interface in browsers that do not natively support it,
- colormix.js for mixing, blending and easily manipulating colors and color spaces,
- <a href=https://github.com/aurer/jsgradient" target="_blank">jsgradient.js to implement a gradient between two colors,
- alertify.js for customized dialogs,
2. The Image processing server program (mostly implemented under
src/java/classes), with the computer vision routines that recognize text and extract data from images. This module is written in Java and uses the following dependencies:
Communication between the client and the server is achieved through Java servlets (included in
Running iVoLVER from the source code
The easies way to depploy the iVoLVER is from Netbeans, by opening the root directory as a Netbeans project.
You will have to modify the
OpenCVLoader class in
src/java/classes to load to the right OpenCV DLL file. If you have added the DLL to your PATH, you could use:
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Otherwise, you will need to use the
System.load method specifying the full path to the DLL file:
String OpenCV_DLL_Path = <absolute_path_to_your_DLL_file>; System.load(OpenCV_DLL_Path);
Configuring the text recognition module
Remember to set the
TESSDATA_PREFIX environment variable pointing to the parent directory of your tessdata folder containing the traineddata files needed for the text recognition.
If you are interested in iVoLVER, send us an email to email@example.com
Copyright (c) 2006 University of St Andrews (Gonzalo Gabriel Méndez, Miguel A. Nacenta)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.