.gitignore to ignore .DS_Store
[dja/scandal.git] / architecture.txt
1 = How are things laid out? =
2
3 1 scan page contains 2 physical pages.
4 each physical page may contain either 2 or 1 logical pages
5 (future: or 4 slides!)
6
7 = What do we do? =
8
9 0. init, process args, etc.
10 1. determine page count
11 2. determine depth
12 3. determine dpi
13 4. foreach double-page-spread (scan page)
14         4.1. extract scan page from pdf, save as png
15         4.2. run a mask over it to pull off large black areas
16         4.3. run unpaper over it, creating 2 pages (physical page)
17         4.4. foreach physical page
18                 4.4.1. remask and retrim
19                 4.4.2. attempt to detect if a physical page contains 2 logical pages, 
20                         4.4.2.1. if so split with unpaper
21                 4.4.3. do any final processing (resize for bebook)
22 5. move all the final pictures into a final picture directory
23
24 In the accidentally deleted code we used ocropus's binarise stuff to do some
25 extra cleaning.
26
27 = What options do we need? =
28 Anything we attempt to detect automatically should have the option to set manually
29  - depth
30  - dpi
31  - probably which pages we want to process
32  - how many logical pages a physical page has
33         * an option to set a default and certain exceptions would be ace.
34  - options for final output
35  - options to ignore partial products

UCC git Repository :: git.ucc.asn.au