33#ifndef RACK_RESOURCES_H_
34#define RACK_RESOURCES_H_
38#include <drain/RegExp.h>
39#include <drain/image/Image.h>
40#include <drain/imageops/ImageModifierPack.h>
41#include <drain/imageops/PaletteOp.h>
42#include <drain/prog/CommandBankUtils.h>
43#include <drain/util/Rectangle.h>
44#include <drain/util/StatusFlags.h>
45#include <drain/util/TreeOrdered.h>
49#include "hi5/Hi5Read.h"
50#include "data/DataSelector.h"
51#include "data/PolarODIM.h"
52#include "data/ProductConf.h"
53#include "data/VariableFormatterODIM.h"
54#include "radar/Composite.h"
55#include "radar/RadarAccumulator.h"
57#include "resources-base.h"
102 std::string getFormattedStatus(
const std::string & s)
const;
119 void resolveFilePath(
const std::string & prefix,
const std::string & filePath, std::string & finalFilePath);
128 bool guessDatasetGroup(
const Hi5Tree & src,
ODIMPathElem & pathElem)
const;
131 Hi5Tree & src =
getHi5(CURRENT);
132 return guessDatasetGroup(src, pathElem);
154 template <
typename ...TT>
155 Hi5Tree &
getHi5(
const Hi5RoleFlagger::ivalue_t &filter,
const TT &... filters){
157 Hi5RoleFlagger::ivalue_t f(filter);
162 return getHi5Full(f);
165 return getHi5(filters...);
171 Hi5Tree & getHi5Full(Hi5RoleFlagger::ivalue_t filter);
184 Composite &
getComposite(Hi5RoleFlagger::ivalue_t filter);
192 ODIMPath findImage(
const DataSelector & imageSelector);
195 ODIMPath findImage();
229 const VariableFormatterODIM<drain::Variable> variableFormatter;
232 const VariableFormatterODIM<drain::FlexibleVariable> flexVariableFormatter;
248 return drain::Static::get<RackContext>();
Something which has a name, a description and possibly some parameters of varying type.
Definition BeanLike.h:60
A tool for expanding variables embedded in a std::string to literals.
Definition StringMapper.h:275
Adds class-specific convenience functions.
Definition Context.h:322
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:193
Definition resources-base.h:54
Cartesian composite (mosaic) of data from several radars.
Definition Composite.h:102
Definition resources-image.h:221
Definition resources-base.h:74
Definition resources-image.h:289
Shared properties for meteorological products and Cartesian products (composites and single-radar ima...
Definition ProductConf.h:64
Resources provided separately for each thread.
Definition resources.h:77
static const drain::StringMapper variableMapper
Definition resources.h:100
Composite & getComposite(Hi5RoleFlagger::ivalue_t filter)
Definition resources.cpp:196
drain::image::Image & getModifiableImage()
Return current image, if modifiable. Else, copy (convert).
Definition resources.cpp:469
const drain::image::Image & getCurrentGrayImage()
Light and lazy.
Definition resources.cpp:235
RackContext()
Initializes data and image pointers to default targets or NULL.
Definition resources.cpp:42
const drain::image::Image & getCurrentImage()
Light and lazy.
Definition resources.cpp:253
Hi5RoleFlagger inputFlags
Definition resources.h:146
std::string inputPrefix
Path prefix for input files. Move to resources?
Definition resources.h:113
virtual void updateStatus() const final
Definition resources.cpp:551
void convertGrayImage(const drain::image::Image &srcImage)
Definition resources.cpp:433
Hi5Tree & getHi5(const Hi5RoleFlagger::ivalue_t &filter, const TT &... filters)
Definition resources.h:155
const drain::image::Image & updateCurrentImage()
Ensures current image.
Definition resources.cpp:373
void resolveFilePath(const std::string &prefix, const std::string &filePath, std::string &finalFilePath)
Add prefix, unless filePath starts with a slash '/'.
Definition resources.cpp:63
std::string outputPrefix
Path prefix for output files. Move to resources?
Definition resources.h:116
A container for shared resources applied by RackLets.
Definition resources.h:264
Data array for creating composites and accumulated polar products (Surface rain fall or cluttermaps)
Definition RadarAccumulator.h:122
Definition DataSelector.cpp:44
RackResources & getResources()
Default instance.
Definition resources.cpp:604
Definition resources.h:61