Elaboradar 0.1
Caricamento in corso...
Ricerca in corso...
Nessun risultato
vecchioripulisco.cpp
1
2#include <iostream>
3#include <radarelab/volume.h>
4#include <radarelab/odim.h>
5#include <radarlib/radar.hpp>
6#include <sstream>
7#include <radarelab/image.h>
10
12
13using namespace radarelab;
14using namespace std;
15
16using namespace volume;
17namespace odim = OdimH5v21;
18
19int main(int argc,char* argv[])
20{
21 std::string pathname = argv[1];
22
23 printf("il nome del mio file è %s\n", pathname.c_str());
24
25 volume::ODIMLoader loader_all;
26
27 volume::Scans<double> full_volume_z;
28 volume::Scans<double> full_volume_zdr;
29 volume::Scans<double> full_volume_vrad;
30 volume::Scans<double> full_volume_wrad;
31 volume::Scans<unsigned char> full_volume_cleanID;
32 std::string task;
33
34 loader_all.request_quantity(odim::PRODUCT_QUANTITY_DBZH,&full_volume_z);
35 loader_all.request_quantity(odim::PRODUCT_QUANTITY_ZDR,&full_volume_zdr);
36 loader_all.request_quantity(odim::PRODUCT_QUANTITY_VRAD,&full_volume_vrad);
37 loader_all.request_quantity(odim::PRODUCT_QUANTITY_WRAD,&full_volume_wrad);
38
39 loader_all.load(argv[1]);
40
41 if ( !full_volume_wrad.empty() && !full_volume_vrad.empty())
42 {
43 if (full_volume_zdr.empty())
44 {
45printf("Chiamo cleaner senza zdr\n");
46 //for (unsigned i = 0; i < 1; ++i){
47 for (unsigned i = 0; i < full_volume_z.size(); ++i){
48printf("Creo scan per output cleaner\n");
49 full_volume_cleanID.append_scan(full_volume_z.at(i).beam_count,full_volume_z.at(i).beam_size,full_volume_z.at(i).elevation, full_volume_z.at(i).cell_size);
50printf("Ora chiamo evaluateCleanID\n");
51 radarelab::algo::Cleaner::evaluateCleanID(full_volume_z.at(i), full_volume_wrad.at(i), full_volume_vrad.at(i),full_volume_cleanID.at(i),i);
52 task="Cleaner base";
53 }
54 } else {
55printf("Chiamo cleaner con zdr\n");
56 for (unsigned i = 0; i < full_volume_z.size(); ++i){
57 algo::Cleaner::clean(full_volume_z.at(i), full_volume_wrad.at(i), full_volume_vrad.at(i),full_volume_zdr.at(i),i);
58 algo::Cleaner::clean(full_volume_z.at(i), full_volume_wrad.at(i), full_volume_vrad.at(i),full_volume_zdr.at(i),i+100);
59 }
60 }
61 }
62
63
64 volume::ODIMStorer storer;
65 storer.store_quality_uchar((Volume<unsigned char>*)(&full_volume_cleanID));
66 storer.storeQuality(argv[2],task );
67 cout<<endl<<"Fine"<<endl;
68}
Homogeneous volume with a common beam count for all PolarScans.
Definition volume.h:431
PolarScan< T > & append_scan(unsigned beam_count, unsigned beam_size, double elevation, double cell_size, const T &default_value=algo::DBZ::BYTEtoDB(1))
Append a scan to this volume.
Definition volume.h:332
Sequence of PolarScans which can have a different beam count for each elevation.
Definition volume.h:264
String functions.
Definition cart.cpp:4
Codice per il caricamento di volumi ODIM in radarelab.
void request_quantity(const std::string &name, Scans< double > *volume)
Define a request - Fill to_load attribute
Definition odim.cpp:29
void load(const std::string &pathname)
Load method.
Definition odim.cpp:34
Struttura che eredita da Loader e definisce i metodi per accedere ai dati ODIM.
Definition odim.h:23
Definisce le principali strutture che contengono i dati.