STIRA  0.1
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cstira::filter::AdaptiveBilateralFilterComputes adaptive bilateral filter as described in reference Bibtex reference: article{ zhang08adaptive, author = {Zhang, B. and Allebach, J. P.}, title = {Adaptive Bilateral Filter for Sharpness Enhancement and Noise Removal}, journal = {IEEE Trans. Image Processing}, volume = {17}, number = {5}, pages = {664–678} year = {2008} }
 Cstira::contrastenhance::AdaptiveEnhanceLuongAdaptive contrast enhancement accoring to method of Hiep Luong The implementation is based on the text of his PhD thesis "Advanced Image and Video Resolution Enhancement Techniques", 2008, Ghent University, TELIN-IPI, page 57 and following
 Cstira::contrastenhance::AdaptiveHistogramEqualizerClass for adaptive histogram equalization like in
 Cstira::diffusion::AnisotropicDiffusionA class to compute anisotropic diffusion for more info, see
 Cstira::imagedata::ArrayGrid< T >A class to contain a regular grid of integer or float numbers, structs and even more complex objects
 Cstira::imagedata::ArrayGrid< bool >
 Cstira::imagedata::ArrayGrid< double >
 Cstira::imagedata::ArrayGrid< histogram::stira::histogram::FloatHistogram * >
 Cstira::imagedata::ArrayGrid< int >
 Cstira::imagedata::ArrayGrid< std::complex< double > >
 Cstira::imagedata::ArrayGrid< stira::imagedata::LocalOrientation * >
 Cstira::imagedata::ArrayGridTools< T >A class with operations to perform on a regular grid
 Cstira::steerable::BasicFilterKernelsA container class to store taps for steerable filters G2 and H2 by Freeman and Adelson
 Cstira::filter::blockMatchStructure to compare image blocks We use the coordinates of the center of the candidate block and its Euclidean intensity distance with a given reference block. This distance is the summed squared intensity difference of two blocks
 Cstira::degradationestimation::BlurEstimatorA class to estimate blur by searching a range of blur values and selecting the one with the best gradient kurtosis References: - "Blur Identification based on Kurtosis Minimization". D. Li, R. Mersereau and S. Simsk in IEEE ICIP2005
 Cstira::degradationestimation::BlurEstimatorHuA class to estimate blur using method of Hu and de Haan References: - "Low Cost Robust Blur estimator". H. Hu and G. De Haan in IEEE ICIP 2006, Oct. 8-11, 2006, Atlanta (GA), pp. 617-620
 Cstira::imageanalysis::CannyEdgeDetectorCanny edge detector inspired on
 Cstira::imagetools::ChromaticAdaptationA class for color adaptation Chromatic adaptation is the estimation of the representation of an object under a different light source than the one in which it was recorded
 Cstira::common::ClusteringLearningClass for 2D point cloud analysis Uses OpenCV's functionalities
 Cstira::imagedata::cmyk_tRepresentation of a single CMYK color
 Cstira::imagedata::ColorConstantsUsefull constants related to color and color spaces * References: reference white points: Illuminants: Danny Pascale. "A Review of RGB color spaces". (Babel Color). review of RGB color spaces.pdf
 Cstira::filter::ColorLookupTableColour lookup table to assign colours to the 4096 labels occuring in LBP's with a 12 point neighborhood
 Cstira::imagedata::ColorValueStruct that represents the color value triplet and an identifier
 Cstira::imageanalysis::CompareCurvesInImageCompares two gray value images in which mono-colored curves are drawn
 Cstira::degradationestimation::CompareSmoothSharpDijkClass to compare effects of sharpening and filtering using joint histograms of gradients Reference: "A new measure for the effect of sharpening and smoothing filters on images", J. Dijk, D. de Ridder, P.W. Verbeek, J. Walraven, I.T. Young, and L.J. van Vliet in: B.K. Ersboll, P. Johansen (eds.), SCIA'99, Proc. 11th Scandinavian Conference on Image Analysis (Kangerlussuaq, Greenland, June 7-11), Pattern Recognition Society of Denmark, Lyngby, 1999, 213-220. WORK IN PROGRESS
 Cstira::steerable::ComputeOrientationA class to compute local orientation in an image
 Cstira::steerable::ComputeSteerableFilteredImagesA class to compute the basic steerable filtered images according to Freeman and Adelson
 Cstira::imageanalysis::ContourTracingContour tracing class Traces contours that go mainly horizontally
 Cstira::common::CurveClass that contains a curve. For us, a curve is a list of 8-neighborhood connected pixels in an stl vector
 Cstira::common::CurveSetClass to manage a set of curves
 Cstira::common::dataRowHelp struct to create data interpolation
 Cstira::deconvolve::DeconvolveMasterParent class for computing deconvolutions
 Cstira::filter::DifferenceOfGaussiansCreates a Difference of Gaussians filtered image
 Cstira::imageanalysis::DistanceTransformClass to compute distance transform based on method below Distance Transforms of Sampled Functions P. Felzenszwalb, D. Huttenlocher Theory of Computing, Vol. 8, No. 19, September 2012
 Cstira::imagedata::DistinctColorGeneratorGenerate distinct colors for visualization Based on Generates (I, 0, 0), (0, I, 0), (0, 0, I), (I, I, 0), (I, 0, I), (0, I, I) with I 255, 128, 64+0x128=64, 64+1x128=192, 32+0x64=32, 32+1x64=96, 32+2x64=160, 32+3x64=224, ..
 Cstira::common::DrawFiguresA class to draw some simple parametric figure contours
 Cstira::imagetools::DrawImageToolsClass with operations on image objects; This class draws within an existing image without creating a new image object
 Cstira::common::ExecutionTimerSmall timer class to get execution timings of applications Ref: For windows, this becomes with some code #include <windows.h> // code long int before = GetTickCount();
 Cstira::fouriertools::FFTA class to hold spectral bands of an image
 Cstira::fouriertools::FFTBandData structure for FFT manipulations
 Cstira::fouriertools::FFTCalculatorParent class to compute the Fourier transforms based on several libraries Survey of FFT implementations: Child classes specifically offer interface to
 Cstira::common::FileAccessClass to facilitate file access in directories
 Cstira::imageanalysis::FindMaximalIncludedRectanglesFinds maximal rectangles contained in an object Maximal means that the rectangle can not be in its whole part of a larger rectangle Algorithm is from
 Cstira::imagetools::FisheyeCorrectorSimple class to correct Fisheye distortion Reference:
 Cstira::common::FitCurveClass to fit a parametric function to a set of data points For the moment, only linear, quadratic, exponential and polynomial fit are available The polynomial fit uses OpenCV's matrix operations
 Cstira::common::FixedBuffer< T >A class to represent a buffer of fixed size
 Cstira::imageanalysis::FloodFillClass that implements a simple flood fill Based on recursive implementation described in
 Cstira::imagetools::FractalGeneratorClass to generate fractals It can generate the Mandelbrot set and associated Julia sets
 Cstira::filter::GaussConvolveConvolves image with Gaussian PSF
 Cstira::imagetools::GeometricTransformGeometric parametric transformation of an image
 Cstira::imagetools::GretagMacbethColorCheckerA class for generating the Gretag - Macbeth Color Checker chart References:
 Cstira::imagedata::GridConverterClass to convert a grid of one data type to another
 Cstira::imagedata::GridExtender< T >Extends input grid in a user-selected way
 Cstira::imagetools::GridGeneratorGenerates different predefined grids
 Cstira::imagedata::GridStatistics< T >
 Cstira::contrastenhance::HazeRemoverHaze removal from single image Ref: 1) Single Image Haze Removal using Dark Channel Prior Kaiming He, Jian Sun, and Xiaoou Tang IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2009 2) TODO: add matting to refine processing at depth transitions A Closed Form Solution to Natural Image Matting. A. Levin D. Lischinski and Y. Weiss. IEEE Trans. Pattern Analysis and Machine Intelligence, Feb 2008 Current website: Older, with pdf and matlab code UNDER CONSTRUCTION!!
 Cstira::histogram::HistogramMaster< T >Simple histogram class
 Cstira::histogram::HistogramMaster< double >
 Cstira::histogram::HistogramMaster< int >
 Cstira::contrastenhance::HistogramToolsClass with tools for image intensity remapping using histograms, like histogram matching and histogram equalization
 Cstira::imageanalysis::HOGClass to compute Image descriptor based on Histogram of Orientated Gradients (HOG) for gray-level images References: -
 Cstira::imageanalysis::HoughTransformCanny edge detector
 Cstira::imagedata::ImageA class to hold image data. It consists of three things: the actual image data, the corresponding metadata and some operations that can be executed on an image as a whole. The image data arev stored as a vector of ArrayGrids that represent the spectral bands (like red, green, blue, ...) of an image
 Cstira::imagetools::ImageIOA class to hold spectral bands of an image
 Cstira::imagetools::ImageToolsClass with operations on image objects; Each of these operations creates a new image object that the caller becomes responsable for
 Cstira::imagetools::InterpolatorA class for interpolation
 Cstira::histogram::JointHistogramConditional or joint histogram class WARNING: currently only works for default case when bin size is 1
 Cstira::filter::KuwaharaFilterComputes Kuwahara filtered image
 Cstira::imagedata::lab_tElementary color profile representations In this file, we have a few data structures and a class to represent some elementary color profiles that translate between a machine dependant CMYK space and a device independant Lab space
 Cstira::filter::LaplacianOfGaussianFilterCreates a Laplacian of Gaussian filtered image
 Cstira::common::LineSegment< T >A class to represent a 2D line segment by a point couple
 Cstira::filter::LocalBinaryPatternComputes the Local Binary Pattern operation for each pixel in the image
 Cstira::imagedata::LocalOrientationA class to contain the local orientation for a certain grid position
 Cstira::filter::LogGaborGenerates Log Gabor filtered image Fourier domain transfer function is implemented in fouriertools/TransferFunctionGenerator Reference: Peter Kovesi:
 Cstira::imagedata::lut_entry_tSingle entry in a lookup table that translates between a CMYK color and a Lab color
 Cstira::common::MathUtilsA class with some handy mathematical functions
 Cstira::filter::MedianFilterClass for classical and hybrid median filter
 Cstira::imageanalysis::mycomparison< T >Help class: needed by priority_queue for ordering the elements
 Cstira::wavelet::NoiseEstimatorA class to estimate sigma for white noise with the Mean Absolute Deviation method of Donoho References: - "Ideal spatial adaptation by wavelet shrinkage", D. Donoho and I. Johnstone, Biometrika, 1994, vol. 81, pp. 425–455 (relevant section is on 17th page of the paper, just above section 4.3)
 Cstira::filter::NonLocalMeansFilterNon-local means filter
 Cstira::filter::NonSeparableFilterFilters an image using a non-separable filter kernel
 Cstira::imagetools::NumberGridTools< T >Child class of ArrayGrid in specific case that the template represents numerical values In this case, certain extra operations are possible, like finding min and max, add, multiply, subtract Methods in this class are divided in the following "sections": 0. CONSTRUCT / DESTRUCT
 Cstira::imagedata::OrientationGridA data class to hold a grid of local orientations: for each pixel, a local orientation and magnitude are kept from this representation, it should be fairly easy to implement the Hough transform for different parametric models like straight lines and circles: loop over all possible values of the parameter sets for the lines to check a) based on parameters, generate parametric representation of candidate line (circle, curve) b) for all pixels along this line, check if the orientation map (direction/strength) supports the presence of this candidate if yes, add 1 to accumulator for the given parameters
 Cstira::common::PcaResultStruct to hold results of a PCA analysis of the passed points
 Cstira::imagetools::PerlinNoiseClass to generate clouds of Perlin noise code slightly adapted from code of Isaac McGarvey:
 Cstira::imageanalysis::PixelElement< T >Little helper class to compare PixelElement's to order them in the priority queue
 Cstira::common::Point< T >A class to represent a 2D point
 Cstira::common::Point< double >
 Cstira::common::Point< int >
 Cstira::common::pointClusterStruct to hold results of a single point cluster
 Cstira::common::PolygonClass that contains a polygon. For us, a polygon is a list of vertices in an stl vector, where the first point equals the last point
 Cstira::imagedata::ProfileCorrectExperimental class to interpolate CLUTS in ICC color profiles from measured or estimated values
 Cstira::imagedata::ProfileDataClass to manage data in a color profile Basically consists of a color LookUp Table (CLUT) between a device space (A) and an independant space (B) This independant space is usually L*a*b*. In a profile, we usually have two tables: in A2B, the values in the A space are on a regular grid and the corresponding B values usually aren't; in the B2A, the values in the B space are on a regular grid and the corresponding A values usually aren't
 Cstira::imagedata::Pyramid< T >A data class to contain all subbands of a pyramid decomposition These bands are grouped per resolution level. All bands in one resolution level are grouped in a member class PyramidLevel. So, a pyramid contains a vector of pointers to "PyramidLevel" objects for the recursive scales and an extra pointer to a "PyramidLevel" object for the residual scale (like used in the steerable pyramid, is NULL if no residual scale is used)
 Cstira::imagedata::Pyramid< double >
 Cstira::imagedata::Pyramid< std::complex< double > >
 Cstira::steerable::PyramidBurtAdelsonClass implementing the Laplacian pyramid accoring to Burt and Adelson
 Cstira::pyramidapplications::PyramidContrastEnhancerA class to demonstrate simple contrast enhancement The original reference used curvelets, we replaced these by a steerable pyramid Original reference:
 Cstira::pyramidapplications::PyramidDenoiserA class to demonstrate simple denoising of the bands of a steerable pyramid Reference: "Bivariate Shrinkage Functions for Wavelet-based Image Denoising", Sendur, L. and Selesnick, I., IEEE Transactions on Signal Processing, 50(11):2744-2756, November 2002
 Cstira::pyramidapplications::PyramidKeyPointDetectorA class to demonstrate simple contrast enhancement using a steerable pyramid reference:
 Cstira::imagedata::PyramidLevel< T >A class to contain a single level of a pyramid decomposition
 Cstira::imagedata::PyramidLevel< double >
 Cstira::imagedata::PyramidLevel< std::complex< double > >
 Cstira::steerable::PyramidMaster< T >Parent class to compute FFT based real- and complex-valued steerable pyramids (decomposition/reconstruction)
 Cstira::steerable::PyramidMaster< double >
 Cstira::steerable::PyramidMaster< std::complex< double > >
 Cstira::imagetools::PyramidToolsClass with operations on Pyramid objects
 Cstira::common::QuantileNormalDistributionClass to check if a histogram follows a normal distribution
 Cstira::common::RectangularROI< T >A class to represent a rectangular ROI. The edges of this ROI are parallel with the x and y axes. Here, we consider a closed ROI, i.e., the edge points also belong to the ROI
 Cstira::common::RectangularROI< int >
 Cstira::registration::RegistrationWrapperC++ Wrapper for Intramodal registration software from Philippe Thévenaz
 Cstira::contrastenhance::RetinexRetinex contrast enhancement/color restoration
 Cstira::histogram::RunLengthHistogramHistogram to keep track which values are found over which run lengths Reference:
 Cstira::filter::SeparableFilterFilters an image using a separable filter kernel
 Cstira::deconvolve::SimulateDegradationClass to simulate image degradation, by blurring and applying noise
 Cstira::common::Statistics< T >Class to compute some simple statistics Note void ProcessArray ( const int * , size_t numInts ) ; can be called directly with an stl vector as follows ProcessArray ( &foo[0], foo.size() );
 Cstira::imageanalysis::StegerLineDetectorSteger line detector article{ steger98line, author = {Steger, C.}, title = {An unbiased detector of curvilinear structures}, journal = {IEEE Trans. Pattern Analysis and Machine Intelligence}, volume = {20}, number = {2}, pages = {113–125}, month = {February}, year = {1998} }
 Cstira::common::StringUtilsA class with some handy functions to manipulate STL strings
 Cstira::common::TextFileUtilsA class with some handy functions to manipulate ASCII text files
 Cstira::imagetools::TextureGeneratorClass to generate different kinds of textures code slightly adapted from
 Cstira::imageanalysis::Thinning< T >Morphological thinning: applies the following set of structure elements;
 Cstira::fouriertools::TransferFunctionGeneratorGenerate transfer functions to be applied in the fourier domain
 Cstira::imagedata::TransformColorSpaceTransformations between color spaces
 Cstira::filter::UnsharpMaskEnhances image sharpness by unsharp masking
 Cstira::imageanalysis::WatershedMeyer< T >Template class for watershed transformations variant of Meyer algorithm, as used in Matlab Meyer, Fernand, "Topographic distance and watershed lines," Signal Processing , Vol. 38, July 1994, pp. 113-125 Alternative watershed algorithms with source code can be found on
 Cstira::imageanalysis::WatershedTobogganWatershed segmentation immersion according to Lin et al (Algorithm 1), as described in article{ lin06toboggan, author = {Yung-Chieh Lin, Yu-Pao Tsai, Yi-Ping Hung, and Zen-Chung Shih.}, title = {Comparison Between Immersion-Based and Toboggan-Based Watershed Image Segmentation}, journal = {IEEE Trans. Image Processing}, volume = {15}, number = {3}, pages = {632–640}, year = {2006} }
 Cstira::wavelet::WaveletParent class to compute wavelet decomposition / reconstruction For the moment just a fast Haar wavelet is available. Fast in the sense that the downsampling and upsampling are directly integrated in the computations and that no unnecessary coefficients are computed that are removed by the subsampling
 Cstira::wavelet::WaveletFilterSetStruct containing filter taps needed for analysis and reconstruction
 Cstira::wavelet::WaveletTapGeneratorWavelet tap set factory Generates a set of decomposition/reconstruction filter taps for the type of wavelet specified