Fij / OMR Software & Machines
The engine behind the results
Our OMR software takes a scanned image — nothing more — and turns it into structured, verified answer data. Here's exactly how it works, and the scanner we build it around.
How the software works
The software locates the corner registration marks printed on every sheet — the same square markers you can see framing this page — to establish exactly how the sheet sits in the image.
Using those anchors, it straightens rotation, corrects skew and normalizes lighting so a slightly crooked or unevenly lit scan reads the same as a perfect one.
Once the page is aligned, the software projects the known template grid onto the image, locating every single answer bubble by position rather than by searching pixel-by-pixel.
For every bubble, it measures how dark the mark inside is relative to a blank one, and decides filled, unfilled, or ambiguous — multiple marks or very light shading get flagged rather than guessed.
Clean results export straight to CSV or Excel; flagged sheets are queued for a quick human check before anything is scored.
Built to be simple
The software is designed so someone running an exam center — not a programmer — can operate it. A template designer lets you set up a new sheet layout by placing bubbles visually, and batch processing runs unattended once scanning starts.
Drag out bubble rows, ID blocks and set-code fields on a visual canvas — the software generates the detection template automatically.
Point it at a scanned folder or connect it directly to the scanner, and it works through hundreds of sheets without supervision.
Any bubble the software isn't confident about — smudges, erasures, double marks — is set aside for a person to confirm, instead of silently guessing.
Accuracy in practice
Because every sheet is located by its own printed anchors rather than assumed to sit in a fixed position, natural variance from sheet to sheet — a slightly crooked scan, a bit of paper shrink — doesn't throw off the reading.
Fill detection compares each bubble against the blank paper and pencil/ink tone on that same sheet, so lighting differences between batches don't shift what counts as "filled."
Anything ambiguous is queued for a person rather than scored automatically — this is what keeps accuracy high on real-world sheets with erasures, stray marks or light pencil.
Our scanning hardware
This is the production scanner behind our batch scanning service — a duplex, high-volume document scanner built for exactly the kind of heavy, repetitive scanning that exam sheets demand.
It scans both sides of a sheet in a single pass at up to 85 pages a minute, feeds up to 100 sheets at a time from its automatic document feeder, and is rated for a peak daily duty cycle of up to 14,000 sheets — comfortably covering a full exam-day scanning run.
| Scanner type | Sheet-fed, one-pass duplex color scanner |
| Optical resolution | 600 dpi (up to 1200 dpi maximum) |
| Scan speed | Up to 85 ppm / 170 ipm (200–300 dpi) |
| Automatic document feeder | 100 sheets |
| Peak daily duty cycle | Up to 14,000 sheets |
| Document size range | 2" × 2" up to 8.5" × 240" |
| Paper weight supported | 27–413 g/m² |
| Light source | Three-colour RGB LED |
| Interface & drivers | USB, with TWAIN and ISIS driver support |
| Dimensions | 11.6" × 8.3" × 8.5" (W × D × H) |
| Weight | 7.9 lb |
| Warranty | 3-year limited, advance-exchange program |
Specifications summarized from Epson's published product documentation for the WorkForce DS-970.
The 100-sheet feeder and high duty cycle mean a full center's worth of answer sheets scans in one continuous run, not several small batches.
Both sides of a sheet are captured simultaneously, which matters when a form uses the back page for extra questions or a second ID block.
A steady LED light source and 600 dpi optical resolution give our software a clean, evenly lit image to work from — which is most of what accurate extraction depends on.
We're happy to walk through a live demo with a sample answer sheet from your own exam.
Book a demo