Credits
-
Ullrich Köthe originated and wrote the library.
-
Mikhail Amchislavsky (mamchisl@ucdavis.edu) contributed code to read and write PNM files.
-
Hans Meine (hans_meine@gmx.net) contributed interface code for the FFTW Fourier transform library, the ImageArray class and the Gabor filter code. He also collaborated in the implementation of many other modules and contributed various improvements.
-
Gunnar Kedenburg (gunnar@haquebright.de) completely rewrote the image import/export library and implemented much of the vigra::MultiArray functionality.
-
Yevgen Reznichenko (rezniche@kogs.informatik.uni-hamburg.de) added a number of image processing algorithms.
-
Christian Dennis Rahn (rahn@informatik.uni-hamburg.de) implemented much of the Convolution filters for multi-dimensional arrays..
-
Kasim Terzic, Florian Heinrich and Benjamin Seppke implemented image analysis functionality for 3- and higher-dimensional data.
-
Pablo d'Angelo, Douglas Wilkins and other members of the Hugin team contributed various extensions of the impex library (UINT16/UINT32 support, ICC profile support, HDR file type).
-
Rahul Nair implemented the vigra::RandomForest classifier and VIGRA Matlab bindings.
-
Michael Hanselmann implemented much of the HDF5 support.
-
Nathan Huesken and Christoph Sommer helped a lot in developing vigranumpy, the VIGRA Python bindings.
-
Jens-Malte Gottfried contributed to the new cmake-based build system.
-
Numerous people reported bugs and made suggestions.
Many thanks to all!
Changes from Version 1.7.0 to 1.7.1
-
Fixed the build process for MacOS X.
-
Re-activeted
vigra-config
(script to query VIGRA installation information) and added VigraConfig.cmake
(query VIGRA installation information from within cmake).
-
Added CDash support (nightly builds and tests).
-
Added convexHull().
-
Added vigra::Box.
-
Added vigra::Sampler class to sample given data in various ways.
-
Added much new functionality to the vigra::RandomForest class (e.g. more split strategies, variable importance measures, feature selection)
-
Added readSIF() (reader for the Andor SIF file format).
-
Added vigra::HDF5File for easier navigation in HDF5 files.
-
Added recursive approximation of the Gaussian filter (recursiveGaussianFilterX(), recursiveGaussianFilterY())
-
vigranumpy: added Gabor filtering.
-
Fixed multi-threading bugs at various places.
-
Minor improvements and bug fixes in the code and documentation.
Changes from Version 1.6.0 to 1.7.0
Changes from Version 1.5.0 to 1.6.0
-
Added functions for arrays of arbitrary dimensions:
-
Added functionality for 3D image analysis: labelVolume(), seededRegionGrowing3D(), watersheds3D(), Utilities to manage voxel neighborhoods
-
Added Random Number Generation
-
Added affineWarpImage() and and factory functions for affine transformation matrices
-
Added linear algebra functionality: choleskyDecomposition(), singularValueDecomposition(), determinant(), logDeterminant(), leastSquares(), weightedLeastSquares(), ridgeRegression()
-
Extended linearSolve(), qrDecomposition(), and inverse() to handle rectangular matrices (complete reimplementation of these functions).
-
Added matrix functionality: joinVertically(), joinHorizontally(), columnStatistics(), rowStatistics(), prepareColumns(), prepareRows()
-
Added/fixed vigra::MultiArray and vigra::linalg::Matrix computed assignments
-
Extended MultiArrayView::norm() to compute L1, L2 and Linfinity, added MultiArrayView::swapData(), MultiArrayView::permuteDimensions(), MultiArrayView::transpose(), and other minor improvements to MultiArrayView
-
Added typedef vigra::MultiArrayIndex to fix signed/unsigned mismatch problems
-
Added vigra::ImagePyramid
-
Minor improvements in Image Import/Export Facilities
-
Added sRGB to Color Space Conversions
-
Added weighted operator()s to FindAverage[AndVariance] functors.
-
Added log2i() (integer base-2 logarithm), floorPower2(), and ceilPower2()
-
Added argMin(), argMax(), argMinIf(), argMaxIf()
-
Changed default border treatment of Gaussian filters and derivatives to BORDER_TREATMENT_REFLECT
-
Promoted documentation to Doxygen 1.5.6
-
Minor improvements and bug fixes in the code and documentation.
Changes from Version 1.4.0 to 1.5.0
Changes from Version 1.3.3 to 1.4.0
Changes from Version 1.3.2 to 1.3.3
Changes from Version 1.3.1 to 1.3.2
Changes from Version 1.3.0 to 1.3.1
Changes from Version 1.2.0 to 1.3.0
Changes from Version 1.1.6 to 1.2.0
Changes from Version 1.1.5 to 1.1.6
-
Restored VIGRA compatibility with Microsoft Visual C++ 6.0 (in addition to C++.net)
Changes from Version 1.1.4 to 1.1.5
Changes from Version 1.1.3 to 1.1.4
-
Added Fourier transform support, and FFTWComplex complex number type.
-
Added convolution convenience functions (see Common Filters).
-
Added vigra::IteratorAdaptor template for quick and easy generation of iterator adaptors.
-
Used vigra::IteratorAdaptor to implement improved row and column iterators for images.
-
Added rowIterator() and columnIterator() functions returning optimized iterator adapters to all 2D iterators (e.g. vigra::ImageIterator). Changed algorithms to make use of these new members.
-
Added rounding and clipping to accessor functions when floating point values are converted to intergral numbers.
-
Added STL-compatible typedefs to all functors, iterators and vigra::BasicImage.
-
Removed ConstRowIterator and ConstColumnsIterator. Thanks to the new typedefs, RowIterator and ColumnIterator are automatically const when the underlying iterator was const. Thus, separate const iterators are not necessary.
-
Major performance tuning. Many algorithms now actually perform as fast as their inflexible C counterparts. Thanks to Paul Viola for doing benchmarks.
Changes from Version 1.1.2 to 1.1.3
Changes from Version 1.1.1 to 1.1.2
Changes from Version 1.1.0 to 1.1.1
-
Fixed bug with PNM import code.
-
added Canny edge detection algorithm (code adapted from C implementation by Sven Utcke)
Changes from Version 1.0 to 1.1.0
-
Put everything in namespace "vigra".
-
Renamed
VigraStdException => StdException.
vigraImpexListFormats() => impexListFormats()
-
Added expression templates for automated functor creation.
-
Added support for input/output of the PNM image file format (contributed by Mikhail Amchislavsky).
-
Improved support for the TIFF image format. VIGRA can now read and create TIFF with various pixel types (unsigned byte, short and long int, float, double).
-
Renamed Dist2D into vigra::Diff2D, since it represents a difference vector rather than a distance. Extended Diff2D so that it can also act as a vigra::CoordinateIterator. Note that this required renaming
Dist2D::width
and Dist2D::height
into Diff2D::x
and Diff2D::y
respectively.
-
Changed the documentation layout.
-
Improved labelImage() according to ideas of Prof. Vladimir Kovalevsky.
-
Several minor changes and bug fixes.