VIGRA - Credits and Changelog

[ VIGRA Homepage | Class Index | Function Index | File Index | Main Page ]

| Credits and Changelog |
--- | --- | ---

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.

- 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..

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

- Numerous people reported bugs and made suggestions.

Many thanks to all!

Changes from Version 1.4.0 to 1.5.0

- Added Noise Normalization

- Added Camera MTF Estimation

- Added gaussianGradientMagnitude()

- Added fourierTransform() and fourierTransfomInverse()

- Added cannyEdgelList3x3()

- Added srcImage(), srcImageRange() etc. with ROI (see Argument Object Factories)

- Improved the Image Import/Export Facilities (thanks to Pablo d'Angelo, Douglas Wilkins and others):
  - Added UINT16 and UINT32 pixel types.
  - Added support for obtaining extra bands beyond RGB.
  - Added support for a position field that indicates the start of this image relative to some global origin (PNG + TIFF).
  - Added support for x and y resolution fields.
  - Added support for ICC profiles (TIFF, PNG, and JPEG).
  - Added support for deflate compression (PNG + TIFF).
  - Added support for .hdr file format (high dynamic range).
- Improved support of 64-bit compilers.

- Added mathematical functions: elliptic integrals (ellipticIntegralF(), ellipticIntegralE()), chi-squared distribution (chi2(), chi2CDF(), noncentralChi2(), noncentralChi2CDF())

- Dropped "vigra/" from includes in headers (so compiler will first look in the same disrectory).

- Switched to relative paths in the MSVC project files. Compile vigraimpex into a DLL.

- Bug fixes in the code and documentation.

Changes from Version 1.3.3 to 1.4.0

- Switched to the MIT X11 License.

- Introduced Fixed Size Integer Types (UInt8, Int16 etc.) and made VIGRA compile on 64-bit compilers. Thanks to Hans Ekkehard Plesser hans.ekkehard.plesser@umb.no) for bug reports and other help. Added corresponding typedefs UInt8Image, Int16RGBImage etc.

- Added NumericTraits::isSigned. Thanks to Pablo D'Angelo pablo.dangelo@web.de) for a patch.

- Added watersheds().

- Added cross() (cross product).

- Added cannyEdgeImageWithThinning().

- Added the possibility to choose between 4- and 8-neighborhood in localMinima() and localMaxima().

- Added vigra::FixedPoint.

- Added template<> struct SquareRootTraits<ArithmeticType> and sqrti().

- Added vigra::RestrictedNeighborhoodCirculator.

- Extended vigra::SplineImageView to support access outside the image border according to reflective boundary conditions. Added partial specializations for orders 0 and 1 to speed up computations.

- Extended vigra::RGBValue to have arbitrarily ordered color channels (e.g. BGR). Thanks to Paul Furgale (umfurga1@cc.umanitoba.ca) for the suggestion and a first implementation.

- Bug fixes in the code and documentation. Thanks to Holger Friedrich (holger.friedrich@vsi.cs.uni-frankfurt.de) for patches.

Changes from Version 1.3.2 to 1.3.3

- Added template<> struct NormTraits<ArithmeticType>, norm(), squaredNorm().

- Added gradientEnergyTensor()

- Added the test suite to the distribution (see installation section)

- Bug fixes in the code and documentation.

Changes from Version 1.3.1 to 1.3.2

- Added Matrix class.

- Added Matrix algrebra, solution of linear systems, eigenvalue computation".

- Bug fixes in the code and documentation.

Changes from Version 1.3.0 to 1.3.1

- Fixed syntax for dependent types in templates to make VIGRA compile with g++ 3.4 (which is very strict in enforcing dependent type rules).

- Added vigra::FunctorTraits.

- Added vigra::ReduceFunctor.

- Added reduce and expand modes to the multi-dimensional point operators.

- Bug fixes in the code and documentation.

Changes from Version 1.2.0 to 1.3.0

- Added algorithms for Multi-Dimensional Arrays and Iterators: Point operators for multi-dimensional arrays. and Convolution filters for multi-dimensional arrays. and the navigator utility.

- Extended convolveImage() (non-separable convolution) to support all border treatment modes.

