Classes | Typedefs | Functions | Variables
rack Namespace Reference

Classes

class  AndreOp
 The base class for detector and removal operators. More...
 
class  AttenuationOp
 Computes attenuation caused by precipitation. More...
 
class  BiometOp
 Detects birds and insects. More...
 
class  GliderOp
 
class  BirdOp
 
class  InsectOp
 
class  CCorOp
 
class  ClutterOp
 Based on pre-computed clutter map, scales the clutter probability for desired sweeps. More...
 
class  DamperOp
 
class  DetectorOp
 Base class for anomaly detectors. More...
 
class  DopplerNoiseOp
 Detects suspicious variance in Doppler speed (VRAD). More...
 
class  EmitterOp
 A quick emitter detection based on subtracting horizontal window medians by vertical ones. More...
 
class  GapFillOpBase
 The base class for operators removing detected anomalies by overriding low-quality pixels with neighboring high-quality pixels.". More...
 
class  GapFillOp
 A simple gap filler based on distance transformation. More...
 
class  GapFillRecOp
 Recursive, 'splinic' gap filler based on fast averaging. More...
 
class  HydroClassBasedOp
 Sets probabilities of non-meteorological echoes based on precomputed hydrometeor classification. More...
 
class  JammingOp
 A detector for widespread electromagnetic interference. More...
 
class  LineOp
 Quick emitter detection based on subtracting a horizontal segment lengths by inversed vertical segment lengths. More...
 
class  NonMetOp
 Marks bins with low RhoHV value as probable anomalies. More...
 
class  DefaultOp
 Simply, "detects" precipitation ie sets its probability. More...
 
class  PrecipOp
 Simply, "detects" precipitation ie sets its probability. More...
 
class  DataMarker
 Simple class marking true data with a given constant value, typically a CLASS label. More...
 
class  QualityCombinerOp
 A quick QualityCombiner . More...
 
class  RemoverOp
 The simplest possible anomaly removal operator and the base class for more complex ones. More...
 
class  ShipOp
 Detects ships. More...
 
class  SpeckleOp
 
class  SunOp
 Detects birds and insects. More...
 
class  TestOp
 
class  TimeOp
 A radio interference detector. More...
 
class  ZDRvarOp
 
class  CartesianODIM
 Metadata structure for Cartesian radar data products (single-radar or composites). More...
 
struct  DataType
 Container that couples together a tree structure and a data array (drain::image::Image), according to source type (const or non-const) . More...
 
struct  SrcType
 Read-only data type. More...
 
struct  DstType
 Writable data type. More...
 
class  TreeWrapper
 Base class for all kinds of radar data. More...
 
class  RootData
 Experimental structure, designed only for accessing root level metadata. More...
 
class  PlainData
 Essential class for storing radar data. More...
 
class  DataGroup
 A map of "data type" group_t (DATA or QUALITY) where the data can be retrieved using quantity keys (strings). More...
 
class  QualityDataSupport
 Base class providing quality support for Dataand DataSet More...
 
class  Data
 Data structure consisting of plain data and an optional quality data. More...
 
class  DataSet
 A map of radar data, indexed by quantity code (DBZH, VRAD, etc). More...
 
class  DataSetMap
 
class  DataSetList
 
class  DataCoder
 Converts ODIM encoded data (with markers) to natural values and backwards. More...
 
struct  DataOrder
 
class  DataSelector
 Tool for selecting datasets based on paths, quantities and min/max elevations. More...
 
class  DatasetSelector
 
class  DataTools
 Tool for selecting datasets based on paths, quantities and min/max elevations. More...
 
class  EncodingODIM
 Structure for data storage type, scaling and marker codes. Does not contain quantity. More...
 
class  ODIM
 ODIM metadata (quantity, gain, offset, undetect, nodata, date, time) More...
 
class  ODIMPathElem
 
struct  ODIMPathLess
 
class  ODIMPathElem2
 
struct  ODIMPathLessTime
 
struct  ODIMPathLessElangle
 
class  ODIMPathElemMatcher
 Element in a chain in testing a path for a match. More...
 
class  ODIMPathMatcher
 Structure for testing if a path matches a given sequence of path elements. More...
 
class  ODIMPathTools
 Tool for selecting datasets based on paths, quantities and min/max elevations. More...
 
class  ODIMNodeValidator
 
class  ODIMValidator
 
