You are on page 1of 33

Systems + Services GmbH

2
Xe
Version 1.0

Operation Manual

Specification subject to change without notice


Figures are not binding

Sep. 04
Xe2
Operation Manual

Systems + Services The development system Xe2

The development system Xe2 .............................................................................................. 4

Predefined modules ............................................................................................................. 5


qfp|module ................................................................................................................................................5
mlf|module ................................................................................................................................................5

Windowlayout ...................................................................................................................... 6
Measurement configuration ......................................................................................................................6
Debug window..........................................................................................................................................6
User Interface............................................................................................................................................7
Result protocol..........................................................................................................................................7

Create a new measurement scenario ................................................................................. 8


Create a new measurement .......................................................................................................................8
Measurement configuration ......................................................................................................................8
Result configuration..................................................................................................................................11
Error conditions - thresholds.....................................................................................................................11
Results.......................................................................................................................................................12
General......................................................................................................................................................12
Example – Average grayscale of measurement object............................................................................13
Modify measurements ...............................................................................................................................14
Tasklist......................................................................................................................................................14
Example – Width of object........................................................................................................................17
Stepedge – left edge ..................................................................................................................................17
Stepedge – right edge................................................................................................................................18
Statistical functions – distance between two edges..................................................................................18
Create new statistic task............................................................................................................................18
Linkage of measurements..........................................................................................................................20
Templates – Bundling of Measurements..................................................................................................21
Define a Template.....................................................................................................................................21
Runtime properties....................................................................................................................................22
Modify a template .....................................................................................................................................22
Not valid template.....................................................................................................................................23
Recapitulation ...........................................................................................................................................23
Setup the User Interface............................................................................................................................24
Parameterlist .............................................................................................................................................24
Comment / Caption ...................................................................................................................................24
Constants...................................................................................................................................................24
Switches ....................................................................................................................................................24
Extern parameter / parameter dummy.......................................................................................................24
Measurement Templates ...........................................................................................................................25
Inner Structure/Results of Templates........................................................................................................26
Exampleimage, Comment and Tutorial ....................................................................................................26
Result protocol..........................................................................................................................................27
Stepedge- and Stripefinding configuration ...............................................................................................27
Setup a measurement – Strategy ..............................................................................................................28

Affix ...................................................................................................................................... 29
Stepedge detection parameter...................................................................................................................29
Stripe detection parameter........................................................................................................................31

Sep. 044 Ver 1.0 2


Xe2
Operation Manual

Systems + Services The development system Xe2

Voiding filter configuration ......................................................................................................................32


Calculation of the voiding percentage.......................................................................................................32
Grayscale similarity of measurement regions .........................................................................................33

Sep. 044 Ver 1.0 3


Xe2
Operation Manual

Systems + Services The development system Xe2

The development system Xe2


Xe2 which stands for „Xray image Evaluation Environment“ is a graphical development system for
measurement scenarios in the xray-image. It is integrated modular in quality|assurance 4.x and allows it to
classify every manual or automatic driven view of the measured object.

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.

Sep. 044 Ver 1.0 4


Xe2
Operation Manual

Systems + Services Predefined modules

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.

Sep. 044 Ver 1.0 5


Xe2
Operation Manual

Systems + Services Windowlayout

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.

Results All Results will be shown in the 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.

Sep. 044 Ver 1.0 6


Xe2
Operation Manual

Systems + Services Windowlayout

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.

Sep. 044 Ver 1.0 7


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Create a new measurement scenario


Create a new measurement

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.

That dialog is the basic


configuration dialog for every
available measurement in Xe2
The button, checkboxes and
selectboxes are responsible
for the objective of the
measurement and will be
explained in the following.

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.

Sep. 044 Ver 1.0 8


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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)

There are the following image measurements implemented

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“.

The implemented statistic functions are

Average of the values


