Elaboradar 0.1
|
◆ evaluateClassID()
Funzione che crea l'oggetto cleaner, lo inizializza, pulisce i dati e modifica il PolarScan di DBZH.
Definizione alla linea 897 del file cleaner.cpp. 898{
899
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");
904
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");
909
911
912 const unsigned beam_count = scan_z.beam_count;
913 const unsigned beam_size = scan_z.beam_size;
914
915// compute texture volumes
916 radarelab::volume::Scans<double> Z_S, SD2D,SD_Ray,SD_Az;
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);
921
922
923 for (unsigned i = 0; i <beam_count ; ++i)
924 {
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];
928 }
929}
Sequence of PolarScans which can have a different beam count for each elevation. Definition volume.h:264 Cleaner(double Z_missing, double W_threshold, double V_missing, double bin_wind_magic_number) Constructor. Definition cleaner.h:33 Referenzia radarelab::PolarScanBase::beam_count, radarelab::PolarScanBase::beam_size, bin_wind_magic_number, radarelab::PolarScanBase::cell_size, radarelab::PolarScan< T >::nodata, radarelab::PolarScan< T >::offset, e radarelab::PolarScan< T >::undetect. |