Professional Documents
Culture Documents
Operation Manual: Systems + Services GMBH
Operation Manual: Systems + Services GMBH
2
Xe
Version 1.0
Operation Manual
Sep. 04
Xe2
Operation Manual
Windowlayout ...................................................................................................................... 6
Measurement configuration ......................................................................................................................6
Debug window..........................................................................................................................................6
User Interface............................................................................................................................................7
Result protocol..........................................................................................................................................7
Affix ...................................................................................................................................... 29
Stepedge detection parameter...................................................................................................................29
Stripe detection parameter........................................................................................................................31
These development system gives the possibilities to react very fast to any kind of measurement task and to
modify and adapt existing measurement setups in a very easy way. The modular structure of created
measurement scenarios will allow to turn on or off easily whole branches of the measurement treestructure and
will therefore achieve the best measurement accuracy possible.
Predefined modules
The operation manual for the following modules is integrated into the specific operation manual of the quality
assurance.
qfp|module
This is predefined Xe2 modul which will classify „gullwing“-solderjoints of any type.
mlf|module
This is predefined Xe2 module which will classify „mlf“-solderjoints of any type.
Windowlayout
The surface of the development system is divided into four different pages which will be explained in the
following.
Measurement configuration
The page „measurement configuration“ will give access to all important modification functions to create a
measurement scenario. The left treeview will show the so called „templates“. These templates are a bunch of
measurement which will help to assign single measurement to a measurement object in the image.
On the right side in the tasklist all defined measurement will be shown. The buttons on the left side of each
window will help to modify the items shown in their corresponding windows.
.
Debug window
The debug window will show a detailed measurement protocol after using the button „run measurement“ on the
upper left of the page. On the right side the protocol formatted with the parameter of the „Show“ area will be
displayed.
Error All occurred runtime errors (e.g. no stepedge found, measurement region not valid, etc.) will
be included in the debug protocol.
Warning All threshold which have been violated (e.g. solderjoint too bright, solderjoint to small, etc.)
will be shown as a warning in debug protocol.
Range Is the range switch checked only measurement in the selected range will be shown in debug
protocol.
With a double-click on an error or a warning the corresponding configuration dialog will be opened. The
debug protocol is just for debugging visualization and is completely independent from the result protocol of
the measurement.
User Interface
On the Page „User Interface“ all user parameter of a defined modules will be shown. On the left side the
measurement parameter e.g. thresholds, comments, headlines and switches to activate or deactivate parts of the
measurement will be placed. The treeview in the middle will present the templates which have been released in
the measurement configuration, on the right is a exampleimage and a comment for the actual selected template.
Result protocol
On this page the content of the measurement protocol which will be created as a textfile will be shown. This
textfile will include all the results of the measurements, the runtime errors and the violated thresholds.
The button „new measurement“ will add a new measurement, at the beginning or behind the last selected entry
of the tasklist, to the measurement scenario.
All parameters of the new measurement will be set to default. A double-click on the tasklist will allow to adapt
these measurement to the needs of the specific measurement task with a configuration dialog.
Measurement configuration
Comment The comment will describe the reason or the result value of the measurement (e.g. width of
solderjoint, left edge of solderjoint, etc.). The comment will define the caption of the
measurement in debug window, in the protocol and the user interface, but most important it is
used to identify the measurement when a link has to be set. It‘s therefore very necessary to use
a comment in every measurement.
Measurement The type of measurement will be chosen by changing this setting. There are two different
categories of measurements. The ones created with „new measurement“ will extract
information from image (e.g. Grayscale, edges,..). The measurement created with „new
statistic measurement“ will always use the result of previous measurements to calculate its own
result (e.g. the average of grayscale measurements in different regions)
Average Grayscale
The result of this measurement is the average grayscale level of all grayscales in the
measurement region.
Normalized average Grayscale
The result of the measurement is the average grayscale normalized with the level of grayscales.
Standard deviation of Grayscales
The result is the standard deviation of all grayscales in the measurement region.
Minimum of Grayscale (3% of lower histogram)
The result is the average of all grayscales which are in the lower 3% of the histogram of the
measurement region.
Maximum of Grayscale (3% of upper histogram)
The result is the average of all grayscales which are in the upper 3% of the histogram of the
measurement region.
Bandwidth (Max Grayscale – Min Grayscale)
The result is the bandwidth of the grayscales which have occurred in the measurement region.
Voiding percentage
The result its the area of voiding pixels relative to the area of the measurement region in
percent (look at affix).
Grade of Similarity
The result of this measurement will give a grade of similarity of the grayscale distribution in
the measurement area. The value is the sum of all pixel distances multiplied with the grayscale
(loot at affix).
Stepedgefinding
The position of a stepedge in a projection will be calculated and used as the result value. The
coordinate of the edge in image coordinates will be prepared as a reference for other
measurements. (look at affix).
Stripefinding
The center or the width of a stripe in the graylevel image is the result value of this
measurement.. The coordinate of the centerpoint in image coordinates will be prepared as a
reference for other measurements. (look at affix).
constant
A constant will provide the constant resultvalue which has been entered in the correction
offset. This offset can be changed by the user in user interface if the constant has to be set to
„visible at runtime“.
Median of values
The median of all selected measurements will be calculated
OR Operator
The resultvalue will be the result of a bool comparison with the OR operator. Has an error
occurred in a measurement its errorstatus will be set to (1) TRUE. Is there no runtime error or
no threshold violation its error status will be set to (0) FAIL. If measurement [1] is TRUE and
measurement [2] is FAIL and they get compared with the OR operator the result of the
compare measurement will be TRUE (Yes, there is an error). This will allow to combine
various measurements and their errorstates to classify them if a certain conditions has been
occurred (e.g. IF (([1] AND [2]) OR [3]) = 1 THEN protocol an error)
XOR Operator
Look at OR-Operator, except XOR is used.
AND Operator
Look at OR-Operator, except AND is used.
Sum of values
The result of this measurement is the sum of all selected measurements. It should be paid
attention to the units of the summed values.
Product of values
The result of the measurement is the product of all selected measurements. It should be paid
attention to the units of the multiplied values.
Relative constant
This relative constant should be used similar to the constant mentioned before. The difference
is that a percentage of the result of another measurement is the result and not a constant
correction offset. If the result of this constant should be 50% of another measurement the
correction factor has to be set to 0.5 and the other measurement has to be selected in the
„Links“ dialog. With making this constant „visible at runtime“ the user has the possibilities to
set a percentage constant (0.5 will be shown as 50% in the user interface)
Geometrical measurement
This measurement will allow to analyze the result of two ore more stepedge and stripe
measurements. The possibilities are
All selected coordinates will be calculated, that means e.g. if there 5 coordinates the maximum
distance of two of them will be the result value.
Switch
A Switch will allow the user in the user interface to active or deactivate the selected
measurements. It will be shown in the parameterlist with its comment and a selectbox if made
„visible at runtime“.
Comment
A comment will divide measurement groups in the tasklist, the debug window and the user
interface. It can be used as caption, separator or description.
Region The measurement region has to be set for image measurement only. It describes the region in
the image where the grayscale levels of all pixel inside will be considered for calculation. This
region is defined by a arbitrary rectangle.
Links A statistical measurement should be linked to the result of other measurements. These links can
be selected within the configuration dialog.
Result configuration
Correction factor This factor will be multiplied to the result of the measurement.
Unit Is the result of the measurement an abstract value (e.g. %, thickness of solder, etc.) the
unit has to be set to that label of the result. Is a geometrical distance the result which
depends on the pixelsize of the image, „pxSize“ has to be set as unit. The output will
done in the unitsystem which is chosen in the quality assurance.
Correction offset the constant correction offset will be added to the result of the measurement. Is the
measurement a constant this value will be the result of measurement..
Condition The condition will define the operator which with the resultvalue and the threshold are getting
compared. There are five different types (x<T; x<=T; x=T; x>=T; x>T).
Thresholdvalue These selectbox will allow to choose the type of value the result should be compared with. Is
the constant chosen, thevalue of the box „Value“ will be used to compare to the result. Is a
relative threshold chosen, that means the result of another measurement respectively a
percentage of this will be used as the compare value.
Errorlabel The error which will occur in protocol or in debug window and user interface will be defined in
this input box. A predefined or a self defined label is eligible.
Errors in protocol This checkbox will decide if an occurred error is written into protocol or not.
To create a new threshold the button „Create new threshold“ has to be used. To fill or modify the actual selected
parameter the boxes below the thresholds list have to be adapted. To delete the actual selected threshold the
button „delete threshold“ has to be used.
Relative Thresholds The selectbox „threshold“ will allow to replace constant value as comparison in an
error condition with a percentage of a result of another measurement. By selecting a
appropriate measurement, e.g. with the same unit, and a percentage of the result value,
the threshold value will be calculated at runtime. Is e.g. the measurement reason to
specify if an object is in the image, than the grayscale of the background is measured.
As the next step the grayscale at the designated position of the object is measured. To
have an grayscale independent errorcondition it should be as following.
Results
To verify the parameter setup of the measurement, the output correction and the error conditions „Run
measurement“ should be used. The Result and all possible threshold violations will we displayed.
Resultlist
The resultlist in the upper left corner of the result area will show the resultvalue corrected by the parameter in the
result properties area. Has a threshold violation occurred, the corresponding errors with their errorstrings will be
shown. This output is for verifying the measurement parameters.
Resultdiagram
The resultdiagram will show depending on the chosen measurement method different diagram visualizations.
The following diagrams are possible.
Grayscale histogram Is the result of the measurement extracted out of the xray image the grayscale
histogram of the measurement region will be shown.
The blue horizontal line stands for the result value, the red lines will mark the
applied thresholds.
Grayscale- /gradient function Is a stepedge or stripe position detection chosen the left part of the
resultdiagram will show the grayscale function of the projection and the right
part will show the gradient function. The blue line will mark the position of
edge for stepedge and the position of the middle or the width of the found
stripe for stripefinding. The red lines will show the gradient thresholds used
to find the edges in the gradient function. The vertical green stripes will
display the positions of edges used to set the beginning and the end of the
stripe.
Result histogram If the measurement method is a statistical type a result histogram of all linked
measurement will be shown. The blue line will show the resultvalue and the
red lines will mark the thresholds applied.
General
In the general part of the configuration dialog will be chosen how the actual measurement will be treated in the
task list, the debug window and the user interface.
Read-only Is a measurement set as read-only every modification in the user interface is denied.
The user is getting informed what value has been set by the programmer.
Visible at runtime This option will show the task entry in the user interface in the parameter list. It will
allow the user to modify the constant value, the measurement region and extern
parameters.
Parameter dummy Is it necessary to modify several extern parametersets in one step (e.g. stepedge, stripe
and voiding) it is possible to create a parameter dummy linked to the modify targets.
To set it „Visible at runtime“ it is possible to let the selected paramesets be modified
by the user in the userinterface.
To calculate the average grayscale of a measurement object in this case a solderjoint it should be done in the
following way. A new measurement should be created and its configurationsdialog should be opened by a
double-click on the tasklist.
- Put the reason of the measurement in comment box („Average Grayscale of the measurement“)
- Select Measurement Method (Average Grayscale)
- Set the measurement region (Move and size in the Image, rotate if needed to set the region to the
solderjoint and define as constant (constant offset of image origin in upper left corner)).
- Define unit as „grayscale“
- Construct of error conditions to classify the result of the measurement. Creating of two new thresholds by
using the „Create new threshold“ button. Configuration of both thresholds by selecting condition, compare
constant and errorlabel (Upper and lowerlevel for permitted resultrange).
- Activate measurement (Check „Activated“)
By verifying the
parameter setup with
the button „Run
Measurement“ the
result will we inserted
into the result list. In
the example on the
right the resultdiagram
is showing the
resulthistogram of the
selected measurement
region, the applied
thresholds (red) and
the actual resultvalue
(blue).Has a runtime
error occurred or a
threshold has been
violated the additional
errormessages will
although placed into
the resultlist.
Modify measurements
Tasklist
After the creation of a new measurement it will be shown in the tasklist with its actual parameter.
The pictogram in column „task“ will symbolize the corresponding algorithm, the number stands for the
measurement region in the image and the processing order of the tasks.
Is the page „measurement configuration“ visible all tasks respectively their measurement region are shown in the
image. Deactivated measurement will be shown with a red rectangle, selected as a green and not selected as a
blue. All buttons of the tasklist will just affect the selected items
Delete task(s)
This button deletes all selected task in the tasklist. Links by statistical tasks, variable thresholds and
dependent regions will be declared as [not valid] in the tasklist and will lead to abortion of the measurement
and all linked measurements ! The deletion of measurements can be revoked by using the UNDO-function.
Delete all
This function will delete all measurements and templates to create a new measurement scenario.
Copy task(s)
To repeat measurements with the same configuration at another place in the image the copy task function will
provide an easy solution. The copy dialog will allow to set an pixel offset to every copy of the task(s) by mouse
or keyboard.
The inputbox „amount“ is responsible of the amount of copies which will
be made of all selected tasks. If there a ten selected measurement it is just
one copy needed to get 10 more. The button „Measure distance“ will allow
to shift the bounding rectangle of all selected task to another place in the
image. The x and y offset in pixel will be placed in the x and y inputbox
which can be adapted by manually. If more then one copy should be
created it has to be assured that every new copy respectively their
measurement region will be in the image. If not, all vicious measurement
will be canceled. All links within the selected group of tasks will be set
relative in the new copies. Is there a link to a not selected measurement
tasks in the copy selectlist it will stay constant in all copies.
To adapt the measurement region of tasks it is possible to shift and rotate the bounding rectangle of all selected
tasks with the mouse.
To modify a selected group of tasks respectively their measurement regions and comments this dialog will allow
to set an constant offset to each of the regions and their angles. This offset may be positive and negative.
The offsetparameter dx and dy will be added in X respectively Y direction to the center of the region. The
parameter dWidth and dHeight will affect the Width and Height of the region. The angleoffset will rotate all
selected measurement region by the angleoffset. With selecting the checkbox „Change comment“ it is possible to
set the comment of all measurement selected.
Copy / Paste
Should one or more parameters of one measurement be assigned to another measurement the „copy“ and „paste“
function will allow to select the specific parameter. The button „paste“ will be deactivated until a selection of
the source tasks was done. The first step is to select all task which should be in the source selection of the paste
action with the „copy“ button. To bring the properties of the source items to the target items, the targets have to
be selected and the button „paste“ has to be pressed.
With the affirmation of the dialog seen above all selected properties will be replaced in the target tasks.
Is the target range (e.g. 2 tasks) greater as the source range (e.g. 1 task) the user has to choose between replace
(In the target range will just replaced the first task by the one task in the source range) or replace with repeating
(The source task will assigned repeatingly to the target tasks).
Move task(s)
The buttons „Up“ and „Down“ will allow to move tasks in the order of the tasklist. This option is useful for
placing comments, constants and visual aspects. By shifting a task its number in the tasklist will be changed to.
All links to this task will be adapted automatically.
Undo
The undo function provides the possibility to undo modifications made by mistake in the task or template list up
to 10 steps into the past..
Measurement Stepedge. The configuration dialog of the stepedge finding will be accessible by using the
button „...“. A detailed description of all parameters can be found in the affix.
Unit In this case the unit should be „pxSize“ to display the result, the normal distance to the origin
of the projection, in the unitsystem the user has chosen in the application..
Error conditions No error conditions are needed in this case. Is there no edge in the image a runtime
error will occur. All other results are valid, because a coordinate calculation will just
provide a new origin for more measurement, but is the allowed shift of the object in
the image defined thresholds are needed.
Result The result of measurement will be presented corrected by the actual selected unit system as
„mm“. The found edge is 0,32057 mm away from the origin of the measurement region..
Result diagram The left side of the diagram shows the grayscale function of the projection the right the
gradient function. The blue line shows the detected edge in the profiles, the red lines are the
gradient thresholds of the stepedge detection..
Region The region should have the same size as in the left edge finding
but should be rotated by 180° to start the edge detection from
outside of the object (from homogeneous grayscale distribution
towards inhomogeneous)
The task which will be created in the task list after using the „new statistical task“ button will only differentiate
by the input it will use to calculate. This measurement will process the results of previous measurement. The
button „links“ in the configuration dialog will be used to link other measurement to the actual one. This specific
type of measurement which are possible with this kind of task will described in „Create new measurement“.
Links The configuration dialog for links will show all linked measurement highlighted. For
increasing or decreasing the range just select or deselect one of the. It has to be
assured that only measurements with the same unit has to be linked.
To get the distance between two stepedge measurements the statistical task has to be configured as following.
Measurement Geometrical measurement. By using „...“ the maximum orthogonal distance [px]“ has to be
selected
Error conditions This should be the upper and lower limit of the solderjoint width.
Resultdiagram Shows the resulthistogram of all measurement values. The resultvalue (blue) and the applied
thresholds (red)
After configuration all tasks the tasklist will show the following entries
Measurement [1] and [2] will provide the position of edges as resultvalue and the position of the edges as image
coordinates for the geometrical measurement [3]. The orthogonal distance between these two edges is the
resultvalue of the width measurement.
Linkage of measurements
As described on the previous page it is possible to link measurements together, respectively using their results as
input for new measurements. There are three different types of Linkage
Statistical Linkage A statistical linkage means that previous calculated measurement results will
be combined to one single result of the actual measurement ( average of n
grayscale measurements, geometrical measurement with 2 or more
coordinates, linkage with a bool operator). The Linkage will be set with
selecting the tasks in the „links“ dialog.
Linkage of the measurement region The Linkage of measurement region will allow to process
measurements with a constant offset relative to a previous calculated
image coordinates. Is e.g. the average grayscale on the left side of an
edge needed, the measurement of this edge instead of „constant“ has
to be selected in the region box. The measurements which are
selectable will be shown in the region selectbox with their number in
the tasklist and their comment. After assigning a new origin for the
actual measurement the region will be set to this origin. By moving
and sizing with the mouse a constant offset is generated. Only
measurement with coordinates as a result can be selected (e.g.
Stripe, stepedge and geometrical measurement)
It has to be assured
- All Linkage has to make sense, that means all units of the results and compare values have to be the same.
- All measurement which are linked to another measurement will abort if a linked measurement will although
fail (a runtime error will occur),but if just a threshold is violated all measurement will be processed as usual.
- All measurements which will depend on measuements which are no longer in the task list will fail.
- The possibility of linking various measurements together there is a chance of so called circle links. Is one of
theses non causal links detected a warning message will be shown.
To bundle a group of measurements they have to be selected in the tasklist and embodied with the button
“Define template“. The configuration dialog for defining a template will allow to set the following parameter.
Name of the Template The name of the template will describe the intention of the bundled group of
the selected measurements. It will be displayed in the user interface as the
name of the measurement.
Insert as new template If the new template should be inserted as a new template into the templatelist
this switch has to be set otherwise the selected tasks will assigned to the
actual selected template.
Comment The comment will describe how the user has to configure xray, cnc and the
included tasks for using this type of measurement. It should although provide
information about the limitation and the field of application this specific
template will have.
Unique ID This unique idenficationstring will be created automatically. Should the user
be allowed to create a total of 5 measurement ID string has to be the same in
all visible templates. Should it be allowed to create 5 copies of a single
template is has to have a unique id different to the ones of all other templates
in the scenario.
Example image By double-clicking on the example image area the actual image with the
bounding rectangle of the template will be included in the template.
Tutorial There is the possibility to include a tutorial of any kind into the template. The
selected files has to be self-executables or a system known file-type. Is e.g. a
jpg-file chosen on the system has to be a standard viewer for JPEG. This will
be in most cases the internet explorer. The path for the tutorial can although
be relative, so that the tutorial has to be copied into the specific relative
directory.
Runtime properties
This Parameter will define the template in user interface, that means they define what possibilities the user will
have to adapt the measurement configuration to his specific problem
Show at runtime If this parameter is set the template will be shown for the user in the user
interface.
Size read-only If this parameter is set the user is not allowed to change the size of single
measurement regions in the user interface.
Position read-only if this parameter is set the user is neither allowed to move single
measurement region nor the whole template in the user dialog.
No copies Is this switch enabled only one template of this type is allowed in user
interface. Is a specific amount inserted the user is allowed to make n copies
of e.g. a Qfp-Solderjoint template in one view
No deletion If the actual template is a basic template in the user interface it shouldn’t be
erasable, because one basic template is needed. If the template is a copy of a
basic template it is always set as erasable.
Modify a template
By selecting a template in the template list a corresponding tasks are getting selected. To modify the template, it
has to be selected and the selectlist in the tasklist can be increased or decreased by pressing the CTRL button and
adding or deleting items by a mouseclick from the selection. To reassign this new selection to the previous
selected template „define template „has to be used. It‘s although possible to create a new template instead of
overwriting the old one. There a several methods of template modification as described in the following.
Delete Template
This button will delete the actual selected template from the template list. Just the entry of the template will be
deleted not the entry of the corresponding measurement tasks. A complete deletion of template and tasks will be
done by selection the specific template and using „Delete tasks“ and after that „Delete template“
Save Template
This function will save a predefined template to the harddrive. The measurement task included in the template
will be sorted and exported. If there are task between the selected by the template, they will be removed before
saving so that all measurements will be in straight row after exporting. If there are links in the templatetasks
which were linked to outside the template these will be marked as not valid. These not valid links have to be
reconfigured after importing such a template into the tasklist.
Open Template
This function will allow the reimport of a previous exported template. This means all in the exported template
included task be inserted into the tasklist. Before the import the position of the insertion has to be defined by
selecting the task after which the new ones will be inserted. All links which have been set to not valid in the
export process have to be relinked or deleted.
Recapitulation
The template exportation is made for exchanging templates between different measurement scenarios. The whole
setup will be saved by the „Save“ and „Save As“ function of the Xe2 module. To repeat measurements in a
single scenario the function copy task will be the right one. The manual relinking or deleting of links is not
necessary because this procedure is differentiating between links within a template and to the outside.
Parameterlist
This list can have the following entries which will be created in runtime by the loaded measurement scenario.
Comment / Caption
Labels and separators will be inserted by creating a new statistical measurement. Is the measurement
„Comment“ selected only its comment will be shown in the task list, the measurement itself will be ignored. Is it
made „visible at runtime“ the comment will although be visible in the parameterlist in the user interface. To
create a separator the comment will be left blank and a empty line will be inserted. The order of the comments
will be the same as in the task list, in which you can freely rearrange the order.
Constants
To modify the thresholdvalues of repeating measurements in one step a constant should be inserted into the
tasklist and set as the thresholds reference of the corresponding measurements. With these constant e.g. the
grayscale threshold for every grayscale measurement can be set with one modification. The resultvalue is the
correction offset of the measurement. Is the measurement set to „visible at runtime“ the constant will be shown
in the parameterlist in the userinterface where the user can modify it. Should the modification be in a specific
range two thresholds has to be defined. The first one has to be the lower end the range and the second one the
upper range. This range will be shown automatically next to the comment in parameterlist and the unit of the
measurement. Is the input of the user not in the range the selected errorstring will be shown as a warning.
Switches
To give the user in the userinterface the chance to activate or deactivate parts of the measurement scenarios a
switch has to be inserted. This switch has to be a statistical task in which the measurements which should be
switched have to be selected. Is the correction offset 1 all linked tasks are activated, is there a 0 all links are
deactivated. The Switch has to be set „visible at runtime“ to allow the user in the user interface to change the
settings for e.g. activate the bridging measurement. This Switch is just have effect from the user interface, it will
not be processed in the measurement.
Extern parameter / parameter dummy
To allow the user to modify extern parametersets (e.g. stepedge, stripe and voiding extraction) in the
userinterface the programmer has to create parameter dummy. The first step in this process is to create a new
measurement with type of that measurements which has to be configured (e.g. Voiding). This Measurement has
to be defined as a parameter dummy by checking the box in the measurement dialog. This will allow to link all
designated target to this dummy. With a click on „links“ all measurement which should be affected by the
dummy have to be selected. The next step is to make the dummy visible with „visible at runtime“. It will be
shown in the parameterlist of the userinterface, with its comment and a „...“ box. This box will allow to modify
all measurement selected by the dummy. Is the extern parameterset a stripe or stepedgefinding an overview
dialog will be opened. This dialog will show all templates in the userinterface which include the specific
parameterset. It is possible to verify the chosen parameter on every single template. With a double-click the
configuration dialog of the extern paramset will opened.
Measurement Templates
Start measurement.
The template window will show all measurements in setup, the so called “templates”. These templates will
integrate one or more measurements to a specific measurement task.
The Qfp-Modul is disposing a particular for Gullwing Solderjoint created basic-template for one solderjoint. To
measure more solderjoints in one view it allows to create equivalent copies of it. The button “Create new
Measurement” is having that function
The buttons „Save program“ and „Load program“ will allow to import a new measurement program from file or
save it on disc. „Save program as...“ will save new or modified measurement programs with a different name.
Advise
Is the selected measurement respectively its region contingent on another measurement, that means the
actual measurement region has a constant offset to the result of a of another measurement, the try to
configure the region may be fail. Is it e.g. impossible to calculate the center of a solderjoint, caused by wrong
image input, the new offset for the dependent region (in this case toefillet detection) can although not be
calculated or set. It is advisable to configure the measurements on images which show the specific
measurement object for which the module will be configured.
Exampleimage, Comment and Tutorial
Result protocol
The tab “measurement protocol” will show, after a complete measurement has been done (executable through
“Start Measurement” or “Start Measurement with Debug”, the result protocol which has been written to file.
The Filename of this textfile (with Extension “.log”) can be found above the protocol. The output of the
measurement may vary due the state of the switch “Output for quality review” within the program-start dialog.
Is this switch set, all measurement results will be written in tabulation seperated by a “tabstop”. That will allow
to easily import the results in programs which have a “raw”-text import filter, like Microsoft Excel.
Stepedge- and Stripefinding configuration
Is the configuration dialog of stepedge- or stripefinding opened from the parameterlist, the following dialog
will be shown.
On the left side of the configuration dialog all templates of the measurement program which includes the
selected stepedge or -stripefinding parameters, here e.g. for the Toefillet, will be shown. Each of these templates
has a specific measurement area, so that each has its own graylevel projection and gradientprojection as shown
on the right side. The parameters used to find the stepedge or stripe are all the same for each of the templates.,
because they are all copies of the basic-template. That means all edges or stripes have to last one parameter set to
be comparable. In the middle of the dialog the grayscale projection of the measurement region and on the right
the gradient of this projection will be shown. The gradient thresholds of the stepedge finding are shown as red
dotted horizontal lines. The position of the detected edge on the projection is marked by a blue vertical line in
both views. The selected stepedge finding will be executed and the results will be shown in the image and as the
projection on the right. A double-click will open the stripe- or stepedge parameter dialog for these measurements
(Described in the following).Warning, the scaling may vary between the different templates depending on
the maximum and minimum of the grayscale and gradient projection.
Affix
Stepedge detection parameter
A stepedge is a graylevel change in an area of the image at an expected direction. To find the edge, a projection
of the area (summation of all graylevels perpendicular to the expected edge) is done and then the graylevels of
this projection are analyzed to find the expected edge.
Interpolation method The Interpolation method defines how the graylevels of a rotated edge (not along
the image axes) are conputed. Possible values are
Nearest neighbor: no interpolation is done (fast but inaccurate)
Bilinear*: bilinear interpolation (slower but more accurately) (default)
Bicubic: bicubic interpolation (slow but accurate)
Smooth projection To reduce the influence of noise, the projection may be smoothed. You can
specify the count and the width of the smooth kernel. In the above example the
projection is smoothed one time with a width of 3. That is the default.
Kernel width The kernel width defines the width of the preferred edges. The higher the kernel
width the wider the preferred edges. Since the graylevels directly on the edge are
mostly undefined, they may be ignored through the ‚Ignore‘ setting. All
2*Ignore+1 pixels in the center of the kernel are ignored during calculation.
The default settings are kernel width = 9 and Ignore = 1.
Polarity of the edge Which graylevel changes you are locking for?
any: any gray level change is OK
positive: graylevels must change from dark to bright
negative: graylevels must change from bright to dark
Steepness (min and max) How steep and/or how flat must the edge be, to be accepted as an edge candidate.
If ‚max‘ is set to 0, every edge with a steepness higher than ‚min‘ is accepted.
The default is min=5 and max=0.
Edge contrast (min) This value defines the minimal allowed graylevel step on the edge to be accepted
as an edge candidate. Enter 0 to accept any contrast. This is the default.
No end This value defines, if the end of the edge must be within the searched image area.
The edge end is the position on the projection where the steepness of the edge
exceeds the minimum allowed steepness the last time.
no end: the end of the edge may be missing
Edge selection If multiple edge candidates are found, which edge should be selected?
Possible values are
steepest Select the steepest edge
highest contrast Select the edge with the highest contrast
stepp and contrast Select the edge which is steep and contrasty (50% each)
first Select the first found edge
center Select the edge nearest to the center of the searched area
last Select the last found edge
Edge position Since graylevel changes are not abrupt in reality, there are different possibilities
to define the position of an edge. These are
at the middle of the edge: between begin and end of the edge
at the beginning of the edge: where min. steepness is exceeded
at the end of the edge: where min.steepness is underruned
at the steppest position: where the max. steepnes is
at the best fit position: where the match between an ideal step edge and
the current edge is the maximum.
Note that for an accurate measuring you should use ‚at the steppest position‘ or
if the edge is nearly ideal ‚at the best fit position‘. The other options are faster
but less accurate.
Kernelsize The kernelsize in px is the upper level of void diameter the algorithm will detect. The
Kernel has to be bigger than the voids to model the environment of the void.
Filterprecesion This parameter describes the amount of pixel within the kernel which will be used to
model the void environment. With a precision of 24 and a Kernelsize of 24 only the
first and the last pixel will be uses to calculate the model. The speed of the voiding
calculation is depending on that value.
Allowed Difference This is the allowed difference of one pixel between his actual graylevel and the
calculated graylevel of the model environment.
Min/Max Void – Area All voids with their Area in this range will be treated as voids.
Min/Max Roundness All voids which have a roundness declared in this range will be treated as voids.. “1”
stands for a perfect circle. This criteria allows it to eliminate pseudo voids with a
different shape.
In the first step the local pixelfilter will calculate a model environment in the grayscale image for every pixel and
the difference of the actual grayscale value to the calculated value in the model will be measured. The
calculation of the model is done in the distance of the kernelsize/2 with ((kernelsize/filter precision)+1)
measurement points. Is the grayscale difference greater than the allowed difference the pixel will be marked as
voidpixel.
difference
environment model
grayscale projectionf
kernelsize
In the second step the detected void will be examined concerning their roundness and area. If the void is not
fulfilling the voiding criteria it will be deleted from the measurement. Although voids which will touch the
border of the measurement region will be deleted. The resultvalue if the percentage of voiding in the
measurement area and will be marked in the image with white pixels. The measurement areas for a voiding
calculation should have all the same size to make sure that they are comparable.
To make a grayscale distribution of a measurement region comparable with others, this algorithm will provide an
direction independent compare grade. The calculation will be done with following formula.
r ( x)
M = ∑ (Colorlevels − gs( x) ) ⋅ 1 −
n max
r
M : Similarity grade
n : Number of pixels in the measurement region
Colorlevels : Colorlevels of the image
gs(x) : actual grayscale of pixel(x)
r(x) : distance to center of region of pixel(x)
rmax : maximum distance to center of region