The result of the measurement is the average of all selected measurements.
Normalized average of the values
The result is the normalized average of all selected measurements (normalized to grayscale
levels).
Standard deviation of the values
The result value is the standard deviation of all selected measurements.
Minimum of the values
The result is the minimum of all selected measurements
Maximum of the values
The result is the maximum of all selected measurements
Bandwidth of values
The bandwidth of all selected measurements will be calculated (Maximum value – minimum
value)

Sep. 044 Ver 1.0 9


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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

Maximum geometrical distance [px]


Minimum geometrical distance [px]
Maximum normal distance in X [px]
Minimum normal distance in X [px]
Maximum normal distance in Y [px]
Minimum normal distance in Y [px]
Maximum angle [°]
Minimum angle [°]

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.

Sep. 044 Ver 1.0 10


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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..

Error conditions - thresholds


To classify the measurement it is possible to define several error conditions. This threshold are defined as
following

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.

Add threshold / Delete threshold

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.

X > 80 % Backgroundgrayscale -> No object detected

Sep. 044 Ver 1.0 11


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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.

Activated Is a measurement activated it will be processed and classified by its applied


thresholds.
Every new measurement has to be activated.

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.

Sep. 044 Ver 1.0 12


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Example – Average grayscale of measurement object

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.

Sep. 044 Ver 1.0 13


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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.

Sep. 044 Ver 1.0 14


Xe2
Operation Manual

Systems + Services 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.

Move and rotate Measurement region(s) with mouse

To adapt the measurement region of tasks it is possible to shift and rotate the bounding rectangle of all selected
tasks with the mouse.

Manual parameter shifting

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.

Sep. 044 Ver 1.0 15


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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..

Sep. 044 Ver 1.0 16


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Example – Width of object


The width of the measurement object should be measured by using its outer edges. The measurement will be
done by the in Xe2 implemented stepedge detection algorithm. The first step will be the creation of a new
measurement in the tasklist and its configuration.

Stepedge – left edge

Comment „Left edge of solderjoint“

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.

Region The measurement region of the stepedge should be configured


as seen in the image. The algorithm of the stepedge finding
will start from the origin (small dashed rectangle) in the
direction of the blue dashed axis. The cross is showing the
detected edge on the projection (Average sum of all pixel
normal to the projection axis). The bigger the measurement
region the more grayscale pixels will averaged.

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..

Sep. 044 Ver 1.0 17


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Stepedge – right edge


To extract the position of the right edge of the object another measurement similar to the „left edge“ has to be
created

Comment „Right edge of Solderjoint“

Measurement see left edge

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)

Unit see left edge

Error conditions see left edge

Result 0,29255 mm away from origin

Result diagram see left edge

Statistical functions – distance between two edges


In the previous chapter edges which are necessary for the width measurement have been extracted out of the
image. In the following it should be shown how these measurement result can be linked together in another
function which just one result value.

Create new statistic task

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.

Sep. 044 Ver 1.0 18


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

To get the distance between two stepedge measurements the statistical task has to be configured as following.

Comment „Width of Solderjoint“

Measurement Geometrical measurement. By using „...“ the maximum orthogonal distance [px]“ has to be
selected

Links Measurement [1] and


Measurement [2] selected. (see
image on the right)
Unit „pxSize“

Error conditions This should be the upper and lower limit of the solderjoint width.

Resultvalue Orthogonal width of Solderjoint ( 0,48110 mm)

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.

Sep. 044 Ver 1.0 19


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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)

Threshold Linkage It is although possible to choose the result of another measurement as a


classification threshold. After selecting the measurement to link to, a
percentage of the result has to be chosen. The grayscale of an object e.g.
should be maximal 80 % of the backgroundgrayscale to classify that the
object in the image, this background measurement has to be selected and the
percentage chosen should 80 %.

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.

Sep. 044 Ver 1.0 20


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Templates – Bundling of Measurements


A template is a measurement macro with a specific name. This bundling will allow to assign all measurements in
template to superordinated intention.
Define a Template

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.

Sep. 044 Ver 1.0 21


Xe2
Operation Manual

Systems + Services Create a new measurement 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.

