diff --git a/README.md b/README.md index 5811b8d1..3939d03e 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,10 @@ -[![Travis build Status](https://travis-ci.org/markummitchell/engauge-digitizer.svg?branch=master)](https://travis-ci.org/markummitchell/engauge-digitizer) -[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/1o7p8iu8qxq0p7ri/branch/master?svg=true)](https://ci.appveyor.com/project/markummitchell/engauge-digitizer/branch/master) - -engauge-digitizer -================= +Links: +------ +[Project page](http://markummitchell.github.io/engauge-digitizer) [![Join the chat at https://gitter.im/markummitchell/engauge-digitizer](https://badges.gitter.im/markummitchell/engauge-digitizer.svg)](https://gitter.im/markummitchell/engauge-digitizer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -The Engauge Digitizer tool accepts image files (like PNG, JPEG and TIFF) containing graphs, and recovers the data points from those graphs. The resulting data points are usually used as input to other software applications. Conceptually, Engauge Digitizer is the opposite of a graphing tool that converts data points to graphs. - -This tool is widely used. Users range from one-time users digitizing a single image file, to large government and commercial organizations managing databases of thousands of image files. - -Interested in translating Engauge to another language? We welcome translations of file translations/engauge.ts to [other languages](https://github.com/markummitchell/engauge-digitizer/issues/85) using [linguist](http://doc.qt.io/qt-5/linguist-programmers.html). - -Released Versions ------------------ -Engauge Digitizer is distributed with most Linux distributions. [Releases](https://github.com/markummitchell/engauge-digitizer/releases) are also available for -Linux and Windows operating systems as downloads: - -* Version 7.0 (3/5/2016 ) offers an advanced import mode for (1) multiple coordinate systems in the same image and/or (2) axes with only one known coordinate (floating axes). Files can also be imported by copying and pasting. - -* Version 6.2 (11/4/2015) now accepts dragged DIG files, and adds a ZIP file for installing in Windows without administrator -access privileges. - -* Version 6.1 (10/31/2015) can load DIG files from earlier versions of Engauge Digitizer. - -* Version 6.0 (10/23/2015) of Engauge 6 was released. This is a major rewrite of the 10 year old Engauge Digitizer software project that lives on sourceforge.net. The replacement is required since the Qt3 toolkit that Engauge relies on is disappearing. Engauge-Digitizer uses the new Qt5 library which should be available for many years, and also offers many new features. - -Features --------- -Features in released versions of Engauge-Digitizer: - -1. Automated line and point extraction rapidly digitizes data -2. Image processing for separating important details from background information -3. Undo/redo of all operations means recovering from mistakes and experimenting with options is painless -4. MSI installer for Windows operating system -5. Wizard provides an interactive tutorial to explain the basic steps -6. Wizard creates a checklist guide to interactively leads user through steps from file import to file export -7. Cubic spline interpolation between points gives more accurate curves with fewer points -8. Axes Checker briefly highlights the axes when they are defined or modified, to reveal entry mistakes -9. Graph coordinates can be specified as date and time values, or as degrees, minutes and seconds -10. File import and data export by drag-and-drop and copy/paste -11. Test suite for regression testing minimizes code breakage as new features are added -12. Multiple coordinate systems in the same image can be digitized in advanced mode -13. Axes with only one known coordinate (floating axes) can be digitized in advanced mode +[![Travis build Status](https://travis-ci.org/markummitchell/engauge-digitizer.svg?branch=master)](https://travis-ci.org/markummitchell/engauge-digitizer) -Installation ------------- -Engauge can be installed using packages for all popular distributions of Linux (easiest method), or by downloading -pre-built binaries for Windows and Linux (slightly less easy). The pre-built binaries are available from the engauge-digitizer -project at github.com, in the [Releases page](https://github.com/markummitchell/engauge-digitizer/releases). The final option -for installing is to build the software from the source -code (very difficult). Building the software from the source code is accomplished by following the steps in the BUILD -file that is found in the main directory. The build process can take as little as 15 minutes in Linux or as long as -several hours in Microsoft Windows. +[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/1o7p8iu8qxq0p7ri/branch/master?svg=true)](https://ci.appveyor.com/project/markummitchell/engauge-digitizer/branch/master) -Contributors ------------- -Thanks to Zbigniew Jędrzejewski-Szmek, Tamás Nagy, Baurzhan Muftakhidinov, Tobias Winchen and other contributors and users! diff --git a/contrib/python/insert_derived_column.py b/contrib/python/insert_derived_column.py index 5fbb91ca..f75e9f08 100755 --- a/contrib/python/insert_derived_column.py +++ b/contrib/python/insert_derived_column.py @@ -1,4 +1,12 @@ #!/usr/bin/python +# +# Usage - python insert_derived_column.py +# Purpose - This script reads in a table of (longitude,latitude) data points, and then +# outputs a set of evenly spaced waypoints through those points assuming a constant +# velocity (variable velocityMps) +# Installation requirements - 1) sudo apt-get install python +# 2) sudo apt-get install python-dev (or python-devel) +# 3) sudo pip install numpy from datetime import datetime, timedelta import fileinput @@ -66,7 +74,10 @@ def xyzFromLatLonAlt (latLonAlt): # Output timestamp = curDateTime.strftime ('"%j %Y %H:%M:%S.%f"') fields.insert (0, timestamp) + + # Use one of the following lines. The first is for python2, and the second is for python3 print ', '.join (str (x) for x in fields) + #print (', '.join (str (x) for x in fields)) # Update for next iteration timeTraveledS = xyzDeltaMag / velocityMps diff --git a/dev/ProcessFlowchart.odp b/dev/ProcessFlowchart.odp new file mode 100644 index 00000000..8eddbe68 Binary files /dev/null and b/dev/ProcessFlowchart.odp differ diff --git a/dev/engauge.pro.user.mmitchell.linux b/dev/engauge.pro.user.mmitchell.linux index d40231f2..b29d6d17 100644 --- a/dev/engauge.pro.user.mmitchell.linux +++ b/dev/engauge.pro.user.mmitchell.linux @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/doc/Engauge2SoftwareDevelopmentFile.odt b/doc/Engauge2SoftwareDevelopmentFile.odt index 06e2866b..5771048d 100644 Binary files a/doc/Engauge2SoftwareDevelopmentFile.odt and b/doc/Engauge2SoftwareDevelopmentFile.odt differ diff --git a/doc/osx_notes b/doc/osx_notes deleted file mode 100644 index a1fc723f..00000000 --- a/doc/osx_notes +++ /dev/null @@ -1,42 +0,0 @@ -log4cpp -------- - -./configure \ ---prefix=/Users/mark/log4cpp CXX=/usr/bin/g++ \ -CXXFLAGS="-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include -arch x86_64 -Xarch_x86_64 \ --DLOG4CPP_HAVE_SSTREAM" - -make -make install - -fftw (NOTE THE -enabled-shared!) --------------------------------- -./configure \ ---prefix=/Users/mark/fftw-3.3.4 \ ---enable-shared \ -CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ \ -CXXFLAGS="-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include" - -qmake -config release engauge.pro - -engauge -------- -source dev/osx/macosx_setup -(edit engauge.pro and comment out CONFIG= line) -qmake -config release engauge.pro -(edit engauge.pro and restore CONFIG= line) -make -cp -r bin/documentation engauge.app/Contents/MacOS - -icons ------ -use gimp to create dev/osx/iconset subdirectory -iconutil -c icns digitizer.iconset -cp digitizer.icns engauge-digitizer/engauge.app/Contents/Resources - -deploy ------- -Next step adds libraries to application bundle: -$QT_DIR/bin/macdeployqt engauge.app -dmg - - diff --git a/src/Checklist/ChecklistGuidePageConclusion.cpp b/src/Checklist/ChecklistGuidePageConclusion.cpp index ec5d1759..d0395103 100644 --- a/src/Checklist/ChecklistGuidePageConclusion.cpp +++ b/src/Checklist/ChecklistGuidePageConclusion.cpp @@ -12,7 +12,15 @@ ChecklistGuidePageConclusion::ChecklistGuidePageConclusion() : { LOG4CPP_INFO_S ((*mainCat)) << "ChecklistGuidePageConclusion::ChecklistGuidePageConclusion"; - addHtml (tr ("

A checklist guide has been created.

")); + addHtml (tr ("

A checklist guide has been created.

" + "


" + "

Why does the imported image look different? " + "After import, a filtered image is shown in the background. This filtered image is produced from " + "the original image according to the parameters set in Settings / Color Filter. When the parameters " + "have been set correctly, unimportant information (such as grid lines and background colors) has been " + "removed from the filtered images so automated feature extraction can be performed. If desirable " + "features have been removed from the image, the parameters can be adjusted using Settings / Color Filter, " + "or the original image can be displayed instead using View / Background / Show Original Image.

")); } bool ChecklistGuidePageConclusion::validatePage () diff --git a/src/Checklist/ChecklistGuidePageIntro.cpp b/src/Checklist/ChecklistGuidePageIntro.cpp index 68220950..95300015 100644 --- a/src/Checklist/ChecklistGuidePageIntro.cpp +++ b/src/Checklist/ChecklistGuidePageIntro.cpp @@ -15,5 +15,7 @@ ChecklistGuidePageIntro::ChecklistGuidePageIntro() : addHtml (tr ("

Engauge converts an image of a graph or map into numbers, as long as the image has axes and/or grid lines " "to define the coordinates.

" "

This wizard creates a checklist of steps that can serve as a helpful guide. By following those steps, you " - "can obtain digitized data points in an exported file.

")); + "can obtain digitized data points in an exported file. This wizard also provides a quick summary of the " + "most useful features of Engauge.

" + "

New users are encouraged to use this wizard.

")); } diff --git a/src/Checklist/ChecklistGuideWizard.cpp b/src/Checklist/ChecklistGuideWizard.cpp index 026e0771..d6324cce 100644 --- a/src/Checklist/ChecklistGuideWizard.cpp +++ b/src/Checklist/ChecklistGuideWizard.cpp @@ -103,6 +103,7 @@ QString ChecklistGuideWizard::templateHtml (CoordSystemIndex coordSystemIndex) c // Insert additional space between successive list items, using stylesheet str << ""; + str << "

" << tr ("Follow this checklist of steps to digitize your image. Each step will show a check when it has been completed."); str << "

" << tr ("The coordinates are defined by creating axis points:") << "

\n"; str << "

" << TAG_ANCHOR_AXIS_1 << " " << tr ("Add first of three axis points.") << " " << TAG_AHREF_AXIS_1 << "

\n"; str << TAG_DIV_AXIS_START_1; diff --git a/src/main/MainWindow.cpp b/src/main/MainWindow.cpp index 60e7f241..754d6917 100644 --- a/src/main/MainWindow.cpp +++ b/src/main/MainWindow.cpp @@ -2187,7 +2187,7 @@ void MainWindow::settingsReadMainWindow (QSettings &settings) // Main window geometry resize (settings.value (SETTINGS_SIZE, - QSize (400, 400)).toSize ()); + QSize (600, 600)).toSize ()); move (settings.value (SETTINGS_POS, QPoint (200, 200)).toPoint ());