Elaboradar  0.1
cartproducts.h
1 #ifndef ELABORADAR_CART_PRODUCTS_H
2 #define ELABORADAR_CART_PRODUCTS_H
3 
4 #include <radarelab/cart.h>
5 
6 namespace elaboradar {
7 
8 struct Assets;
9 
10 /* structure to describe general features for an odim product */
11 struct OdimProdDefs
12 {
13  radarelab::Image<unsigned char> & prodField;
14  std::string System ;
15  std::string ProductType ;
16  std::string Quantity ;
17  unsigned char Nodata ;
18  unsigned char Undetect;
19  double Offset ;
20  double QuantityDynamics ;
21  bool SaveQuality;
22  radarelab::Image<unsigned char> & QualityField;
23  double prodRes;
24  std::vector<double> prodPar;
25 
26  OdimProdDefs(radarelab::Image<unsigned char> & prodField, double prodRes) ;
27  OdimProdDefs(radarelab::Image<unsigned char> & prodField, radarelab::Image<unsigned char> & QualityField, double prodRes) ;
28 
29 };
30 
31 struct CartProducts
32 {
33  log4c_category_t* logging_category;
34 
35  // Main polar -> cartesian coordinate mapping
37 
38  // Coordinate mapping for full size images, selecting the point where the
39  // volume has max dBZ
41 
42  // Coordinate mapping for scaled images, selecting the point where the
43  // volume has max dBZ
45 
46  radarelab::Image<unsigned char> z_out;
47  radarelab::Image<unsigned char> z_fr;
48  radarelab::Image<unsigned char> top_1x1;
49  radarelab::Image<unsigned char> qual_Z_1x1;
50  radarelab::Image<unsigned char> quota_1x1;
51  radarelab::Image<unsigned char> dato_corr_1x1;
52  radarelab::Image<unsigned char> elev_fin_1x1;
53  radarelab::Image<unsigned char> beam_blocking_1x1;
54  radarelab::Image<unsigned char> neve_1x1;
55  radarelab::Image<unsigned char> corr_1x1;
56  radarelab::Image<unsigned char> conv_1x1;
57 
58  double FullsizeRes = 0.;
59  double ScaledRes = 0.;
60 
66  CartProducts(const radarelab::Volume<double>& volume, unsigned image_side, unsigned sample_square_size);
67 
68  void write_out(Assets& assets);
69  void write_out(Assets& assets, unsigned image_side);
70  void write_out(Assets& assets, unsigned image_side, std::string algos);
71 
72  void write_odim(Assets& assets, unsigned image_side, std::string algos, OdimProdDefs & odimProd);
73 
74 };
75 
76 
77 }
78 
79 #endif
name space generale del programma
Definition: assets.h:28
Mapping of cartesian coordinates to raw azimuth angles and range distances.
Definition: cart.h:22
Index mapping where the pixel size corresponds to the radar cell size.
Definition: cart.h:138
Index mapping with arbitrary pixel size.
Definition: cart.h:163