|
◆ evaluateClassID()
void radarelab::algo::Cleaner::evaluateClassID |
( |
PolarScan< double > & |
scan_Z, |
|
|
PolarScan< double > & |
scan_W, |
|
|
PolarScan< double > & |
scan_V, |
|
|
PolarScan< unsigned char > & |
scan_cleanID, |
|
|
double |
bin_wind_magic_number, |
|
|
const string |
radar, |
|
|
const char * |
fuzzy_path, |
|
|
unsigned |
iel = 0 |
|
) |
| |
|
static |
Funzione che crea l'oggetto cleaner, lo inizializza, pulisce i dati e modifica il PolarScan di DBZH.
- Parametri
-
[in,out] | scan_Z | - volume di DBZH |
[in] | scan_W | - volume di WRAD |
[in] | scan_V | - volume di V |
[in] | scan_zdr | - volume di ZDR |
[in] | bin_wind_magic_number | - soglia vento per dati in formato SP20 |
[in] | iel | - indice elevazione solo per debug |
Definizione alla linea 897 del file cleaner.cpp.
900 if (scan_z.beam_count != scan_w.beam_count)
901 throw std::runtime_error( "scan_z beam_count no equal to scan_w beam_count");
902 if (scan_z.beam_size != scan_w.beam_size)
903 throw std::runtime_error( "scan_z beam_size no equal to scan_w beam_size");
905 if (scan_z.beam_count != scan_v.beam_count)
906 throw std::runtime_error( "scan_z beam_count no equal to scan_v beam_count");
907 if (scan_z.beam_size != scan_v.beam_size)
908 throw std::runtime_error( "scan_z beam_size no equal to scan_v beam_size");
912 const unsigned beam_count = scan_z.beam_count;
913 const unsigned beam_size = scan_z.beam_size;
917 Z_S.push_back(scan_z);
918 radarelab::volume::textureSD( Z_S,SD2D, 1000. , 3, false);
919 radarelab::volume::textureSD( Z_S,SD_Ray, scan_z.cell_size*21 , 360./scan_z.beam_count, true);
920 radarelab::volume::textureSD( Z_S,SD_Az, scan_z.cell_size , 5*360./scan_z.beam_count, true);
923 for ( unsigned i = 0; i <beam_count ; ++i)
925 vector<unsigned char> corrected = cleaner.eval_classID_beam(scan_z.row(i), scan_w.row(i), scan_v.row(i), SD2D[0].row(i), SD_Ray[0].row(i), SD_Az[0].row(i), i, radar, scan_v.offset, fuzzy_path);
926 for ( unsigned ib = 0; ib < beam_size; ++ib)
927 scan_cleanID(i,ib)=corrected[ib];
Cleaner(double Z_missing, double W_threshold, double V_missing, double bin_wind_magic_number) Constructor.
const double bin_wind_magic_number valore magico per dati in formato SP20
Referenzia radarelab::PolarScanBase::beam_count, radarelab::PolarScanBase::beam_size, radarelab::PolarScanBase::cell_size, radarelab::PolarScan< T >::nodata, radarelab::PolarScan< T >::offset, e radarelab::PolarScan< T >::undetect.
|