jstavel / differ Goto Github PK
View Code? Open in Web Editor NEWThis project forked from xrosecky/differ
Differ
License: Other
This project forked from xrosecky/differ
Differ
License: Other
Compilation Information: You must have Maven and the JDK installed. Install javadjvu-lib-0.8.9-RELEASE.jar manually: mvn install:install-file -DgroupId=com.lizardtech -DartifactId=javadjvu-lib -Dversion=0.8.9-RELEASE -Dpackaging=jar -Dfile=javadjvu-lib-0.8.9-RELEASE.jar Before you can run 'mvn package', change to the differ-libs-from-source directory and run 'mvn install' The other commands below should be run from the root directory (./differ) To package the Differ application into a .war (which is by default placed in ./bin) and compile all plugins: mvn package This produces a plugin directory and resources directory in the bin folder. Those should be placed into ~/.differ (%USERPROFILE%/.differ on Windows). A WAR is also produced, which should be used in the appropriate configuration for your webserver. To compile the Differ application without packaging: mvn compile To update the widgetsets without running a full compile: mvn vaadin:update-widgetset To compile as needed and run on a local Jetty server first run mvn:package and then: mvn jetty:run-war Passing a terminator control character to the console you initiated the server from shuts down the server. [Ctrl-C or Ctrl-Z on most platforms] To remove all build files: mvn clean Differ Documentation ==================== You can read documentation https://differ.readthedocs.org/en/latest/ . You can read documentation docs/_build/dirhtml/index.html . You can build documentation: cd docs make html or: cd docs make.bat
and try to run docs/bin/get-jpylyzer.sh
It is a script to collect outputs from jpylyzer.
It is the first step to collect significant properties - observing output of an external program.
https://differ.readthedocs.org/en/latest/#id31
There are a lot of properties that program must collects and normalizes.
They are stored in ArrayList structure. It is often necessary to select given properties
by its own name.
Implementing some kind of index by property name must speed up an aplication.
At least ArrayHash by property name could help.
When running kdu_expand the first time it gives an error that the file cannot find libkdu_v72r.so
Suggested fixes:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/$kakadu.bin... or similar
export LD_LIBRARY_PATH
What do you think Jan?
Please save your installations steps in documentation.
It is enought to copy and paste steps you did on your terminal.
The source file of a documentation regarding to jpylyzer is docs/jpylyzer.rst.
https://differ.readthedocs.org/en/latest/#id35
It is difficult to observe all properties that metadata extractors offer.
So it is possible that some of properties remain unrecognized and they are not never used.
It would be great to offer some debug mode when an application shows all unused properties.
At the end of an iteration (ie. configuration) an application will show no unused property.
see appCtx-differ-cmdline.xml. It is main source.
So there is bean metadataExtractors.
See where it is used.
There is jpylyzerMetadataExtractor in the file.
It will be called in a unittest to get output.
please see, what structure the output is.
There is ArraySet extractorProperties, identificationProperties, validationProperties, characterizationProperties in a file metadataSignificantProperties.
All of them will be checked in the unittest.
Choose two images that jpylyzer can recognize. See property supportedFileExtensions in a file jpylyzerMetadataExtractor.
call jpylyzer by hand and try to recognize what values of significant properties the extractor gives.
save the values of significant properties for a given image into some structure. I think you can create spring application context for junit.
write junit test for bean jpylyzerMetadataExtractor to check, whether outputs it gives for a given image are the same as values by hand.
If you have problem with collecting values of significant properties for given image I help you.
proper link is differ-cmdline/src/main/resources/common.properties
There is an application that compare two images.
class TextCompareResultTransformer create text output of a comparison.
Thanks,
Jan Stavel
There will be information about file with stderr-output from jpylyzer.
I thing the file does not exist yet.
I it does not exist yet, please, create it by calling jpylyzer on a proper image.
And reference to this file will be as next line in a test context file:
๐
Jan
please refer to documentation.
Please, write a short installation guide how to install.
Just copy and paste commands you did.
Text output of cmdline creates class TextResultTransformer.
The right order of columns it prints is:
Property name Extractor Value Unit
File name: x File_Name.jp2
File size: x 9,52 MB
Height: Jhove 1748 px
ExifTool 1748
NZ MTD Extractor 1748
FFIdent 1748
KDU_expand 1748
DjVuDUMP 1748
JP2 Checker 1748
Width: Jhove 2480 px
ExifTool 2480
NZ MTD Extractor 2480
FFIdent 2480
KDU_expand 2480
DjVuDUMP 2480
JP2 Checker 2480
Resolution (Y) Jhove 600 ppi
ExifTool 600
NZ MTD Extractor 600
FFIdent 72
KDU_expand 600
DjVuDUMP 600
JP2 Checker 600
See FACE_app_form5 google docs.
Thanks,
Jan Stavel
https://github.com/Differ-GSOC/differ/tree/master/differ-cmdline/src/main/resources/tests
now goes to tests/resources
Jan Stavel
User could view image in a report. So it is easier to remember what images were compared.
Hi, I'm having troubles accessing the database with the differ-webapp.
My current differ.properties looks like:
db.driverClassName=com.mysql.jdbc.Driver
db.url=localhost:3306
db.username=differ
db.password=differ
and while I can register a user using the Register button, reading from the database seems to create errors by throwing the exception: "Could not get
JDBC connection; nested exception is java.sql.SQLExcetion: No suitable
driver found for localhost:3306". Am I even using the correct driverClassName?
Another things is that in my tomcat log it says
SEVERE: The web application [] registered the JDBC driver
[com.mysql.jdbc.Driver] but failed to unregister it when the web
application was stopped. To prevent a memory leak, the JDBC Driver has
been forcibly unregistered.
It would seem there is missing some kind of cleanup which then makes tomcat forcibly kill the driver which results in the database not being accessible for later interaction.
As a last resort, is there a way to use the tool without the web application? I mean in a way where I still will be receiving some visual information as output like the web application? Maybe a generated HTML page showing the information the web application would. I have tried running the command line tool by using the run-two.sh file and the reports generated doesn't seem to produce anything visual - even the web report *.drep file.
https://differ.readthedocs.org/en/latest/#id32
Metadata extractors that are written in java can be called in running JVM
calling some class methods. It must speed up an application a lot.
Because the extractor calls external process.
Transformer takes outputs of an external process and returns List
So we will call transformer in unittest directly.
Please,
change it in test context file.
Regards,
Jan Stavel
It could be great to have a comparison report in html
.
Or in pdf
. Report can be done using JasperReport.
See: https://differ.readthedocs.org/en/latest/#result-of-comparion-can-be-in-other-than-text-format
The file is at differ-cmdline/src/resources.
Documentation contains of wrong reference to this file.
one property that does not appear in text report
documentation is written in restructured text.
[[http://docutils.sourceforge.net/rst.html]]
If you want to see rendered documentation, it is necessary to install sphinx tools.
[[http://sphinx-doc.org/]]
Documentations of a cmdline usage is:
docs/cmdline.rst
See into it and you will show a text file that contains of the output.
Regards,
Jan Stavel
goes now to tests/resources/
๐
Jan
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.