ukoethe / vigra

a generic C++ library for image analysis
http://ukoethe.github.io/vigra/
Other
406 stars 191 forks source link

using zimt to process vigra::MultiArrayViews with multithreaded SIMD code #537

Open kfjahnke opened 1 year ago

kfjahnke commented 1 year ago

I'd like to point you to my new library zimt, which has code initially factored out from my library vspline to process nD arrays with multithreaded SIMD code. vspline uses vigra::TinyVector and vigra::MultiArray(View) for data handling, zimt provides it's own (and largely compatible) data types. Even so, it's easy to adapt vigra data to work with zimt's transform family of functions, and I've just published an example which does so. zimt can employ Vc, highway and std::simd for SIMD processing, and user code can pick it's choice with a preprocessor define, making user code portable across several SIMD libraries.