|
|
This tool enables you to create new filtering strategies and modify
existing ones. Its dialog box consists of 4 zones: list of filters, list
of masks, mask editing zone and control & preview zone.
The essence of mask filtering
Tracing tools of Easy Trace process what they "see" in
the image, so it should be clean and clear. Far from being true at
real
work! Thus, the image should be preliminarily prepared for digitizing.
It may take several hours at the worst (several minutes more likely)
but saves days of operator's labour.
At that, adjacency filtering and other primitive methods of noise
deletion don't cope with the task well. Individual approach to every
local situation
in the image is much more desirable. It sounds fantastically but it is possible
indeed. Long ago, ONE optimal move for each of SEVERAL THOUSAND end-games
was loaded into a "very big computer" and it win a game of chess,
which had been considered drawn in principal. The same approach we use for
mask filtering. If the program discovers a zone in the image similar to one
of preset samples (masks), it processes this area properly. For example,
the "fill up" command will be applied for a black "hole" in a line
enclosed in white pixels, "delete" - for an island of 2-3 white
pixels on black background, and so on.
Unfortunately, a lot of variants are possible for every situation if we consider
several tens points instead of 2 or 3. But there is a way out - you code
the pattern once, and the computer constructs all possible versions basing
on the following principles of filtering.
- all masks got out of the initial one by a series of 90-degree turns
as well as vertical and horizontal mirror images will be used;
- pixels in the mask may be coded in 3 ways - black, white, and gray
(i. å. ANY COLOR);
Combination of black and white pixels forms the pattern that the program looks
for in the image. When found, WHITE pixels will be added or deleted in the
specified positions of the mask.
Next step is organizing of masks to certain successions - Filters and grouping of the latter into Filtering
strategies. It should be think through because of the SUCCESSIV way
of mask use. The program applies one masks (all its versions) first, and the
result is a NEW IMAGE (initial one remains unchanged of course). The second
mask will be applied to this new-created image, etc.
Mask grouping into filters depends on similarity of operations. For example,
there may be filters for "rubbish" deletion, line form improvement,
separation of merged lines and so on. Order of filters forms a Strategy: to
delete the "rubbish", to delete defects in lines, to join ends of
torn lines, to search for line continuations, to join line ends once more...
Width of lines differs in images scanned with different resolution. We recognize
3 types of raster lines: thin (1-3 pix), medium (3-5 pix), and thick (more
than 5 pix). Some masks, filters, and strategies should be developed for each
type separately.
On the other hand, some filters are width-independent. These are raster cleaning,
deletion of local defects in lines surface, filling of caverns ("holes")
in lines, etc. It means that many masks may be used in different filters. We
placed all masks, filters, and strategies to a special-purpose storage - Repository.
It is easy to take them from the storage and to form new filters and strategies.
Development of mask filters is based on several reasonable ideas:
- You may see alternations caused by filtering;
- You may run strategies and filters in parts, right up to one individual
mask at every step;
- A mean is provided to know which mask alternated this particular pixel;
- You may form a mask from a pattern taken just in the image.
It takes only several minutes to create a simple filter for deletion of
specific "rubbish" and/or "cure" lines of frequent defects and
thus improve the image significantly. Unfortunately, development of every
next filter improvement is more and more difficult. But you will be the gainer
all the same, even if you spent some hours ...
Current strategy and list of filters
-
Current strategy
The pulldown list enables selection of a strategy from
the Repository. After selection, you may change the set of masks
in the strategy and their execution order. Filters and masks of the
current
strategy may be used in other strategies as well. If this is the
case, their icons are represented in red to remind that any alternation
of
the object affects ALL the strategies, which comprise it. It is convenient
for filters that improve line form regardless of line width but inconvenient
for filters depending on this parameter.
Before alternation of a RED mask or filter, you may want to know,
what strategies (filters) comprise it. Click the mouse right button on the
object's name and select Information command in the submenu.
- Add new strategy
Creates a new (empty!) strategy. Filters and their masks
may be either created with the Mask Development Tool or taken from
the Repository.
-
Delete current strategy

Deletes the selected strategy. All the filters forming
the strategy and all their masks are saved in the Repository (which
has its own means of deletion).
-
Open Repository

Gives access to the Repository - a storage of masks and filters
for their selection and inclusion into the current strategy.
-
Filters of the current strategy
The list controls the set of current strategy's filters
and their execution order. every filter may be on (all masks of the
filter will be applied) or off (all its masks will be ignored). Filter
order
in the list corresponds to the execution order. It may be changed
by drag-and-drop method.
Besides, the list may contain names of files - filtering subproducts.
Open the submenu with the mouse right button to add, rename,
or delete filters
and files forming the strategy:
 |
