TECA
teca_component_statistics.h
1 #ifndef teca_component_statistics_h
2 #define teca_component_statistics_h
3 
4 #include "teca_shared_object.h"
5 #include "teca_algorithm.h"
6 #include "teca_metadata.h"
7 
8 #include <string>
9 #include <vector>
10 
11 TECA_SHARED_OBJECT_FORWARD_DECL(teca_component_statistics)
12 
15 {
16 public:
17  TECA_ALGORITHM_STATIC_NEW(teca_component_statistics)
18  TECA_ALGORITHM_DELETE_COPY_ASSIGN(teca_component_statistics)
19  TECA_ALGORITHM_CLASS_NAME(teca_component_statistics)
21 
22  // report/initialize to/from Boost program options
23  // objects.
24  TECA_GET_ALGORITHM_PROPERTIES_DESCRIPTION()
25  TECA_SET_ALGORITHM_PROPERTIES()
26 
27 protected:
29 
30 private:
31  std::vector<teca_metadata> get_upstream_request(
32  unsigned int port, const std::vector<teca_metadata> &input_md,
33  const teca_metadata &request) override;
34 
35  const_p_teca_dataset execute(
36  unsigned int port, const std::vector<const_p_teca_dataset> &input_data,
37  const teca_metadata &request) override;
38 
39  void get_dependent_variables(const teca_metadata &request,
40  std::vector<std::string> &dep_vars);
41 };
42 
43 #endif
teca_metadata
Definition: teca_metadata.h:17
teca_component_statistics
compute statistics about connected components
Definition: teca_component_statistics.h:15
teca_algorithm
Definition: teca_algorithm.h:25