6/30/2016

Czur Scanner, TWAIN32 (english) version

Here is the download link for the TWAIN32 driver with English prompts and labels.

The 'Official' link provided by Wiston
ET16 Twain Driver


The install file is 12 MB.

You will want to save it to your hard drive and install it. The driver produces a directory with the driver and manufacturer scan (capture) application as a .ds file.

When you run any program that understands TWAIN32 it will search the c:\windows\twain_32 subdirectory for all "datasources" which are actually the driver application combo and offers them as choices when you Select and Acquire from that application. The Application then starts the manufacturer Capture Application and you can then operate the scanner "essentially" manually.. with all of the features the manufacturer configures into the drivers interface.

Again, I do not have the source code for this TWAIN32 driver, so I cannot fix bugs or improve upon it.

Czur also did not package or accept reponsibility for the Chinese to English translations -- that is, the translations have not been [fact] checked.. they are my "best estimates" as to meaning. So you accept some responsibility for using a TWAIN32 driver that was not officially released by Czur. It is their property, but the english strings.. are my fault.

The 42 minute YouTube video demonstrating how to install and use it is here:


And I must apologize for the quality of the video.. I did not have time to edit it. It was produced very late after work and quickly tossed together. The reason it was not further well thought out before hand is I did  not know Czur would grant me the privilege to produce a video about the driver. I had my doubts they would. Because they allowed me to see and use the driver before it was officially released. I take their trust very seriously.. as I do everyones.

But this driver and the extra abilities it grants end users is very exciting.. and I'd like to encourage its use, and encourage the release of a TWAIN32 driver for MacOS and Linux (or at least SANE). MacOS can use SANE drivers as well.. but in general companies prefer to work against a commerically supported specification.. which is why I favor TWAIN32 (its more likely to get done).

TWAIN64 "is not that important" -- in some instances it "might" please a few people, but really in this instance using the TWAIN32 driver on a 64 operating system is completely acceptable. Better to have TWAIN32 support across the board, Windows, MacOS, Linux.. than TWAIN32  and TWAIN64 only on Windows.


6/15/2016

Czur scanner, a possible 'mini-sdk'

An SDK by another name perhaps. Until or if an official SDK is released. I have been exploring the possibility of other ways to write programs for the Czur ET16 scanner. Here are some thoughts.

The hardware for the Czur scanner is unique, but its based on very good first principals. The provided software is good, but could use some refinement. They have been totally focused on hardware and delivery of product for several months but appear to be nearing the end of fullfillment.

I have no special contacts with the company, nor access to any source code or special information.

I have also not delved into dissecting or taking apart the software provided.

However it is possible to look at the files delivered and make some guesses as to which are more important than others, and how they might be otherwise repurposed.

First an SDK is a 'Software Development Kit' it does not presume to replace any provided software, but instead seeks to make developing new software to work with the provided software easier for the software developer.

With that in mind.

The simplest example is that of a software library, and possible 'metadata' for how to use the software library, such as header files or documentation.

Looking over the default directory of the provided Czur software

C:\Program Files (x86)\Czur scanner

We can see several things.

The most obvious are the main program resides in the root directory, and supporting projects or files for the main application are in subdirectories.

Of the files in the root directory, many are from well know public projects or sources, like OpenCV, SDL, Microsoft.

Leaving a very few which seem clustered close to the same development time, and which [guessing] likely make calls to the surrounding support software.

The one that really stands out is a file called ETapp.dll -- it looks like it might be based on BCapp.dll and before that ETCore.dll

I make these guesses based on the fact there is a directory called BC_log and fills with troubleshooting data. And that the older BCapp and ETCore files seemed to be developed in a progression.. from simpler to more complex and then slimmed down to the more current ETapp.dll

An SDK if it were to be released, would probably describe the function calls available from the ETapp.dll software library and what their parameters were.

Its also a guess.. but I would assume all of the software is compiled with some form of Visual C++ meaning that a program designed to use this SDK API would import functions from the loaded DLL -- ETapp.dll and then make calls and receive something like the image in a sort of buffer prepared and provided to the library by the calling program. It might even prepare this buffer by calling one of the functions in another supporting DLL.

I would hope that Czurtek would recognize this is a very small file, and probably a very small API which would fully enable third parties to use their hardware and bring a community of users closer together with many choices in specialize software for many purposes.. integration for Outlook with plugins for example.. or integration with Skype for presentations.

On the Mac platform, re-implementing the very small ETapp.dll would probably be very very easy.

As would re-implementing it on Linux.