- create a new "empty" filter;
- add a filter from the Repository to the current strategy;
- add saving of filtering results as a new raster file;
- delete the filter from the strategy (but remain in the Repository!);
- rename the filter in the strategy and Repository;
- edit text description of the current filter
- show information about filter use in other strategies
|
If the icon representing the filter is RED, it indicates that the filter is included
not in the current strategy only, but also in other strategies of the Repository. It is reasonable to open Information
from the submenu before you alternate it to know, which strategies
will be affected.
Control over masks in the current filter
- List of masks in the current filter
Remember, that the only copy of the mask is saved to
the Repository, and filters comprise only references to it. Any alternation
of mask body affects all the filters that comprise such references.
Similar to the list of filters in a strategy, the list of masks
represents their execution order. Any mask may be also on or
off, and you may drag-and-drop
them in the list. Unlike filters in a strategy, any mask may be used
in a filter SEVERAL TIMES. Usually it concerns masks that fill
up holes in lines
or make raster lines thinner. It is reasonable to find out, which filters
and strategies comprise a "red" mask before you alternate it.
To remove all doubts, save the mask as one with a new name before editing.
 |
- add a new mask to the Repository and corresponding reference
to the current filter;
- add a reference to a mask from the Repository to the current
filter;
- add saving of filtering results as a new raster file;
- copy to clipboard a reference to the current mask;
- insert the reference from clipboard to the filter;
- duplicate the current mask's body for new mask creation
- delete the reference to a mask from the filter;
- rename the mask in the strategy and Repository;
- edit text description of the current mask
- show information about mask use in other filters of the
Repository
|
Filtering is not as quick as one would like it to be.
Besides, it is difficult sometimes to guess what alternations should
be done in the mask succession for better results. Optional mask switching
on/off simplifies selection of masks to be included into the filter.
And saving of filtering subproducts as raster files allows to save
a lot of time at this selection - just switch off the filters applied
before the file was saved and regard the saved image as the initial
one.
You may give the command to save filtering intermediate results as new files
both in the list of masks and filters. At that, Raster Filtering command
(that runs ready strategies) ignores the command.
Mask development and editing - Mask Editor

The "chess-board" in the upper right corner
is intended for mask review, development, and editing. Maximal mask
size in Easy Trace is 8 õ 8 pixels. White squares correspond to
pixels of a line, and pixels of the background are black. The mask
will
trigger only at strict correspondence of white and black pixels'
positions in the mask and in the image.
Gray color indicates that pixels in these positions will be ignored
at comparison of the mask and an area in the image. It helps
to cover more raster combinations
by every black and white pattern.
Masks are always square. Current size
of the mask is shown by the dashed line. The smaller is the mask,
the quicker
it processes the image. The program decreases mask size automatically
if right columns and low lines of the mask contain only gray
pixels.
To change color of a pixel in the mask, click it with the mouse
left button. Color change is cyclic: black - white - gray.
To specify modifications of the image use the mouse right button. Red
squares or cross-marks will appear in the fields you click. Red square
means that
pixels will be white after mask applying (adding of the pixel), and cross-marked
pixels will become black (deletion of the pixel). Repeated clicks change
the command cyclically: delete - add - don't change.
- Rotate option
Adds three turns of the current mask in 90 degrees
to the mask itself. May be specified separately for every use of
the mask in the filter.
- Reflectivity option
Adds the flip image of the current mask relative to
the vertical and horizontal axes to the mask itself. May be specified
separately for every use of the mask in the filter.
-
Add sample

Allows to take masks from the image directly. To do
it, click the button and stretch the frame over the place of interest.
Then specify in the draft pixels to be added, deleted and pixels
unimportant for further search in the image, and save the new-created
mask.
The reference to this mask will be added ABOVE the currently selected mask
name. The mask itself will be saved to the Repository, and may be used in
other filters if you save made alternations of the strategy at dialog box
closing.
Filter checkout and control
- Check points
The field contains coordinates of points in the
image selected for control over filtering.
Unwanted side effects are frequent at filter checkout - stray merging of
neighboring lines, breakthroughs, etc. Select the pixel being damaged by
filtering as a control point. The process will be terminated when the pixel
changes the color and you will see the name of the mask, which causes the
problem.
-
Delete current check point
if you needn't check filtering effect on this particular
point of the image any more, delete the control point - select
it in the pulldown list and click the Delete
current point button.
- Add control point
The Mask Development Tool interacts with the image
in two cases only - taking a sample for a new mask and adding
a new control point. Left click of a pixel in the screen makes
it a control point after the program receives your confirmation.
- Minimize the Bar option
Parameter bar of the tool may hinder one from review
of filtering results. Perhaps, you will find it convenient to
hide the bar automatically (or maybe not)...
-
Show the Difference option
Is extremely important! Filter (mask) checkout
is based on study of image alternations this mask causes at filtering.
Switch on the option to simplify comparison of the image BEFORE
and AFTER filtering. By default, it makes added pixels red and
deleted ones - blue. Besides, they will blink to draw your attention.
On the other hand, blink may be an obstacle when you inspect the image
considering what should be done more - switch off the option then. The
UNDO command also stops the flicker (as it cancels all the alternations
caused by filtering). On the contrary, REDO restores initial state of the image.
The UNDO and REDO commands
are usually well in use when you are developing a filter: improvement of
the filter, filtering and estimation of results, new improvement of the
filter, UNDO of alternations made in the image by previous filtering, new
filtering...
Note, that some of masks in the filter may be switch off at filter debug,
but estimation of every mask's effect is extremely difficult all the
same. Thus, it is reasonable to save results of filtering by already
debugged
part of the filter (strategy) as an intermediate image and use it as
initial one at further debug. Move this "point of readiness" until
you arrive to the end of the process.
-
Parameters