class  PolarODIM
 Metadata structure for single-radar data (polar scans, volumes and products). More...
 
class  ProductConf
 Shared properties for meteorological products and Cartesian products (composites and single-radar images) More...
 
class  Quantity
 Structure for defining. More...
 
class  QuantityMap
 
class  QuantityMatcher
 
class  QuantitySelector
 Utility for selecting a quantity label Base class for DataSelector. More...
 
class  SourceODIM
 
class  VariableFormatterODIM
 
class  VerticalCrossSectionODIM
 
class  VerticalProfileODIM
 
class  RhiODIM
 
class  ExtAndreOp
 Base class for radar data processors. More...
 
class  ExtDopplerOp
 Base class for radar data processors. More...
 
class  ExtRackOp
 Base class for radar data processors. More...
 
class  ShipFastOp
 Detects ships. More...
 
class  PolarSite
 
class  PolarPlot
 
class  PolarPlotFile
 
class  PolarAdd
 
class  PolarAddWeighted
 
class  PolarExtract
 
struct  AccumulationSection
 
class  AccumulationModule
 
class  AnDReDefaultQuality
 Set the default quality [0.0,1.0] of radar data, typically close to 0.9. More...
 
class  AnDReUniversal
 
class  AnDReCommand
 
class  DetectorCommand
 
class  DetectorInstaller
 
class  RemoverInstaller
 
struct  AnDReSection
 
class  AnDReModule
 
class  CompositeAdd
 Creates a single-radar Cartesian data set (2D data of both quantity and quality). More...
 
class  CompositeAddWeighted
 
class  CartesianBBox
 
class  CartesianBBoxReset
 
class  CartesianBBoxTest
 
class  CartesianBBoxTile
 
class  CartesianCreate
 Creates a single-radar Cartesian data set (2D data of both quantity and quality). More...
 
class  CompositeCreateTile
 
class  CartesianRange
 
class  CartesianCreateLookup
 Creates a single-radar Cartesian data set (2D data of both quantity and quality). More...
 
class  CartesianReset
 Creates a single-radar Cartesian data set (2D data of both quantity and quality). More...
 
class  CartesianExtract
 
class  CartesianSun
 Creates a single-radar Cartesian data set (2D data of both quantity and quality). More...
 
class  CartesianGrid
 
class  CartesianOpticalFlow
 
class  CartesianPlot
 
class  CartesianPlotFile
 
class  CartesianSpread
 
class  CartesianProj
 First, commands applicable in any Cartesian product generation, not only radar compositeing. More...
 
class  CartesianSize
 
class  CartesianTime
 
class  CartesianInit
 
class  CompositeMethod
 Commands (more) related to radar composites. More...
 
class  CompositeDefaultQuality
 
class  CompositeTimeDecay
 
class  CompositeDecayTime
 half-time in minutes More...
 
struct  CartesianSection
 
class  CartesianModule
 drain::Commands for conversions to Cartesian coordinate system, including radar image composites. More...
 
class  EncodingBag
 Utility. Consider long names, and then addShortKeys() More...
 
class  CmdBaseSelective
 
class  CmdSelect
 Select parts of hierarchical data using path, quantity, elevation angle and PRF mode as selection criteria. More...
 
class  CmdSelectQuantity
 Tool for selecting data for next command(s), based on paths, quantities and elevations. More...
 
class  CmdSet
 Modifies metadata (data attributes). More...
 
class  CmdConvert
 Convert data with desired encoding. More...
 
class  CmdCreateDefaultQuality
 
class  CmdDelete
 Remove parts of a hierarchical data structure. More...
 
class  CmdKeep
 Remove parts of a hierarchical data structure. More...
 
class  CmdMove
 Rename or move data groups and attributes. More...
 
class  CmdRename
 
class  CmdCompleteODIM
 Ensure correct ODIM types after setting attributes. More...
 
class  CmdODIM
 
class  CmdSetODIM
 Modifies metadata (data attributes). More...
 
class  CmdDumpMap
 
class  CmdHelpExample
 
class  CmdJSON
 Explain.. More...
 
class  CmdEcho
 
class  CmdFormatOut
 
class  CmdEncoding
 Facility for validating and storing desired technical (non-meteorological) user parameters. More...
 
class  CmdErrorFlags
 
class  UndetectWeight
 