Its not that a [whole] software suite of programs needs to be written for each platform.. or even a TWAIN driver for each platform.. simply providing sufficient documentation to use the ETapp.dll functions would probably fill that need.

There are many scanners on the market.. many come and go rather quickly.

The ones that are remembered and revered are the ones from the manufacturers that choose to document and release a simple API or SDK explaining how software writers can write plugins for existing software.. or how to create completely new programs to support their product.

This enhances their product at no cost to them, it "differentiates their product" from all others on the market.. and makes their product "sought after" and enticing.. even long after it has left the market.


6/08/2016

Czur scanner, TWAIN coming soon

Today I got a chance to preview a new tool for the Czur scanner, a TWAIN32 driver with vendor capture and control panel.. and its awesome!

The user interface is slim and light "minimal" like a scanner configuration dialog is supposed to be -- it very much proves the maxim "Less is More" so incredibly much more.

It is still in development and as provided to me still had its Chinese UI glyphs, but I pulled out my Google Nexus 5x and used the Google Translate App (which is based on acquired technology for augmented reality "LENS") and aimed it at the UI and was instantly provided an English UI.

Its both a blessing and a curse to use a TWAIN32 driver and UI panel on Windows 7x64 but I'm so familar with TWAIN it felt like an old friend.

First I won't post any photos, pics or images until Wiston approves it out of respect. -- its really not a lot to look at, but seeing it work is simply "Amazing".

Second TWAIN is not an "application" but its more than just a driver. It provides a standardized way to open a still image capture session with a dedicated scanning tool and provides a means to expose vendor specific controls for configuring the tool to acquire the highest and most refined image captures the device can provide. It can be dumbed down using the Windows Image Acquisition (WIA) generic interface to just "aim and fire" taking a snapshot for recording images of paperwork like checks and receipts.. or it can [open] the Scanners full vendor provided [dialog panel] with all kinds of configuration controls.

Czur has provided a [complete] driver and vendor dialog panel, so you can "get your cake" and "eat it too".

Vendors in the name of expediency and economics rarely do both.. and usually barely meet the minimal requirements for releasing a driver that qualifies as a TWAIN driver.. more often they release a WIA or Windows driver and leave it at that. Czurtek did not do this.. they went all the way.

Understand this is a Windows only TWAIN driver.. while I would love to see a Mac TWAIN driver and preview that too.. I have not. And I have not seen a TWAIN or SANE driver for Linux. This blog post is strictly about the Windows TWAIN32 driver.

Microsoft has had a love hate, apathy relationship with TWAIN, first competing with it to try and control the standard, then introducing their own (WIA) and finally deprecating and wrapping DirectShow and Media Foundation to provide "similar" functionality as a movie capture and gaming play format.

The end result is TWAIN on windows often comes through a WIA to TWAIN "bridge" that translates Windows application calls into TWAIN calls through a software bridge.. unless the Windows Application is aware and supports "direct" TWAIN device driver support.. and if it does often will "open" the TWAIN device dialog for fine tuning the capture session.

As it arrived it was an InnoSetup exe file which unpacked itself and installed the driver into the
C:\Windows\twain_32\czurtek_twain32 
subdirectory.. with a data source file and an uninstall program to remove it. It appears like any other installed application in the Control Panel Programs and Features menu.

TWAIN drivers and apps are service providers and are not required and generally do not come with standalone applications. So you need to use the driver and dialog box by setting up your preferred application for handling the image acquistion, by configuring it to either use the WIA to TWAIN bridge built into Windows.. or using an application aware of and capable of using the TWAIN driver directly.

Irfanview will do both.. though I used it for TWAIN.

Basically in the mode I used Irfanview, it launched the vendor TWAIN dialog panel and I made all of my fine tuning and captures from there. Once it was setup I also discovered the usual [snapshot] switches on the base of the Czur scanner would also initate a capture and upload the image to the PC. -- the upload speed was about the same as with the Full Desktop Suite of software that originally came with the Czur software. It is still constrained by the limits of the USB 2.0 bus. And it still caches rapid fire images captured on the scanner and uploads them as time and speed allows to the PC.

I won't say much about configuring Irfanview to use TWAIN except that be aware that there are TWAIN32 and TWAIN64 drivers. And on Windows -- 32 bit applications can "see" and "use" 32 bit TWAIN drivers [only] and Windows 64 bit applications can "see" and "use" 64 bit TWAIN drivers [only].. in other areas Microsoft has built "cross bit divide" bridges.. but its very hard and they did not for TWAIN ! -- so be sure the Irfanview you use with TWAIN32 drivers is Irfanview32 [Not] Irfanview64 -- and Irfanview once installed does not expose or tell you which version (32 or 64 bit) it is from the usual Windows About menu.


