Daniel Reetz, the founder of the DIY Book Scanner community, has recently started making videos of prototyping and shop tips. If you are tinkering with a book scanner (or any other project) in your home shop, these tips will come in handy. https://www.youtube.com/channel/UCn0gq8 ... g_8K1nfInQ

Postprocessing: The hardware/software divide

Discussions, questions, comments, ideas, and your projects having to do with DIY Book Scanner software. This includes the Stereo Data Maker software for the cameras, post-processing software, utilities, OCR packages, and so on.
User avatar
JonEP
Posts: 81
Joined: 19 Apr 2010, 15:09

Postprocessing: The hardware/software divide

Post by JonEP » 24 Dec 2011, 11:27

Having successfully built a book scanner a while back, I've been away from these boards for a while. Having returned to check in on recent developments, I see that there's been a lot of movement on the hardware side of things. Daniel's new hacker space plywood model is so cool. I'd love to have a BMX-grip on my rig! In his introductory video, Daniel suggests a possible scanning output of up to 1000 pages per hour. My reaction was partly one of awe. But I was also struck by the thought "that sounds like a post-processing nightmare!"

In this post, I would simply like to bring up the idea that the image-processing phase of DIY scanning is (iin my world) the most labor intensive, time-consuming, and mind numbing sapect of the whole endeavor. It also probably presents the most technologically challenging task facing those in developing countries, disaster situations, etc. So, in addition to the incredible advances in the mechanics of scanning that are being developed here, I'd like to express my hope that a concerted effort might be made to improve the software side of things. And I say this with huge respect fot Tulon, Misty, and others who have worked to develop tools to allow speedy processing.

My current workflowinvolves:

Snapping images using eye-fi sd's running chdk on canon a480s.

The jpgs are transferred to my Windows 7 machine.