class  CmdCheckType
 Default handler for requests without own handler. Handles options that are recognized as 1) files to be read or 2) ODIM properties to be assigned in current H5 structure. More...
 
class  CmdValidate
 
class  CmdVersion
 
class  OutputDataVerbosity
 
class  CmdAppend
 
class  CmdStore
 
class  CmdQuantityConf
 
struct  VerboseCmd
 
class  CmdExpandVariables2
 
class  CmdInputFilter
 
class  CmdPause
 
class  CmdTest2
 
class  CmdHdf5Test
 
class  CmdDumpXML
 
class  MainModule
 
class  HiddenModule
 
class  Compositor
 
class  typeIsFundamental
 
struct  HistEntry
 
class  CmdHistogram
 TODO: generalize to array outfile. More...
 
class  CmdGeoTiff
 
class  H5HTMLextractor
 
class  CmdInputPrefix
 A debugging facility. Obsolete? More...
 
class  CmdInputFile
 Input HDF5, PNG or text file. More...
 
class  CmdInputSelect
 Data selector for subsequent input files. More...
 
class  MetaDataCollectorSVG
 
class  MetaDataPrunerSVG
 
class  TitleCreatorSVG
 
class  CmdBaseSVG
 SVG panel utils. More...
 
class  CmdOutputPanel
 SVG panel. More...
 
class  CmdOutputConf
 
class  CmdOutputPrefix
 
class  ODIMVariableHandler
 
class  CmdOutputRawImages
 
class  CmdImageSampler
 
class  CmdOutputFile
 
class  CmdOutputTree
 
class  FileModule
 
class  RackImageOpCmd
 Designed for Rack. More...
 
class  ImageOpExec
 
class  CmdImagePhysical
 Switch for image operators to use physical scale instead of storage typed values. More...
 
struct  ImageOpSection
 
class  ImageOpModule
 
class  CmdImageAlphaBase
 
class  CmdImageAlpha
 
class  CmdImageTransp
 
class  CmdImageFlatten
 
class  CmdPalette
 
class  CmdPaletteConf
 
class  CmdPaletteInput
 
class  CmdPaletteOutput
 
class  CmdPaletteRefine
 
class  CmdImageQuality
 Quality groups accepted as alpha channels. More...
 
class  CmdImageBox
 
class  CmdPlot
 
struct  ImageSection
 
class  ImageModule
 
class  CmdImage
 
struct  PaletteManager
 
class  CmdSweep
 "Virtual" command extracting one sweep - actually only modifying selector More...
 
class  CmdOutputQuantity
 
class  ProductCommand
 Wrapper for meteorological products derived from VolumeOp. More...
 
struct  ProductSection
 
class  ProductModule
 
class  ImageContext
 
class  AndreContext
 
class  Hdf5Context
 
class  RackContext
 Resources provided separately for each thread. More...
 
class  RackResources
 A container for shared resources applied by RackLets. More...
 
struct  ScienceSection
 
class  ScienceModule
 
class  BeamAltitudeOp
 A single-ray "product" storing the altitude at each bin. More...
 
class  CappiOp
 Pseudo-CAPPI: the constant altitude planar position indicator product. More...
 
class  ConvOp
 Computes Cb s or bottoms in kilometers for a given dBZ threshold, typically 20, 40 or 45 dBZ. More...
 
class  CumulativeProductOp
 Base class for flat (2D) products computed in the polar coordinate system. More...
 
class  DataConversionOp
 Converts HDF5 data to use desired data type, scaling and encoding (ODIM gain, offset, undetect and nodata values). More...
 
struct  unitSpeed
 
class  DopplerAvg
 Averaging operator. A simple example implementation of ImpulseCumulator. More...
 
class  DopplerAvgExpOp
 
class  DopplerDevOp
 
class  DopplerWindOp
 Base class for operators retrieving true wind (u,v). More...
 
class  DopplerInversionOp
 Derives two-dimensional wind (u,v) from Doppler data. More...
 
class  DopplerSegmentProber
 
class  DopplerOp
 Base class for computing products using Doppler speed [VRAD] data. More...
 
class  DopplerDiffOp
 Experimental. More...
 
class  DopplerReprojectOp
 
class  DopplerCrawlerOp
 
class  DopplerSamplerOp
 Base class for computing products using Doppler speed [VRAD] data. More...
 
class  DopplerDiffPlotterOp
 
class  DopplerWindowOp
 Base class for Doppler average and variance. More...
 
