|
Download:
|
Current development snapshot as a mercurial repository:
- hg clone http://www.informatik.uni-hamburg.de/~meine/hg/vigra
Official VIGRA version 1.7.0 (April 20, 2010):
- Sources (for all platforms, to be built with cmake)
- Windows binaries:
- includes and libraries for Visual Studio 2008 Express (Visual C++ 9.0), with TIFF, JPEG, and PNG support statically linked into vigraimpex.dll, but HDF5 support disabled
- vigranumpy Python bindings for Python 2.6 (compiled with Visual Studio 2008 Express)
- Linux binaries may be provided by your Linux distribution (and are readily created from the source by "make package")
The current version is known to run with gcc 3 and later (UNIX, Linux, cygwin, alpha, including 64-bit compilation), and Microsoft Visual C++ 8.0 (Visual Studio 2005) and 9.0 (Visual Studio 2008). VIGRA should run with any compiler that conforms to the C++ standard. Please direct questions and bug reports to the VIGRA Mailing List (you must subscribe before posting) or to ullrich.koethe@iwr.uni-heidelberg.de. Please do also read the installation instructions.
Older versions:
vigra 1.6.0,
vigra 1.5.0,
vigra 1.4.0,
vigra 1.3.3,
vigra 1.3.2,
vigra 1.3.1,
vigra 1.3.0,
vigra 1.2.0,
vigra 1.1.6,
vigra 1.1.5,
vigra 1.1.4,
vigra 1.1.3,
vigra 1.1.2,
vigra 1.1.1,
vigra 1.0
|
Features:
(Look also at the
changelog page
for the newest additions.)
|
Images and Multi-dimensional Arrays:
-
templated image data structures for arbitrary pixel types,
fixed-size vectors
-
multi-dimensional arrays for arbitrary high dimensions
-
pre-instantiated images with many different scalar and vector valued pixel types
(byte, short, int, float, double, complex, RGB, RGBA etc.)
-
2-dimensional image iterators, multi-dimensional iterators for arbitrary high dimensions, adapters for various image and array subsets
-
input/output of many image file formats: Windows BMP, GIF, JPEG, PNG, PNM, Sun Raster,
TIFF (including 32bit integer, float, and double), Khoros VIFF, HDR (high dynamic range)
-
continuous reconstruction of discrete images using splines: Just create
a SplineImageView of the desired order and access interpolated values and
derivative at any real-valued coordinate.
Image Processing:
-
STL-style image processing algorithms with functors (e.g. arithmetic and algebraic
operations, gamma correction, contrast adaptation, thresholding), arbitrary regions
of interest using mask images
-
image resizing using resampling, linear interpolation, spline interpolation etc.
-
geometric transformations: rotation, mirroring, arbitrary affine transformations
-
automated functor creation using expression templates
-
color space conversions: RGB, sRGB, R'G'B', XYZ, L*a*b*, L*u*v*, Y'PbPr, Y'CbCr, Y'IQ, and Y'UV
-
real and complex Fourier transform, cosine and sine transform (via fftw)
-
noise normalization according to Förstner
-
computation of the camera magnitude transfer function (MTF) via the
slanted edge technique (ISO standard 12233)
Filters:
-
2-dimensional and separable convolution, Gaussian filters and their derivatives,
Laplacian of Gaussian, sharpening etc.
-
separable convolution for arbitrary dimensional data
-
resampling convolution (input and output image have different size)
-
recursive filters (1st and 2nd order), exponential filters
-
non-linear diffusion (adaptive filters), hourglass filter
-
tensor image processing: structure tensor, boundary tensor, gradient energy tensor,
linear and non-linear tensor smoothing, eigenvalue calculation etc.
-
distance transform (Manhattan, Euclidean, Checker Board norms, 2D and 3D)
-
morphological filters and median (2D and 3D)
-
Loy/Zelinsky symmetry transform
-
Gabor filters
Segmentation:
-
edge detectors: Canny, zero crossings, Shen-Castan, boundary tensor
-
corner detectors: corner response function, Beaudet, Rohr and Förstner corner detectors
tensor based corner and junction operators
-
region growing: seeded region growing, watershed algorithm
Image Analysis:
-
connected components labeling (2D and 3D)
-
detection of local minima/maxima (including plateaus)
-
tensor-basesd image analysis
-
region statistics
3-dimensional Image Processing and Analysis:
-
point-wise transformations, projections and expansions in arbitrary high dimensions
-
all functors (e.g. regions statistics) readily apply to higher dimensional data as well
-
separable convolution filters, resizing, morphology, and Euclidean distance transform for arbitrary dimensional arrays (not just 3D)
-
connected components labeling, seeded region growing, watershed algorithm for volume data
Machine Learning:
Mathematical Tools:
-
special functions (error function, splines of arbitrary order, integer square root, chi square distribution, elliptic integrals)
-
random number generation
-
rational and fixed point numbers
-
polynomials and polynomial root finding
-
matrix classes, linear algebra, solution of linear systems, eigen system computation, singular value decomposition
-
optimization: linear least squares, ridge regression, L1-constrained least squares (LASSO, non-negative LASSO, least angle regression), quadratic programming
Inter-language support:
-
Python bindings in both directions (use Python arrays in C++, call VIGRA functions from Python)
-
Matlab bindings of some functions
|