Skip to content

Commit

Permalink
Merge branch 'release-0.7'
Browse files Browse the repository at this point in the history
  • Loading branch information
jfisteus committed Jul 26, 2017
2 parents a21968f + b78e14c commit 94e85d2
Show file tree
Hide file tree
Showing 51 changed files with 2,775 additions and 1,661 deletions.
9 changes: 9 additions & 0 deletions AUTHORS.TXT
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
- Main developer:

Jesus Arias Fisteus

- Manuscript digits classifier:

Rodrigo Arguello

- Exam configuration dialogs:

Jonathan Araneda Labarca
14 changes: 14 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
2017-07-24 Jesus Arias Fisteus <[email protected]>
* Release 0.7.

* Add an SVM-based OCR module for student's identity and cell crosses

* Add support to create Windows installers with pyinstaller and NSIS,
and support for Linux portable executables with pyinstaller.

* Add support to publish the project in PyPI

* Transition to the cv2 bindings og OpenCV 2.4

* Several minor improvements and bug fixes

2016-07-04 Jesus Arias Fisteus <[email protected]>

* Release 0.6.4.
Expand Down
21 changes: 8 additions & 13 deletions README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Eyegrade uses a webcam to grade MCQ (multiple choice question)
Eyegrade uses a webcam to grade multiple choice question (MCQ)
exams. Needing just a cheap low-end webcam, it aims to be a low-cost
and portable solution available to everyone, on the contrary to other
solutions based on scanners.
Expand All @@ -7,14 +7,13 @@ For more information about Eyegrade you can visit:

- Its website: http://www.eyegrade.org/
- Its blog: http://www.eyegrade.org/blog/
- The user manual: http://www.eyegrade.org/doc/user-manual/
- Its documentation: http://www.eyegrade.org/documentation.html
- Its source code at GitHub: https://github.com/jfisteus/eyegrade
- The downloads page, for pre-built binary files:
http://www.eyegrade.org/download.html

Eyegrade is still alpha. It is fully functional and has been used in
several courses at Universidad Carlos III de Madrid since 2010.
Its use is encouraged for tech-savvy people. However, it still
needs great improvements in its user-friendliness in order to be
usable for the general public.
Eyegrade is fully functional and has been used in courses at
Universidad Carlos III de Madrid and other institutions since 2010.

The program is free software, licensed under the terms of the GNU
General Public License (GPL) version 3 or any later version.
Expand All @@ -39,15 +38,11 @@ student by using its hand-written digit cognition module. The whole
process is supervised by the user in order to detect and fix potential
errors of the system.

- Extracting statistics: you can view question-by-question statistics in
order to analyze which topics are clear to the majority of your
students, and which topics need further work.

- Exporting grades: grades can be exported in CSV format, compatible
with other programs such as spreadsheets.

An article describing Eyegrade has been published by the Journal of
Science Education and Technology:
An article describing an earlier version of Eyegrade has been
published by the Journal of Science Education and Technology:

Jesus Arias Fisteus, Abelardo Pardo and Norberto Fernández García,
"Grading Multiple Choice Exams with Low-Cost and Portable
Expand Down
41 changes: 41 additions & 0 deletions bin/eyegrade
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env python

from __future__ import print_function

import sys


dependencies = {}
try:
import cv2
if cv2.__version__.startswith('2.4'):
dependencies['opencv'] = (True, None)
else:
dependencies['opencv'] = (False, 'version')
except ImportError:
dependencies['opencv'] = (False, 'import')

try:
import PyQt4.QtCore
dependencies['pyqt4'] = (True, None)
except ImportError:
dependencies['pyqt4'] = (False, 'import')

if all(value[0] for value in dependencies.values()):
import eyegrade.eyegrade
eyegrade.eyegrade.main()
else:
has_opencv, reason = dependencies['opencv']
if not has_opencv:
if reason == 'version':
print('OpenCV 2.4 is required, but {} found.'
.format(cv2.__version__),
file=sys.stderr)
else:
print('Cannot import cv2. You need to install OpenCV 2.4 '
'and its Python bindings.',
file=sys.stderr)
has_pyqt4, reason = dependencies['pyqt4']
if not has_pyqt4:
print('Cannot import PyQt4. You need to install it.',
file=sys.stderr)
5 changes: 5 additions & 0 deletions bin/eyegrade-create
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env python

import eyegrade.create_exam

eyegrade.create_exam.main()
Binary file modified doc/sample-files/exam-A.pdf
Binary file not shown.
Loading

0 comments on commit 94e85d2

Please sign in to comment.