Sep. 044 Ver 1.0 22


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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.

Not valid template

Is a measurement deleted by “delete measurement“ from the tasklist,


which was included in a defined template , the membership to this
template will be preserved until the temple will be redefined. This state
of the template is not valid and will be marked with a red exclamation
mark The remaining included task in the template will be selected as
before.

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.

Sep. 044 Ver 1.0 23


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Setup the User Interface


The user interface should allow to use predefined measurement scenarios in the runtime version of Xe2. This
runtime version just gives the user the page „user interface“ and „measurement protocol“. In this case the user
interface has to be filled with all the information and possibilities the user need to adapt the basic-template to his
specific measurement problem (e.g. different pitch between solderjoint, different width, etc.)

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.

Sep. 044 Ver 1.0 24


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Measurement Templates

Button to create templates.

Button to delete templates.

Start measurement.

Start measurement in „Debug“-Mode.

Load a measurement program.

Save a measurement program.

Save a measurement program with a new filename.

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 Dialog “Create new Measurements” allows to create


N new measurements nd shift each of them by a constant
offset in the image. To calculate this offset, e.g. between
solderjoints, it is possible to measure it in the image (
Button “Measure Distance”).

To number the new measurements with a fixed start


number you can replace the value in “start with number”.
Is one of the new created measurements not into the
image dimensions, the whole creation process will not be
done and a warning will be shown. All new created
measurements can be removed from the measurecontext
with the button “Delete Measurement”, except the basic-
template.
„Start measurement program“ and „Start measurement program with debug” will execute all templates in
measurement configuration. “Start measurement“ will create a reportfile without any further messages. Errors in
the measurement (Threshold- or configuration errors) will be marked with a red exclamation mark on the
templateicon. „Start measurement program with debug“ will show the result of every template and his
submeasurement in a messagebox. By clicking OK the next step in the process will be executed , by clicking
Cancel the whole debug process will be stopped and the remaining steps will be executed without further
messages.

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.

Sep. 044 Ver 1.0 25


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Inner Structure/Results of Templates


Each measurement template includes various free configurable measurement regions which will be accessible
by opening the template tree. By double-clicking the template itself the position of the whole template can be
modified, double-clicking onto a single measurement region will give the possibility to shift, to rotate and to
size this region. This will easily allow to configure the measurement program e.g.. for different width of
gullwing legs, higher pitch, and background projections. As shown in
the example on the left the width of the measurement region which
belongs to the right edge finding should be increased to decrease the
dependence on the prepositioning. The projection height (normal to the
dotted axis) should be increased to bring more stability into the stepedge
finding process The adaptation of the position and rotation of the
measurement region will help to improve segmentation results. The
stepedge and stripefinding will always start from the origin (small
dashed rectangle at the end of the dashes axis). A rotation of the region
has to be done careful to avoid that the measurement will loose its
effect.
In a new imported measurement program, all template measurements
are not defined. With a right-click on a template all belonging
measurements will be executed, with a right-click on a single
measurement, only the selected one and its depend measurement will be
executed. Is the measurement successfully completed without any
threshold exceeding or runtime errors (blue question mark will change
to green check icon) the result will be presented in the template tree. In
this example the right edge of the solderjoint has been detected
0,71459mm away from the origin of the grayscale projection. Has a
runtime error occurred, e.g. no edge was detected, or a manual threshold
was exceeded (blue question mark will change to red cross) the
errortext will be shown instead of the result. The buttons „Start
measurement“ or „Start measurement with debug“ will execute all measurements in the setup and their state
will be set.

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

On the right side of the Dialog „User Interface“ an exampleimage


with comment is shown, which will explain the functions of the
actual selected template. The image shows an example of a
configuration of the basic-template within a example xrayimage.
The comment describes the different measurement possibilities
and will give tips for their configuration. A yellow questionmark
in the right upper corner of the example image will announce the
existence of a tutorial.

Sep. 044 Ver 1.0 26


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

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.

Sep. 044 Ver 1.0 27