class  DopplerAvgOp
 Simple op not producing quality field. More...
 
class  DopplerEccentricityOp
 
class  DrawingOp
 Select and visualise a direction, range, sector or arc. More...
 
struct  ReferencePoint
 
struct  MethodWeights
 
class  EchoTop2Op
 
class  EchoTopOp
 Height of echo exceeding a reflectivity threshold. More...
 
class  FunctorOp
 A single-ray "product" storing the altitude at each bin. More...
 
class  MaxEchoOp
 The maximum dBZ value in each a vertical column. More...
 
class  PolarNeuralVPROp
 The VPRimum dBZ value in each a vertical column. More...
 
class  PolarProductOp
 Base class for flat (2D) products computed in the polar coordinate system. Volume is used as input. More...
 
class  PolarSlidingWindowOp
 
class  PolarSlidingAvgOp
 
class  ProductBase
 Base class for radar data processors. Input can be in polar or Cartesian coordinates. More...
 
class  ProductOp
 Polar and Cartesian products. More...
 
class  PseudoRhiOp
 Pseudo Range-Height indicator. More...
 
class  RainRateDPOp
 Uses DBZ, ZDR and KDP to derive rain rate. Under construction. More...
 
class  FreezingLevel
 
class  RainRateOp
 Computes rain rate from dBZ. More...
 
class  SunShineOp
 A single-ray "product" storing the altitude at each bin. More...
 
class  VerticalIntersectionOp
 
class  VerticalProfileOp
 Computes vertical profiles of reflectivity (DBZH), including raw and polarized reflectivity. More...
 
class  VerticalWindProfileOp
 Computes vertical profiles of reflectivity (DBZH), including raw and polarized reflectivity. More...
 
class  VolumeOp
 Base class for radar data processors. More...
 
class  VolumeTraversalOp
 Class designed for "sequential" "parallel" processing of Sweeps. More...
 
class  RadarDataFunctor
 Checks nodata and undetect before calling the functor. More...
 
class  RadarFunctorBase
 
class  RadarFunctorOp
 Convenience (abbreviation) More...
 
class  RadarWindowCore
 
class  RadarWindowConfig
 
class  SlidingRadarWindow
 A two-dimensional image processing window that handles the special ODIM codes and scales the result. Template parameter for drain::SlidingWindowOpT. More...
 
class  RadarWindowAvg
 
class  RadarWindowSoftMax
 
class  RadarWindowStdDev
 Sliding window for computing standard deviation of scalar quantities. More...
 
class  PolarSegmentProber
 Computes in polar coordinates. More...
 
class  Beam
 
class  Composite
 Cartesian composite (mosaic) of data from several radars. More...
 
class  Coordinates
 Simple spherical coordinate computation. Does not handle projections, but earth coords. More...
 
class  DopplerWindow
 
class  DopplerAverageWindow
 
class  DopplerAverageWindow2
 Smoothens Doppler field, providing quality computed as eccentricity. More...
 
class  DopplerDevWindow
 
class  DopplerEccentricityWindow
 Computes eccentrity of Doppler speeds mapped on a Nyquist-normalized unit window. More...
 
class  DopplerInversionConfig
 
class  DopplerInversionMoments
 
class  DopplerInversionWindow
 
class  DopplerInversionWindowWeighted
 
class  Geometry
 
class  PolarSector
 
class  PolarSmoother
 
class  GaussianStripeVertPolarWeighted
 
class  Precip
 
class  SingleParamPrecip
 
class  DoubleParamPrecip
 
class  PrecipZ
 
class  PrecipZrain
 
class  PrecipZsnow
 
class  PrecipKDP
 
class  PrecipZZDR
 
class  PrecipKDPZDR
 
class  RadarAccumulator
 Data array for creating composites and accumulated polar products (Surface rain fall or cluttermaps) More...
 
class  RadarDataPicker
 Base class for utilities traversing radar data with Sampler. More...
 
class  PolarDataPicker
 
class  CartesianDataPicker
 
class  RadarProj4
 
class  RadarProj
 
struct  Equatorial
 
struct  Geographical
 
struct  Horizontal
 
class  Sun
 

Typedefs

typedef SrcType< ODIM const > BasicSrc
 Read-only data (supports top-level ODIM properties only)
 
typedef SrcType< PolarODIM const > PolarSrc
 Read-only data in polar coordinates.
 
