|
◆ creo_cart()
void elaboradar::SingleCart::creo_cart |
( |
const radarelab::Volume< double > & |
volume, |
|
|
unsigned int |
el_index |
|
) |
| |
conversione da polare a cartesiano alta risoluzione
funzione che crea l'output cartesiano dal polare
cicla sui quadranti e su i e j, usando il range e l'azimut ottenuti tramite la funzione creo_matrice_conv() NOTA Questa funzione mappa il campo in input in modo brutale su un unsigned char. DA SISTEMARE. - Parametri
-
[in] | volume | - volume passato per grafica |
[in] | el_index | - indice elevazione richiesta da graficare |
Definizione alla linea 1610 del file cum_bac.cpp.
1612 LOG_CATEGORY( "radar.singlecart");
1616 int x,y,iaz,az_min,az_max;
1620 for( unsigned i=0; i< max_bin *2; i++)
1621 for( unsigned j=0; j< max_bin *2; j++)
1622 cart(i, j) = MISSING;
1624 LOG_INFO( "Creo_cart - %u", max_bin);
1626 for( unsigned quad=0; quad<4; quad++)
1627 for( unsigned i=0; i< max_bin; i++)
1628 for( unsigned j=0; j< max_bin; j++)
1630 unsigned irange = (unsigned)round(cd.range(i, j));
1638 az = cd.azimut(i, j);
1643 az = cd.azimut(i, j) + 90.;
1648 az = cd.azimut(i, j) + 180.;
1653 az = cd.azimut(i, j)+270.;
1657 az_min = (int)((az - .45)/.9);
1658 az_max = ceil((az + .45)/.9);
1663 az_min = az_min + NUM_AZ_X_PPI;
1664 az_max = az_max + NUM_AZ_X_PPI;
1666 for(iaz = az_min; iaz<az_max; iaz++){
1668 unsigned char sample = 0;
1669 if (irange < volume[el_index].beam_size)
1670 sample = max(( unsigned char) (volume[el_index].get(iaz%NUM_AZ_X_PPI, irange)), ( unsigned char)1);
1671 if( cart(y, x) <= sample) cart(y, x) = sample;
const unsigned max_bin dimensione matrice
radarelab::Image< unsigned char > cart vol_pol interpolated in a cartesian map
Referenzia cart, e max_bin.
|