control two functions - presentation of difference
in two images at their comparison (color and blink period of
alternated points in the image) and report minuteness. Three
options are available:
- without report;
- hit number only - mask names and number of their coincidence with image areas;
- hit number and all versions of the mask - it is difficult sometimes to understand unexpected behavior of the mask without
analysis of all its versions.

- Test
Starts filtering applying the current strategy.
Filtering is a separate flow, and other operations may be execute
at the same time if they don't affect the "experimental" image.
To stop filtering, click the button
in the lower right corner of the screen.
Repository

As any mask may be a member of several filters, the problem
of well-organized mask storage and easy extraction arises. It
is impossible to get by with text format and only COPY and PASTE
operations when you have about one hundred masks...
To solve the problem, a special storage was formed - Repository.
It allowed order establishing in the "Augean stables" and development
of new affective strategies of mask filtering may be expected
soon
.
Repository function
Repository is a storage containing strategies (consisting
of filters), filters (consisting of masks), and masks themselves.
Mask grouping into filters is based on community of their
functions - i.e., filling of caverns, line smoothing, tying
of torn lines' ends together, etc. Strategy is something
more - a ready tool for processing of images of a certain
type. Different strategies are necessary as masks differ
depending on width of raster lines. .
lassification of masks in the Repository is grounded on
two features - operation, which the mask fulfills, and width
of raster lines the mask is applicable for.
Presentation of Repository content
The bar displaying Repository content is its
main element. Optionally, content of the storage may be shown
in different ways, i.e. grouped by:
- ...strategies and filters

Full list of strategies, filters, and masks shown in their thumbnail representation. Strategies may be unfolded up to filters and filters - up to masks they consist of. Every mask is saved only once in the Repository, but may be included in numerous filters (more precisely, a reference to it). Masks are included in filters in the order and number specified at filter debug.
- ... categories

Development of new filters is easier if you use previously prepared masks from the Repository. Mask grouping by categories gathers masks designed for similar operations
-
...image types and categories

Raster lines of different width have different
pixel patterns and thus demand different masks for search
and processing of generally similar situations. Use masks
from the appropriate width range when you prepare a filter
for an image having a certain line width.
Control of Repository content
Functions of the Repository and the Mask
Development Tool are partly the same, but some operations
may be done in the Repository only. First of all, it is
gathering of strategies elaborated on different computers,
i.e. import of strategies. Besides, classification and
categorization of masks and filters is possible only here.
Do it every time after new strategy development, and you
will get a good stock for further creation of filtering
facilities.
Direct object management is based on drag-and-drop operations
or use of the submenu (right click to open). At that, the following
commands are provided:
 |
- imports content of both new StdMasks.msb mask
files and old text files with the *.mst extension
- creates a new empty strategy;
- creates a new empty filter;
- adds a new category to the list of mask categories;
- deletes the current object. When you delete strategies
and filters, the masks they consist of are moved
to the Unused;
- renames the current object;
- shows content sorted by strategies;
- ... by categories;
- ... by image types.
|
Drag-and-drop operations in the Repository help to perform two tasks - object
sorting first, and new strategy (filter) forming / editing second. Classification
is clear - one mask may not belong to two categories but the second task needs
some explanation. References to masks may be simply dragged (it is equal to
CUT + PASTE operations) or duplicated (COPY + PASTE) - if the CTRL key
is PRESSED.
Drag-and-drop function is also used for mask insertion into the dialog box
of the Mask Development Tool. You just "take" a
mask (filter) in the Repository and "bring" it to the filter being developed.
Remember, that only a reference to the mask will be inserted without alternations
in the storage.
- New strategy
The command forms a new empty strategy. It may be stuffed by dragging of already existing filters (CTRL pressed!!!), but better use the Mask Development Tool for this operation.
-
New filter
The command forms a new empty filter. It may be stuffed by dragging of already existing masks (CTRL pressed!!!), but better use the Mask Development Tool for this operation.
-
Create new category
Creates a new category for sorting of mask and filters. Category is a user-specified name of an image operation this group of masks is provided for.
- Import

Filters may be easily transferred to another computer - it is enough to copy and transfer the StdMasks.msb file of the Repository from the Filters folder. But you may also want to join results of filter development from several computers, perhaps even ones in the previous format. Import function is provided for this purpose, both from other Repositories and outdated *.mst files;
Cataloging and comments
-
Description of Repository Objects fieldis intended for descriptions of mask/filter/strategy functions.
-
Mask Structure field shows the pixel pattern the mask is based on and the commands of pixel changes it contains.
-
Image Type field allows selection of image type (according to raster line width) the current mask is applicable for.
-
Object Categories field allows assignment of a category (type of operation) the current mask belongs to.
|
 |