Skip to content

Installation Questions & Answers

Martin Zackrisson edited this page Feb 3, 2017 · 2 revisions

Summary

I'll add questions and responses as I get them from interested parties.

Please note that links may no longer point to the right places if the code has undergone revisions since this page was last updated. If so, and you have an interest in contributing, please let me know.

SANE and Scanners

The scanner doesn't scan the full area and there is no second TPU mode, so this means we have to change the SANE Epson backend source code and then re-compile SANE from scratch, right?

Yes, unfortunately it seems your version of SANE is not up to speed. It's been years since I did this myself, but our IT-people say they are using the instructions on the Scan-o-matic wiki and they keep turning up new computers that work nicely so it should only be a matter of following them.

I have a Canon scanner but Scan-o-matic doesn't recognize it

True, Scan-o-matic only cares from Epson V700 and V800. This is not because of any brand loyalty but they were the only scanners that fitted 4 plates and worked with transparency settings at the time of us making Scan-o-matic. There's no user friendly way to add more, but if you are up to the challenge, the starting point would be here:

https://github.com/local-minimum/scanomatic/blob/master/scanomatic/io/sane.py#L68-L96

If correctly added this method should scan an image:

https://github.com/local-minimum/scanomatic/blob/master/scanomatic/io/sane.py#L277

Then you would probably dive in further to integrate the new support into the overall pipe-line by trial and error.

We are a bit anxious about making hardware modifications to the scanner...

I understand the resistance, but except for the potential scratching of the plastic when removing the screw covers it is an extremely minimal intervention that is 100% reversible; just open up the scanner and remove the wedge again and it is back to normal.

If you don't want to do this, and decide to develop further capabilities for Scan-o-matic to enable it, I would urge you to seriously test that it is fine before running any real experiments because it is hard to know exactly the stand-by behaviours of the scanners since the EU directive about such behaviours. It could well be that the scanner become unreachable from the computer after a while and needs human intervention (pressing the power button).

Power Managers

We don't have the LAN power manager installed at the moment, can we still run Scan-o-matic?

Right now there's no way of doing this, but it should be possible to change the code so that it will work.

There is a null-power manager https://github.com/local-minimum/scanomatic/blob/master/scanomatic/io/power_manager.py#L85

But the server is written to recognize this as an installation that is not meant to scan, i.e. it reports there are no scanners you would have to bypass this behaviour here: https://github.com/local-minimum/scanomatic/blob/master/scanomatic/io/scanner_manager.py

I think the core of what you need to do is to make this method here behave correctly without changing it (much): https://github.com/local-minimum/scanomatic/blob/master/scanomatic/server/jobs.py#L149

If you decide on this way forward I would urge you to make a new subclass of the power manager and make sure your fixes integrate with the current system without disrupting the current power manager behaviours. That way we could incorporate the code into Scan-o-matic.

Scan-o-matic is written to ensure only the scanners that it has requested is visible to the computer and it become very upset if there are other scanners. This is because the USBs are not identifiable which belong to which scanner from the software side. You would have to replace that behaviour but without removing it. You need your AlwaysOnPowerManager or whatever you'd call it to grab any scanners that are on at start (or turn on later) and be fine with it. Instead you need to watch for those known scanners disappearing and raise all sorts of warnings if that happens.

Computer

Would it be possible to have something like a Raspberry Pi run Scan-o-matic

I like raspberry pi:s, have several of them myself and have been considering them too. Maybe with the latest versions they are getting powerful enough, but I would still add a thing that you need to fix besides above list. At present Scan-o-matic experiments automatically starts the full analysis pipe-line and I'm not sure you'd want that behavior on a rasp-pi. It might work if it is only one scanner a pi, but still you should probably modify the user interface to have the option not to chain consecutive steps (look at the UI on Compilation for this) . Also this method

https://github.com/local-minimum/scanomatic/blob/master/scanomatic/server/scanning_effector.py#L601

needs changing so you need a new state that just says skip compiling.

https://github.com/local-minimum/scanomatic/blob/master/scanomatic/models/scanning_model.py#L54

Clone this wiki locally