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"
92 std::string getFormattedStatus(
const std::string & s)
const;
109 void resolveFilePath(
const std::string & prefix,
const std::string & filePath, std::string & finalFilePath);
116 int outputDataVerbosity;
123 bool guessDatasetGroup(
const Hi5Tree & src,
ODIMPathElem & pathElem)
const;
126 Hi5Tree & src =
getHi5(CURRENT);
127 return guessDatasetGroup(src, pathElem);
147 template <
typename T,
typename ...TT>
148 Hi5Tree &
getHi5(
const T &filter,
const TT &... filters){
155 return getHi5Full(f);
158 return getHi5(filters...);
164 Hi5Tree & getHi5Full(Hi5RoleFlagger::ivalue_t filter);
177 Composite &
getComposite(Hi5RoleFlagger::ivalue_t filter);
185 ODIMPath findImage(
const DataSelector & imageSelector);
188 ODIMPath findImage();
222 const VariableFormatterODIM<drain::Variable> variableFormatter;
225 const VariableFormatterODIM<drain::FlexibleVariable> flexVariableFormatter;
241 return drain::Static::get<RackContext>();
A tool for expanding variables embedded in a std::string to literals.
Definition StringMapper.h:275
Adds class-specific convenience functions.
Definition Context.h:319
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:184
Definition resources-base.h:54
Cartesian composite (mosaic) of data from several radars.
Definition Composite.h:102
Definition resources-image.h:218
Definition resources-base.h:74
Definition resources-image.h:283
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:67
static const drain::StringMapper variableMapper
Definition resources.h:90
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
Composite composite
TODO: inherit from ProductBase.
Definition resources.h:120
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
Hi5Tree & getHi5(const T &filter, const TT &... filters)
Definition resources.h:148
Hi5RoleFlagger inputFlags
Definition resources.h:141
std::string inputPrefix
Path prefix for input files. Move to resources?
Definition resources.h:103
virtual void updateStatus() const final
Definition resources.cpp:551
void convertGrayImage(const drain::image::Image &srcImage)
Definition resources.cpp:433
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:106
A container for shared resources applied by RackLets.
Definition resources.h:257
Data array for creating composites and accumulated polar products (Surface rain fall or cluttermaps)
Definition RadarAccumulator.h:61
Definition DataSelector.cpp:44
RackResources & getResources()
Default instance.
Definition resources.cpp:604