- Added vigra::Rational

- Added vigra::Polynomial and polynomialRoots().

- Added more mathematical functions and functors.

- Added vigra::SplineImageView.

- Added tensor image processing and analysis

- Added 2nd order recursiveFilterX() and recursiveFilterY()

- Added Resampling Convolution Filters and reimplemented resizeImageSplineInterpolation() in terms of them.

- Added multiarray to image wrappers.

- Added image mirroring and rotation.

- Added fftw3.hxx to support FFTW version 3 (unfortunately, this is incompatible to FFTW 2, which is still supported in `fftw.hxx` but should no longer be used within VIGRA).

- Added vigra::ArrayVector as a `std::vector` alternative whose memory is guaranteed to be one contiguous piece and whose iterator is guaranteed to be a `value_type *`.

- Added an `allocator` template parameters to all classes that allocate dynamic memory.

- Bug fixes in the code and documentation.

Changes from Version 1.1.6 to 1.2.0

- Complete redesign of the image import/export library.

- Added support for Microsoft Visual C++ 7.1 (.net 2003). This is the first Microsoft compiler that compiles VIGRA without special configurations and work-arounds. Work-arounds for older MS compilers will probably no longer be maintained.

- Added support for PNG image format.

- Added cygwin support to the build system.

- Added pixel neighborhood utilities and vigra::NeighborhoodCirculator.

- Added vigra::CrackContourCirculator

- Added recursiveFilterX() and recursiveFilterY() that support negative filter coefficients and all BorderTreatmenModes

- Changed gaussianSmoothing() to use BORDER_TREATMENT_REFLECT

- Added simpleSharpening() and gaussianSharpening()

- Added vigra::Size2D, vigra::Point2D, vigra::Rect2D

- Added vigra::BasicImageView

- Split "utilities.hxx" into "diff2d.hxx", "interpolating_accessor.hxx", "iteratortags.hxx", "mathutil.hxx", "metaprogramming.hxx", "tuple.hxx". "utilities.hxx" now includes these other files.

- Added Multi-Dimensional Arrays and Iterators and Import/export of volume data.

- Redesigned vigra::TinyVector, added vigra::TinyVectorView

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

- Added vigra::ImageArray.

- Added more corner detectors (see Corner Detection).

- Added local symmetry detector (see Symmetry Detection).

- Added Gabor filter code (see Gabor Filter).

- Extended functor expression library.

- Added initImageWithFunctor().

- Improved Gaussian derivative filters (higher accuracy, correct sign, see vigra::Kernel1D::initGaussianDerivative()).

- Ported VIGRA to Microsoft VisualC++.net (however, this compiler still doesn't support all VIGRA features, because it still doesn't implement partial template specialization and partial function ordering).

- Finished the new build system.

- Improved the documentation.

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

- Switched from obsolete doc++ documentation generator to doxygen.

- Improved documentation.

- Minor changes to the code to quiet compiler warnings if compiling with "`g++ -Wall -pedantic`".

- Dropped support for rint() as this was not portable enough.

- In error.hxx: replaced snprintf() with sprintf() for portability.

- Renamed CellGridImage into CrackEdgeImage in Edge Detection.

- Added vigra::TinyVector and made vigra::RGBValue derive from it.

- Added typedefs for TinyVector images.

- Added Color Space Conversions.

- Added vigra::VectorComponentAccessor.

- Extended vigra::FindMinMax to work with RGB images.

- Minor improvements and bug fixes.

Changes from Version 1.1.1 to 1.1.2

- Made VIGRA compile under MS Visual C++ 6.0.

- Added vigra::BrightnessContrastFunctor.

- Added gradientBasedTransform() and related vigra::MagnitudeFunctor and vigra::RGBGradientMagnitudeFunctor.

- Added nonlinearDiffusion().

- Added more smoothing methods to smooth example.

- Added resize example.

- Minor corrections and bug fixes.

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.

© Ullrich Köthe (koethe@informatik.uni-hamburg.de) Cognitive Systems Group, University of Hamburg, Germany | html generated using doxygen and Python VIGRA 1.5.0 (7 Dec 2006)