There is a new Register pane. Keyboard shortcuts for activating panes are adjusted to: Ctrl-1 = Project, Ctrl-2 = Info, Ctrl-3 = Layers, Ctrl-4 = Register, Ctrl-5 = Select, Ctrl-6 = Style, Ctrl-7 = Transform.
The registration process involves two windows: one for the component being registered (source) and another for the desired location (target). Each window has its own set of control points. Initially all windows works as registration sources. The Register pane allows making the active window a registration target for a different window which will work as a registration source. After that, the set of control points for the target window is synchronized with that for the source window. A target window cannot be a source window for some other window. If a source window is closed, all target windows for which it has been the source window return to being source windows.
The Register pane shows the list of control points for the active window. Each control point has a unique name and an optional location, shown using an icon on the right. For a source window, each control point always has a location. For a target window, a specific control point may or may not have a location.
The map window supports a new cursor mode for editing control points: Edit Control Points. The mode uses a distinctive cursor. Switching to the Edit Control Points mode shows the control points and shows the Register pane if it was hidden before.
For a source window, clicking in the map window places a new control point. The new control point is assigned a unique generated name.
For a target window, clicking in the map window assigns the location for the control point focused in the Register pane. If the control point already had a location assigned, it is changed to the new one. After the click, if there are control points with no assigned locations, the focus moves to the first such point.
Painting control points in the map window automatically moves the names around points to try to stay on screen.
The Register pane allows editing names of control points for a source window. If the newly entered name is not unique, it is forced to be unique by adding a numeric postfix. The names of control points in a target window are automatically adjusted to be the same as those in the source window.
The Register pane allows selecting control points. Selected control points can be deleted using the Delete key. For a source window, deleting control points removes them from the set. For a target window, deleting control points clears their target locations.
After both the source and target control point sets are placed, the Register pane for a target window allows registering any layer from the source window to the target locations. The list of layers omits labels and includes only drawings and images. The Register button performs the registration, creating a new drawing or image component and selecting it in the Project pane. The Preview button previews the results of the registration. The Edit Query button shows the registration query. Running the registration query will have the same effect as pressing the Register button would.
Registering a component allows specifying the registration method. Available methods are:
- order 1 (affine)
- order 1.5 (affine + cross-product)
- order 2 (square)
- order 3 (cubic)
The default registration method is 'order 1 (affine)'. Avoid using 'order 2 (square)' and 'order 3 (cubic)' with small numbers of control points, use at least 5-6. Using 'triangulation' will only register data covered by the convex hull of the control points, you can use a set of control points that does not cover the whole component for a drawing, but not for an image.
Registering a drawing sets the coordinate system of the new drawing to that of the target window with local scales set to 1 and local offsets set to 0.
Registering an image sets the coordinate system of the new image to that of the target window with local scales adjusted to produce about the same number of pixels as in the original image and with local offsets set to the left-bottom corner of the image. The pixels in the new image are forced to be square.
Registering a component in the Register pane shows the time it took to perform the operation at the bottom of the pane. This helps confirm that pressing the Register button did have an effect when the operation ended up being too fast and the progress dialog never appeared. Registering a component also logs operation time in the log window.
New query function: CoordConverterMakeWarpNumeric - takes a line geom containing warp coordinates and a numeric order for the warp, returns a coordinate converter object that performs the warp. Each branch of the geom is interpreted contains the source location as the first coordinate and the target location as the last coordinate. The numeric order is rounded to one of the following values: 1, 1.5, 2, 3.
New query function: CoordConverterMakeWarpTriangulation - takes a line geom containing warp coordinates, returns a coordinate converter object that performs the warp.
(Fix) The minimum height of the template list in the Select and Transform panes has been increased. (Could become too small if a pane was undocked and reduced in size.)
End of list.
(Planned additions: save / load control points, provide more control over registration parameters, report registration error for each control point.)