- Introduced the diagnostic mode for inspecting data traveling through the pipelines
- Added a LSH feature matching demo
- Video media sources: improved support for autoplay
- Added mp4 versions of demo videos and set them as playsinline for WebKit (alanross)
- Added media sources: OffscreenCanvas (Phillip-Thomas), ImageData (kalwalt)
- Added support for exporting an ImageData from a pipeline for direct pixel access
- Introduced Speedy.Platform to retrieve platform-specific information
- Added support for setting platform-specific preprocessor flags in annotated GLSL code
- Fixed potential issues of valid GLSL code in various graphics drivers
- Implemented lazy loading of shader declarations
- Bugfixes, improved error messages and general improvements to the code
- Introduced feature matching
- Brute force
- Fast approximate k-nearest neighbors (kNN)
- Introduced type definitions for TypeScript
- New nodes: DistanceFilter, HammingDistanceFilter, BorderClipper
- New sink nodes: SinkOfTrackedKeypoints, SinkOfMatchedKeypoints
- Removed node: DiscardKeypointDescriptor
- New feature matching demo
- Improved the algorithm used to download data from the GPU
- Introduced synchronous writing methods to SpeedyMatrix
- Introduced affine transforms
- Introduced Speedy.Settings
- Power preference
- GPU polling modes
- Logging modes (alxAgu)
- Removed SpeedyMedia.draw()
- Optimizations and fixes
- Introduced a new and faster keypoint encoder using Parallel Ale Sort
- Introduced the turbo flag in both Keypoint & Vector2 sinks
- Various performance optimizations
- Improved multi-scale keypoint detection
- Improved the LK optical-flow
- Introduced portals
- Introduced subpixel refinement for keypoints
- Introduced the image mixer
- Image & keypoint buffers can now be frozen
- New demos + general improvements and fixes
- Ported the Matrix routines to WebAssembly and updated the API
- Improved homography estimation
- Added Speedy.Keypoint.Transformer
- Reduced the CPU usage when polling the GPU
- General improvements
- Introduced the new Pipeline system (partial rewrite of the library)
- Introduced image warping via homographies
- Code cleanup
- Introduced efficient methods for homography estimation
- Matrix computations can now be performed in a WebWorker or in the main thread
- Introduced
SpeedyMatrixExpr.sort()
to sort blocks of matrices - Introduced median filter in the pipeline API
- Improvements to the code
- Matrix expressions are now compiled for better performance
- Linear Algebra routines are now split into different files
- Introduced
SpeedyMatrixExpr.map()
andSpeedyMatrixExpr.reduce()
- Introduced
SpeedyMatrixExpr.inverse()
- Improved & optimized the LK feature tracker
- ORB: using a larger patch when computing the orientation of a keypoint
- Harris/FAST: using 16-bit half-floats to store the scores of keypoints
- Improved the keypoint encoder
- General improvements & fixes
- Created Speedy's own Matrix / Linear Algebra system
- Improved the feature detection & description API
- Improved the computation of image pyramids
- Performance optimizations (keypoint encoder)
- Created Speedy's own implementation of Promises for extra performance
- Speedy's GLSL preprocessor can now unroll predefined for loops
- Improved the code & made new demos
- Removed Automatic Sensitivity
- Added ORB feature descriptor
- Added LK feature tracker (optical-flow)
- Added subpixel support for feature points
- Changed the feature detection API
- Created new image enhancement algorithm: Nightvision
- Implemented image normalization algorithm
- Data can now uploaded to the GPU using UBOs
- Added 2D vector routines
- Added support to ImageBitmaps
- New demos & visual improvements
- General improvements & fixes
- New feature detectors: harris, multiscale-harris, multiscale-fast
- Added new code to generate image pyramids and to compute keypoint orientation
- Performance optimizations
- Implemented ping-pong rendering for internal shaders
- Added max setting to limit the number of returned keypoints
- Added demo: find the best keypoints
- Improved the code
- Improved performance when downloading data from the GPU
- Added optional usage hint to be specified when loading new media
- Created a shorter implementation of the FAST feature detector
- Bugfixes & improvements
- Ported the backend to WebGL2
- Added unit tests
- Improved the texture encoding formula
- Added Speedy.camera() to request camera access
- General improvements
- Improved scale-space computations
- Implemented multi-scale feature detection
- Implemented image convolution on SpeedyPipeline
- Added demos: multi-scale features & image convolutions
- Added the ability to generate Gaussian kernels on the fly
- Introduced the SpeedyPipeline for image processing
- Implemented online tuners for improved performance
- Introduced new methods to SpeedyMedia: draw, clone
- Implemented image pyramids
- New demos & updated docs
- Refactored the code
- Renamed the library
- Initial release