The symptom that will be noticable if you install the TWAIN32 driver and then Irfanview64 is when you open the Acquire menu in Irfanview and attempt to select a scanner.. the czur scanner will not be listed as an available TWAIN source. If you then install and run Irfanview32 the czur scanner will appear in the list of available TWAIN sources.

As the User Interface is currently laid out there is a navigation panel on the left of configuration options and a large [Preview] window to the right.

Preview resolution (1536 x 1152)
Scan resolution (4608 x 3456 | 3264 x 2488 | 2560 x 1920 | 1600 x 1200)
Media
Print resolution (275 | 300 | 600)
Crop
Exposure (manual slider | auto checkbox)
image format: (jpg | bmp | tiff | png)
image filename: (prefix and calculated incrementals)
image file path: (browseable)
[Scan button]

This is all subject to [change] and its all my translation from Chinese to English, so some could be wrong.. I am the one at fault if something proves inaccurate -- not czurtek

In case your "wondering" an uncompressed bmp format of one image 4608 x 3456 pixels is a 45.5 MB file, the pixels are not artifacted or aliased and blur only upon Zoom factor 2000% or more. So .. yeah.. its a Big deal. This level of control is [much improved] over the original software defaults.

It has a few stability issues, which could be "user" misunderstandings about affirmatively completing a selection change.. it is not released software, so this could vastly improve.. but its very usable the way it is right now.

There are so many usability "improvements" over the original "presets" and "simplified" workflow of the original software its hard to know where to begin to describe them -- but at the same time, the potential to completely mess things up is completely in the hands of the end user.

Choosing resolutions, dpi settings, media type, whether to depend on autocrop to resize margins. Are all within your control, and making the correct and consistent selections are also your responsibility.

Exposure is not [digital] it is an [analog] slider control, you have far more fine grained control to subtly light the scene from complete darkness to "much" brighter than that perceived by human eyesight alone. Or there is a checkbox to engage [autoexposure].

The image format choices are really nice since the original software only permitted lossy jpg captures. Here both lossy (jpg, tiff) and lossless image formats (bmp, png) may be selected and chosen for their intended post processing platform -- especially important since one might choose to capture on one platform, then copy the collection to a different platform or operating system which is more comfortable with a different default image format. (for example a college or university library might have a "Scanning" station where images could be captured and offloaded to a portable usb drive, then taken home and uploaded for viewing or post processing on a Mac)

The image filename dialog is slightly more than just set a static name, it allows "composing" an automatically incremented filename "template" which is used to store subsequent images either captured by clicking the dialog [Scan] button.. or as a result of pressing the [Snapshot] button on the czur scanner base pedestal.. and its assumed similar with the USB hand switch or foot pedal.. or any other sophisticated USB attached trigger device.

In summary -- I've had very little time to run through all the features, but what I did is solid and works. It is not perfect, but its also not released and still in development.. but there are no "show stoppers".. it a very capable and enabling piece of software. And since it is TWAIN standards compliant any Adobe, or Pagemaker or Image management software that understands TWAIN is immediately capable of using this driver as its native front end for acquiring and capturing source images to feed a workflow.

TWAIN is a stable and well thought out standard, its very large and encompassing and cross platform, it places the burden of development on the hardware vendors to best represent their hardware product in its best light under it highest performing conditions.

To a degree USB or memory based transfer protocols like PTP or MTP have replaced capture and transfer between a camera device and a PC.. but those really do not address high resolutions or "performance" of the capture device.. leaving much up to lowest common denominator standards on all fronts.. and often ending up in disappointing results. Many document processing software toolkits are steering towards blurry mediocre image capture libraries suitable for uploading to the cloud.. and really are not suited to archival document rentention tasks. Czur scanner and its TWAIN32 support heads back against that tide and brings a really high potential product to the market.

[Almost forgot] : One of the reasons to use Irfanview as a host for the TWAIN driver and dialog is that Irfanview can also be called from the cmd line to capture from a twain source.. meaning this is one path to a cmd line tool which can be scheduled or "scripted" from within the windows operating system with minimal experience and effort on that part of the end user.















6/03/2016

Czur scanner, Ludicrous res 4068 x 3456

Until there is an SDK, there are people finding really cool features of the Czur scanner. One is its amazingly high resolution scan mode in 63 milliseconds. Here is a link to a one such explorers efforts  Using the Czur scanner to emulate a flatbed scanner