PrecisionImage.NET consists of a series of namespaces which partition the classes into functional categories. These are summarized below, along with their major entities.
This is the root namespace for PrecisionImage.NET. It contains the most commonly used classes and enumerations. It contains the the SourceData type, the Utilities class for performing basic pointwise operations, and several enumerations used for specifying code execution mode, gamma-encoding state and other characteristics.
- "SourceData" - A universal image data type understood by all computational objects in PrecisionImage.NET.
- "Setup" - A static class that characterizes the host system and controls general runtime behavior.
- "Utilities" - Encapsulates various optimized mathematical functions operating on SourceData types.
- "HardwareAccelerationDevice" - Encapsualtes a system hardware accelerator, typically a GPU.
- "ColorBitDepth" - Specifies the bit-depth of a color image.
- "GrayBitDepth" - Specifies the bit-depth of a grayscale image.
- "GammaEncoding" - Specifies the state of gamma-encoding for a given image.
- "PaddingMode" - Specifies the padding mode for constrained-dimension operations.
- "ProcessingMode" - Specifies the code execution mode for a given computational object.
- "EdgeHandling" - Specifies how edges are handled for neighborhood processing operations.
This namespace contains objects used for binary mask specification and data thresholding, fusion and inversion as well as morphological processing operations such as binary object extraction and fourier shape description.
- "BinaryMask" - Represents a mask indicating regions to bypass during processing.
- "OtsuThresholder" - A class encapsulating the Otsu thresholding method.
- "MorphologicalProcessor" - A class encapsulating a variety of morphological processing operations.
- "FourierDescriptor" - A class encapsulating a fourier shape descriptor.
- "BinaryObject" - A class encapsulating a descrete binary region in a binary image.
- "Contour" - A class encapsulating an inner or outer perimeter of a binary object.
This namespace contains types used for color space operations and conversions. A variety of color space conversions are available including XYZ, L*a*b*, IPT and others. Also defined are industry standard illuminant types used during the applciation of chromatic adaptation models. Custom illuminant types can also be defined and used.
- "ColorimetricConverter" - Used for implementing color space conversions.
- "Illuminant" - Encapsulates the parameters characterizing predefined and user-defined illuminants.
- "StandardIlluminants" - Encapsulates a collection of industry standard Illuminant types.
- "ChromaticAdaptationModels" - An enumeration used to specify the chromatic adaptation model.
This namespace encapsulates functionality associated with the processing of image features such as edges. Ideal edge detection using Canny and LoG detections are are included as well as gradient-based edge detectors.
- "CannyEdgeDetector" - Encapsulates the Canny edge detection algorithm.
- "LoGEdgeDetector" - Encapsulates the Laplacian of Gaussian edge detetcion methodology.
- "SobelEdgeDetector" - Encapsulates the Sobel edge detection algorithm.
- "ModifiedSobelEdgeDetector" - Encapsulates the Modified Sobel edge detection algorithm.
- "PrewittEdgeDetector" - Encapsulates the Prewitt edge detection algorithm.
- "ScharrEdgeDetector" - Encapsulates the Scharr edge detection algorithm.
This namespace encapsulates all functionality related to frequency-domain processing such as forward/inverse fast Fourier transforms and their related operations, as well as isotropic/anisotropic frequency filters and frequency-domain mathematical operations.
- "FourierTransform" - Used for performing a forward and inverse 2-D Fast Fourier Transform.
- "FourierSpectrum" - Contains the spectral result from a forward 2-D FFT operation.
- "IsotropicBandPassFilter" - Used for performing 2-D isotropic band-pass filtering.
- "IsotropicBandStopFilter" - Used for performing 2-D isotropic band-stop filtering.
- "IsotropicHighPassFilter" - Used for performing 2-D isotropic high-pass filtering.
- "IsotropicLowPassFilter" - Used for performing 2-D isotropic low-pass filtering.
- "DirectionalBandPassFilter" - Used for performing 2-D anisotropic band-pass filtering.
- "DirectionalBandStopFilter" - Used for performing 2-D anisotropic band-stop filtering.
- "FrequencyDomainUtilities" - Performs various mathematical operations on spectral data.
This namespace encapsulates the functionality associated with histogram data collection and processing, including global and adaptive histogram equalization and statistical computations.
- "Histogram" - Encapsulates histogram data.
- "HistogramRange" - Encapsulates histogram limits.
- "HistogramProcessor" - Used for generating and/or processing histogram data.
This namespace encapsulates functionality associated with resampling operations. These currently include resampling, scaling, rotation and coordinate space conversions.
- "Resampler" - Used for applying various resampling and coordinate space operations.
- "BicubicKernel" - Encapsulates an adjustable fixed-size bicubic resampling kernel.
- "CatmullRomKernel" - Encapsulates/defines a Catmull-Rom resampling kernel.
- "CubicBsplineKernel" - Encapsulates/defines a cubic B-spline resampling kernel.
- "LanczosKernel" - Encapsulates/defines an adjustable-radius Lanczos resampling kernel.
- "MitchellNetravaliKernel" - Encapsulates/defines a Mitchell-Netravali resampling kernel.
This namespace encapsulates a collection of classes used to implement linear and non-linear spatial filtering operations, primarily for image noise reduction.
- "AdaptiveDWMTMfilter" - Implements an adaptive double window modified trimmed mean filter.
- "AdaptiveMedianFilter" - Implements an adaptive mean filter.
- "AlphaTrimmedMeanFilter" - Implements an alpha-trimmed mean filter.
- "ArithmeticMeanFilter" - Implements an arithmetic mean filter.
- "BilateralNoiseFilter" - Implements a bilateral noise filter.
- "ContraHarmonicMeanFilter" - Implements a contra-harmonic mean filter.
- "GaussianBlurFilter" - Implements a Gaussian blur filter.
- "GeometricMeanFilter" - Implements a geometric mean filter.
- "HarmonicMeanFilter" - Implements a harmonic mean filter.
- "LinearConvolutionOperator" - Implements a convolution operation using a custom kernel.
- "MaximumFilter" - Implements a local maximum filtering operation.
- "MedianFilter" - Implements a local median filter.
- "MidpointFilter" - Implements a local midpoint filter.
- "MinimumFilter" - Implements a local minimum filter.
- "WeightedMedianFilter" - Implements a weighted median filter.
- "YpMeanFilter" - Implements a Yp-mean filter.
Encapsulates all functionality relating to the direct visualization of data, including output windowing and pseudocolor image generation. Several fixed-function pseudocoloring algorithms are available as well as two very flexible methods that allow the association of hue/saturation/intensity values with specific data channels in a SourceData object.
- "BlackBodyColorScheme" - A black-body emission pseudocoloring scheme.
- "ConstantSaturationColorScheme" - A pseudocoloring scheme exhibiting constant saturation.
- "LinearPerceptionColorScheme" - A linearly progressing luminosity pseudocoloring scheme.
- "SpectrumColorScheme" - An RGB spectrum pseudocoloring scheme.
- "VariableSaturationColorScheme" - A pseudocoloring scheme exhibiting variable saturation.
- "ShadedReliefMap" - A analytical hill shading visualization scheme.
- "OutputWindowing" - Encapsulates clipping parameters for image generation
This namespace encapsulates all the functionality associated with wavelet processing operations. This includes 2D Discrete Wavelet and Discrete Wavelet Packet transforms. Two specific sub-band processors (with selectable thresholding modes)are included as well as a general sub-band processor type that allows custom sub-band processing that benefits from PrecisionImage.NET's internal parallelization.
- "DiscreteWaveletTransform" - Used for performing a forward and/or inverse 2-D DWT.
- "DiscreteWaveletPacketTransform" - Used for performing a forward and/or inverse 2-D DWPT.
- "SUREShrinkOperator" - Implements a SURE-shrink wavelet shrinking operation.
- "BAYESShrinkOperator" - Implements a Bayes-shrink wavelet shrinking operation.
- "SubBandProcessor" - Implements custom sub-band wavelet thresholding.
- "DWTSubBand" - Used to identify a particular wavelet fluctuation sub-band.
- "ThresholdMode" - Used to specify hard or soft thresholding for sub-band processing.
This namespace encapsulates all the predefined wavelet basis types. Each particular basis type is a discrete class, and a large selection is included. In addition, custom wavelet basis filters can be declared via the fundamental "Wavelet" class. The following wavelet class types are defined:
- "BiorthogonalSpline13..BiorthogonalSpline68" - Defines a selection from the Biorthogonal Spline wavelet family.
- "CDF97" - Defines a Cohen-Daubechies-Feaveau wavelet.
- "Coiflet6..Coiflet30" - Defines a selection from the Coiflet family of wavelets.
- "Daub4..Daub40" - Defines a selection from the Daubechies family of wavelets.
- "Haar" - Defines a Haar wavelet.
- "Symlet8..Symlet40" - Defines a selection from the Symlet family of wavelets.
- "Wavelet" - Defines a custom wavelet type.
This namespace encapsulates the various apodization window types. These types can be applied directly to data or passed as arguments to the forward FFT funtion to pre-weight the data prior to computing the forward transform. The following class types are defined:
- "BartlettWindowFunction" - Defines a triangular apodization window.
- "BlackmanHarrisWindowFunction" - Defines a 4-term Blackman-Harris apodization window.
- "BlackmanNuttallWindowFunction" - Defines a 4-term Blackman-Nuttall apodization window.
- "BlackmanWindowFunction" - Defines a 3-term Blackman apodization window.
- "CosineWindowFunction" - Defines a squared cosine apodization window.
- "HammingWindowFunction" - Defines a Hamming apodization window.
- "HanningWindowFunction" - Defines a Hanning apodization window.
- "KaiserWindowFunction" - Defines a Kaiser apodization window.
- "LanczosWindowFunction" - Defines a Lanczos apodization window.
- "NuttallWindowFunction" - Defines a Nuttall apodization window.
- "ParzenWindowFunction" - Defines a Parzen apodization window.
- "ZonalWindowFunction" - Defines a zonal apodization window.