Classes | Typedefs | Functions
drain::image Namespace Reference

Namespace for images and image processing tools. More...

Classes

class  AccumulationArray
 General-purpose image compositing. More...
 
struct  AccumulationConverter
 Converts raw data to values appropriate for accumulation. More...
 
class  AccumulationMethod
 Function for accumulating data: maximum, average, weighted average etc. More...
 
class  OverwriteMethod
 
class  MaximumMethod
 
class  MinimumMethod
 
class  AverageMethod
 
class  WeightedAverageMethod
 
class  MaximumWeightMethod
 
class  Accumulator
 
class  AccumulatorGeo
 
class  CoordinateHandler2D
 
struct  EdgePolicy
 
class  CoordinatePolicy
 Policies for coordinate underflows and overflows. More...
 
struct  Position
 
struct  Direction
 
class  DistanceElement
 
class  DistanceModel
 Base class for linear and exponential distances in rectangular pixel images. More...
 
class  DistanceModelExponential
 
class  DistanceModelLinear
 
class  EdgeTracker
 Container for parameters of SegmentProber. More...
 
class  FileGeoTIFF
 
class  FilePng
 For reading and writing images in PNG format. More...
 
class  FilePnm
 For reading and writing images in PNM format. More...
 
class  FileTIFF
 For writing images in basic TIFF format. Reading not supported currently. More...
 
class  GaussianWindowConf
 Extends WindowConfig with radius. More...
 
class  GaussianStripe
 
class  GaussianStripeWeighted
 
class  GeoInfo
 
class  GeoFrame
 Array with georeferencing support. More...
 
class  ChannelGeometry
 
class  Geometry
 
class  ModifiableImage
 Image with modifiable geometry. More...
 
class  Image
 Class for multi-channel digital images. Supports dynamic typing with base types (char, int, float). More...
 
class  Channel
 Image with static geometry. More...
 
class  ChannelView
 View to a single channel. More...
 
class  MultiChannel
 Multi-channel ImageFrame. More...
 
class  Encoding
 
class  ImageConf
 Struct for image (excluding data) More...
 
class  ImageFile
 
class  ImageFrame
 Image with static geometry. More...
 
class  ImageLike
 A base class for images. More...
 
class  ImageT
 A template class for images with static storage type. More...
 
class  Tray
 Set of images, usable for general calls of type traverseFrame(src, dst) . More...
 
class  ImageTray
 Container applicable for Channels and Images, with alpha support. More...
 
class  ImageView
 ImageFrame that also has channels. More...
 
class  Intensity
 
class  MagickDrain
 
class  PaletteEntry
 Container for color, transparency (alpha) and textual id and description. Does not contain intensity thresholds (intervals). More...
 
struct  ProberControl
 Container for parameters of SegmentProber. More...
 
struct  SimpleProberControl
 
struct  SamplePicker
 Interprets data values for Sampler. More...
 
class  ImageReader
 Reads image channels, returning scaled (physical) values. More...
 
class  Sampler
 Utility for sampling images (2D data), outputting formatted text data. More...
 
class  SegmentProberConf
 Container for parameters of SegmentProber. More...
 
class  SegmentProber
 A recursive method for visiting pixels of a segment in an image. More...
 
class  FillProber
 
class  SizeProber
 
class  SegmentStatistics
 A structure for accumulating coordinates and computing statistics thereof: area, centroid, horizontality, verticality, variance and elongation. More...
 
class  SegmentStatisticsProber
 A helper class applied by FloodFillOp and SegmentAreaOp. More...
 
class  SlidingWindow
 Window implementation that uses incremental update of state. More...
 
class  SlidingStripe
 A horizontal, one-dimensional SlidingWindow (Nx1). More...
 
struct  SuperProberConf
 Container for parameters of SegmentProber. More...
 
class  SuperProber
 A DIRECTED recursive method for visiting pixels of a segment in an image. More...
 
struct  svg
 
class  NodeSVG
 
class  FontSizes
 
struct  PanelConfSVG
 
struct  TreeUtilsSVG
 
struct  GDAL
 
class  NodeGDAL
 
class  WindowConfig
 Base class for configurations applied in image processing windows, e.g. for operators of type WindowOp<WindowConfig> . More...
 
class  WindowCoreBase
 Container for source and target images, and their setters. More...
 
class  WindowCore
 Container for source and target images, and their setters. More...
 
class  WeightedWindowCore
 
class  MultiChannelWindowCore
 
class  Window
 Base class for windows applied by WindowOp's. More...
 
class  BlenderOp
 Smoothes image and mixes the result with the original. More...
 
class  CatenatorOp
 Operator for concatenating images vertically or as channels. More...
 
class  ChannelCatenatorOp
 
class  VerticalCatenatorOp
 
class  CopyFunctor
 
class  CopyOp
 
class  CropOp
 
class  DifferentialOp
 Virtual base class for horizontal and vertical intensity derivatives. More...
 
class  GradientOp
 Computes spatial horizontal derivatives (dx and dy). More...
 
class  GradientHorzOp
 
class  GradientVertOp
 
class  LaplaceOp
 Computes second intensity derivatives. More...
 
class  LaplaceHorzOp
 Computes second horizontal derivative, dx2. More...
 
class  LaplaceVertOp
 Computes second vertical derivative, dy2. More...
 
class  DistanceTransformFillOp
 Template for DistanceTransformFillLinearOp and DistanceTransformFillExponentialOp. More...
 
class  DistanceTransformFillLinearOp
 Spreeads values using inverse linear distance transform. More...
 
class  DistanceTransformFillExponentialOp
 
class  DistanceTransformOp
 
class  DistanceTransformLinearOp
 Computes inverse linear distance to bright points. More...
 
class  DistanceTransformExponentialOp
 
class  SlidingStripeAverage
 Stripe window for computing averages. More...
 
class  SlidingStripeAverageWeighted
 Stripe window for computing weight averages. More...
 
class  FastAverageOp
 Sliding window averaging operator with optional weighting support. More...
 
class  FastAverageWeightedOp
 Utility for explicitly. More...
 
class  OpticalFlowConfig
 Consider using SlidingStripeOpticalFlow instead. More...
 
class  OpticalFlowCore
 
class  OpticalFlowCore1
 
class  SlidingOpticalFlow
 
class  SlidingOpticalFlowWeighted
 
class  FastOpticalFlowOp
 
class  OpticalFlowCore2
 
class  SlidingOpticalFlow2
 Currently not in use. See SlidingOpticalFlowWeighted2 below. More...
 
class  SlidingOpticalFlowWeighted2
 
class  FastOpticalFlow2Op
 
class  FloodFillOp
 A fill operation for one color. More...
 
class  FlowAverageWindow
 Window average that preserves the magnitude. More...
 
class  FlowAverageWindowWeighted
 
class  FlowAverageOp
 Window average that preserves the magnitude. More...
 
struct  FunctorWrapper
 Helper class that only ensures that functor is initialized before ImageOp. More...
 
class  FunctorOp
 Class for using simple function objects (like std::functor) for sequential pixel iteration. More...
 
class  UnaryFunctorOp
 Class for using simple function objects (like std::functor) for sequential pixel iteration. More...
 
class  BinaryFunctorOp
 Class for using two-parameter function objects (like std::functor) for sequential and spatial pixel iteration. More...
 
class  GammaFunctor
 Gamma correction. Intensity is mapped as f' = f^(gamma) More...
 
class  GaussianAverageOp
 Sliding window averaging operator with optional weighting support. More...
 
class  HighBoostOp
 Enhances details by mixing original image and result of HighPassOp op. More...
 
class  HighPassOp
 Finds details at one-pixel scale, defined as difference of image and its low-pass filtered copy. More...
 
class  ImageMod
 Class for operations that modify an existing image instead of producing a new image. More...
 
class  ImageChannels
 
class  ImageCoordPolicy
 
class  ImageEncoding
 Changes the type of a target image. More...
 
class  ImageFill
 
class  ImageHistogram
 
class  ImageGeometry
 
class  ImagePlot
 Plots a single value in an image. The value will be scaled; notice that alpha channel is scaled by default. More...
 
class  ImagePlotFile
 
class  ImageBox
 Plots a single value in an image. The value will be scaled; notice that alpha channel is scaled by default. More...
 
class  ImageSampler
 Traverses image, returning samples. More...
 
class  ImageOp
 Base class for image processing functions. More...
 
class  ImageOpInstaller
 
class  ImageOpCloner
 
class  UnaryFunctorOpCloner
 
class  BinaryFunctorOpCloner
 
class  NegateOp
 
class  ImageOpBank
 
class  Decay2
 
struct  Decay4
 
struct  ImpulseAvgConf
 
class  ImpulseAvg
 Averaging operator. A simple example implementation of ImpulseBucket. More...
 
class  ImpulseBucket
 
class  ImpulseResponseOpBase
 
class  ImpulseResponseOp
 A fill operation for one color. More...
 
class  MarginalStatisticOp
 Computes horizontal or vertical intensity statistics: iAverage, sum, ... More...
 
class  MotionExtrapolatorOp
 
class  MotionIllustratorOp
 
class  MultiThresholdOp
 
class  PaletteOp
 Colorizes an image of 1 channel to an image of N channels by using a palette image as a lookup table. More...
 
class  PixelVectorOp
 A base class for operations between of multi-channel pixels (intensity vectors) of two images. More...
 
class  GrayOp
 
class  BinaryPixelVectorOp
 
class  DistanceOp
 Computes the distance between intensity vectors. More...
 
class  ProductOp
 Computes dot product of intensities of two images. More...
 
class  MagnitudeOp
 Computes pixel magnitude, that is, euclidean norm of the intensity vector. More...
 
class  QuadTreeOp
 QuadTrees the image, stretching the image correspondingly. More...
 
class  QualityMixerOp
 Overwrites pixels of destination image in locations where destination weight is lower. More...
 
class  QualityOp
 
class  QualityThresholdOp
 
class  QualityOverrideOp
 Overwrites pixels of destination image in locations where destination weight is lower. More...
 
class  QuantizatorFunctor
 TODO: CopyOP should be quite similar. More...
 
class  RecomposeOp
 Create vertical image composed of separate views. More...
 
class  ResizeOp
 Resizes the image, stretching the image correspondingly. More...
 
class  RunLengthOp
 Base class for RunLengthHorzOp and RunLengthVertOp. More...
 
class  RunLengthHorzOp
 Computes lengths of horizontal segments. More...
 
class  RunLengthVertOp
 Computes lengths of vertical segments. More...
 
class  SegmentAreaOp
 Computes sizes of connected pixel areas. More...
 
class  SegmentOp
 A base class for computing statistics of segments. As segment is an area of connected pixels. More...
 
class  SegmentStatisticsOp
 Computes statistics of segments: area, centroid, horizontality, verticality, variance and elongation. Segment is an area of connected pixels. More...
 
class  SeparableWindowOp
 Sliding window averaging operator with optional weighting support. More...
 
struct  HistogramConfig
 
class  HistogramWindowConfig
 
class  SlidingWindowHistogram
 Base class for median and str histogram based statistics. More...
 
class  SlidingWindowHistogramWeighted
 
class  SlidingWindowHistogramOp
 Window histogram for computing [asmdvNX] = iAverage, sum, median, stddev, variance, miN, maX. More...
 
class  SlidingWindowMedian
 
class  SlidingWindowMedianWeighted
 
class  SlidingWindowMedianOp
 
class  SlidingWindowOp
 Template for operators applying pipeline-like sliding window. More...
 
class  SuperProberOp
 A base class for computing statistics of segments. As segment is an area of connected pixels. More...
 
class  TransparentOp
 
class  TransposeOp
 Transpose operator. Swaps the intensities over the diagonal exis. More...
 
class  WindowOp
 

Typedefs

typedef drain::Bank< AccumulationMethodAccMethodBank
 
typedef drain::GlobalFlags< CoordinatePolicycoord_overflow_flagger_t
 
typedef drain::Flags::ivalue_t coord_overflow_t
 
typedef PseudoTuple< PositionPositionTuple
 
typedef std::vector< DistanceElementDistanceNeighbourhood
 
typedef std::list< drain::image::PositionContour
 
typedef Frame2D< size_t > AreaGeometry
 
typedef drain::UnorderedMultiTree< NodeSVG, false, NodeXML<>::path_t > TreeSVG
 
typedef drain::UnorderedMultiTree< image::NodeGDALTreeGDAL
 

Functions

std::ostream & operator<< (std::ostream &ostr, const AccumulationArray &accArray)
 
std::ostream & operator<< (std::ostream &ostr, const AccumulationConverter &converter)
 
AccMethodBankgetAccMethodBank ()
 
std::ostream & operator<< (std::ostream &ostr, const Accumulator &accumulator)
 
std::ostream & operator<< (std::ostream &ostr, const AccumulatorGeo &accumulator)
 
std::ostream & operator<< (std::ostream &ostr, const CoordinateHandler2D &handler)
 
std::ostream & operator<< (std::ostream &ostr, const CoordinatePolicy &policy)
 
std::ostream & operator<< (std::ostream &ostr, const Position &p)
 
std::ostream & operator<< (std::ostream &ostr, const DistanceElement &d)
 
std::ostream & operator<< (std::ostream &ostr, const DistanceNeighbourhood &chain)
 
 DRAIN_TYPENAME_DEF (DistanceModelExponential)
 
 DRAIN_TYPENAME (DistanceModelExponential)
 
 DRAIN_TYPENAME_DEF (DistanceModelLinear)
 
 DRAIN_TYPENAME (DistanceModelLinear)
 
template<class S , class D >
std::ostream & operator<< (std::ostream &ostr, const EdgeTracker< S, D > &prober)
 
std::ostream & operator<< (std::ostream &ostr, const GeoFrame &frame)
 
std::ostream & operator<< (std::ostream &ostr, const Image &image)
 
std::ostream & operator<< (std::ostream &ostr, const ImageConf &conf)
 
std::ostream & operator<< (std::ostream &ostr, const ImageFrame &src)
 
template<class T >
std::ostream & operator<< (std::ostream &ostr, const Tray< T > &tray)
 
template<class T >
std::ostream & operator<< (std::ostream &ostr, const ImageTray< T > &tray)
 
std::ostream & operator<< (std::ostream &ostr, const PaletteEntry &entry)
 
template<class S , class D , class C >
std::ostream & operator<< (std::ostream &ostr, const SegmentProber< S, D, C > &prober)
 
std::ostream & operator<< (std::ostream &ostr, const SegmentStatistics &s)
 
template<class T , class D >
std::ostream & operator<< (std::ostream &ostr, const SegmentStatisticsProber< T, D > &prober)
 
 DRAIN_TYPENAME_DEF (WindowConfig)
 
 DRAIN_TYPENAME_DEF (WindowCoreBase)
 
 DRAIN_TYPENAME_DEF (WindowCore)
 
 DRAIN_TYPENAME_DEF (WeightedWindowCore)
 
std::ostream & operator<< (std::ostream &ostr, const WindowConfig &conf)
 
 DRAIN_TYPENAME (WindowConfig)
 
 DRAIN_TYPENAME (WindowCore)
 
 DRAIN_TYPENAME (WeightedWindowCore)
 
template<class P , class R >
std::ostream & operator<< (std::ostream &ostr, const drain::image::Window< P, R > &w)
 
std::ostream & operator<< (std::ostream &ostr, const ImageOp &op)
 
std::ostream & operator<< (std::ostream &ostr, const ImageOpBank &bank)
 
ImageOpBankgetImageOpBank ()
 
template<class T >
void installImageOps (T &installer)
 
void QDTshrinkBy2 (const Image &src, Image &dst)
 
void QDTexpand (const Image &src, Image &dst)
 
void QDTmatch (const Image &img1, const Image &img2, Image &u, Image &v)
 
LoggetImgLog ()
 

Detailed Description

Namespace for images and image processing tools.

General debugging // TODO: move to more general place.

Namespace for images and image processing tools.

Function Documentation

◆ getImageOpBank()

ImageOpBank & getImageOpBank ( )

Shared ImageOp bank

◆ installImageOps()

void drain::image::installImageOps ( T &  installer)

Binary functors - operations on two inputs

Fuzzy remapping ops. See examples in drain/util/Fuzzy.h

Differential ops

◆ QDTmatch()

void drain::image::QDTmatch ( const Image img1,
const Image img2,
Image u,
Image v 
)

Iterate 3 x 3 displacements