typedef SrcType< CartesianODIM const > CartesianSrc
 Read-only data in Cartesian coordinates.
 
typedef DstType< ODIMBasicDst
 
typedef DstType< PolarODIMPolarDst
 Writable data in polar coordinates.
 
typedef DstType< CartesianODIMCartesianDst
 Writable data in Cartesian coordinates.
 
typedef DstType< RhiODIMRhiDst
 Writable data in vertical coordinates, with (pseudo) RHI metadata.
 
typedef DstType< VerticalProfileODIMVprDst
 Writable data in vertical coordinates, with profile metadata.
 
typedef drain::Path< ODIMPathElem,'/', true, false, true > ODIMPath
 
typedef std::list< ODIMPathODIMPathList
 
typedef std::vector< ODIMPathElemODIMPathElemSeq
 
typedef std::map< std::string, ODIMPathElemODIMPathElemMap
 
typedef drain::CommandInstaller< 'a', AnDReSectionAnDReInstaller
 Keep combined OBSOLETE?
 

Functions

template<typename DT >
std::ostream & operator<< (std::ostream &ostr, const PlainData< DT > &d)
 
template<class DT , ODIMPathElem::group_t G>
std::ostream & operator<< (std::ostream &ostr, const DataGroup< DT, G > &d)
 
template<typename DT >
std::ostream & operator<< (std::ostream &ostr, const Data< DT > &d)
 
template<typename DT >
std::ostream & operator<< (std::ostream &ostr, const DataSet< DT > &d)
 Dumps quantities and geometry.
 
std::ostream & operator<< (std::ostream &ostr, const DataCoder &coder)
 
std::ostream & operator<< (std::ostream &ostr, const DataSelector &selector)
 
std::ostream & operator<< (std::ostream &ostr, const DataOrder &order)
 
std::ostream & operator<< (std::ostream &ostr, const ODIM &odim)
 
bool operator== (const ODIMPathElem &e1, const ODIMPathElem &e2)
 
bool operator< (const ODIMPathElem &e1, const ODIMPathElem &e2)
 Important!
 
std::ostream & operator<< (std::ostream &ostr, const ODIMPathElem &p)
 
bool operator!= (const ODIMPathElem &e1, const ODIMPathElem &e2)
 
std::istream & operator>> (std::istream &istr, ODIMPathElem &p)
 
std::ostream & operator<< (std::ostream &ostr, const ODIMPathElem2 &elem)
 
std::ostream & operator<< (std::ostream &ostr, const ODIMPathElemMatcher &p)
 
std::ostream & operator<< (std::ostream &ostr, const ODIMNodeValidator &v)
 
std::ostream & operator<< (std::ostream &ostr, const Quantity &q)
 
QuantityMapgetQuantityMap ()
 
std::ostream & operator<< (std::ostream &ostr, const QuantityMap &map)
 
std::ostream & operator<< (std::ostream &ostr, const QuantityMatcher &m)
 
std::ostream & operator<< (std::ostream &ostr, const QuantitySelector &selector)
 
void prepareBBox (const Composite &composite, const drain::BBox &cropGeo, drain::Rectangle< int > cropImage)
 
std::string quoted (const ODIMPath &path)
 
void writeGroupToDot (std::ostream &ostr, const Hi5Tree &group, int &index, ODIMPathElem::group_t selector, const ODIMPath &path=ODIMPath())
 
template<class P >
void sampleData (const typename P::dataset_t &dataset, const Sampler &sampler, const std::string &format, std::ostream &ostr)
 
const std::string & getTextClass (const std::string key)
 
TreeSVG & getTextElem (const TreeSVG &frame, TreeSVG &current, const std::string key)
 
int process (int argc, const char **argv)
 
RackResourcesgetResources ()
 Default instance.
 
std::ostream & operator<< (std::ostream &ostr, const rack::ProductBase &op)
 
template<class T >
double dbzToZ (const T &dBZ)
 
template<class T >
double zToDbz (const T &Z)
 
template<class OD >
std::ostream & operator<< (std::ostream &ostr, const RadarDataPicker< OD > &p)
 

Variables

ODIMPathElem odimROOT (ODIMPathElem::ROOT)
 
ODIMPathElem odimWHERE (ODIMPathElem::WHERE)
 
ODIMPathElem odimWHAT (ODIMPathElem::WHAT)
 
ODIMPathElem odimARRAY (ODIMPathElem::ARRAY)
 
const drain::RegExp textFileExtension (".*\\.(txt)$", REG_EXTENDED|REG_ICASE)
 Syntax for recognising hdf5 files. More...
 
const drain::RegExp arrayFileExtension (".*\\.(mat)$", REG_EXTENDED|REG_ICASE)
 Syntax for recognising numeric array files (in plain text format anyway).
 
const drain::RegExp sampleFileExtension (".*\\.(dat)$", REG_EXTENDED|REG_ICASE)
 Syntax for sparsely resampled data.
 
const drain::RegExp dotFileExtension (".*\\.(dot)$", REG_EXTENDED|REG_ICASE)
 Syntax for recognising Graphviz DOT files.
 
const drain::RegExp h5FileExtension
 Syntax for recognising hdf5 files.
 
const int EARTH_RADIUSi = 6371000
 Approximated radius of Earth, integer.
 
const double EARTH_RADIUS = static_cast<double>(EARTH_RADIUSi)
 Approximated radius of Earth, integer.
 
const double EARTH_RADIUS_43 = EARTH_RADIUS * 4.0 / 3.0
 The standard 4/3 radius applied in radar to compensate the decreasing density of the atmosphere.
 
const int earthRadiusMI = 6371000
 
const int earthRadius43MI = (earthRadiusMI * 4) / 3
 
const float earthRadius43MF = static_cast<float>(earthRadiusMI) * 4.0 / 3.0
 
const drain::image::CoordinatePolicy polarLeftCoords (drain::image::EdgePolicy::POLAR, drain::image::EdgePolicy::WRAP, drain::image::EdgePolicy::LIMIT, drain::image::EdgePolicy::WRAP)
 Standard (?) orientation of polar coords in radar data.
 
const drain::image::CoordinatePolicy limitCoords (drain::image::EdgePolicy::LIMIT, drain::image::EdgePolicy::LIMIT, drain::image::EdgePolicy::LIMIT, drain::image::EdgePolicy::LIMIT)
 Default coordinate policy; no wrapping or mirroring at edges.
 

Detailed Description

Copyright 2001 - 2011 Markus Peura, Finnish Meteorological Institute (First.nosp@m..Las.nosp@m.t@fmi.nosp@m..fi)

This file is part of AnoRack, radar data processing utilities for C++.

Created on: Mar 7, 2011 Author: mpeura

Copyright 2001 - 2011 Markus Peura, Finnish Meteorological Institute (First.nosp@m..Las.nosp@m.t@fmi.nosp@m..fi)

This file is part of Rack.

Rack is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Rack is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser Public License for more details.

You should have received a copy of the GNU General Public License along with Rack. If not, see http://www.gnu.org/licenses/.

Version 8.7.3

Version 8.7.2

Version 8.7.1

Version 8.7

Version 8.6.1

Version 8.6

Version 8.5

Version 8.4.1

Version 8.4

Version 8.3.1 –outputConf tif: <- default compliancy=EPSG:STRICT

Version 8.3.1 Version 8.3 – SVG title formatting, like ${what:starttime|:2:4}

Version 8.2.2 – CodeCheck: (self-assignment) cert-oop54-cpp

Version 8.2.1 – SVG title formatting, like ${what:starttime|:2:4} – pCappi back to PRF any

Version 8.2 – output variable formatting: 2.7182818... -> ${e|%4.2f} ${e|%06.2f} ${e|:6:2} – HTML output

Version 8.17 – enhanced SVG output

Version 8.16.1 – Fixed /what:EPSG -> /where:EPSG

Version 8.16 – enhanced SVG output – nonstandard /how:EPSG -> /where:EPSG

Version 8.15 – SVG output by extension (.svg).

Version 8.14 – QuantityMatcher: period '.' added to regExp-recognising-regExp: "^.?*[]()$"

Version 8.13 – Streamlined XML/SVG/HTML classes

Version 8.13 – Fixed SegmentProber POLAR bug

Version 8.12 – SVG output panel: –outputConf svg[:<params>] –outputFile <basename>.svg

Version 8.11 – Fixed SVG GROUP bug

Version 8.1 – Program output tracking – SVG, XML development

Version 8.0 – Revised quantity selection: list of strings/regExps.

Version 7.9 – Palette aliases, like DBZH->DBZ, DBHV->DBZ, TH->DBZ, TV-> ... – Fixed PGM 16bit read/write bugs – DataSelector supports list and regexp: –selectQuantity 'DBZH,DBZV,TH,^DBZH.*$'

Version 7.83 – Revised ODIMElement, ODIMElementMatcher, DataSelector, QuantitySelector

Version 7.81 – Further revised/simplified DataSelector

Version 7.8 – Revised DataSelector: #selectPaths() – New functionality: selective read –inputSelect – Log: adjustable sublevels: accept<LOG_DEBUG>(...) , fail<LOG_INFO>(...) – Revised definitions: Variable, ReferenceVariable, FlexibleVariable – Image processing: keys instead of numeric indices – Check rscale, nbins, nrays in compositing

Version 7.79 – DistanceTransform: literal keywords: "4-CONNECTED", "8-CONNECTED", "16-CONNECTED",

Version 7.78 – Logger: added op(), enabling log(level)(args...) – Palette: fixed file search – Input: adjustable error level

Version 7.77 – Logger arg order – Fixed conversion bug

Version 7.76 – Bug fix: QualityCombiner

Version 7.75 – Revised AnDRe class code assignment

Version 7.74 Version 7.73 – Palette tuning

Version 7.73 – Revised drain::Path design (variadic templates)

Version 7.71 – Revised DotGraph output – Revised & fixed combining of input quality fields

Version 7.7 – Revised & fixed combining of input quality fields

Version 7.62 – Default palettes for the most common quantities (DBZH, VRAD, ...) are included directly as C++ code, from ./palette

Version 7.61 – Bug fix: qualityCombiner

Version 7.6 – Palette supports initializer_list

Version 7.53 – cBoxTest uses AEQD as default projection

Version 7.52 – Added Cropping BBOX parameter to –cExtract – Fixed cCreateTile (clear composite)

Version 7.51 – More support for EPSG in saving composites in GeoTIFF.

Version 7.5 – Revised build.sh and make.sh