I have finally figured out that it is very important not to allow the entire 1/2 platen to be included in the image taken by the camera, as this poses problems for scan tailor (it cant accurately find the book edges) [note --I noticed Daniel's new machine is taking the entire 1/2 platen image).

If I have accidentally taken an image that ST can't parse, I create a batch process in Photoshop to chop enough of the image that ST can then correctly identify the page. I then must figure out the DPI of the image, which I do in Photoshop by selecting five lines of text, copying the selection, and creating a new file; Photoshop will by defultmuse the dimensions of the selection, allowing me to glean the necessary number to feed into ST.

I then rotate the pages, have ST find the edges, manually select content, making sure to re-adjust the content box for each time the book moved a bit in the cradle, acvept the automatcally generated margins, then output the tiffs to the Out folder.

Repeat all of this for the Left sides.

Copy left outs to new folder. Ditto rights.

Use Free commander to renumber right camera images as: author_<counter>_even

Use Free commander to renumber left camera images as: author_<counter>_odd

Move them all into the same folder

Select all

Combine files in Acrobat as PDF

OCR using clearscan to reduce file size.


So, all of this takes a long time and requires me using several applications. Although the avtual scanning may take just a few minutes, I might almost be better off photocopying and running the photocopies through a sheet fed scanner....

I'd love to see some movement on a more automated version of scantailor that was custom ,ade for the conditions encounterd by DIY scanners. Suggested features:

Ability toiunput Left and Right folders
Ability to have ST launch an embedded image browser where the user could select five lines of text abd have ST figure out the dpi
Ability for ST to renumber images and combine them into one folder....

Must run now, children are waking, sorry for the incomlete essay.

Thanks to all for the hard work and dedication.

User avatar
JonEP
Posts: 81
Joined: 19 Apr 2010, 15:09

Re: Postprocessing: The hardware/software divide

Post by JonEP » 24 Dec 2011, 15:14

Hi all,

Tried to get back to that post and edit it (recently dislocated finger posing problems for typing, combined with crying kids in need of attention), but it seems the 24 hour editing window was not working for editing. In any case, I think it is intelligible enough to be worth reading. Thanks for your patience.
J

Tulon
Posts: 687
Joined: 03 Oct 2009, 06:13
Number of books owned: 0
Location: London, UK
Contact:

Re: Postprocessing: The hardware/software divide

Post by Tulon » 24 Dec 2011, 16:11

I can see why there is more progress on the hardware side. It's because more effort is being put there. Multiple people are working on improving their builds, while no one is currently working on the software side. Again, it's easy to see why - there are very few people out there with necessary skills. On the latest round of recruitment, it took my company 3 months to find a capable Java developer. I imagine a C++ one would be even harder to find. Should we be surprised there is no one willing to improve our software for free?

I should probably also note that doing this kind of not-for-profit software development was a predominantly negative experience for me. Of people contacting me regarding Scan Tailor, 90% do so to ask for new features. It's a burden to even answer those. Verbally abusive users though quite uncommon, can really turn you off. These days I find my day job to be much more satisfying than working on Scan Tailor. As sad as it may be, that's the case.
Scan Tailor experimental doesn't output 96 DPI images. It's just what your software shows when DPI information is missing. Usually what you get is input DPI times the resolution enhancement factor.

User avatar
daniel_reetz
Posts: 2776
Joined: 03 Jun 2009, 13:56
E-book readers owned: Used to have a PRS-500
Number of books owned: 600
Country: United States
Contact:

Re: Postprocessing: The hardware/software divide

Post by daniel_reetz » 24 Dec 2011, 20:00

I agree with most of what you've said. Identifying these problems is important, but having identified them the important thing becomes finding a way to solve them. I know you're not asking me to do things, but I do not have the necessary skills to work on Scan Tailor. And honestly, if I had those skills, I would be applying them elsewhere, on computational cameras or something else I am really excited about. I have been working on this project nonstop since 2009, often at great personal expense and at the expense of all my other interests. It has become a full-time job. Like Tulon I have become a bit weary from the work and from all the demands made on me (many in private messages or via email). Also, frankly, I can't do all the work myself, which is why I am so grateful for talent like Tulon's and appreciative of the distributed efforts and user contributions that make so much happen here. I say all this to say: I think the answers to these problems MUST come from the community at large, or from new users we don't have yet, and not from our core technology developers, who are already very taxed.

When I talk about the project out in the real world, people always assume we have no trouble finding help for software development. Seriously, after every talk software-type people bring that up somehow. For a while, I wondered why this was... we have always had lots of hardware talent but our software talent, tremendous as it is, has been more concentrated in a few people. Recently I realized that people who are very good with software are unlikely to be as good at hardware. Also, building a scanner is a lot of work and doesn't leave lots of free time for coding. It is my hope that if we make the hardware "easy" by making a standard frame, more developer-types will have interest in solving DIY Book Scanner problems.

I have one "solution" to move things along a bit. I want to offer "bounties" - sometime in early 2012 (I hope around the end of January), I will offer some kits in exchange for features. I am still working on the details of this, but basically if you can code the feature and make it play nice with ST or BSW, you'll have a scanner frame for free. I hope this motivates more people to work on software. My first bounty is planned to be the left and right memory cards thing.

I am interested in other ideas to get more developer involvement (but it can't mean further developer involvement from our existing developers).

I think this post probably belongs in the "software" section because it is really about the general state of software and not ST specifically. I'll probably move it when I'm not on my phone. I'll see what I can do about the edit window. PHPBB is always tricky about stuff like that.

User avatar
JonEP
Posts: 81
Joined: 19 Apr 2010, 15:09

Re: Postprocessing: The hardware/software divide

Post by JonEP » 25 Dec 2011, 14:54

Hi,

Agreed, in full, with both of you. I hope I didn't come across as asking for more from those who have given so much. I also hope my comments don't seem like criticism,in the negative sense. Rather, from the point of view of an end user, I hoped to provide some insight into what stands between me and increased productivity, and to identify, from the perspective of the entire system / workflow, where we need to dedicate effort and creativity.

I was actually thinking that having these cool machines in actual hacker spaces might put the software question exactly where it needs to be -- in front of a large number of people with creativity, commitmtent, and skills necessary to the task.

Perhaps a kickstarter project would be in order? I know I could engage some of my friends and colleagues in the academic world, especially those of us interested in open access issues (I'm now an assistant prof, and have my scanner set up in my office where it receives much admiration -- some friends are interested in making available back issues of a journal to which they hold the rights, and are considering using it or building their own). A campaign to raise funds or to create a reward to spur software development would be the kind of project that many of us lacking useful software skills could contribute to.

User avatar
JonEP
Posts: 81
Joined: 19 Apr 2010, 15:09

Re: Postprocessing: The hardware/software divide

Post by JonEP » 30 Dec 2011, 12:35

If there's any interest out there in trying to find some money to help incentivize work on the software side of things, please message me. As Daniel noted, action on this will have to come from the community. My sense is that it may be hard to do this (raise funds, try to find some help in the form of programming) because 1) a public online forum is not a great medium for that kind of approach, and 2) the DIY / maker ethic runs in a different direction. Anyway, I'm interested in working to make the image processing phase of things to be more efficient and less time consuming. If you have ideas on how to do it, and on how non-programmers can help, I'm interested to be involved and contribute.

Tulon
Posts: 687
Joined: 03 Oct 2009, 06:13
Number of books owned: 0
Location: London, UK
Contact:

Re: Postprocessing: The hardware/software divide

Post by Tulon » 30 Dec 2011, 12:58

For simple tasks, like merging the left/right image folders, raising money might actually work. For more complex tasks (better image understanding algorithms) finding the right people would be much harder than raising money. The level we are looking for is a PhD student in a related area. Well, I am not anywhere close to being a PhD, but I am actually the only non-PhD on the imaging team at work.
Scan Tailor experimental doesn't output 96 DPI images. It's just what your software shows when DPI information is missing. Usually what you get is input DPI times the resolution enhancement factor.

Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Postprocessing: The hardware/software divide

Post by Anonymous2 » 30 Dec 2011, 14:28

Most of the problems people are facing have already been solved, to tell you the truth, but nobody has made the solutions available to the masses. Merging folders is a simple task and can be done with a few CLI tools on Linux, but many of our users don't know how to use the CLI.

Maybe if we could somehow make the existing projects more open-source things would get rolling. I develop Bindery, but I'm the only developer. Scan Tailor is an amazing tool, but I've tried hacking it and it was really a challenge due to the sheer size of the project. Development on Scan Tailor has also died down after Tulon stopped working on dewarping.

Maybe we need to start making something more unified?

Maybe a single program that handles everything, from taking pictures, merging folders, postprocessing, and outputting PDFs? Instead of having a single program for every task, why not have a single platform and give developers the ability to extend it with plugins? Just look at Firefox. It's a simple browser in itself, but with plugins, it's a monster.

It might be a stretch to imagine something like this, but I think that the main problem is disorganization, not really a lack of manpower. We have tools to do everything imaginable, but either nobody knows about them or not everybody can use them.

Just my two cents...

Tulon
Posts: 687
Joined: 03 Oct 2009, 06:13
Number of books owned: 0
Location: London, UK
Contact:

Re: Postprocessing: The hardware/software divide

Post by Tulon » 30 Dec 2011, 17:59

Anonymous2 wrote:Merging folders is a simple task and can be done with a few CLI tools on Linux, but many of our users don't know how to use the CLI.
The problem with CLI tools is not only that people don't know how to use them, it's also that people aren't willing to use them. Take me for example. I can write shell scripts, but I am just not willing to, unless it's part of my day job.
Anonymous2 wrote:Maybe a single program that handles everything, from taking pictures, merging folders, postprocessing, and outputting PDFs?
It's one of those ideas that sound nice but can't be implemented in practice. Scan Tailor is easy to use precisely because it doesn't try to do everything. If you try implement significantly different workflows in a single application, you'll get a monster both on the UI and on the programming side.
Anonymous2 wrote:why not have a single platform and give developers the ability to extend it with plugins?
Because it would mean spending significant resources on making the engine scriptable, only to discover there is no one interested in writing plugins. I had a similar argument with the author of ArtScan, before that project started. His idea was to build a platform that supports plugins, hoping that to be enough to get other developers on board. It wasn't.

I now see the situation of having only a single developer working on an open-source project as completely normal. I mean the idea of releasing your code being enough to get contributors on board appears to be nothing more than an urban myth. Even a project as popular as Gimp apparently only has 2 core developers. Sure, there are projects with lots of contributors, but most of them do contributions as part of their day job, because their employer needs a certain functionality in a certain open-source project they use. That's the case with my employer. Being in the video post-production business, we contribute code to projects like FFMpeg and libquicktime. We don't do that to help those projects, we do that to comply with the license, and maybe even more importantly, to avoid having to maintain our own set of patches.
Scan Tailor experimental doesn't output 96 DPI images. It's just what your software shows when DPI information is missing. Usually what you get is input DPI times the resolution enhancement factor.

User avatar
daniel_reetz
Posts: 2776
Joined: 03 Jun 2009, 13:56
E-book readers owned: Used to have a PRS-500
Number of books owned: 600
Country: United States
Contact:

Re: Postprocessing: The hardware/software divide

Post by daniel_reetz » 30 Dec 2011, 19:31

I think if we target a unified platform (the new scanner design) we can sensibly combine everything. Trying to fit all the needs we have here won't work well, as Tulon points out. A plugin architecture might or might not help, but a fork dedicated to doing a perfect job with one type of machine makes a lot more sense to me. Again, I would be interested in funding it not so much with money but with scanner frames, if developers would be interested.

If we could find a developer interested in taking on a fork of ST, or if we could get people interested in an alternative (like BSW, currently also on development hiatus), I am sure we can get money to implement certain features. However, I really don't want to go out stumping for cash until we've made a bit bigger plan and found a developer interested in coding new features. Petr Kovar, from the ST developers list, is one that comes to mind. Anonymous2 might be another. I have no idea if they are interested, but they are both at least somewhat familiar with ST and what needs to be done there.

Tulon, I agree with what you've said, but I think that at least one contributing factor has to be the high level at which you've developed ST. The pool of developers who can work on it is necessarily small. I have the same issue - only a few people can actually modify the CNC files that I've issued, or have programmed a CNC machine. In my case it's not a particularly challenging task, but the barrier to entry is high.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest