Appendix A – The digitizing techniques in detail

Setting things up

Before digitizing begins, the digitizer, computer, foot pedal and the object to be digitized must be readied. Experience shows the following order works best:

1. Sort the specimens by size and stability. Determine which can be placed on the holder and which are too large or fragile.
2. Set up the holder (if used). Place the digitizer behind it, as it is very hard to push the tip steadily across the bone surface, but easy to pull it.
3. Place the computer so that you can both reach the keyboard and see the screen while digitizing. Make sure that you can reach across and under the specimen if using the holder.
4. Start the Rhinoceros® program and load a template file. Using the 'Centimeters.3dm' file is recommended. Save this file with the file name intended for the finished file, include the specimen type (e.g., 'dex radius') and number (e.g., 'MB.R.1664') in the file name. Set the tolerances for the file according to the object size. Example values:

Absolute tolerance: 0.01 units (0.001 for small bones)
Relative tolerance: 0.1 percent
Angle tolerance: 0.1 degree
Higher accuracy values lead to significantly longer computation times, including the risk of program crashes on less powerful computers, for little gain.

5. Prepare the first specimen for digitizing: Check the range of the digitizer arm and decide on coordinate placement and curve directions (see below). Usually, curves should be roughly orthogonal to the long axis of the bone. Then decide on seam line and coordinate placement. Mark the bone accordingly.
6. Calibrate the digitizer to the first set of coordinates.
7. Start digitizing.
8. After data collection is completed, immediately create a surface in Rhinoceros® (Geomagic® for point clouds) and check for accuracy. Only if the surface is roughly satisfactory, remove markings from bone. Otherwise redigitize non-satisfactory areas.

We recommend digitizing several curves in quick succession, without consulting the laptop monitor often, instead of checking each new curve for accuracy immediately. A smooth, uninterrupted work flow is key to short digitizing times.

Coordinate placement, recalibration and seam line placement

Coordinates and recalibration (multiple coordinate sets): Before digitizing can begin, coordinates for recalibration must be marked on the specimen as well as (when using closed curves, see below) a seam line (line through the contacts of all curves start and end points). In most cases, thorough planning of the placement of coordinates and the seam line is necessary to avoid complicated recalibrations of the digitizer. Sometimes, it is not possible to avoid a recalibration, but reducing the number of instances necessary will result in fewer inaccuracies. Also, the fewer different sets of coordinates are used the smaller the inaccuracies.

For small and medium sized specimens, approximately up to a size of 80 cm greatest length (110 cm for the Microscribe® GL), a single set of coordinates located roughly halfway down the length of the bone is sufficient. Three coordinates on the specimen are needed: an origin point (O1) for the origin of the coordinate system and two points (X1, Y1) to determine the direction of the x- and y-axis respectively. These can be placed in any relation to each other except for a straight line, because Rhinoceros® translates into a Cartesian coordinate system internally. Thus there is no need to place the coordinates in a right triangle. It is advisable to space them at least 5 cm apart in easily accessible locations to reduce the influence of the unavoidable slight inaccuracies during recalibration. Multiple coordinate sets allow digitizing very large objects; theoretically there is no size limit.

Coordinates should usually be placed (see Appendix C) so that one set (Cset1=O1, X1, Y1) is accessible in all positions the specimen will have to be placed in during digitizing. If this is not possible, a second set (Cset2=O2, X2, Y2) must be placed so that it can be reached with the digitizer after calibration through Cset1. This means that two sets of coordinates should be placed at approximately 1/4 and 3/4 of the length of the bone to allow maximum range for the digitizer.

Complex bone shapes, or large flat bones (e.g., sauropod ilia) may require more sets of coordinates. Cset2, 3, etc. should all be accessible from Cset1 to minimize inaccuracies. Thus Cset1 should be placed roughly halfway down the bone, with sets of higher number to both sides.

Small or ball-shaped flat bones (e.g. calcanei, dermal scutes) tend not to rest stably on the holder unless placed horizontally. Here it proved best to use one set of coordinates placed on the narrow edges, digitize curves as concentric rings on the upper surface, then flip the bone over onto the other side and digitize concentric curves there (Figure 15), using the same coordinate set Cset1.

Seam line: The seam line is an imaginary line connecting all curve starts and ends when digitizing using closed curves (Figure 6 and Figure 15). Proper placement of the seam line is equally important as the placement of the coordinates. The seam line needs not be digitized, but should be marked on the bone. It should run on a relatively flat area of the bone, where the lofted surface will show little change in topology. Also, the bone should rest stably on the holder (or against other support) with the seam line positioned downwards (on the side opposite to the digitizer and the operator when other support is used); otherwise access to it from both directions will be difficult. It can be helpful to digitize a short open curve down part of the seam line to gain a reference in Rhinoceros®. This helps selecting the curves for lofting properly if selection by hand is necessary. When digitizing closed curves, the seam line must always be placed on the side of the bone away from the digitizer, otherwise the reach of the digitizer arm will not be sufficient to draw the curve completely.

Gathering data - open and closed curves, point clouds.

Open curves: Open curves run across one side of the specimen as subparallel lines, requiring access to only one side of the specimen. Wilhite (2003b) used this technique exclusively. A loft over open curves results in a surface. Open lofts may, but need not, start and end with a point object. Joining these surfaces into closed bodies (solids) is often difficult, thus this technique is not recommended.

Closed curves: The most important improvement we made compared to the technique of Wilhite (2003a, 2003b) is the use of closed curves. This means that each curve reaches 360° around the bone as an infinite loop (Figure 2), allowing a closed loft over the entire bone in one step. Thus, there is no need to assemble two surfaces into one body, a process very difficult in Rhinoceros®. This saves effort, increases accuracy, and reduces costs by making the purchase of a separate editing program unnecessary. Additionally, a closed loft does not possess a visible seam that has to be manually smoothed over in Rhinoceros®. It requires, in addition to closed curves, a start and an end point at each end of the loft. These points can be digitized at any time before, after or in between curves. When the bone it too large to be digitized without moving the digitizer, the points should be digitized together with the neighboring curves, to avoid recalibrations for just one point. If several separate lofts are combined to model complex shapes, surfaces open at one or both ends can be used. These require one or no points, respectively.

In order to achieve a surface with minimum artificial distortion, all curve ends must meet the respective curve starting points with minimum overlap and shift along the seam line (Figure 16), and point in roughly the same direction (have similar tangency). To achieve this it is useful to mark starting points on the bone by taping a strip of adhesive tape (masking tape) along the intended seam line (usually the long axis of the bone) and mark curve starts by a lengthwise line with cross marks. This has the additional benefit of reducing wriggling of the seam line, avoiding a common source of massive lofting artifacts. To avoid overlap a small gap of 1 or 2 mm should be left between curve start and end, which Rhinoceros® closes automatically when the foot pedal is released. Also, to minimize distortion at the bone ends, it is often advisable to cover at least a circle with r=2.5 cm at each end with masking tape and draw the first and last few curves onto the tape prior to digitizing (Figure 6). The end-points should also be marked here.

Composite closed curves: Some bones are so large that drawing closed curves around them is impossible due to the constricted range of the digitizer arm, e.g. sauropod ilia, or bones that are held in fixed mounts. Here, it is advisable to create closed curves by digitizing them in parts. Each part is an open curve, and the parts are joined together using the 'match' and 'join' commands. In theory, there is no size limit for this method! The only drawback is the need for extremely accurate digitizing at the contact points of partial curves. This requires extensive marking of the bone prior to digitizing, as each separate contact point must be marked. Also, it is often necessary to redistribute the sampling points of the curve more regularly after joining the various parts. This can be done via the 'rebuild' command and slightly decreases accuracy. Note that in case of a bone mounted with a metal rod that closely follows the shaft longitudinally, it is also possible to digitize with closed curves and edit the curve control points to remove the armature instead of using composite curves.

Points: Single points are collected using the 'point' command. They are useful to mark coordinates and as start and end points for closed lofts. The 'points' command can also be used, but if the digitizer tip is not kept very still, a string of point objects will be digitized. We recommend deleting surplus points, as they can lead to confusion and lofting errors.

Point clouds: With the 'digsketch' command point clouds (Figure 3 and Figure 4) can be digitized continuously or in several parts, without having to worry about slipping off the object with the digitizer tip. Complex shapes can be sampled better with point clouds than with curves. Also, complete reach around the object is not necessary, nor planning partial curves for joining into closed ones. This is useful when bones are mounted closely together and can not be taken off the mount for digitizing.

The object is placed on a stable support, e.g. placed in a sandbox. Very small objects can be held in place on the table with two fingertips. Coordinates must be marked so that they are accessible in all positions necessary for digitizing the complete bone. Now, point clouds are digitized over the entire accessible surface. Usually, several percent of all points digitized are erroneous. These can, however, usually be spotted easily, and quickly removed. Then the object is turned over, the digitizer recalibrated, and the remaining surfaces are digitized. Experience tells that drawing the digitizer tip along all edges repeatedly is advisable; larger flat areas can be painted in roughly with a to and fro movement of the digitizer. Note that near sharp edges, such as cristae or the edges of transverse processes, artifacts will appear near the edges of the flat surfaces if the sampling distance on the surface is not significantly smaller than the thickness of the bone. Meshing then erroneously connects points from both sides to each other instead of to the points at the edge (Figure 5). Geomagic® produces fewer meshing errors that Rhinoceros®. The sampling distance should be at most 0.2 times the distance of the surfaces to avoid this. During digitizing, it is advisable to create meshes from time to time in order to judge which areas need further digitizing. It is also possible to digitize with this preliminary mesh visible, best in 'Shaded' viewport mode, which facilitates the task. Alternative, the mesh can be created in Geomagic® and viewed while digitizing, as Rhinoceros® will accept digitizer input even if it is running as a background process (see Appendix E).

Although curves for lofting can be created from these points by a variety of methods, using the 'wrap' function in Geomagic® usually is the best option to create a polygon mesh. If some areas prove troublesome, separate meshes can be created for parts of the point cloud and then combined. The gaps can be filled with the 'FillHoles' function of Geomagic®.

Editing raw data

Editing curves: Curves can be edited to remove artifacts in them or to join several curves into one (commands: 'controlPts', 'rebuild', 'match', 'join'). The concept of 'control points' and their use is explained below. As this editing changes the original input data as few changes as possible should be made.

Editing point clouds: Point clouds can be edited to remove points that are either incorrectly collected during digitizing or supernumerary. In Rhinoceros®, point clouds are 'groups' of points. Each consists of all points collected during one period of sampling (keeping the foot pedal pressed). In order to edit single points in a cloud, the cloud must be selected and separated (command 'explode'). Erroneous points are best spotted by rotating the view until it is nearly parallel with the bone surface. Erroneous points will now be visible above the main bulk and can be deleted (Figure 17.1). Remember to also check the inside of the point cloud for stray points! To remove these it is advisable to select and hide ('hide') the ends of the point cloud in order to create a clear background against which the erroneous points can be easily spotted.

If a digitizing error is detected during the digitizing of the point cloud (that is while the foot pedal is still pressed), the tip of the digitizer should be removed a generous distance from the bone before the foot pedal is released. This way the group of points that contains the faulty points has a 'trail' of points leading away from the surface that is quite conspicuous and facilitates finding and removing that specific group (Figure 17.2).

Creating bodies - lofting and joining surfaces

Surfaces from curves: Lofting a surface over closed curves (command 'loft') is the easiest way to create surfaces for digitized objects in Rhinoceros®. A loft that, in addition to the curves, contains a point object at one end will be closed at that end, but still be a surface, not a body. A loft that both starts and ends with a point will create a body, not a surface. This method requires the least post-digitizing data editing. In order to loft, the respective curves must be selected and the proper loft option chosen. Here, different versions of Rhinoceros® differ markedly. Often, Rhinoceros3.0® does not reliably sort curves correctly, so each point/curve must be selected by hand in the proper order, starting with one endpoint, then the closest curve, then the next etc. to the other end of the bone. In Rhinoceros 2.0® and earlier version, each curve has a direction that is not automatically adjusted during lofting. It is necessary to select each curve at the same side of the seam line; otherwise the surface will fold into itself. Rhinoceros 3.0® sorts the directions automatically, usually correctly. Rhinoceros 4.0® sorts curves correctly, but usually misplaces the endpoints, sorting each point with the wrong end of the bone, so curves and points must be selected in the correct order by hand for closed lofts. The 'closed loft' option creates the same errors and should not be used.

Note that large bones digitized at high accuracy will lead to long computation times for lofting. It may be advisable to increase the tolerances values in the file preferences before lofting, as this will not add a significant error but speed up lofting by up to 90%. Additionally, we have experienced program crashes at high accuracies, which can be avoided by downgrading the accuracy after data collection and before lofting.

Surfaces from point clouds: Meshing is done automatically via the 'Meshfrompoints' command in Rhinoceros®. Much more accurate results can be achieved in Geomagic®, using the 'Wrap' function. If the resulting mesh shows many inaccuracies, deleting it and editing the point cloud for a new meshing is best. If there are few errors in the created surface, it is best to delete erroneous mesh facets ('Deletemeshfaces') and fill the resulting holes via the 'fillhole' command in Rhinoceros®. In Geomagic®, faulty areas can be selected directly and removed by pressing 'Del'. The holes can be filled using the 'Fill Holes' function.

In Rhinoceros®, tolerance settings should remain tight for meshing, as low values will result in significant errors.

Joining and editing surfaces: Several NURBS surfaces can be joined into one via the 'joinsrf' command. Alternatively, for smoother contacts, it is possible to use 'blendsrf'. This requires that the surfaces touch along all their common edge. As this cannot be reliably achieved when digitizing several surfaces on one object due to the invariable drift of the digitizer and the inaccuracies of the operator's hand movements, edge contact must be created artificially in Rhinoceros 3.0®. We could not evaluate the mesh edit tools in Rhinoceros 4.0 because the program regularly crashed (updated until 9/2008).

Sometimes it is extremely difficult to join partial surfaces in Rhinoceros®, or close openings in partial lofts. Also, cropped NURBS bodies can be difficult to 'cap' properly. In this case, the NURBS surface(s) should be transferred into an STL polymesh. Further editing can then take place in Geomagic®.

Control points: Surface editing via the various options in Rhinoceros® is usually too time consuming and difficult to be useful, except for the use of control points. Any 'surface' or 'body' (i.e. 'closed surface') can be edited in Rhinoceros® via its 'control points'. These are point objects representing coefficients of the NURBS function of a curve (called 'nodes' in many other programs). Moving them in 3D space alters the curve function, changing the shape of the curve and the associated NURBS surface. In order to change the form of a body, the control points must be turned on ('Cpoints'). Now, they can be selected and moved the same way any point object can be moved in Rhinoceros®. A lofted body has hundreds or thousands of control points along the surface isocurves, which are essentially identical to the curves the body was lofted from. Editing larger areas by hand is a tedious process, but small deformations or digitizing errors can be easily removed. Rebuilding the individual curves with a smaller number of points before lofting makes editing of the lofted surface easier, but the accuracy can suffer significantly if the number of points is reduced too much.

Since a 'control point' is a coefficient of a NURBS function, the surface will not always pass through the point object visual on the screen, and care should be taken to always move neighboring points together. Otherwise, the surface topology will show artifacts resulting from the rapid 'swinging' of the underlying spline function. If, e.g., one point is moved by 5 mm, then the two neighboring points should each be moved in the same direction by a few millimeters, too.

Polygon meshes are easy to combine in Geomagic®. The 'FillHoles' function allows building 'bridges' between them. In order to do so, the meshes must first be merged using the 'Merge Polygon Objects' command. The remaining openings can be filled with the 'FillHoles' command.

Next Section