CellWriterCellWriter is a grid-entry natural handwriting input panel. As you write characters into the cells, your writing is instantly recognized at the character level. When you press
CellWriter was developed under a University of Minnesota UROP grant. If you're interested in the underlying algorithms, have a look at my thesis. Writer-dependentCellWriter relies solely on training samples of your characters for recognition. After a brief training period, the recognition engine is tailored to your unique way of writing. While this means that in general, other writers may not be able to use CellWriter with your training data, the recognition rate for your writing is very reliable. Corrective preprocessingCellWriter includes multiple levels of preprocessing algorithms that correct for input aberrations. Preprocessing smoothes out digitizer noise and matches input to training symbols drawn with different stroke order, direction, and/or number of strokes. On-screen keyboardFor the times you simply need a specific keystroke, CellWriter features a both a convenient mini-keyboard overlay and a full QWERTY on-screen keyboard mode. Multilingual supportWant to write in your native language? CellWriter can be trained to generate any Unicode character. Right-to-left languages are also supported.
Program dependencies Training characters Inputing and editing text Context menu Erasing characters Inserting a space Correcting recognized text Recognition results Most buttons and options in the setup window have informative tooltips, for additional information hold the pointer over a control and read the tooltip. Program dependenciesIn order to run CellWriter you will need the following packages: Training charactersCellWriter does not come with any training samples. Before you can use it, you must train CellWriter with samples of your handwriting. Press Draw each character in its cell. When you have finished a character, move the pointer outside of the cell to finish that sample. The more samples you train this way, the darker the character will appear until it is black and fully trained. Characters that appear inactive (green by default) do not yet have any training samples. If you wish to train a different Unicode block, select it from the Combo Box of enabled blocks. If the desired block is not enabled, go to the Recognition tab in the setup window, find it in the list of blocks and make sure it is checked. Inputing and editing textTo input text, draw in the cells from left to right. Any cells you skip over will be automatically turned into spaces. Inactive cells are not used when sending keystrokes. When you are finished, press Context menuMany functions can be accessed by right-clicking on a cell and bringing up the context menu. However, some Tablet PCs or PDAs may not have a pen button or any other convenient way to right-click. The alternative gesture to bring up the context menu is the hold-click. Press with the pen without moving for one second and the context menu will show up. If you start drawing ink, you have moved the pen too far. Erasing charactersThere are several ways to delete a character. If your pen has an eraser end you can simply press on a cell with that to clear it. If you are using a mouse, middle-click will clear a cell. Otherwise, you can delete through the context menu or use a cross-out gesture. To cross out one cell, simply scribble an unrecognizable character inside and the recognition engine will reject it, clearing the cell. To cross out multiple cells, start drawing in the first cell and drag the pointer accross the cells you want to erase. The pointer will be in eraser mode as long as the pen is pressed down. Note that scribbling out a single cell will not work in training mode! Inserting a spaceTo insert a space, point the mouse cursor at the insertion hotspot at either the bottom or the top of the dividing line between cells. If you are pointing at the hotspot, arrows will appear at the top and bottom of the dividing line, click to insert a space. Correcting recognized textNo recognition system can read your mind. If a symbol is drawn sloppily or otherwise varies from previously trained samples, it may not be recognized correctly. Input characters that have been recognized with a low degree of confidence will appear hilighted. You may either redraw the character or open the context menu for that cell and select the correct character from the list of top choices. If you have not disabled training on input (on by default), all training samples that rated higher than the correct choice will be deleted and the input will be entered as a new training sample. Recognition resultsIf you want to know more about what the recognition engine is doing under the hood, start CellWriter from a console and it will print various detailed information to standard out. Here is a sample of what that output looks like: Recognized -- 71/87 (81%) disqualified, 21ms (1ms/symbol), 37% strong The top stat shows how many samples were disqualified before detailed recognition. Next is the total time of recognition in milliseconds. Strength is defined as the match strength of the first result minus the second. For each letter, the ratings of the four recognition engines are displayed in normalized and raw form (in brackets). From left to right are the preprocessor, average distance, average angle, and word context engines. After the engine ratings is the post-penalty strength. Lastly is the mapping transformation in brackets. The mapping transformation describes how the preprocessor mapped a symbol with more strokes onto a symbol with less strokes. The first set of columns describe which stroke on the larger symbol was mapped to which stroke on the smaller symbol. The next set of columns indicate whether any stroke was reversed ('R'). If any two or more strokes on the larger symbol were mapped to the same stroke on the smaller symbol, the column set on the end indicates the order in which the strokes were glued together. In the example above, a sample for the character 'k' was rated highest by the preprocessor, average distance, and word frequency engines, but only second-highest by the average angle distance. After penalties, it had a strength of 79%, 37% above 'K', and was constructed by gluing together the three input strokes in order without reversal.
Resetting your profile Pen and cursor issues Poor recognition rate Missing characters Unicode input problems Random key strokes CellWriter is a very new program. I have tried very hard to track down and fix as many bugs as I can but there is always more work to do. If you find a bug in the program or have a great new idea, please send me an email! If you are reporting a bug, please include the version number, relevant console output or screenshots, and whether you compiled from source or are using the Debian the package. Resetting your profileIf you are updating CellWriter and you find that the program hangs or crashes on startup or if you would like to reset all of the program settings and training samples for whatever reason, delete the Pen and cursor issuesThere have been a number of issues reported that are caused by extended input events. If you can't draw in a cell or if the ink position does not match your cursor, try disabling extended input events in There is a bug in the LinuxWacom driver that will screw up Xinput applications when the screen is rotated with Poor recognition rateAlmost all recognition problems with CellWriter arise from bad samples. If you find that certain characters are frequently recognized incorrectly, see if a bad sample is at fault. Open the character cell's context menu and select By default, CellWriter trains on your input characters when you press If you are not using CellWriter to input English text, the Word context engine may be harming the recognition rate. English word context can disabled under the Recognition tab of the Setup window. Missing charactersIf you cannot find a certain character in any of the Unicode blocks, it is possible that you do not have a font installed to support it. Please install all available fonts for your language to ensure that you get the best font rendering possible. Unicode input problemsNo keyboard has every Unicode character on it so CellWriter must resort to a fairly complicated method to generate fake Unicode keystrokes. If you find that CellWriter does not properly send Unicode characters, if characters are skipped, repeated, or in any way mangled on the way, please send me an email along with the full console print-out. As a workaround, try limiting the number of characters you input at a time as a backlog can cause these kinds of problems. Random key strokesAn issue that can happen with Unicode input and the on-screen keyboards is the generation of seemingly random key-strokes that attempt to eject the CD-ROM drive, bring up the GNOME Search window, or activate other hotkeys. CellWriter overwrites blank KeyCodes in order to rewire them to send specific characters that are otherwise unsupported on the keyboard. Some of these KeyCodes are not actually usable for this purpose although CellWriter has no way of detecting this. Any time CellWriter overwrites a KeyCode for use as a different character, a message will be printed to standard out: Overwrote KeyCode 92 for Num_Lock CellWriter comes with a blacklist of known "bad" KeyCodes that are not used for generating key events. If you notice that CellWriter will consistently cause problems when it overwrites a specific KeyCode, you can add that KeyCode to the CellWriter blacklist:
|
quinta-feira, 6 de janeiro de 2011
CellWriter - risujin.org
CellWriter - risujin.org:
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário