Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
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  Accumulator
 
class  AccumulatorGeo
 
struct  AlignAdapterSVG
 Adapter designed for NodeSVG. More...
 
struct  AlignBase
 Low level alignment instructions. More...
 
struct  Alignment
 Container for Axis and Pos. More...
 
struct  AlignSVG
 User-friendly programming interface for alignment considering two elements. More...
 
class  AverageMethod
 
class  BBoxRetrieverSVG
 
class  BBoxSVG
 
class  BinaryFunctorOp
 Class for using two-parameter function objects (like std::functor) for sequential and spatial pixel iteration. More...
 
class  BinaryFunctorOpCloner
 
class  BinaryPixelVectorOp
 
class  BlenderOp
 Smoothes image and mixes the result with the original. More...
 
class  CatenatorOp
 Operator for concatenating images vertically or as channels. More...
 
class  Channel
 Image with static geometry. More...
 
class  ChannelCatenatorOp
 
class  ChannelGeometry
 
class  ChannelView
 View to a single channel. More...
 
struct  CompleteAlignment
 "Alternative" partial alignment configuration for single object. Partial means that either OBJECT itself or ANCHOR object is set. More...
 
class  CoordinateHandler2D
 
class  CoordinatePolicy
 Policies for coordinate underflows and overflows. More...
 
class  CopyFunctor
 
class  CopyOp
 
class  CropOp
 
class  Decay2
 
struct  Decay4
 
class  DifferentialOp
 Virtual base class for horizontal and vertical intensity derivatives. More...
 
struct  Direction
 
class  DistanceElement
 
class  DistanceModel
 Base class for linear and exponential distances in rectangular pixel images. More...
 
class  DistanceModelExponential
 
class  DistanceModelLinear
 
class  DistanceOp
 Computes the distance between intensity vectors. More...
 
class  DistanceTransformExponentialOp
 
class  DistanceTransformFillExponentialOp
 
class  DistanceTransformFillLinearOp
 Spreeads values using inverse linear distance transform. More...
 
class  DistanceTransformFillOp
 Template for DistanceTransformFillLinearOp and DistanceTransformFillExponentialOp. More...
 
class  DistanceTransformLinearOp
 Computes inverse linear distance to bright points. More...
 
class  DistanceTransformOp
 
struct  EdgePolicy
 
class  EdgeTracker
 Container for parameters of SegmentProber. More...
 
class  Encoding
 
class  FastAverageOp
 Sliding window averaging operator with optional weighting support. More...
 
class  FastAverageWeightedOp
 Utility for explicitly. More...
 
class  FastOpticalFlow2Op
 
class  FastOpticalFlowOp
 
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  FillProber
 
class  FloodFillOp
 A fill operation for one color. More...
 
class  FlowAverageOp
 Window average that preserves the magnitude. More...
 
class  FlowAverageWindow
 Window average that preserves the magnitude. More...
 
class  FlowAverageWindowWeighted
 
class  FunctorOp
 Class for using simple function objects (like std::functor) for sequential pixel iteration. More...
 
struct  FunctorWrapper
 Helper class that only ensures that functor is initialized before ImageOp. More...
 
class  GaussianAverageOp
 Sliding window averaging operator with optional weighting support. More...
 
class  GaussianStripe
 
class  GaussianStripeWeighted
 
class  GaussianWindowConf
 Extends WindowConfig with radius. More...
 
struct  GDAL
 
class  GeoFrame
 Array with georeferencing support. More...
 
class  GeoInfo
 
class  Geometry
 
class  GradientHorzOp
 
class  GradientOp
 Computes spatial horizontal derivatives (dx and dy). More...
 
class  GradientVertOp
 
class  GrayOp
 
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...
 
struct  HistogramConfig
 
class  HistogramWindowConfig
 
class  Image
 Class for multi-channel digital images. Supports dynamic typing with base types (char, int, float). More...
 
class  ImageBox
 Plots a single value in an image. The value will be scaled; notice that alpha channel is scaled by default. More...
 
class  ImageChannels
 
class  ImageConf
 Struct for image (excluding data) More...
 
class  ImageCoordPolicy
 
class  ImageEncoding
 Changes the type of a target image. More...
 
class  ImageFile
 
class  ImageFill
 
class  ImageFrame
 Image with static geometry. More...
 
class  ImageGeometry
 
class  ImageHistogram
 
class  ImageLike
 A base class for images. More...
 
class  ImageMod
 Class for operations that modify an existing image instead of producing a new image. More...
 
class  ImageOp
 Base class for image processing functions. More...
 
class  ImageOpBank
 
class  ImageOpCloner
 
class  ImageOpInstaller
 
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  ImageReader
 Reads image channels, returning scaled (physical) values. More...
 
class  ImageSampler
 Traverses image, returning samples. More...
 
class  ImageT
 A template class for images with static storage type. More...
 
class  ImageTray
 Container applicable for Channels and Images, with alpha support. More...
 
class  ImageView
 ImageFrame that also has channels. More...
 
class  ImpulseAvg
 Averaging operator. A simple example implementation of ImpulseBucket. More...
 
struct  ImpulseAvgConf
 
class  ImpulseBucket
 
class  ImpulseResponseOp
 A fill operation for one color. More...
 
class  ImpulseResponseOpBase
 
class  Intensity
 
class  LaplaceHorzOp
 Computes second horizontal derivative, dx2. More...
 
class  LaplaceOp
 Computes second intensity derivatives. More...
 
class  LaplaceVertOp
 Computes second vertical derivative, dy2. More...
 
class  LayoutSVG
 Higher level controller for setting alignments. More...
 
class  MagickDrain
 
class  MagnitudeOp
 Computes pixel magnitude, that is, euclidean norm of the intensity vector. More...
 
class  MarginalStatisticOp
 Computes horizontal or vertical intensity statistics: iAverage, sum, ... More...
 
class  MaximumMethod
 
class  MaximumWeightMethod
 
class  MinimumMethod
 
class  MinMaxMethod
 
class  ModifiableImage
 Image with modifiable geometry. More...
 
class  MotionExtrapolatorOp
 
class  MotionIllustratorOp
 
class  MultiChannel
 Multi-channel ImageFrame. More...
 
class  MultiChannelWindowCore
 
class  MultiThresholdOp
 
class  NegateOp
 
class  NodeGDAL
 
class  NodeSLD
 
class  NodeSVG
 
class  OpticalFlowConfig
 Consider using SlidingStripeOpticalFlow instead. More...
 
class  OpticalFlowCore
 
class  OpticalFlowCore1
 
class  OpticalFlowCore2
 
class  OverwriteMethod
 
class  PalEntry
 
class  PaletteEntry
 Container for color, transparency (alpha) and textual id and description. Does not contain intensity thresholds (intervals). More...
 
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...
 
struct  Position
 
struct  ProberControl
 Container for parameters of SegmentProber. More...
 
class  ProductOp
 Computes dot product of intensities of two images. 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  QualityOverrideOp
 Overwrites pixels of destination image in locations where destination weight is lower. More...
 
class  QualityThresholdOp
 
class  QuantizatorFunctor
 TODO: CopyOP should be quite similar. More...
 
class  RecomposeOp
 Create vertical image composed of separate views. More...
 
class  RelativePathSetterSVG
 
class  ResizeOp
 Resizes the image, stretching the image correspondingly. More...
 
class  RunLengthHorzOp
 Computes lengths of horizontal segments. More...
 
class  RunLengthOp
 Base class for RunLengthHorzOp and RunLengthVertOp. More...
 
class  RunLengthVertOp
 Computes lengths of vertical segments. More...
 
struct  SamplePicker
 Interprets data values for Sampler. More...
 
class  Sampler
 Utility for sampling images (2D data), outputting formatted text data. 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  SegmentProber
 A recursive method for visiting pixels of a segment in an image. More...
 
class  SegmentProberConf
 Container for parameters of SegmentProber. More...
 
class  SegmentStatistics
 A structure for accumulating coordinates and computing statistics thereof: area, centroid, horizontality, verticality, variance and elongation. More...
 
class  SegmentStatisticsOp
 Computes statistics of segments: area, centroid, horizontality, verticality, variance and elongation. Segment is an area of connected pixels. More...
 
class  SegmentStatisticsProber
 A helper class applied by FloodFillOp and SegmentAreaOp. More...
 
class  SeparableWindowOp
 Sliding window averaging operator with optional weighting support. More...
 
struct  SimpleProberControl
 
class  SizeProber
 
struct  SLD
 
class  SlidingOpticalFlow
 
class  SlidingOpticalFlow2
 Currently not in use. See SlidingOpticalFlowWeighted2 below. More...
 
class  SlidingOpticalFlowWeighted
 
class  SlidingOpticalFlowWeighted2
 
class  SlidingStripe
 A horizontal, one-dimensional SlidingWindow (Nx1). More...
 
class  SlidingStripeAverage
 Stripe window for computing averages. More...
 
class  SlidingStripeAverageWeighted
 Stripe window for computing weight averages. More...
 
class  SlidingWindow
 Window implementation that uses incremental update of state. More...
 
class  SlidingWindowHistogram
 Base class for median and str histogram based statistics. More...
 
class  SlidingWindowHistogramOp
 Window histogram for computing [asmdvNX] = iAverage, sum, median, stddev, variance, miN, maX. More...
 
class  SlidingWindowHistogramWeighted
 
class  SlidingWindowMedian
 
class  SlidingWindowMedianOp
 
class  SlidingWindowMedianWeighted
 
class  SlidingWindowOp
 Template for operators applying pipeline-like sliding window. More...
 
class  SuperProber
 A DIRECTED recursive method for visiting pixels of a segment in an image. More...
 
struct  SuperProberConf
 Container for parameters of SegmentProber. More...
 
class  SuperProberOp
 A base class for computing statistics of segments. As segment is an area of connected pixels. More...
 
struct  svg
 
class  Transform
 
class  TransformSVG
 
class  TranslatorSVG
 
class  TransparentOp
 
class  TransposeOp
 Transpose operator. Swaps the intensities over the diagonal exis. More...
 
class  Tray
 Set of images, usable for general calls of type traverseFrame(src, dst) . More...
 
struct  TreeUtilsSVG
 SVG classes marking requests of relative horizontal and vertical alignment. More...
 
class  UnaryFunctorOp
 Class for using simple function objects (like std::functor) for sequential pixel iteration. More...
 
class  UnaryFunctorOpCloner
 
class  VerticalCatenatorOp
 
class  WeightedAverageMethod
 
class  WeightedWindowCore
 
class  Window
 Base class for windows applied by WindowOp's. More...
 
class  WindowConfig
 Base class for configurations applied in image processing windows, e.g. for operators of type WindowOp<WindowConfig> . More...
 
class  WindowCore
 Container for source and target images, and their setters. More...
 
class  WindowCoreBase
 Container for source and target images, and their setters. More...
 
class  WindowOp
 

Typedefs

typedef drain::Bank< AccumulationMethodAccMethodBank
 
typedef unsigned int coord_overflow_t
 typedef drain::GlobalFlags<CoordinatePolicy> coord_overflow_flagger_t;
 
typedef PseudoTuple< PositionPositionTuple
 
typedef std::vector< DistanceElementDistanceNeighbourhood
 
typedef std::list< drain::image::PositionContour
 
typedef Frame2D< size_t > AreaGeometry
 
typedef UnorderedMultiTree< NodeSLD, false, drain::NodeXML<>::path_t > TreeSLD
 
typedef drain::UnorderedMultiTree< NodeSVG, false, NodeXML<>::path_t > TreeSVG
 
typedef drain::SelectorXML SelectSVG
 
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)
 
 DRAIN_TYPENAME_DEF (AlignSVG::HorzAlign)
 
 DRAIN_ENUM_OSTREAM (AlignBase::Axis)
 
 DRAIN_ENUM_OSTREAM (AlignBase::Pos)
 
template<typename AX , AlignBase::Axis V>
std::ostream & operator<< (std::ostream &ostr, const Alignment< AX, V > &align)
 
std::ostream & operator<< (std::ostream &ostr, const AlignSVG &align)
 
 DRAIN_ENUM_OSTREAM (AlignSVG::Owner)
 
 DRAIN_ENUM_OSTREAM (AlignSVG::Topol)
 
 DRAIN_TYPENAME (AlignSVG::HorzAlign)
 
template<typename AX , AlignBase::Axis A>
std::ostream & operator<< (std::ostream &ostr, const CompleteAlignment< AX, A > &ad)
 
 DRAIN_ENUM_OSTREAM (LayoutSVG::Direction)
 
 DRAIN_ENUM_OSTREAM (LayoutSVG::GroupType)
 
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)
 
void readHeader (png_struct &png, png_info &info, ImageConf &conf)
 TODO: allow plain header read?
 
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)
 
template<size_t N>
std::ostream & operator<< (std::ostream &ostr, Transform< N > &tr)
 
 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 ()
 

Variables

Alignment test (drain::image::AlignSVG::LEFT)
 
Alignment test2 = drain::image::AlignSVG::LEFT
 

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()

template<class T >
void installImageOps ( T &  installer)

Binary functors - operations on two inputs

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

Differential ops

◆ QDTmatch()

void QDTmatch ( const Image img1,
const Image img2,
Image u,
Image v 
)

Iterate 3 x 3 displacements