Scripts for data acquisition with paper-based surveys
SDAPS is an open source (GPLv3, LPPL) optical mark recognition (OMR) program. It is written in python and has an integrated workflow with both LibreOffice and LaTeX to create questionnaires.
With SDAPS you create the questionnaire using either LibreOffice or LaTeX. After this some processing is done to collect the information about the survey (questions, and answers) and a printable PDF is created. The filled out questionnaires only need to be scanned in (example). SDAPS will do the optical mark recognition and can create a PDF report (example) or export the data. Optionally it is possible to manually correct the results using a graphical user interface.
Possible use cases for SDAPS include:
- anonymous surveys
- non-anonymous surveys
- evaluation of lectures
- automated data input
If you have any questions or comments related to SDAPS (usage, development, or anything else) then the mailing list is a good place to post these. Please consider subscribing to this list if you are thinking about using SDAPS in the future or should you need some assistance. You can also look around on irc #sdaps on freenode (webchat).
For an introduction of how SDAPS is used and what can be done with it you can look at the Tutorial and Documentation. Should you have any further questions about SDAPS you can use the Contact#Mailing_List|. If you find any issues, please report them in the Issue Tracker.
- Open Source Software; use and modify it as you like (subject to the GPLv3+/LPPLv1.3c+)
- Optical mark recognition (OMR) from scanned data
- Imports most formats including PDF and even photographs (version 1.1.7)
OpenDocument text (ODT) for creating questionnaires
LaTeX class for creating questionnaires
- Supports any paper size
- Multipage questionnaires, both simplex and duplex printing (up to 9999 pages with "code128" and "qr" style)
- Different kinds of questions:
- A mark type question (a score)
- A choice of many, that may also include freeform fields
- Freeform fields
- The LaTeX class also supports more compact matrix configurations for these.
- Creation of PDF reports for printout
Also supports creating reports of only partial result sets with arbitrary filters
- Export of data to CSV files for further analysis (excluding image data)
Import of additional results from other sources.
With this it is for example possible to merge data aquired via a webpage at a later point.
- A GUI application to check the recognition and correct errors
- Written in Python using a modular and extensible design
Overview of Changes in SDAPS 1.1.11 -- 27.12.2015
Mostly a bugfix release again. The most important fix (preventing dataloss) is that the data is now written atomically. This means that aborting an SDAPS run should not result in a corrupted database anymore.
- model: Write survey file atomically (#79)
- image: compatibility with older glib versions
- csv: Import code fixes (#79)
- latex: Work around manual enumeration breaking automatic numbering
- setup: Create nested directories instead of only one leve
- convert: Support landscape questionnaires (#88)
New and updated languages:
Overview of Changes in SDAPS 1.1.10 -- 19.05.2015
Again, mostly a bugfix release. One thing to note is that if you are using small fields (i.e. choiceitemtext) is that single characters/digits can sometimes be detected as only dirty. So if you want to use fields with only a single character, then it is likely a good idea to fine tune the minimum size of writing and other aspects of freeform field recognition.
- latex: Fix search paths (#63)
- latex report: Fix formatting issues
- gui: Fix broken display in some corner cases (#67)
- gui: Ensure dialogs are on top of the main window (#66)
- csv: Options to export recognition quality
- Allow filtering based on string replacements for freeform fields (#69)
- latex: Fix encoding issues for some special characters (#70)
- latex: Allow smaller choiceitemtext elements (#68)
New and updated languages:
- Portuguese (Brazil)
Some similar free software projects in no specific order: