## 1D Measuring

List of Operators ↓

This chapter contains operators for 1D measuring.

### Concept of 1D measuring

With 1D measuring, edges, i.e., transitions from light to dark or from dark to light, can be located along a predefined line or arc. This allows you to measure the dimension of parts fast and easily with high accuracy. Note that if you want to measure the dimensions of geometric primitives like circles, ellipses, rectangles, or lines, and approximate values for the positions, orientations, and geometric shapes are known, 2D Metrology may be a suitable alternative.

 (1) (2)
Measure edges and the distances between them along a line (1) or along an arc (2). These images are from the example programs fuzzy_measure_pin.hdev and measure_ring.hdev.

In the following, the steps that are required to use 1D measuring are described briefly.

Generate measure object:

First, a measure object must be generated that describes the region of interest for the measurement. If the measurement should be performed along a line, the measure object is defined by a rectangle. If it should be performed along an arc, the measure object is defined as an annual arc. The measure objects are generated by the operators

Note that you can use shape-based matching (see chapter Matching / Shape-Based) to automatically align the measure objects.

Perform the measurement:

Then, the actual measurement is performed. For this, typically one of the following operators is used:

• `measure_pos` extracts straight edges perpendicular to the main axis of the measure object and returns the positions of the edge centers, the edge amplitudes, and the distances between consecutive edges.

• `measure_pairs` extracts straight edge pairs perpendicular to the main axis of the measure object and returns the positions of the edge centers of the edge pairs, the edge amplitudes for the edge pairs, the distances between the edges of an edge pair, and the distances between consecutive edge pairs.

• `measure_thresh` extracts points with a particular gray value along the main axis of the measure object and returns their positions and the distances between consecutive points.

Alternatively, if there are extra edges that do not belong to the measurement, fuzzy measuring can be applied. Here, so-called fuzzy rules, which describe the features of good edges, must be defined. Possible features are, e.g., the position, the distance, the gray values, or the amplitude of edges. These functions are created with `create_funct_1d_pairs` and passed to the tool with `set_fuzzy_measure` or `set_fuzzy_measure_norm_pair`. Then, based on these rules, one of the following operators will extract the most appropriate edges:

• `fuzzy_measure_pos` extracts straight edges perpendicular to the main axis of the measure object and returns the positions of the edge centers, the edge amplitudes, the fuzzy scores, and the distances between consecutive edges.

• `fuzzy_measure_pairs` extracts straight edge pairs perpendicular to the main axis of the measure object and returns the positions of the first and second edges of the edge pairs, the edge amplitudes for the edge pairs, the positions of the centers of the edge pairs, the fuzzy scores, the distances between the edges of an edge pair, and the distances between consecutive edge pairs.

• `fuzzy_measure_pairing` is similar to `fuzzy_measure_pairs` with the exception that it is also possible to extract interleaving and included pairs using the parameter Pairing.

Alternatively to the automatic extraction of edges or points within the measure object, you can also extract a one-dimensional gray value profile perpendicular to the rectangle or annular arc and evaluate this gray value information according to your needs. The gray value profile within the measure object can be extracted with the operator

Destroy measure object handle:

When you no longer need the measure object, you destroy it by passing the handle to

### Further operators

In addition to the operators mentioned above, you can use `reset_fuzzy_measure` to discard a fuzzy function of a fuzzy set that was set via `set_fuzzy_measure` or `set_fuzzy_measure_norm_pair` before, `translate_measure` to translate the reference point of the measure object to a specified position, `write_measure` and `read_measure` to write the measure object to file and read it from file again, and `serialize_measure` and `deserialize_measure` to serialize and deserialize the measure object.

### Glossary

In the following, the most important terms that are used in the context of 1D Measuring are described.

measure object

A data structure that contains a specific region of interest that is prepared for the extraction of straight edges which lie perpendicular to the major axis of a rectangle or an annular arc.

annular arc

A circular arc with an associated width.

### Further Information

See also the `“Solution Guide Basics”` and `“Solution Guide on 1D Measuring”` for further details about 1D Measuring.

#### List of Operators

`close_measure`
Delete a measure object.
`deserialize_measure`
Deserialize a serialized measure object.
`fuzzy_measure_pairing`
Extract straight edge pairs perpendicular to a rectangle or an annular arc.
`fuzzy_measure_pairs`
Extract straight edge pairs perpendicular to a rectangle or an annular arc.
`fuzzy_measure_pos`
Extract straight edges perpendicular to a rectangle or an annular arc.
`gen_measure_arc`
Prepare the extraction of straight edges perpendicular to an annular arc.
`gen_measure_rectangle2`
Prepare the extraction of straight edges perpendicular to a rectangle.
`get_measure_param`
Return the parameters and properties of a measure object.
`measure_pairs`
Extract straight edge pairs perpendicular to a rectangle or annular arc.
`measure_pos`
Extract straight edges perpendicular to a rectangle or annular arc.
`measure_projection`
Extract a gray value profile perpendicular to a rectangle or annular arc.
`measure_thresh`
Extracting points with a particular gray value along a rectangle or an annular arc.
`read_measure`
Read a measure object from a file.
`reset_fuzzy_measure`
Reset a fuzzy function.
`serialize_measure`
Serialize a measure object.
`set_fuzzy_measure`
Specify a fuzzy function.
`set_fuzzy_measure_norm_pair`
Specify a normalized fuzzy function for edge pairs.
`translate_measure`
Translate a measure object.
`write_measure`
Write a measure object to a file.