Elaboradar  0.1
 Tutto Classi Namespace File Funzioni Variabili Tipi enumerati (enum) Gruppi
radarelab::CoordinateMapping::CoordinateMapping ( unsigned  beam_size)

Build a cartography mapping cartesian coordinates to volume polar indices.

The mapping is a 1 to 1 mapping, without scaling.

Definizione alla linea 6 del file cart.cpp.

Referenzia map_azimuth, e map_range.

10 {
11  for (unsigned y = 0; y < beam_size * 2; ++y)
12  for (unsigned x = 0; x < beam_size * 2; ++x)
13  {
14  // x and y centered on the map center
15  double absx = (double)x - beam_size;
16  double absy = (double)y - beam_size;
17  //absx += (absx < 0) ? -0.5 : 0.5;
18  //absy += (absy < 0) ? -0.5 : 0.5;
19  // x and y (referred to map center) centered on the pixel center
20  absx += 0.5;
21  absy += 0.5;
22 
23  // Compute range
24  map_range(y, x) = hypot(absx, absy);
25 
26  // Compute azimuth
27  double az;
28  /* if (absx > 0)
29  if (absy < 0)
30  az = atan(absx / -absy) * M_1_PI * 180.;
31  else
32  az = 90.0 + atan(absy / absx) * M_1_PI * 180.;
33  else
34  if (absy > 0)
35  az = 180 + atan(-absx / absy) * M_1_PI * 180.;
36  else
37  az = 270 + atan(-absy / -absx) * M_1_PI * 180.;
38  map_azimuth(y, x) = az;
39  */
40  map_azimuth(y,x)= fmod (450 - atan2( -absy,absx)*M_1_PI*180., 360. );
41  }
42 }
const unsigned beam_size
Beam size of the volume that we are mapping to cartesian coordinates.
Definition: cart.h:24
Matrix2D< double > map_range
Range indices to use to lookup a map point in a volume.
Definition: cart.h:44
Matrix2D< double > map_azimuth
Azimuth indices to use to lookup a map point in a volume.
Definition: cart.h:34