# Angular search

The basic idea in a cross-correlation method is that the template is rotated several times, and each rotated copy is compared with the particle.

## Parametrization of an angular grid

In *Dynamo*, an angular grid (i.e., a set of Euler triplets to be scanned) is defined by five parameters:

`cone_range`(`cr`)`cone_sampling`(`cs`)`inplane_range`(`ir`)`inplane_sampling`(`is`)`old _angles`

The first four are project parameters that can be chosen by the user and will be applied for the analysis of all particles. The last one, `old_angles` is obviously different for each particle, and in runtime is read from the table (provided by the user or generated by *Dynamo* during the iteration procedure).
The `cone_` parameters define a set of orientations that will be sampled around a previously determined old orientation. Here we speak of orientations of the vertical axis of the template, not full unconstrained rotations. Allowing this axis to move inside a cone involves only two Euler angles (tdrot and tilt). ‘cone_range’, is the extent of this cone in degrees (360 being the full possible range of axis orientations). `cone_sampling` is the step inside this cone, also in degrees. The orientations are generated so as to provide an uniform coverage.
The `inplane_` parameters complete the set of scanned Euler triplets. After each of the axis reorentations defined by the `cone_` parameters, the template will be rotated about the new orientation of its axis. This is frequently referred to as *azymuthal rotation*. This involves only the `narot` angle. The project parameter `inplane_range` defines the angular interval to be scanned around the old value of narot, and ‘inplane_sampling’ defines the interval.
By convention, passing value 0 to `inplane_range` generates no ‘inplane’ rotations: only axis orientations of the axis will be scanned.

## Multilevel refinement of an angular grid

Two further project parameters control the refinement of the grid: when *Dynamo* finds the triplet `[tdrot,tilt,narot]` that maximizes the similarity between rotated template and particle, a new grid is generated around this angles.
The project parameter `refine` defines how many times this process will be repeated for each particle. `refine_factor` defines the range of the new set of angles. A value of 2, for instance, means that the range of the new grid should twice as large as the step of the old grid.