Version 7.41 – Image processing result quantity: ${what:quantity}|${cmdKey}(${cmdArgs} (esp. for iResize & palette) – Proj 7 compatibility

Version 7.4 – Proj 6.3.1

Version 7.32 – Extended EPSG handling for selected codes (now 3067)

Version 7.31 – Revised EPSG vs Proj.4 projstr handling – Revised TIFFTAG_IMAGEDESCRIPTION, example: COMP:DBZH:PCAPPI(1500,true,1,0,WAVG:1:8:-40):elangles(0.3,0.7,1.5,3,5,9,2,7,11,15,25,45,0.4)

Version 7.3 – GeoTIFF EPSG support: plainEPSG output option – GeoTIFF EPSG:3067 support

Version 7.22 – Changed –iResize adjusts ODIM (rscale, startaz, ...)

Version 7.21 – Changed –iResize encoding quantity syntax – Fixed –iResize path selector

Version 7.20 – Fixed scripted volume append bug

Version 7.2 – Fixed –convert

Version 7.1 – Separate JSONtree class removed – execFile JSON fix

Version 7.0 – Revised JSON classes – execFile JSON support

Version 6.83 – Revised Flagger/Flags design with enum support – dualPRF selector redesigned

Version 6.82 – Checks unknown single char instructions, ie. other than [, /, or ] .

Version 6.81 Version 6.8 – DataSelector: added order: MIN|MAX:DATA|ELANGLE|TIME

Version 6.7 – Bug fix: cReset

Version 6.6 – Thread support for / small / commands /

Version 6.51 – Strip single and double quotes in scripting – Added inputFileBasename to status

Version 6.5 – More GeoTiff resiliency in metadata errors – Caster support for std::vector suppressed (resizing may change pointer address)

Version 6.49 – Bug fix: H5Aread / variable-length strings

Version 6.48 – aGapFill to use low-quality instead of 'nodata' (which required aRemover ) – aGapFillRec fix – Bug fix: Frame2D template parameter

Version 6.47 – Bug fix: handling empty geoTiff compression parameter

Version 6.46 – Bug fix: recognition of Metric coords (ie. large values) based on any coord exceeding.

Version 6.45 – Added "pseudo" region to pCappi – Bug fix: command section bug affecting –help – Bug fix: Histogram resize/rescale

Version 6.44 – aCCor also writes TH-DBHZ as quantity "TH_DBZH"

Version 6.43 – Bug fix: PGM 16 bit write – Developed further: file extension support

Version 6.42 – TIFF & GeoTIFF re-organized

Version 6.41 – Logger field width, precision – StringBuilder, StreamBuilder – Bug fix: PaletteOp precision

Version 6.4 – Data Selector: dualPRF

Version 6.35 – CAPPI: from polynomial to Gaussian beam modelling

Version 6.34 – Bug fix: Hi5 read string

Version 6.33 – Bug fix: ctx.statusFlags DATA_ERROR cleared upon new file read

Version 6.32 – select elangleMin,elangleMax removed

Version 6.31 – Status formatting

Version 6.30 – Redesign: Logger calls with variadic templates – Accumulator detached from AccumulationMethod

Version 6.29 – paletteRefine can (and should) be given before applying –palette.

Version 6.26 – Added VRAD-VRADH flexibility to Doppler products

Version 6.25 – Image geometry accepts (area, channels, alphachannels) – Palette cmd preserves alpha channel (by copying it)

Version 6.24 – Restored –execScript (yet not often needed) – Bug fix in CommandInstaller, cmd section assignment -> logical OR

Version 6.23 – Bug fix in where:lat, where:lon (originated from SmartMapTools)

Version 6.22 – Bug fix in –cBBox and –cProj order problem

Version 6.21 – how:angles listed in Cartesian products (ODIM 2.3), also in polar products. – fixed VRAD/VRADH problem in pDopplerAvg

Version 6.2 – Revised logic in selecting (quality) data for image processing operators( -h imageOps )

Version 6.0 – Revised program core (drain::CommandBank, drain::Program, drain::Script) – Parallel processing by OpenMP, introducing '[' and ']' on command line – Revised anomaly detection and removal – Migration to C++11 standard started

Version 5.63

Version 5.62

Version 5.61

Version 5.6

Version 5.5

Version 5.45

, some (4236, 3067) also predefined for portability

Version 5.44

Version 5.43

Version 5.42

Version 5.4

Version 5.31

Version 5.29

Version 5.28

Version 5.08

Version 5.07

Version 5.06

Version 5.05

Todo:

Typedef Documentation

◆ ODIMPathElemMap

typedef std::map<std::string,ODIMPathElem> ODIMPathElemMap

Applicable for timestamp based sorting of DATASET groups and quantity based DATA/quality groups

Function Documentation

◆ dbzToZ()

double rack::dbzToZ ( const T &  dBZ)
inline

Converts Z from logarithmic to linear scale.

\[ Z = 10^{dBZ/10} \]

◆ getTextElem()

TreeSVG& rack::getTextElem ( const TreeSVG &  frame,
TreeSVG &  current,
const std::string  key 
)
Parameters
frame- IMAGE or RECT inside which the text will be aligned

◆ operator<<()

std::ostream& rack::operator<< ( std::ostream &  ostr,
const PlainData< DT > &  d 
)
inline
Template Parameters
DT- data type (PolarSrc, PolarDst, CartesianSrc, CartesianDst, ...)

◆ process()

int process ( int  argc,
const char **  argv 
)

Main program - renamed to facilitate calls from outside, esp. JNI calls. The standard main() will call this directly.

If a plain argument <arg> is given, forward it to this command. Equivalent to –inputFile <arg> .

If command is not found, it is redirected to this command. –setODIM <arg> which checks if it starts with a leading slash

◆ writeGroupToDot()

void rack::writeGroupToDot ( std::ostream &  ostr,
const Hi5Tree &  group,
int &  index,
ODIMPathElem::group_t  selector,
const ODIMPath path = ODIMPath() 
)

Draw rank fixer [style=invis]

Draw egdes

Draw rank fixer

Draw edge

◆ zToDbz()

double rack::zToDbz ( const T &  Z)
inline

Converts Z from logarithmic to linear scale.

\[ dBZ = 10\log_{10}Z = 10 \ln Z / \ln 10 \]

Variable Documentation

◆ textFileExtension

const drain::RegExp textFileExtension ( ".*\\.(txt)$"  ,
REG_EXTENDED|  REG_ICASE 
)

Syntax for recognising hdf5 files.

Syntax for recognising GeoTIFF files.

Syntax for recognising text files.

Syntax for recognising Portable Networks Image image file. Syntax for recognising PNM (PGM,PPM) image file. Syntax for recognising text files.