Xe2
Operation Manual

Systems + Services Create a new measurement scenario

Setup a measurement – Strategy


A collection of images with “good” and “bad” solderjoint of the specific type is the first step to get a working
measurement module. These images should show a full range of different appearances of the solderjoints in the
xray image. The next step is to adapt the configuration of the measurement program to a “god” Solderjoint, that
means modifying the measurement regions e.g. bringing the edges of the solderjoint into the region of their
stepedge finding. It is important to choose the width and position of the measurement regions in the range of
process precision. Parallel the stepedge parameter of the measurement region have to be configured. The
different appearances of the specific solderjoint in the xray image will make it necessary to modify e.g. min
gradient or kernelwidth. It is although possible to use other edges as a reference for the average grayscale or
heelfillet measurement if e.g. the toefillet edge is not detectable. That means an adaptation of the depending
measurement regions is necessary. Is the setup with a “god” solderjoint done the template should be shifted to
other “good” solderjoints to verify that the chosen parameters are working. The thresholds for PASS/FAIL
configuration is the next step. To set the FAIL thresholds as precise as possible as many as “bad“ solderjoints
examples should be tested with the measurement program (e.g. width of solderjoint < Leg+0,05mm = less
soldering, or average grayscale of the Solderjoint >2500 gs = less solder or space between solderjoint < 3000 gs
= Bridging). Are the threshold set, the needed amount of copies of the basic template have to be created with the
button “new measurement”. If there are 10 “gullwing” solderjoints in the image, 9 shifted copies will be created
and manually adapted. The new created measurement program “*.ex2” should be saved with a new name
different to basic measurement program to avoid to overwrite it. The programming of the CNC and the xray will
be done in Teach-IN mode in which the solderjoints have to be positioned into the template regions.

Sep. 044 Ver 1.0 28


Xe2
Operation Manual

Systems + Services Affix

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

Sep. 044 Ver 1.0 29


Xe2
Operation Manual

Systems + Services Affix

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.

Sep. 044 Ver 1.0 30


Xe2
Operation Manual

Systems + Services Affix

Stripe detection parameter


A stripe is a parallel pair of stepedges in a predefined distance, so the most of the parameters are similar to
stepedge detection and are described in the previous chapter (see above).

Parameters not described in the chapter.


Left and right edge means the left and right edge of a vertical stripe (from top to bottom). But if you are locking
for a horizontal stripe in the direction from top to bottom the left edge is the top one and the right the bottom
one. So left edge always means the first edge of the stripe when locking along the search direction.

Polarity right edge opposite: opposite polarity as the left edge


Steepness right edge min=0: use the same values as for the left edge
Edge position right as left edge: use the same setting as for the left edge
Stripe width, Tol. This is the expected width of the stripe and the allowed tolerance. If 2
edges are found with a distance of width ±Tol, than the stripe is found. If
multiple matching edgepairs are found, the pair which distance is nearest to
the expected width is selected.
Resultvalue This will select the resultvalue of the measurement.
Distance to origin of the stripes middle position
Width of the stripe

Sep. 044 Ver 1.0 31


Xe2
Operation Manual

Systems + Services Affix

Voiding filter configuration

The voiding extraction filter has the following parameters.

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.

Calculation of the voiding percentage.


The voiding extraction algorithm and its parameter setup have to be very flexible to deal with a lot of different
grayscale distribution which may occur in the measurement area. Voids of any type and size in a very
inhomogeneous environment (gulling soldejoints) have to be detected. The used algorithm and his setup are very
powerful but very easy to configure to get used with every kind of object.

Sep. 044 Ver 1.0 32


Xe2
Operation Manual

Systems + Services Affix

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.

Grayscale similarity of measurement regions

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

The darker the grayscale level in the image (on the


supposition that object are alway darker in the xray
image) in middle of the measurement region the
higher the compare grade. In the example on the left
side the red marked solderjoint have a very different
compare value than the others because of their
grayscale distribution.

Sep. 044 Ver 1.0 33

You might also like