summaryrefslogtreecommitdiff
path: root/meme/README
blob: b5ae2935db2a32ecdbeef1382c8bbc1cd1d893aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
Mesh measurement utility
========================


Usage:

meme [-l logfile] [-o overlay.gp ...] <path-to-STL-file>
meme -s slice.gp [-n] <path-to-STL-file>


Mouse
-----

- move mouse: places the cursor on the vertex closes to the mouse pointer
- turn scroll wheel:
  - C key not held: zooms in or out
  - C key held: increase/decrease contrast
- click left button:
  - not on measurement point: set/move measurement point
  - on measurement point: cancel measurement point
- click right button:
  - delete both measurement points


Keyboard
--------

- C: enter contrast enhancement mode, see below
- E: highlight equal height, see below
- G: toggle grid (edges) display
- M: toggle mesh display
- O: toggle overlay; see below
- P: toggle profiles display, see below
- Q: quit
- 1, 2, 3: select the respective overlay (if present)
- *: center and zoom to extents
- +: zooom in
- -: zoom out


Log file
--------

When a log file is specified with the -l option, the position of
measurement markers and of measurements is appended to this file each
time a marker is set.


Profiles
--------

Profiles show the intersections of the mesh with XZ and YZ planes placed
at the cursor location. The XZ profile is shown at the bottom of the window
(screen X is mesh X, screen Y is mesh Z) and the YZ profile is shown at
the right side (screen -X is mesh Z, screen Y is mesh Y).

Profiles are toggled with the P key.


Contrast enhancement
--------------------

Contrast enhancement mode can be entered by pressing and holding the C
key. When pressing C, the Z to greyscale mapping is adjusted such that
the Z value at the cursor position becomes the middle of the greyscale
range.

Contrast can be increased or decreased with the scroll wheel. Areas
that exceed the contrast range are shown in yellow.

The normal mapping is restored when releasing the C key.


Highlight equal
---------------

While pressing the E key, a contour line at the Z position at the cursor
is drawn in purple. Areas that are coplanar with that Z position are
filled. This is similar to contrast enhancement and intended for quick
estimation of where the cursor is located with respect to plateaus.


Overlay
-------

A set of lines in gnuplot format can be drawn over the scan data. The
file containing the lines (in model coordinates) is specified with the
-o option. The O key toggles overlay display.

The -o option can be used multiple times. The overlay to display is
selected with the numeric keys, starting with 1.

To better visualize overlays, the mesh can be toggled by pressing M.


Slicing
-------

An intersection of the mesh with a plane can be calculated using the -s
option. The plane is described by the slice file containing points
in the following format:

x y z [zoff]

If the zoff value is present, it is added to the z coordinate. This can
be used to manually adjust coordinates obtained from the mesh.

The output is a set of unconnected line segments, in Gnuplot format.

Two algorithms are available for interpolating between measurement
points: by default, the plane is simply intersected with a the mesh
edges connecting two points. If the -n option is given, the real
position of the edge is calculated considering the shape of the
scanning needle. This is illustrated in needle.fig


Workflow
--------

- load the STL file, ideally at a resolution of 100 um or better
- zoom into the area of interest

To measure vertical distances:

- use contrast enhancement mode to identity flat areas at the desired
  heights and place the measurement markers there. When both markers
  are present, a window with the measured distances will appear.

To measure horizontal distances:

- note that the meshes are not corrected for the size of the scanning
  needle, which has a hemispherical tip with a diameter of 0.8 mm and
  a conical shaft.

- use profiles and/or contrast enhancement to find the desired edges.
  Edges are typically located between the last point of a plateau and
  the adjacent point that is slightly below the plateau.

- left-click to place a measurement marker

- find the corresponding second point and place the second measurement
  marker

To clear a marker, move the cursor exactly on the marker and
left-click. To clear both markers, right-click.


Known bugs and limitations
--------------------------

- only suitable for 2.5 D scans, i.e., there it at most one vertex at
  any (x, y) position
- doesn't support other views than from the top
- doesn't support rotation
- profiles may overwrite each other (clear artefacts caused by this by
  zooming out and in again)
- contours aren't always closed lines - why ?