markummitchell / engauge-digitizer Goto Github PK
View Code? Open in Web Editor NEWExtracts data points from images of graphs
License: GNU General Public License v2.0
Extracts data points from images of graphs
License: GNU General Public License v2.0
Hi,
as preparation for Fedora package, I convert the original digitizer logo to SVG (existing icon is too small for HiDPI environments). It is at http://in.waw.pl/~zbyszek/fedora/engauge-digitizer.svg .
There's also a version with the "engauge" name, but since desktops tend to include the application name under the icon anyway, it is less useful: http://in.waw.pl/~zbyszek/fedora/engauge-digitizer-with-name.svg . Would be great if you could add this icon as default or alternative.
Some file formats that may be good for export, in addition to csv/tsv spreadsheet formats that will be implemented very soon, and the xml that is already output...
NetCDF is a powerful, and well supported, binary format. There may be issues with standards in Windows. Probably easy to add to Engauge, although I feel sorry for the downstream developers.
SQL database tables. Very easy to add to do the actual writing to the tables, but providing flexibility in terms of tables names, and especially table structures, would complicate things.
Hello,
I find the code won't build on Ubuntu 14.04:
[seb@PSY0001622 11:24:25 engauge6]$ qmake engauge.pro
Project MESSAGE: Building debug version without internal support for JPEG2000 files
Project ERROR: Unknown module(s) in QT: help
I do have libqt5help installed:
[seb@PSY0001622 11:42:21 engauge6]$ aptitude search qt5 | grep help
i A libqt5help5 - Qt 5 help module
p libqt5help5:i386 - Qt 5 help module
[seb@PSY0001622 11:43:57 engauge6]$
This problem didn't occur when I built on Debian 8. One difference is that I have a version of Qt installed in my home directory on the Debian system and I don't on the Ubuntu 14.04 system.
When closing an image/dig files which is bigger that Engauge's main windows dimension, scrollbars are being kept. It would be a good idea to reset canvas size (or whatever it is called).
Currently, the default line style and point style (which comprise the default curve style) are always the same. When several new curves are created with curve styles that are significantly different than the default, multiple curve style parameters for each curve have to be set. Easier approach is to use the last accepted curve style as the starting point for the next new curve.
It probably makes sense for the first curve in a new document to be based on the last curve of the last document.
Just seen
Format/FormatDegreesMinutesSecondsNonPolarTheta.cpp: In member function 'QString FormatDegreesMinutesSecondsNonPolarTheta::formatOutput(CoordUnitsNonPolarTheta, double, bool) const':
Format/FormatDegreesMinutesSecondsNonPolarTheta.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
and
main/MainWindow.cpp: In member function 'void MainWindow::setCurrentPathFromFile(const QString&)':
main/MainWindow.cpp:1591:10: warning: unused variable 'success' [-Wunused-variable]
bool success = QDir::setCurrent (dir.absolutePath ()); // Return to chosen directory the next time
^
main/MainWindow.cpp: In member function 'void MainWindow::slotViewGroupBackground(QAction*)':
main/MainWindow.cpp:2394:53: warning: 'indexBackground' may be used uninitialized in this function [-Wmaybe-uninitialized]
m_cmbBackground->setCurrentIndex (indexBackground);
^
main/MainWindow.cpp:2396:65: warning: 'backgroundImage' may be used uninitialized in this function [-Wmaybe-uninitialized]
m_backgroundStateContext->setBackgroundImage (backgroundImage);
Pulling from #24
On Freshly created project, in File menu, Save is inactive, and Save as is active. On in-memory projects, which are not saved yet, I think that File-Save must work as File-Save as.
Just a usability feature - current version 6.1 in Windows does nothing, if you drag and drop image of dig file onto engauge.exe
Small notes,
Curve Add/Remove should be renamed to Add/Remove Curve
By defaul we have Curve1 (say we added some points), and when we add a new Curve, it becomes Curve0, and goes to the beginning of the Curves list. I sugges to start Curve numbering from 0.
Just launched latest release from Github. Why maximize/minimize buttons are not present on main windows ? OS is windows 7 64-bit.
Thanks,
Hi! On my platform QImageReader::supportedImageFormats() returns the following formats: *.bmp *.gif *.ico *.jpeg *.jpg *.pbm *.pgm *.png *.ppm *.svg *.svgz *.xbm *.xpm. Would it be possible to extend this list with the JPEG 2000 format (see http://en.wikipedia.org/wiki/JPEG_2000)? There is a class called QtJP2ImageFormat (http://doc.qt.digia.com/solutions/3/qtjp2imageformat/qtjp2imageformat.html) but as I'm not experienced in Qt I had no luck with integrating it into ED so far.
Just installed recent build provided by Fedora and have noticed that it won't open older dig file created by engauge 5.1. Is it supposed to be like so? thanks,
it says: Encountered incorrectly encoded content.
I tried to install 6.2 in MSI, and it says that Another version of this product is already installed, pointing to 6.1 release I have installed. Same was with the previous 6.1 release. Are MSI's able to do upgrade over previous version?
If I drag and drop DIG file into Engauge window, it says that it is unable to load an image from that file.
Is it possible to detect extension of incoming file, and treat .dig files accordingly, e.g. open them as Engauge dig files.
Thanks,
i686-w64-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -fno-keep-inline-dllexport -g -Wall -Wextra -DUNICODE -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I. -IBackground -ICallback -IChecker -IChecklist -ICmd -IColor -ICoord -ICorrelation -ICursor -ICurve -IDigitizeState -IDlg -IDocument -IExport -IFilter -IFormat -IGraphics -IGrid -IHelp -Iimg -Iinclude -ILine -ILoad -ILogger -Imain -IMime -INetwork -IOrdinal -IPlot -IPoint -ISegment -ISettings -ISpline -IStatusBar -ITransformation -ITutorial -Iutil -IView -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5 -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtPrintSupport -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtWidgets -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtGui -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtNetwork -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtXml -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore -I.moc -I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ -o .objs/Correlation.o Correlation/Correlation.cpp
Correlation/Correlation.cpp: In member function 'void Correlation::correlateWithShift(int, const double*, const double*, int&, double&, double*) const':
Correlation/Correlation.cpp:74:19: error: incompatible types in assignment of 'double' to 'fftw_complex {aka double [2]}'
m_signalA [i] = 0.0;
^
Correlation/Correlation.cpp:75:23: error: incompatible types in assignment of 'double' to 'fftw_complex {aka double [2]}'
m_signalB [i + N] = 0.0;
^
Correlation/Correlation.cpp:80:27: error: incompatible types in assignment of 'double' to 'fftw_complex {aka double [2]}'
m_signalA [i + N - 1] = (function1 [i] - additiveNormalization1) * multiplicativeNormalization1;
^
Correlation/Correlation.cpp:81:19: error: incompatible types in assignment of 'double' to 'fftw_complex {aka double [2]}'
m_signalB [i] = (function2 [i] - additiveNormalization2) * multiplicativeNormalization2;
^
Correlation/Correlation.cpp:89:42: error: array must be initialized with a brace-enclosed initializer
fftw_complex scale = 1.0/(2.0 * N - 1.0);
^
Correlation/Correlation.cpp:91:42: error: cannot convert 'double*' to '__complex__ double' for argument '1' to '__complex__ double conj(__complex__ double)'
m_out[i] = m_outA[i] * conj(m_outB[i]) * scale;
^
Correlation/Correlation.cpp:102:52: error: array must be initialized with a brace-enclosed initializer
fftw_complex shifted = m_outShifted [i0AtCenter];
^
Correlation/Correlation.cpp:103:40: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
double corr = qSqrt (creal (shifted) * creal (shifted) + cimag (shifted) * cimag (shifted));
^
Correlation/Correlation.cpp:103:58: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
double corr = qSqrt (creal (shifted) * creal (shifted) + cimag (shifted) * cimag (shifted));
^
Correlation/Correlation.cpp:103:76: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cimag(__complex__ double)'
double corr = qSqrt (creal (shifted) * creal (shifted) + cimag (shifted) * cimag (shifted));
^
Correlation/Correlation.cpp:103:94: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cimag(__complex__ double)'
double corr = qSqrt (creal (shifted) * creal (shifted) + cimag (shifted) * cimag (shifted));
^
Makefile:1691: recipe for target '.objs/Correlation.o' failed
make: *** [.objs/Correlation.o] Error 1
The environment is Fedora 23, Mingw 32-bit
Just noticed that preview area of Curve properties is too stretched horizontally, thus axes/curves marks look compressed on preview area.
it might be too early, and I don't really know much about build types, but can we have a target for no debug build?
Hi, since there are File-Open menu item, I suggest adding File-Close item, which will return Engauge to original state. Thanks.
It would be useful if the new version of Engauge was able to recognise the dominant colours in an image, and automatically digitise curves of a given colour.
This is a feature implemented by WebPlotDigitizer. In the example screenshot below, I have told WebPlotDigitizer that I would like to digitize the blue curve. WebPlotDigitizer also auto-detects that the dominant colours in this image are red, yellow, green, and blue, with an easy way of selecting these colours.
After you close an image/dig file, the axes and curves buttons on main panel remain active, pressing axes button causes Engauge being terminated by Windows. You need to reset Engauge state, so buttons are inactive when image/dig file is closed.
Ra Cleave discovered that putting an underscore into a curve name results in a crash. Problem is that delimiter in Point.cpp is an underscore.
After I exported the points to a csv (or tsv) file, only the x coordinates are given correctly, y is always given as NAN. The problematic file is attached. I first thought that having the axis go from 0 to 0.05 might be a problem (German Windows - possibly a comma is needed as decimal separator), but it neither works for 0 to 5.
Hi,
I'm working on adding an appdata file (http://people.freedesktop.org/~hughsient/appdata/) to have engauge (the old version) displayed in Gnome Software installer. Please consider adding this file. It should be installed into /usr/share/appdata/engauge-digitizer.appdata.xml on a Linux system.
The description is based on the text on engauge website, but the screenshots were made to me. The screenshots are rather bad, but Gnome Software wants screenshots in 16:9 ratio and fairly high resolution, so the screeshots on the website didn't fit well. There's one screenshot that I made and the two from the website, which are more interesting, but don't pass the minimum resolution test for Gnome Software. File is at http://in.waw.pl/~zbyszek/fedora/engauge-digitizer.appdata.xml .
src/Segment/Segment.cpp: In constructor 'Segment::Segment(QGraphicsScene&, int, bool)':
src/Segment/Segment.cpp:23:74: error: cast from 'Segment*' to 'long unsigned int' loses precision [-fpermissive]
<< " address=0x" << hex << (unsigned long) this;
^
src/Segment/Segment.cpp: In destructor 'virtual Segment::~Segment()':
src/Segment/Segment.cpp:29:74: error: cast from 'Segment*' to 'long unsigned int' loses precision [-fpermissive]
<< " address=0x" << hex << (unsigned long) this;
^
src/Segment/Segment.cpp: In member function 'void Segment::appendColumn(int, int, const DocumentModelSegments&)':
src/Segment/Segment.cpp:49:80: error: cast from 'Segment*' to 'long unsigned int' loses precision [-fpermissive]
<< " segment=0x" << std::hex << (unsigned long) this << std::dec
^
src/Segment/Segment.cpp: In member function 'void Segment::removeUnneededLines(int*)':
src/Segment/Segment.cpp:474:88: error: cast from 'Segment*' to 'long unsigned int' loses precision [-fpermissive]
<< " segment=0x" << std::hex << (unsigned long) this << std::dec
^
Makefile:2261: recipe for target 'src/.objs/Segment.o' failed
Environment is Fedora 23 64-bit chroot, compiler is mingw64
Hi all,
this warning appears during qmake-qt5
configuration on Fedora 24
(development branch) and Fedora 22
(stable branch) with Qt-5.5.0
:
Project WARNING: CONFIG-=import_qpa_plugin is deprecated. Use QTPLUGIN.platforms=- instead.
Full log: https://kojipkgs.fedoraproject.org//work/tasks/7634/11227634/build.log
The gridlines.gif sample file shows how curves are not 'healed' after grid line removal. What should happen is that the gaps left by the removed grid lines should be removed. This will help Segment Fill mode.
Sometimes I'm able to create a curve and add points to it, but when I try to export them as interpolated values I end up with all nan-values.
If I set the export to raw x-y-values, I get the correct points. I'm not 100% sure why this happens, but this happens more often if I use the segment fill tool with densely set points (e.g. 5 pixels separation).
Next time I encounter this with non-confidential data I'll try to create an example which I can upload, so it can be inspected.
This happened with the Windows release 6.2 on Windows 7 64-bit.
Requests from Tobias: (1) specify help file directory in qmake line, (2) move engauge.pro to main directory
It would be great if the last choices for the comment marker and the delimiter would be remembered when creating a new project.
Hi all,
The window from Help --> Help (F1)
is empty.
Screenshot: (http://postimg.org/image/wkbyzhayd/)
This is the output from terminal:
$ engauge QTextBrowser: No document for qthelp://engaugedigitizer.net/doc/index.html
Thanks.
Would be a nice feature as this behavior is default in several other applications
Certain locales (e.g. Norwegian, German) use comma as the decimal separator (1.23 is written as 1,23). This is not handled correctly by the axis point tool, the string 1,23 is converted to 1.0.
As the validator for the lineedits in the axis point dialog recognises that my locale's decimal point is comma, I am not allowed to manually enter a dot instead, severly limiting the usability of the tool.
It seems QString::toDouble is always using the C locale since Qt5, so the fix is to use QLocale::toDouble instead of QString::toDouble.
I fixed this for the axis point tool (at least for cartesian coordinates) by editing src/Format/FormatCoordsUnitsStrategyNonPolarTheta.cpp, in FormatCoordsUnitsStrategyNonPolarTheta::formattedToUnformatted(), on line 42:
value = string.toDouble ();
should be replaced by
value = QLocale::system().toDouble(string);
This is a potential issue elsewhere in the program as well, especially where user input is handled.
The new '-curves' command line option specifies the Engauge file that is to supply the initial set of Curves. The Curve names and styles will be copied. The points in those Curves will not be copied.
src/Grid/GridClassifier.cpp:227:3: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
delete picketFence;
I would propose converting your user (and programmer) documentation from open document formats to LaTeX. To permit ease-of-editing, I would propose using LyX as a front-end for maintaining this documentation.
This will permit broader consumption capability (requiring a PDF viewer) and will also permit granular change tracking through Github (currently not available for the documents).
I'd be willing to lend a hand in getting this conversion going if Mark agrees.
It would be helpful if the new version of Engauge supported a zoomed in 'picture in picture' view which follows the cursor. This would make it easier to precisely locate points on the image, without having to zoom in the entire view.
WebPlotDigitizer implements this feature, for example.
A useful feature would be the ability to define more coordinate systems with the Axis tool. Those coordinate systems would be named and each curve could be mapped to one of the coordinate systems. See http://www.largeimages.bgs.ac.uk/iip/magnetograms.html?id=410000/411882 for an example when such a feature would be extremely useful!
Hi,
After importing an image, the default zoom mode is Fill. Together with impossibility of maximizing/minimizing the window, when you resize the window, size aspects of imported image are not preserved. I suggest to use 100% zoom by default, or any other than Fill.
just seen
mingw/include/qt5/QtXml -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore -I.moc -I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ -o .objs/Transformation.o Transformation/Transformation.cpp
Transformation/Transformation.cpp: In static member function 'static QPointF Transformation::cartesianFromCartesianOrPolar(const DocumentModelCoords&, const QPointF&)':
Transformation/Transformation.cpp:99:42: warning: 'angleRadians' may be used uninitialized in this function [-Wmaybe-uninitialized]
posGraphCartesian.setY (radius * sin (angleRadians));
Currently Engauge permits interpolation as a way of manipulating captured data to conform to a consistent domain (e.g., interpolate Y's at X's from all curves, interpolate Y's at X's from first curve, interpolate Y's at grid line X's).
However, it would be useful to also provide a curve fitting algorithm using a least-squares approach to fit "simple" polynomial, logarithmic, and/or exponential models and provide basic diagnostics (e.g., R^2 values and statistics on residuals) and range of applicability (i.e., minimum and maximum domain considered).
Hi
make
failed with
ld: library not found for -lQt5PrintSupport
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bin/engauge] Error 1
This was the command
clang++ -c -pipe -g -Wall -W -fPIC -DQT_PRINTSUPPORT_LIB -DQT_HELP_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -Isrc -Isrc/Background -Isrc/Callback -Isrc/Checker -Isrc/Checklist -Isrc/Cmd -Isrc/Color -Isrc/Coord -Isrc/Correlation -Isrc/Cursor -Isrc/Curve -Isrc/DigitizeState -Isrc/Dlg -Isrc/Document -Isrc/Export -Isrc/Filter -Isrc/Format -Isrc/Graphics -Isrc/Grid -Isrc/Help -Isrc/img -Isrc/include -Isrc/Line -Isrc/Load -Isrc/Logger -Isrc/main -Isrc/Mime -Isrc/Network -Isrc/Ordinal -Isrc/Plot -Isrc/Point -Isrc/Segment -Isrc/Settings -Isrc/Spline -Isrc/StatusBar -Isrc/Transformation -Isrc/Tutorial -Isrc/util -Isrc/View -Isrc/Zoom -I/usr/local/Cellar/qt5/5.5.1_2/include -I/usr/local/Cellar/qt5/5.5.1_2/include/QtPrintSupport -I/usr/local/Cellar/qt5/5.5.1_2/include/QtHelp -I/usr/local/Cellar/qt5/5.5.1_2/include/QtWidgets -I/usr/local/Cellar/qt5/5.5.1_2/include/QtGui -I/usr/local/Cellar/qt5/5.5.1_2/include/QtNetwork -I/usr/local/Cellar/qt5/5.5.1_2/include/QtXml -I/usr/local/Cellar/qt5/5.5.1_2/include/QtCore -Isrc/.moc -I/System/Library/Frameworks/OpenGL.framework/Headers -I/System/Library/Frameworks/AGL.framework/Headers -I/usr/local/Cellar/qt5/5.5.1_2/mkspecs/macx-clang -o src/.objs/moc_ViewProfileDivider.o src/.moc/moc_ViewProfileDivider.cpp
clang++ -headerpad_max_install_names -o bin/engauge src/.objs/BackgroundImage.o src/.objs/BackgroundStateAbstractBase.o src/.objs/BackgroundStateContext.o src/.objs/BackgroundStateCurve.o src/.objs/BackgroundStateNone.o src/.objs/BackgroundStateOriginal.o src/.objs/BackgroundStateUnloaded.o src/.objs/CallbackAddPointsInCurvesGraphs.o src/.objs/CallbackAxesCheckerFromAxesPoints.o src/.objs/CallbackAxisPointsAbstract.o src/.objs/CallbackBoundingRects.o src/.objs/CallbackCheckAddPointAxis.o src/.objs/CallbackCheckEditPointAxis.o src/.objs/CallbackGatherXThetaValuesFunctions.o src/.objs/CallbackNextOrdinal.o src/.objs/CallbackPointOrdinal.o src/.objs/CallbackRemovePointsInCurvesGraphs.o src/.objs/CallbackSceneUpdateAfterCommand.o src/.objs/CallbackUpdateTransform.o src/.objs/Checker.o src/.objs/CheckerMode.o src/.objs/ChecklistGuide.o src/.objs/ChecklistGuideBrowser.o src/.objs/ChecklistGuidePage.o src/.objs/ChecklistGuidePageConclusion.o src/.objs/ChecklistGuidePageCurves.o src/.objs/ChecklistGuidePageIntro.o src/.objs/ChecklistGuideWizard.o src/.objs/ChecklistLineEdit.o src/.objs/ChecklistTemplate.o src/.objs/CmdAbstract.o src/.objs/CmdAddPointAxis.o src/.objs/CmdAddPointGraph.o src/.objs/CmdAddPointsGraph.o src/.objs/CmdCopy.o src/.objs/CmdCut.o src/.objs/CmdDelete.o src/.objs/CmdEditPointAxis.o src/.objs/CmdFactory.o src/.objs/CmdMediator.o src/.objs/CmdMoveBy.o src/.objs/CmdPaste.o src/.objs/CmdSettingsAxesChecker.o src/.objs/CmdSettingsColorFilter.o src/.objs/CmdSettingsCoords.o src/.objs/CmdSettingsCurveAddRemove.o src/.objs/CmdSettingsCurveProperties.o src/.objs/CmdSettingsDigitizeCurve.o src/.objs/CmdSettingsExportFormat.o src/.objs/CmdSettingsGeneral.o src/.objs/CmdSettingsGridRemoval.o src/.objs/CmdSettingsMainWindow.o src/.objs/CmdSettingsPointMatch.o src/.objs/CmdSettingsSegments.o src/.objs/CmdStackShadow.o src/.objs/ColorFilter.o src/.objs/ColorFilterHistogram.o src/.objs/ColorFilterMode.o src/.objs/ColorFilterSettings.o src/.objs/ColorPalette.o src/.objs/CoordScale.o src/.objs/CoordsType.o src/.objs/CoordSymbol.o src/.objs/CoordUnitsDate.o src/.objs/CoordUnitsNonPolarTheta.o src/.objs/CoordUnitsPolarTheta.o src/.objs/CoordUnitsTime.o src/.objs/Correlation.o src/.objs/CursorFactory.o src/.objs/CursorSize.o src/.objs/Curve.o src/.objs/CurveConnectAs.o src/.objs/CurveNameList.o src/.objs/CurveNameListEntry.o src/.objs/CurveSettingsInt.o src/.objs/CurvesGraphs.o src/.objs/CurveStyle.o src/.objs/CurveStyles.o src/.objs/DataKey.o src/.objs/DigitizeStateAbstractBase.o src/.objs/DigitizeStateAxis.o src/.objs/DigitizeStateColorPicker.o src/.objs/DigitizeStateContext.o src/.objs/DigitizeStateCurve.o src/.objs/DigitizeStateEmpty.o src/.objs/DigitizeStatePointMatch.o src/.objs/DigitizeStateSegment.o src/.objs/DigitizeStateSelect.o src/.objs/DlgAbout.o src/.objs/DlgEditPoint.o src/.objs/DlgErrorReport.o src/.objs/DlgFilterCommand.o src/.objs/DlgFilterThread.o src/.objs/DlgFilterWorker.o src/.objs/DlgRequiresTransform.o src/.objs/DlgSettingsAbstractBase.o src/.objs/DlgSettingsAxesChecker.o src/.objs/DlgSettingsColorFilter.o src/.objs/DlgSettingsCoords.o src/.objs/DlgSettingsCurveAddRemove.o src/.objs/DlgSettingsCurveProperties.o src/.objs/DlgSettingsDigitizeCurve.o src/.objs/DlgSettingsExportFormat.o src/.objs/DlgSettingsGeneral.o src/.objs/DlgSettingsGridRemoval.o src/.objs/DlgSettingsMainWindow.o src/.objs/DlgSettingsPointMatch.o src/.objs/DlgSettingsSegments.o src/.objs/DlgValidatorAbstract.o src/.objs/DlgValidatorDateTime.o src/.objs/DlgValidatorDegreesMinutesSeconds.o src/.objs/DlgValidatorFactory.o src/.objs/DlgValidatorNumber.o src/.objs/Document.o src/.objs/DocumentModelAbstractBase.o src/.objs/DocumentModelAxesChecker.o src/.objs/DocumentModelColorFilter.o src/.objs/DocumentModelCoords.o src/.objs/DocumentModelDigitizeCurve.o src/.objs/DocumentModelExportFormat.o src/.objs/DocumentModelGeneral.o src/.objs/DocumentModelGridRemoval.o src/.objs/DocumentModelPointMatch.o src/.objs/DocumentModelSegments.o src/.objs/DocumentSerialize.o src/.objs/EnumsToQt.o src/.objs/ExportAlignLinear.o src/.objs/ExportAlignLog.o src/.objs/ExportDelimiter.o src/.objs/ExportFileAbstractBase.o src/.objs/ExportFileFunctions.o src/.objs/ExportFileRelations.o src/.objs/ExportHeader.o src/.objs/ExportLayoutFunctions.o src/.objs/ExportOrdinalsSmooth.o src/.objs/ExportOrdinalsStraight.o src/.objs/ExportPointsIntervalUnits.o src/.objs/ExportPointsSelectionFunctions.o src/.objs/ExportPointsSelectionRelations.o src/.objs/ExportToClipboard.o src/.objs/ExportToFile.o src/.objs/ExportXThetaValuesMergedFunctions.o src/.objs/FilterImage.o src/.objs/FormatCoordsUnits.o src/.objs/FormatCoordsUnitsStrategyAbstractBase.o src/.objs/FormatCoordsUnitsStrategyNonPolarTheta.o src/.objs/FormatCoordsUnitsStrategyPolarTheta.o src/.objs/FormatDateTime.o src/.objs/FormatDegreesMinutesSecondsBase.o src/.objs/FormatDegreesMinutesSecondsNonPolarTheta.o src/.objs/FormatDegreesMinutesSecondsPolarTheta.o src/.objs/GraphicsArcItem.o src/.objs/GraphicsLinesForCurve.o src/.objs/GraphicsLinesForCurves.o src/.objs/GraphicsPoint.o src/.objs/GraphicsPointAbstractBase.o src/.objs/GraphicsPointEllipse.o src/.objs/GraphicsPointFactory.o src/.objs/GraphicsPointPolygon.o src/.objs/GraphicsScene.o src/.objs/GraphicsView.o src/.objs/GridClassifier.o src/.objs/GridCoordDisable.o src/.objs/GridHealer.o src/.objs/GridRemoval.o src/.objs/HelpBrowser.o src/.objs/HelpWindow.o src/.objs/LineStyle.o src/.objs/LoadFileInfo.o src/.objs/LoadImageFromUrl.o src/.objs/Logger.o src/.objs/LoggerUpload.o src/.objs/main.o src/.objs/MainWindow.o src/.objs/MainWindowModel.o src/.objs/MigrateToVersion6.o src/.objs/MimePoints.o src/.objs/mmsubs.o src/.objs/NetworkClient.o src/.objs/OrdinalGenerator.o src/.objs/Point.o src/.objs/PointIdentifiers.o src/.objs/PointMatchAlgorithm.o src/.objs/PointMatchPixel.o src/.objs/PointMatchTriplet.o src/.objs/PointShape.o src/.objs/PointStyle.o src/.objs/QtToString.o src/.objs/Segment.o src/.objs/SegmentFactory.o src/.objs/SegmentLine.o src/.objs/Settings.o src/.objs/SettingsForGraph.o src/.objs/Spline.o src/.objs/SplineCoeff.o src/.objs/SplinePair.o src/.objs/StatusBar.o src/.objs/Transformation.o src/.objs/TransformationStateAbstractBase.o src/.objs/TransformationStateContext.o src/.objs/TransformationStateDefined.o src/.objs/TransformationStateUndefined.o src/.objs/TutorialButton.o src/.objs/TutorialButtonRect.o src/.objs/TutorialButtonText.o src/.objs/TutorialDlg.o src/.objs/TutorialStateAbstractBase.o src/.objs/TutorialStateAxisPoints.o src/.objs/TutorialStateChecklistWizardAbstract.o src/.objs/TutorialStateChecklistWizardLines.o src/.objs/TutorialStateChecklistWizardPoints.o src/.objs/TutorialStateColorFilter.o src/.objs/TutorialStateContext.o src/.objs/TutorialStateCurveSelection.o src/.objs/TutorialStateCurveType.o src/.objs/TutorialStateIntroduction.o src/.objs/TutorialStatePointMatch.o src/.objs/TutorialStateSegmentFill.o src/.objs/Version.o src/.objs/ViewPointStyle.o src/.objs/ViewPreview.o src/.objs/ViewProfile.o src/.objs/ViewProfileDivider.o src/.objs/ViewProfileParameters.o src/.objs/ViewProfileScale.o src/.objs/ViewSegmentFilter.o src/.objs/Xml.o src/.objs/ZoomLabels.o src/.objs/qrc_engauge.o src/.objs/moc_ChecklistGuide.o src/.objs/moc_ChecklistGuideBrowser.o src/.objs/moc_ChecklistGuidePageCurves.o src/.objs/moc_ChecklistLineEdit.o src/.objs/moc_CmdStackShadow.o src/.objs/moc_DigitizeStateContext.o src/.objs/moc_DigitizeStateSegment.o src/.objs/moc_DlgEditPoint.o src/.objs/moc_DlgErrorReport.o src/.objs/moc_DlgFilterThread.o src/.objs/moc_DlgFilterWorker.o src/.objs/moc_DlgSettingsAbstractBase.o src/.objs/moc_DlgSettingsAxesChecker.o src/.objs/moc_DlgSettingsColorFilter.o src/.objs/moc_DlgSettingsCoords.o src/.objs/moc_DlgSettingsCurveAddRemove.o src/.objs/moc_DlgSettingsCurveProperties.o src/.objs/moc_DlgSettingsDigitizeCurve.o src/.objs/moc_DlgSettingsExportFormat.o src/.objs/moc_DlgSettingsGeneral.o src/.objs/moc_DlgSettingsGridRemoval.o src/.objs/moc_DlgSettingsMainWindow.o src/.objs/moc_DlgSettingsPointMatch.o src/.objs/moc_DlgSettingsSegments.o src/.objs/moc_GraphicsView.o src/.objs/moc_LoadImageFromUrl.o src/.objs/moc_MainWindow.o src/.objs/moc_NetworkClient.o src/.objs/moc_Segment.o src/.objs/moc_SegmentLine.o src/.objs/moc_StatusBar.o src/.objs/moc_TransformationStateDefined.o src/.objs/moc_TutorialButton.o src/.objs/moc_TutorialStateAxisPoints.o src/.objs/moc_TutorialStateChecklistWizardLines.o src/.objs/moc_TutorialStateChecklistWizardPoints.o src/.objs/moc_TutorialStateColorFilter.o src/.objs/moc_TutorialStateContext.o src/.objs/moc_TutorialStateCurveSelection.o src/.objs/moc_TutorialStateCurveType.o src/.objs/moc_TutorialStateIntroduction.o src/.objs/moc_TutorialStatePointMatch.o src/.objs/moc_TutorialStateSegmentFill.o src/.objs/moc_ViewPreview.o src/.objs/moc_ViewProfileDivider.o -llog4cpp -lfftw3 -L/usr/local/Cellar/qt5/5.5.1_2/lib -lQt5PrintSupport -lQt5Help -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Xml -lQt5Core -framework OpenGL -framework AGL
I installed dependencies through brew with
brew install qt5
brew install fftw
brew install libjpeg
brew install log4cpp
brew install libpng
brew install openjpeg
Do you have any suggestions, how to track this down?
Many thanks
While looking around in Settings, I noticed that you place Cancel on left and OK on right of any settings windows. This looks unusual for most users. I suggest to swtich positions of these buttons everywhere to natural/usual order. Ok on left and Cancel on right.
Hi,
With the old version 5.1 of engauge digitizer I was able to build the static app for Windows.
Now, current version of engauge6 built against Qt 5.5 gives some link errors if I try to link statically. I don't know whether it is a valuable target, but having static version would be good. If I succeed building one, I will share it.
See, I built it on Linux with the help of mingw
http://copr.fedoraproject.org/coprs/baurzhanm/mingw64-engauge-digitizer/build/33070
For some users, installing MSI might be an issue, since it requires administrator privileges.
It would be good to have an ability for installing to user specified directory.
I have a graph from a paper on which the origin of the axes is not marked. That is, the y axis is located at x = 32 (approx), but it's not marked. The first x axis tick is 100, then 200, 300 etc.
Here's the graph in question*:
This gives me a problem when fixing the axis marks - I want to put the 3 axis points on the axes, and enter numbers for the coordinates of these three points. The points on the x axis are fine; for example I could choose 100,0 and 500,0. However, when I select a point on the y axis, I don't know what the x value is without getting my ruler and calculator out.
Now, If I could draw a vertical and horizontal line on the diagram - vertical at x=100 and horizontal at y=200, then I could place my third axis point where these two lines cross.
I couldn't find a feature like this, but I'd not be surprised if I missed something. What would you do to process this graph?
Cheers,
Seb James
Version number would be nice to have for debugging. Suggested by Baurzhan.
Actually, why? The files inside are 32-bit ones, calling the archive 64-bit may cause wrong impression for users.
Steps to reproduce:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
The dialog doesn't crash if all curves have data points.
Engauge version is 6.2.
Hi,
Have you tried compiling engauge6 in MC VC++?
If yes, what is a minimal supported version?
I am trying in MS VC2010, in cli of Qt command line, and it seems like throwing several errors.
Thanks,
So I added an image and couple Curves. Then I noticed that Close button on Windows title is inactive. Also in File menu, Save is inactive, and Save as is active. On in-memory projects, which are not saved yet, I think that File-Save must work as File-Save as. And even after saving the dig file, the window titlebar Close button is still inactive.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.